/* Preferences enhance an accessible baseline; no assistive technology is replaced. */
:root { scroll-padding-block: 1.5rem; }
body { padding-bottom: 88px; }
.site-nav { min-height: 96px; }
#main:focus { outline: none; }
:where(a,button,input,select,textarea):focus-visible { outline: 3px solid #8B0000 !important; outline-offset: 4px !important; box-shadow: 0 0 0 7px #FCFBF4 !important; }
a { text-underline-offset: .2em; }
button, select, .email-fallback, .links > a { min-height: 44px; }
.links > a { display: inline-flex; align-items: center; }
.language-control select { min-height: 44px; }
.close { min-width: 44px; min-height: 44px; }
nav, footer, .band, .cta, .card-top, .guarantee-top { flex-wrap: wrap; }
footer { gap: 24px; }
main, .hero > *, .about > *, .price-grid > *, .revision-columns > *, .form-grid > * { min-width: 0; }
.field, .form-note, .form-footer, .required-note, .language-label, footer, .small-note, .eyebrow, .kicker, .pill, .signature small { font-size: max(.75rem, 12px); }
.band { gap: 20px; }
.accessibility-open { position: fixed; inset-inline-end: 20px; bottom: 20px; z-index: 20; display: flex; align-items: center; justify-content: center; gap: 10px; max-width: calc(100% - 40px); min-height: 48px; padding: 12px 18px; border: 2px solid #FCFBF4; border-radius: 30px; background: #8B0000; color: #FCFBF4; font: 600 .875rem/1.4 system-ui,sans-serif; box-shadow: 0 3px 16px #54545440; cursor: pointer; }
.accessibility-open svg { flex-shrink: 0; }
#accessibility-panel { width: min(30rem, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 32px; overflow: auto; overscroll-behavior: contain; }
#accessibility-panel h2 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.025em; padding-inline-end: 40px; }
#accessibility-panel p { font-size: .9375rem; line-height: 1.6; }
.accessibility-close { position: absolute; inset-inline-end: 12px; top: 12px; width: 44px; height: 44px; padding: 0; border: 1px solid #54545488; border-radius: 8px; font: 1.75rem/1 system-ui,sans-serif; background: #FCFBF4; color: #545454; cursor: pointer; }
.accessibility-options { display: grid; gap: 8px; margin: 22px 0; }
.accessibility-options label { display: flex; align-items: center; gap: 12px; padding: 10px 0; min-height: 44px; font-size: 1rem; line-height: 1.5; cursor: pointer; }
.accessibility-options input { width: 24px; height: 24px; accent-color: #8B0000; flex-shrink: 0; }
.accessibility-size { flex-wrap: wrap; justify-content: space-between; }
.accessibility-size select { font: inherit; background: #FCFBF4; color: #545454; padding: 8px 12px; border: 1px solid #545454; border-radius: 6px; }
.accessibility-help { padding: 22px 0 0; margin-top: 24px; border-top: 1px solid #54545466; }
.accessibility-help h3 { font-size: 1rem; margin: 0; line-height: 1.5; }
.accessibility-help a { font-size: .9375rem; color: #8B0000; overflow-wrap: anywhere; text-decoration: underline; }
html[data-accessibility-links] a { text-decoration: underline !important; text-decoration-thickness: .12em !important; }
html[data-accessibility-spacing] :where(p,li,h1,h2,h3,h4,a,button,label,span,small,select,input,textarea) { line-height: 1.7 !important; letter-spacing: .12em !important; word-spacing: .16em !important; }
html[data-accessibility-spacing] p { margin-block-end: 2em !important; }
html[data-accessibility-contrast] body,
html[data-accessibility-contrast] :where(nav,main,section,article,footer,dialog,.wrap,.cta,.band,.difference,.price-card,.guarantee,.sample,.browser,.browser-bar,.tag,.contact-info,.form-status,.icon,.pill,.method,.mockup-terms,input,textarea,select,option) { color: #fff !important; background: #000 !important; border-color: #fff !important; }
html[data-accessibility-contrast] :where(h1,h2,h3,h4,p,li,span,small,strong,b,em,label,.kicker,.price,.signature,.number,.dialog-copy) { color: #fff !important; }
html[data-accessibility-contrast] :where(a,button,.sample-button) { color: #fff !important; background: #000 !important; border-color: #fff !important; }
html[data-accessibility-contrast] a { color: #ffeb7a !important; text-decoration: underline !important; }
html[data-accessibility-contrast] :focus-visible { outline-color: #ffeb7a !important; box-shadow: 0 0 0 7px #000 !important; }
html[data-accessibility-contrast] .brand-logo { background: #FCFBF4 !important; border-radius: 4px; }
html[data-large-text] :where(.hero,.about,.price-grid,.differences,.revision-columns,.form-grid) { grid-template-columns: minmax(0,1fr); }
html[data-large-text] :where(.showcase,.about-copy p,.intro,.hero-promise,.difference p,.price-card p) { max-width: 100%; }
html[data-large-text] :where(.btn,.nav-contact,.pill) { white-space: normal; }
html[data-large-text] .revision-columns > div + div { padding-inline: 0; border-inline: 0; }
html[data-accessibility-motion],html[data-accessibility-motion] * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
@media(prefers-reduced-motion:reduce) { html,html * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media(max-width:680px) { .accessibility-open { inset-inline-end: 12px; bottom: 12px; max-width: calc(100% - 24px); } #accessibility-panel { padding: 26px 20px; } .band { flex-wrap: wrap; } nav .links { flex-wrap: wrap; } }
@media(forced-colors:active) { button,select,input,textarea,dialog { border: 1px solid ButtonText !important; } .accessibility-open svg { stroke: ButtonText; } :focus-visible { outline: 3px solid Highlight !important; } }
