/* Responsive release v2. Original artwork and pre-launch controls preserved. */
html{scroll-padding-top:110px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
main,section,article,figure,nav,.wrap,.brandtext,.brand-type,.footer-main>*{min-width:0}
p,li,.legal-line,.footer-legal,.footer-bottom,a{overflow-wrap:break-word}
img,svg,video{max-width:100%}
.brand img{aspect-ratio:1;object-fit:contain;flex-shrink:0}
.brandbar .wrap{width:min(1180px,calc(100% - 40px))}
.brandbar .navwrap{gap:16px}
.brandtext b{font-size:clamp(1rem,.75rem + .5vw,1.24rem)}
.brandtext small{line-height:1.4}
.hero h1{font-size:clamp(2.5rem,1.35rem + 3.4vw,5.5rem);max-width:15ch;line-height:1.12}
.hero .wrap{padding-block:clamp(48px,6vw,80px)}
.hero .dek{max-width:52ch;line-height:1.65}
.section{padding-block:clamp(40px,5.5vw,76px)}
.section-head{align-items:start}
.section-head>p{max-width:48ch}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.editorial,.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card .service-image{height:auto;aspect-ratio:620/254}
.photo-figure img{height:auto;aspect-ratio:1.65;object-fit:cover}
.footer nav a,.footer-nav a{min-height:44px;display:flex;align-items:center;padding-block:6px}
.footer p,.footer a,.legal-line,.footer-legal{line-height:1.7}
.legal-line{font-size:.875rem}
.button,.nav-toggle,.menu-toggle{min-height:44px;touch-action:manipulation}
.nav-toggle{white-space:nowrap}
summary{min-height:48px;align-content:center;padding-block:8px}
.pill{line-height:1.55;max-width:100%;margin-block-end:8px}
.page-hero h1{font-size:clamp(2.2rem,1.25rem + 3vw,4.8rem);max-width:19ch;line-height:1.15}
.page-hero p{line-height:1.7}
.article{max-width:75ch}
.article a,.legal-line a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1025px){
 .brandbar .brandtext{display:flex}
 .brandbar .navlinks{display:flex;gap:clamp(8px,1vw,16px)}
 .brandbar .navlinks a{font-size:clamp(.85rem,.65rem + .3vw,.98rem);letter-spacing:.055em}
 .brandbar .nav-toggle{display:none!important}
}
@media(max-width:1100px){
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section-head{display:block}
 .section-head>p{max-width:65ch;margin-top:16px}
 .footer-main{gap:28px}
}
@media(max-width:1024px){
 .brandbar .navwrap{min-height:82px;position:relative;gap:12px}
 .brandbar .brand img{width:72px;height:72px}
 .brandbar .brandtext{display:flex}
 .brandbar .brandtext b{font-size:1.1rem}
 .brandbar .brandtext small{font-size:.66rem}
 .brandbar .nav-toggle{display:inline-flex!important;min-width:76px;flex-shrink:0}
 .brandbar .navlinks{display:none;position:absolute;left:0;right:0;top:100%;padding:12px;background:#171B21;border:1px solid var(--border);border-top:0;box-shadow:0 20px 30px rgba(11,14,18,.5);flex-direction:column;align-items:stretch;gap:2px;max-height:70vh;max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain}
 .brandbar .navlinks.open{display:flex}
 .brandbar .navlinks a{width:100%;min-height:48px;justify-content:flex-start;padding:10px 14px;font-size:1rem}
 .header .desktop-nav,.header .header-status{display:none}
 .header .menu-toggle{display:flex;flex-shrink:0;min-width:44px}
 .header .mobile-nav.open{display:block;max-height:70vh;max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}
 .header .mobile-nav a{min-height:48px}
 .utility .wrap{gap:8px 20px;justify-content:center;text-align:center}
}
@media(min-width:641px) and (max-width:1024px){
 .hero h1{font-size:clamp(2.75rem,1.2rem + 4vw,4.3rem)}
 .hero .dek{max-width:48ch}
 .editorial{gap:28px}
}
@media(max-width:720px){
 html{scroll-padding-top:90px}
 .brandbar .wrap{width:calc(100% - 32px)}
 .brandbar .brand img{width:60px;height:60px}
 .brandbar .navwrap{min-height:72px;gap:10px}
 .brandbar .brandtext b{font-size:.95rem;letter-spacing:.04em}
 .brandbar .brandtext small{font-size:.58rem;letter-spacing:.06em;margin-top:6px}
 .hero-media{height:clamp(210px,48vw,310px)}
 .hero .wrap{padding-block:28px 36px}
 .hero h1{font-size:clamp(2rem,1.25rem + 4vw,3.5rem);max-width:18ch;margin-block:12px 16px}
 .hero .dek{font-size:1rem;line-height:1.65;margin-bottom:0}
 .actions{margin-top:22px}
 .editorial,.two-col,.footer-main{grid-template-columns:minmax(0,1fr)}
 .photo-figure img{aspect-ratio:1.5}
 .art-block{min-height:250px}
 .page-hero{padding-block:40px 30px}
 .page-hero h1{max-width:20ch;font-size:clamp(2rem,1.2rem + 4vw,3.25rem)}
 .page-hero p{font-size:1rem;line-height:1.65}
 .footer-main{gap:28px}
 .feature-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
 .cards,.steps{grid-template-columns:minmax(0,1fr)}
 .service-card .num,.service-card h3,.service-card p,.service-card>a{padding-inline:20px}
 .button{width:100%;padding:12px 16px;text-align:center}
 .actions{gap:10px}
 .status-hero{padding:22px}
 .footer-nav{gap:24px}
}
@media(max-width:360px){
 .brandbar .brandtext{display:flex}
 .brandbar .brandtext b{font-size:.82rem}
 .brandbar .brandtext small{font-size:.5rem;letter-spacing:0}
 .brandbar .brand img{width:48px;height:48px}
 .brandbar .brand{gap:6px}
 .brandbar .nav-toggle{min-width:62px;padding-inline:8px;font-size:.85rem}
 .brandbar .navwrap{gap:6px;min-height:64px}
 .utility .wrap{font-size:.65rem;letter-spacing:.03em}
 .hero h1{font-size:2rem}
 .footer-nav{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:520px) and (orientation:landscape){
 .brandbar,.header{position:relative;top:auto}
 .hero-media{height:200px}
 .hero .wrap{padding-block:24px}
 .brandbar .navlinks,.header .mobile-nav.open{max-height:65vh;max-height:65dvh}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
