*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, a { touch-action: manipulation; }
/* Touch feedback must not resemble the keyboard focus ring. */
:where(button, a, summary) { -webkit-tap-highlight-color: transparent; }
:focus:not(:focus-visible) { outline: none; }
:focus-visible { outline: var(--donbuild-focus-width) solid var(--donbuild-color-focus); outline-offset: var(--donbuild-focus-offset); }
/* WebKit may match :focus-visible after pointer-triggered dialog focus. */
[data-donbuild-pointer] :where(button, a, summary):focus { outline: none; }
/* Programmatic result/error targets and form shells do not need decorative rings. */
:is(form, #donbuild-calculator-result, .donbuild-dialog, .donbuild-lead__status):focus-visible { outline: none; }
