@font-face{font-family:'Atlas Grotesk';src:url('assets/atlas-grotesk-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
/* The hero uses one shared 3D scene; the original cutouts remain a fallback. */
.hero{height:100svh;min-height:640px;max-height:1120px;padding-top:112px}
.hero-scene{position:absolute;left:50%;top:124px;transform:translateX(-50%);width:min(1200px,96vw);height:calc(100% - 174px);min-height:0;max-height:none;margin:0;perspective:none;z-index:4}
.hero-art{position:absolute;inset:0;pointer-events:none;z-index:3}
.hero-art canvas{display:block;width:100%;height:100%;pointer-events:none}
.hero-title-wrap{top:45%;z-index:5;pointer-events:none;--hero-title-rise:60px;transform:translate(-50%,-50%) translateY(calc(var(--hero-title-rise) * (var(--hero-title-settle,0) - 1)))}
.hero-title-wrap p{font-family:'Atlas Grotesk',Arial,sans-serif;font-weight:400;letter-spacing:0;line-height:1.5}
.hero-glow{opacity:0;top:55%;height:40%;left:25%;width:50%;z-index:0;filter:blur(20px)}
.hero-awaiting .character,.hero-ready .character,.hero-awaiting .box-anchor,.hero-ready .box-anchor{visibility:hidden}
.hero-awaiting .hero-orbit,.hero-ready .hero-orbit{display:none}
.hero-fallback .hero-title-wrap{top:45%;--hero-title-settle:1}
.hero-poster{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.hero-poster img{position:absolute;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:none}
.hero-ready .hero-poster,.hero-fallback .hero-poster{visibility:hidden}
.hero-bottom{bottom:25px;z-index:5;display:grid;grid-template-columns:1fr auto 1fr}
.hero-bottom .scroll-cue{grid-column:2;gap:0}
.scroll-pill{position:relative;display:block;flex:none;width:18px;height:32px;margin-right:12px;overflow:hidden;border:1px solid rgba(0,97,255,.32);border-radius:999px;background:rgba(0,97,255,.035);transition:border-color .3s ease,background-color .3s ease}
.scroll-pill-dot{position:absolute;left:50%;bottom:6px;margin-left:-3px;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px rgba(0,97,255,.08);transform:translateY(-6px);opacity:.65;transition:background-color .3s ease,box-shadow .3s ease}
.hero-cue-open .scroll-pill,.hero-fallback .scroll-pill{border-color:rgba(93,121,22,.4);background:rgba(198,244,81,.1)}
.hero-cue-open .scroll-pill-dot,.hero-fallback .scroll-pill-dot{background:var(--lime);box-shadow:0 0 0 1px rgba(93,121,22,.4),0 0 0 3px rgba(198,244,81,.18)}
@media(max-width:700px){
  .hero{height:100svh;min-height:620px;max-height:1000px;padding-top:102px}
  .hero-scene{top:108px;width:100%;height:calc(100% - 163px)}
  .hero-title-wrap{width:100%;top:44%;--hero-title-rise:30px}
  .hero-title-wrap h1{font-size:clamp(38px,9.5vw,62px)}
  .hero-title-wrap p{font-size:14px;max-width:90%;margin:12px auto 0}
  .hero-bottom{bottom:20px}
}
@media(max-height:700px) and (min-width:701px){.hero{min-height:580px}.hero-scene{top:104px;height:calc(100% - 148px)}.hero{padding-top:92px}.hero-title-wrap h1{font-size:clamp(42px,5vw,70px)}}
@media(max-height:640px) and (max-width:700px){.hero{min-height:560px}}
@media(prefers-reduced-motion:reduce){.hero-title-wrap{--hero-title-settle:1}.scroll-pill,.scroll-pill-dot{transition:none}}
