.terrain-hero{position:relative;isolation:isolate;background:#06192d;overflow:hidden}
.terrain-hero .red-wrap{position:relative;z-index:0}
.hero-terrain{position:absolute;z-index:-1;inset:-100px calc((100% - 100vw)/2) -140px;overflow:hidden;pointer-events:none;background:#06192d}
.hero-terrain video,.hero-terrain canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%;display:block;opacity:.85}
.hero-terrain.terrain-ready video{visibility:hidden}.hero-terrain canvas{opacity:.92}
.terrain-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06192dd9 0%,#06192d70 43%,#06192d08 85%),linear-gradient(0deg,#091c2f 0%,transparent 22%,#071a2d20 100%)}
html[dir=rtl] .terrain-shade{background:linear-gradient(270deg,#06192de8 0%,#06192d85 43%,#06192d10 85%),linear-gradient(0deg,#091c2f 0%,transparent 30%,#071a2d40 100%)}
.terrain-hero .hero-copy h1{font-size:clamp(48px,4.75vw,72px);line-height:1.04;max-width:650px;text-wrap:initial}
.terrain-hero .hero-layout{min-height:640px;gap:20px;grid-template-columns:1.1fr 1fr}
.terrain-hero .hero-object .logo-stage{height:480px}
.terrain-hero .hero-baseline{margin-top:65px;border-color:#54728e66;padding-bottom:15px}
.terrain-hero .hero-intro{max-width:510px!important;color:#c1d0e0}
.terrain-hero .hero-kicker{color:#b3cce5}
.terrain-hero .logo-controls{position:relative;z-index:2}
@media(min-width:1600px){.terrain-hero .hero-copy h1{font-size:80px}}
@media(max-width:1000px){.terrain-hero .hero-copy h1{font-size:clamp(43px,5.1vw,60px)}.terrain-hero .hero-layout{min-height:570px}.terrain-hero .hero-object .logo-stage{height:380px}}
@media(max-width:720px){.terrain-hero .hero-layout{grid-template-columns:1fr;gap:20px;min-height:0}.terrain-hero .hero-copy h1{font-size:clamp(43px,10vw,65px)}.terrain-hero .hero-object .logo-stage{height:330px}.terrain-hero .hero-baseline{margin-top:35px}.hero-terrain{inset:-50px -22px -100px}.hero-terrain video{object-position:70% 60%;opacity:.6}.terrain-shade{background:linear-gradient(180deg,#06192de8 0%,#06192d8c 43%,#06192d20 66%,#091c2f 100%)}.terrain-hero .hero-intro{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){.hero-terrain video{will-change:auto;transform:none!important}}

/* Same terrain composition before and after WebGL initialization. */
.hero-terrain .terrain-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.92}.hero-terrain canvas{visibility:hidden}.hero-terrain.terrain-ready canvas{visibility:visible}.hero-terrain.terrain-ready picture{visibility:hidden}
/* The loader no longer waits for the terrain: the poster stays on top and fades out once the live terrain is ready. */
.hero-terrain picture{transition:visibility 0s}.hero-terrain .terrain-poster{transition:opacity .6s ease}
.hero-terrain.terrain-ready picture{transition:visibility 0s .6s}.hero-terrain.terrain-ready .terrain-poster{opacity:0}
@media(prefers-reduced-motion:reduce){.hero-terrain picture,.hero-terrain .terrain-poster{transition:none}}
