/* October 2026: readability, conversion paths and accessible controls. */
:root{--accent:#83b7c1;--emergency:#bb3e1a;--emergency-dark:#a63313;--error-text:#ffac93;}
html{scroll-padding-top:7rem;scroll-padding-bottom:6rem;}
body{overflow-x:visible;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.wrap{width:min(1240px,calc(100% - 3rem));min-width:0;padding-inline:0;}
.hero{min-height:650px;padding:10rem 0 4rem;align-items:center;}
.hero-content{max-width:1240px;margin-inline:auto;padding:0;}
.hero-content h1{max-width:17ch;font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.025em;line-height:1.06;}
.hero-content .lede{max-width:52ch;font-size:1.1rem;}
.hero-bg::after{background:linear-gradient(90deg,rgba(8,10,14,.94),rgba(8,10,14,.82) 50%,rgba(8,10,14,.25)),linear-gradient(0deg,var(--bg),transparent 45%);}
.hero-bg img{object-position:center 45%;}
.hero-sheen,body::before{display:none;}
.hero-content .eyebrow{color:var(--accent);}
.hero-badges{max-width:58rem;}
.btn-icon,.link-arrow{display:inline-block;width:auto;height:auto;background:none;border:0;border-radius:0;color:currentColor;font-size:1.2em;line-height:1;margin-left:.45rem;}
.btn:hover .link-arrow{transform:translateX(3px);}
.link-arrow{transition:transform .2s var(--ease);}
.text-link{gap:.5rem;align-items:center;}
.text-link::after{content:'→';display:inline-block;font-size:1.2em;transition:transform .2s var(--ease);}
.text-link:hover::after{transform:translateX(3px);}
.service-hero{position:relative;isolation:isolate;padding:4rem 0;overflow:hidden;min-height:430px;display:flex;align-items:center;}
.service-hero-bg{position:absolute;inset:0;z-index:-1;}
.service-hero-bg img{height:100%;width:100%;object-fit:cover;object-position:center;}
.service-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,14,.96),rgba(8,10,14,.86) 55%,rgba(8,10,14,.3));}
.service-hero>.wrap{max-width:1240px!important;}
.service-hero h1{max-width:22ch;line-height:1.1;font-size:clamp(2.3rem,4.2vw,4rem);}
.service-hero .lede{max-width:55ch;}
.service-hero .reveal{opacity:1;filter:none;transform:none;}
.reveal{opacity:1;filter:none;transform:none;transition:none;}
.faq-q{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;min-height:48px;}
.faq-a[hidden]{display:none;}
.faq-a:not([hidden]){max-height:none;}
.chip{color:var(--text-dim);font:inherit;min-height:44px;}
.chip.active{color:var(--text);}
.form-help,.form-step-label{font-size:.9rem;color:var(--text-dim);}
.form-step-label{color:var(--accent);margin-block:1rem;}
.field-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-dim);margin-bottom:.4rem;}
.form-error{color:var(--error-text);font-size:.95rem;}
.field input,.field textarea{font-size:1rem;min-height:46px;}
.field input::placeholder,.field textarea::placeholder{color:#9ca6b5;}
.field-row,.grid-2,.grid-3,.situation-grid{min-width:0;}
.grid-2>*,.grid-3>*,.bezel{min-width:0;}
.btn{max-width:100%;white-space:normal;min-width:0;}
.field-row>*{min-width:0;}
.btn[disabled]{opacity:.65;cursor:wait;}
.form-step [data-step-live],.form-step:focus{outline:none;}
.mobile-menu{visibility:hidden;overflow-y:auto;justify-content:flex-start;padding:6rem 1.5rem 2rem;gap:1rem;}
.mobile-menu.open{visibility:visible;}
.mobile-menu .close-btn,.hamburger{min-width:44px;min-height:44px;}
.mobile-nav-submenu a{min-height:44px;display:flex;justify-content:center;align-items:center;}
.mobile-nav-menu summary{font-size:1.65rem;}
.mobile-menu>a:not(.btn){font-size:1.6rem;min-height:44px;}
.sticky-cta{padding-bottom:calc(.7rem + env(safe-area-inset-bottom));}
.sticky-cta .call{font-size:.85rem;white-space:nowrap;padding-inline:.5rem;}
.related-section{border-top:1px solid var(--border);}
.related-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
.related-guide{padding:1.5rem;border-top:1px solid var(--accent-line);background:var(--bg-elev);}
.related-guide strong{font-family:var(--font-display);font-size:1.5rem;color:var(--text);line-height:1.2;display:block;}
.related-guide p{font-size:.95rem;margin-block:.75rem;}
.related-guide:hover,.related-guide:focus-visible{background:var(--surface);}
.article-body a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.article-body h2{font-size:clamp(1.8rem,3vw,2.5rem);}
.article-body blockquote{margin:1.5rem 0;border-left:3px solid var(--accent);padding:1rem 1.5rem;background:var(--bg-elev);color:var(--text-dim);}
.table-scroll{width:100%;overflow-x:auto;}
.table-scroll table{min-width:580px;}
caption{text-align:left;margin-bottom:.7rem;color:var(--text-dim);font-weight:600;}
.article-hero h1{max-width:24ch;}
.article-meta a{color:var(--accent);text-decoration:underline;}
.article-layout{gap:3rem;}
.article-rail{padding:1.5rem;background:var(--bg-elev);border-top:2px solid var(--accent);}
.article-rail p{font-size:.9rem;}
.source-notes li{font-size:.9rem;}
.guide-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.guide-index a{display:block;padding:1rem 0;border-bottom:1px solid var(--border);color:var(--accent);}
.article-body,.article-hero-inner,.article-rail,.guide-index,.related-guides>*{min-width:0;overflow-wrap:anywhere;}
@media(max-width:959px){body{padding-bottom:90px;}.hero{min-height:auto;padding-top:8rem;}.hero-content{padding:0;}.service-hero{min-height:0;padding-block:3rem;}.mobile-menu .btn{min-height:44px;}.nav-wrap{top:.75rem;}}
@media(max-width:640px){
 .wrap{width:calc(100% - 3rem);}
 .hero{padding-bottom:3rem;}
 .hero-content h1{font-size:clamp(2.4rem,10vw,3.5rem);max-width:17ch;}
 .hero-content .lede{font-size:1rem;}
 .hero-bg::after,.service-hero-bg::after{background:rgba(8,10,14,.87);}
 .hero-actions .btn{flex-basis:100%;}
 .service-hero h1{font-size:2.35rem;}
 .related-guides,.guide-index{grid-template-columns:1fr;}
 .situation-grid{grid-template-columns:1fr;}
 .service-hero .btn{width:100%;justify-content:center;}
 .article-hero h1{font-size:2.4rem;}
 .bezel-inner{padding:1.25rem;}
 .form-step .btn{padding:.85rem 1rem;font-size:.88rem;}
 .sticky-cta a{min-height:44px;}
}
@media(prefers-reduced-motion:reduce){.hero-sheen{animation:none;}.link-arrow,.text-link::after,.btn,.related-guide{transition:none;transform:none;}}
