/* Revision 4: immersive light curtains within BALU's existing identity. */
.hero.hero-clean{position:relative;isolation:isolate;min-height:850px;padding:164px 0 0;overflow:hidden;background:#060d1c}
.hero-clean .hero-content{position:relative;display:block;text-align:center;z-index:2}
.hero-clean .hero-copy{max-width:860px;margin:0 auto;padding:0}
.hero-clean h1{font-size:clamp(52px,5.6vw,80px);line-height:1.06;font-weight:500;letter-spacing:-.04em;max-width:850px;margin:0 auto;text-wrap:balance}
.hero-clean .hero-description{max-width:590px;margin:27px auto 0;font-size:18px;line-height:1.65;color:#bdcce2;text-wrap:pretty}
.hero-clean .hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:31px}
.hero-clean .hero-actions .button{min-height:52px;padding:14px 23px;font-size:15px;position:relative;overflow:hidden;transition:background .25s,border-color .25s,transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.hero-clean .hero-actions .button-white{box-shadow:0 5px 24px #02071540}
.hero-clean .hero-actions .button-white:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffffb0 48%,transparent 72%);transform:translateX(-110%);transition:transform .65s cubic-bezier(.16,1,.3,1);pointer-events:none}
.hero-clean .hero-actions .button-white:hover:before{transform:translateX(110%)}
.hero-clean .hero-actions .button-white:hover{background:#e6eeff;box-shadow:0 9px 30px #02071570;transform:translateY(-3px)}
.hero-clean .hero-actions .button-outline{background:#081325b8;border-color:#9cb7e547}
.hero-clean .hero-actions .button-outline:hover{background:#172b4e;border-color:#9cb7e599;transform:translateY(-2px)}
.hero-clean .hero-audience{font-size:13px;line-height:1.6;color:#a6b9d4;margin:23px auto 0;max-width:420px}
.hero-clean .hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;isolation:isolate;transform:none!important}
.hero-clean .hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#060d1c00 72%,#060d1c 100%);pointer-events:none}
.hero-clean .hero-art canvas,.hero-clean .hero-art>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hero-clean #hero-shader{filter:none;transform:none;opacity:0;transition:opacity .6s}
.hero-clean.shader-ready #hero-shader{opacity:1}
.hero-clean.shader-ready .hero-static{opacity:0}
.hero-clean .hero-static{transition:opacity .6s}
.hero-clean .hero-path{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:25px;margin:139px auto 0;font-size:14px;color:#c5d4eb}
.hero-clean .hero-path span{display:flex;align-items:center;gap:10px}
.hero-clean .hero-path .path-check{color:#91b3ff;width:17px;height:17px}
.hero-clean .hero-path>.arrow{width:16px;opacity:.55}
.hero-clean .hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b4ccf826;padding:16px 0 21px;margin-top:39px;gap:20px}
.hero-clean .hero-bottom>a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:12px;color:#b5c7e2;transition:color .25s}
.hero-clean .hero-bottom>a:hover{color:#fafcff}
.hero-clean .motion-toggle{color:#b5c7e2;min-height:44px}
@media(min-width:1600px){.hero.hero-clean{min-height:900px;padding-top:180px}.hero-clean .hero-path{margin-top:165px}}
@media(max-width:1050px){.hero.hero-clean{min-height:800px;padding-top:160px}.hero-clean .hero-path{margin-top:125px;gap:18px;font-size:13px}}
@media(max-width:800px){.hero.hero-clean{min-height:780px;padding-top:143px}.hero-clean h1{font-size:64px}.hero-clean .hero-description{font-size:17px;max-width:550px}.hero-clean .hero-path{gap:12px;font-size:12px;margin-top:125px}.hero-clean .hero-path span{gap:7px}.hero-clean .hero-bottom{margin-top:33px}.hero-clean .motion-toggle span{display:inline}.hero-clean .motion-toggle{width:auto;gap:8px}}
@media(max-width:550px){.hero.hero-clean{min-height:0;padding-top:128px}.hero-clean h1{font-size:46px;line-height:1.08;max-width:380px;letter-spacing:-.035em}.hero-clean .hero-description{font-size:16px;line-height:1.65;max-width:345px;margin-top:23px}.hero-clean .hero-actions{flex-direction:column;gap:10px;margin-top:27px}.hero-clean .hero-actions .button{width:min(100%,272px);min-height:50px;font-size:14px}.hero-clean .hero-audience{font-size:12px;max-width:280px;margin-top:20px}.hero-clean .hero-path{flex-direction:column;gap:13px;align-items:flex-start;width:max-content;max-width:calc(100% - 40px);margin:80px auto 0;font-size:13px}.hero-clean .hero-path>.arrow{display:none}.hero-clean .hero-bottom{margin-top:36px;padding:12px 0 18px}.hero-clean .hero-bottom>a{font-size:12px;gap:9px}.hero-clean .motion-toggle span{display:none}.hero-clean .motion-toggle{width:44px;padding:8px;justify-content:center}}
@media(max-width:375px){.hero-clean h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){.hero-clean #hero-shader,.hero-clean .hero-static,.hero-clean .hero-actions .button,.hero-clean .hero-actions .button:before{transition:none}.hero-clean .hero-actions .button:hover{transform:none}.hero-clean .hero-actions .button-white:before{display:none}}
.motion-paused .hero-clean .hero-actions .button:before{display:none}
html:not(.js) .hero-clean{padding-top:80px}

/* Revision 5: one message, one explanation, two actions. */
.hero.hero-clean{min-height:760px;padding:172px 0 174px}
.hero-clean .hero-copy{max-width:1080px}
.hero-clean h1{max-width:1080px;font-size:clamp(48px,5.1vw,74px);line-height:1.09}
.hero-clean .hero-term{white-space:nowrap}
.hero-clean .hero-description{max-width:700px;margin-top:30px;font-size:19px;line-height:1.65}
.hero-clean .hero-actions{margin-top:34px}
.hero-clean>.motion-toggle{position:absolute;bottom:26px;right:max(24px,calc((100% - 1200px)/2));z-index:3;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #b4ccf833;border-radius:50%;background:#060d1cb3}
.hero-clean>.motion-toggle:hover{background:#193258;border-color:#91b3ff}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1050px){.hero.hero-clean{min-height:710px;padding-top:152px;padding-bottom:145px}.hero-clean h1{font-size:62px}}
@media(max-width:800px){.hero.hero-clean{min-height:720px;padding-top:142px}.hero-clean h1{font-size:56px}.hero-clean .hero-description{font-size:18px;max-width:610px}}
@media(max-width:550px){.hero.hero-clean{min-height:0;padding:124px 0 130px}.hero-clean h1{font-size:40px;line-height:1.12;max-width:390px}.hero-clean .hero-description{font-size:17px;line-height:1.6;margin-top:26px}.hero-clean .hero-actions{margin-top:28px}.hero-clean .hero-actions .button{width:min(100%,290px);font-size:15px}.hero-clean>.motion-toggle{right:20px;bottom:24px}}
@media(max-width:375px){.hero-clean h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){.hero-clean>.motion-toggle{display:none}}

/* Revision 7: the first screen belongs entirely to the hero. */
.hero.hero-clean{min-height:100vh;min-height:100dvh;display:grid;align-items:center;padding:140px 0 120px}
@media(max-width:800px){.hero.hero-clean{padding:128px 0 100px}}
@media(max-width:550px){.hero.hero-clean{padding:112px 0 100px}}
