/* Cinematic environment behind actual editable HTML and real WebGL geometry. */
.hero{background:#03080d;min-height:max(930px,100svh);padding-top:clamp(215px,24vh,300px);padding-bottom:190px}
.hero::before{content:'';position:absolute;inset:0;z-index:0;background:url('/assets/horizon-v2.webp') center bottom/cover no-repeat;opacity:.93;pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#02070b66,transparent 45%),linear-gradient(0deg,transparent 70%,#02060977)}
.hero-copy{z-index:2}.hero-description{color:#c9d3df}.role{color:#b8cbd6}
.horizon{display:none}
.orbit-stage{right:-1%;top:7%;width:58%;height:77%;min-height:590px;opacity:1;pointer-events:auto;touch-action:pan-y;user-select:none;z-index:1}
.orbit-stage canvas{touch-action:pan-y;cursor:grab}.orbit-stage canvas:active{cursor:grabbing}
.orbital-glow{opacity:.5}.hero-bottom{z-index:2;color:#a9c7d4;bottom:105px}.motion-toggle{min-height:44px}
.hero-actions .button{box-shadow:inset 0 1px 0 #d0fcff77,0 0 28px #35dce218}.hero-actions .outline{box-shadow:inset 0 1px 0 #bfe8ff22,0 0 28px #35dce208;background:#03111a66}
@media(min-width:1700px){.orbit-stage{right:calc((100vw - 1750px)/2);width:920px}}
@media(min-width:901px) and (max-width:1100px){.hero-copy{max-width:54%}h1{font-size:clamp(69px,7.8vw,86px)}.hero-description{font-size:19px}.orbit-stage{right:-9%;width:62%;top:10%}.hero-actions .button{font-size:13px;padding:14px 18px;gap:15px}.role{font-size:10px;letter-spacing:.08em}}
@media(max-width:900px){
  .header{height:82px;padding:0 6%}.menu-button{display:flex;gap:12px;align-items:center;font-size:14px;background:transparent;color:#d8eaf2;padding:10px;min-height:44px;min-width:70px}
  .menu-button span{color:var(--cyan);font-size:23px}.header nav{display:none;position:absolute;top:77px;left:5%;right:5%;padding:22px;background:#06151bf5;border:1px solid #367d8f;border-radius:12px;flex-direction:column;align-items:stretch;gap:15px;backdrop-filter:blur(18px)}
  .header nav.is-open{display:flex}.header nav>a{min-height:44px;display:flex;align-items:center}.header nav .button{min-width:0}
  .hero{display:grid;grid-template-columns:1fr;gap:22px;padding:142px 6% 112px;min-height:0!important}
  .hero::before{background-size:auto 100%;background-position:center bottom;opacity:.85}
  .hero-copy{width:100%;max-width:none}.hero-description{max-width:620px;margin-top:25px;font-size:clamp(17px,3.6vw,21px)}.desktop-break{display:none}
  h1{font-size:clamp(49px,11.3vw,86px)}.role{font-size:10px;letter-spacing:.08em;max-width:none;margin-top:22px}
  .hero-actions{gap:10px;margin-top:24px}.hero-actions .button{flex:1;min-width:0;padding:13px 16px;font-size:clamp(12px,3vw,16px);gap:8px}
  .orbit-stage{position:relative;top:auto!important;right:auto!important;width:calc(100% + 40px);margin-left:-20px;height:clamp(305px,96vw,500px);min-height:0!important;max-height:none;grid-row:2}
  .hero-bottom{left:6%;right:6%;bottom:68px;font-size:9px;line-height:1.6}.hero-bottom p i{width:25px;margin-left:12px}.hero-bottom a{gap:16px}.motion-toggle{font-size:10px;bottom:10px;right:6%;padding:10px 0 10px 10px}
}
@media(max-width:360px){.header .brand{font-size:23px}.hero{padding-top:130px}.hero-actions .button{font-size:11px;padding:13px 12px}.role{font-size:9px}.hero-bottom p i{display:none}}
@media(prefers-reduced-motion:reduce){.orbit-stage canvas{cursor:default}}
