/* WCAG-oriented essentials are shared by the customer shell and dynamic forms. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html{scroll-padding-bottom:100px}
body{overflow-wrap:break-word}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #075fca!important;outline-offset:4px!important;box-shadow:0 0 0 2px #fff!important}
.skip:focus{position:fixed;top:8px;left:8px;z-index:10000;clip-path:none;transform:none;background:#fff;color:#111;padding:14px 22px;border:2px solid #075fca}
:where(button,summary,.button,.language,.menu-toggle){min-height:44px}
:where(.field input,.field select,.field textarea){font-size:16px;min-height:48px}
:where(.field,.check-line,.help,.compact-error){line-height:1.6}
.field{min-width:0}
.field input,.field select,.field textarea{max-width:100%;min-width:0}
.field input::placeholder,.field textarea::placeholder{color:#62666d;opacity:1}
.compact-error{color:#a02020}
.help{color:#575c64}
.topbar a,.help a,.check-line a,.chat-footnote a{ text-decoration:underline;text-underline-offset:3px }
.chat-head small,.chat-thinking,.chat-footnote{color:#575c64}
body .commercial-page .commercial-kicker,body .commercial-page .commercial-phone,body .commercial-page .commercial-system-number,body .commercial-page .commercial-system-note,body .commercial-hero figcaption{color:#555e69}
body .commercial-page .commercial-system-card .commercial-system-number{color:#555e69}
body .book-archive-heading>p,body #gallery-count,body .portfolio-source-note,body .company-brand-story-copy>.customer-eyebrow,body #peaked-team-promise figcaption>span{color:#505b66}
#main #gallery-count,#main .portfolio-source-note{color:#505b66}
#main .work-archive .gallery-card figcaption>span{color:#505b66;font-size:.75rem}
#main .work-archive .gallery-card p{color:#505b66;font-size:.875rem}
.reveal:focus-within{opacity:1!important;transform:none!important;transition:none!important}
body .work-storybook .book-folio{color:#818994}
footer a,footer button.plain{min-height:44px;display:inline-flex;align-items:center;padding-top:8px;padding-bottom:8px}
.check-line input{min-width:22px;min-height:22px;accent-color:#25272b}
.mobile-nav a{min-height:48px;display:flex;align-items:center}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto}
dialog .dialog-top button{min-width:44px;min-height:44px}
dialog::backdrop{background:#10182070}
.submission-success:focus{outline-offset:8px}
@media(max-width:850px){
 .field input,.field select,.field textarea{font-size:16px!important}
 .form-actions{flex-wrap:wrap;gap:16px}
 .form-actions>*{max-width:100%}
 .form-grid>*{min-width:0}
 .header-actions .button{white-space:normal}
}
@media(max-width:420px){.form-grid{grid-template-columns:minmax(0,1fr)!important}.topbar{overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap}.header{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}}
@media(forced-colors:active){.button,.estimate-choice,.quote-package{border:1px solid ButtonText!important}.estimate-choice:has(input:checked){outline:3px solid Highlight}.estimate-choice input{appearance:auto}}
