.hero{position:relative;padding-top:82px;padding-bottom:clamp(65px,8vw,120px);overflow:clip}
.hero-layout{position:relative;display:grid;grid-template-columns:44% 56%;align-items:center;min-height:min(780px,calc(100svh - 100px))}
.hero-copy{position:relative;z-index:2;padding-block:70px 90px}

.hero h1{font-size:clamp(48px,5.15vw,78px);line-height:1.04;font-weight:500;letter-spacing:-.055em}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero-description{font-size:16px;line-height:1.7;color:#b9c3bf;margin-top:26px;max-width:435px;letter-spacing:-.01em}
.hero-description br.wide-only{display:none}
.hero-actions{display:flex;align-items:center;gap:23px;margin-top:31px}
.hero-actions .button{font-size:14px;gap:26px}.hero-actions .text-link{font-size:12px;gap:10px}

.hero-stage{position:relative;min-width:0;align-self:stretch;margin:0 -110px 0 -20px;display:flex;flex-direction:column;justify-content:center}
.hero-scene{transform:translateY(var(--hero-offset,0px))}
.hero-scene{position:relative;isolation:isolate;width:100%;height:clamp(580px,51vw,760px);touch-action:pan-y pinch-zoom}
.hero-scene canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .45s ease}
.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .3s ease}
[data-scene-state="ready"] .hero-fallback{opacity:0}
.hero-stage:not([data-scene-state="ready"]) .hero-fallback{transition:none}
[data-scene-state="ready"] canvas{opacity:1}

.hero-baseline{display:flex;justify-content:flex-end;align-items:center;padding:20px 0 28px;color:var(--muted)}
.hero-baseline a{font-size:16px;display:flex;align-items:center;gap:24px;min-height:44px}.hero-baseline a span{font-size:20px;color:var(--teal)}
@media(min-width:1700px){.hero-layout{min-height:830px}.hero-stage{margin-right:-160px;margin-left:-10px}.hero-scene{height:800px}}
@media(max-width:1100px){.hero-layout{grid-template-columns:45% 55%;min-height:675px}.hero-copy{padding-block:80px}.hero h1{font-size:clamp(43px,5.1vw,56px)}.hero-description{font-size:14px;max-width:370px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:17px;gap:16px;font-size:12px}.hero-actions .text-link{font-size:11px;gap:8px}.hero-stage{margin-right:-85px;margin-left:-30px}.hero-scene{height:620px}}
@media(max-width:800px){.hero{padding-top:70px}.hero-layout{display:block;min-height:0}.hero-copy{text-align:center;padding:57px 0 0}.hero h1{font-size:clamp(44px,8.6vw,72px)}.hero-description{font-size:15px;max-width:430px;margin:23px auto 0}.hero-actions{justify-content:center;gap:21px;margin-top:25px}.hero-actions .button{font-size:13px;min-height:46px;gap:18px}.hero-actions .text-link{font-size:12px;gap:10px}.hero-stage{margin:0 -20px}.hero-scene{height:clamp(410px,86vw,600px)}.hero-baseline{padding:18px 0 24px;gap:20px}.hero-baseline a{gap:12px}}
@media(max-width:420px){.hero-copy{padding-top:43px}.hero-description{max-width:335px;line-height:1.65}.hero-actions{gap:14px}.hero-actions .text-link{font-size:11px}.hero-actions .button{font-size:12px;padding-inline:16px;gap:14px}.hero-scene{height:410px}}
@media(max-width:350px){.hero h1{font-size:40px}.hero-description{font-size:14px}.hero-actions{gap:12px;flex-direction:row}.hero-actions .button{font-size:11px;padding-inline:12px;gap:10px}.hero-actions .text-link{font-size:10px;gap:7px}.hero-scene{height:355px}}
@media(prefers-reduced-motion:reduce){.hero-scene canvas,.hero-fallback{transition:none}}

.scene-toggle{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:pointer;touch-action:pan-y pinch-zoom}
.scene-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:-8px;border-radius:12px}
