/* Supporting-page editorial components. Shared visual tokens now live in premium.css. */
html{scroll-padding-top:100px}
body{font-family:Inter,"Segoe UI",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Manrope,"Segoe UI",sans-serif;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
h1{line-height:1.12}
h2{line-height:1.18}
p{ text-wrap:pretty }
::selection{background:#b7eadb;color:var(--navy)}
input,textarea{caret-color:var(--teal)}
a{text-underline-offset:4px}
svg{flex-shrink:0;vertical-align:middle}
a svg,button svg{vertical-align:middle}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}
.wrap{width:min(1240px,calc(100% - 80px))}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;border-radius:8px;padding:13px 22px;background:var(--teal);border:1px solid transparent;color:#fff;font-size:.9375rem;font-weight:600;line-height:1.5;letter-spacing:0}
.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:600}
.button.secondary{border-color:#82969f}
.prototype-bar{display:none}
#site-header{background:#fff}
.nav-inner{height:88px;gap:24px}
.brand img{width:172px;height:auto}
.nav-links{gap:27px}
.nav-links a,.nav-actions a{font-size:.875rem;font-weight:600}
.nav-actions a{background:var(--teal);color:#fff;padding:12px 20px;border-radius:8px}
.reading-progress{display:none}
.site-footer{background:var(--canvas);border-top:1px solid var(--line)}
.footer-main{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}
.footer-bottom{line-height:1.6}
.menu-toggle{border-radius:7px}
.document-nav{max-height:calc(100vh - 130px);overflow:auto;overscroll-behavior:contain}
.legal-content{max-width:72ch}
.legal-content h2{letter-spacing:-.02em}
.page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.route-hero{background:var(--canvas);padding-top:45px}
.route-hero h1{font-size:clamp(2.75rem,4.5vw,4.25rem)}
.route-dark{background:var(--navy);color:#fff}
.route-section{padding-block:76px}
.route-aside{border-left:1px solid var(--line)}
.route-tint{background:#eef7f4}
.section-kicker{letter-spacing:0;text-transform:none}
.closing{border-radius:16px;background:var(--mint);padding:45px}
.editorial-photo img{border-radius:12px}
.contact-form{border-radius:14px}
.section-jumps{padding-block:20px}
.price-card.highlighted{border-color:var(--teal)}
.step-number{background:var(--navy);color:#fff;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem}
@media(hover:hover){.nav-actions a:hover{background:#005b4c;color:#fff;text-decoration:none}
.nav-links a:hover{color:var(--teal)}}
@media(prefers-reduced-motion:no-preference){.button{transition:background-color .15s,transform .15s ease-out}
.button:active:not(:disabled){transform:scale(.96)}
@keyframes product-arrive{from{opacity:.7;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}
.nav-links{gap:18px}
.nav-links a,.nav-actions a{font-size:.8125rem}}
@media(max-width:780px){.wrap{width:calc(100% - 40px)}
.nav-inner{height:76px}
.brand img{width:156px}
.nav-links{background:#fff;top:76px}
.nav-actions{display:none}
.nav-links a{font-size:1rem}
.step-number{grid-column:1;grid-row:1/5}
.footer-main{grid-template-columns:1fr 1fr;gap:30px}
.footer-brand{grid-column:1/-1}
.document-nav{max-height:none;overflow:visible}
.route-hero h1{font-size:2.75rem}
.route-section{padding-block:50px}
.closing{padding:30px}}
@media(max-width:420px){.footer-main{grid-template-columns:1fr 1fr;gap:25px}
.footer-col{min-width:0}}
@media(forced-colors:active){a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:Highlight}}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form [aria-invalid="true"]{border-color:#a12323}
.contact-form .form-status:not(:empty){padding:16px;background:#ddf5ed;border-radius:8px}
.contact-form .form-status[data-error="true"]{background:#fff1d6;color:#683c07}
.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-next{padding:24px;background:#ddf5ed;border-radius:12px;margin-bottom:24px}
.contact-next h2{font-size:1.25rem}
.contact-next p{font-size:.9375rem}
.contact-form textarea{min-height:150px}
