/* A continuous editorial journey: geographic scale, human scale, operational scale. */
:root{--experience-ease:cubic-bezier(.22,.68,.12,1);--experience-ink:#02060b;--experience-rule:#a0dcee30}
.has-planet .hero{min-height:800px}
.has-planet .hero-content{margin-left:5%;width:68%;padding-top:clamp(90px,12vh,145px);max-width:1080px}
.has-planet .hero h1{font-size:clamp(76px,8.15vw,142px);font-weight:400;line-height:.94;letter-spacing:-.065em;max-width:900px;margin-top:29px}
.has-planet .hero h1 em{font-style:normal;color:#85e8f5}
.has-planet .hero-shade{background:linear-gradient(90deg,#02060bcd,transparent 67%)}
.has-planet .hero-content:before{display:none}
.has-planet .hero-description{font-size:17px;max-width:415px;line-height:1.7;margin-top:29px;color:#a7becb}
.hero-description strong{display:block;color:#e0eef4;font-weight:450;margin-bottom:9px}
.has-planet .hero-buttons{margin-top:27px}
.has-planet .hero-award{position:absolute;left:calc(100% + 5vw);top:15px;bottom:auto;width:210px;padding-left:20px;border-left:1px solid var(--experience-rule);margin:0}
.has-planet .hero-bottom{bottom:25px;padding:20px 0 0;border-top:1px solid var(--experience-rule)}
.has-planet .hero-bottom>a{font-size:12px;color:#acc6d5;letter-spacing:.02em}
.has-planet .planet-hud{left:auto;right:5%;bottom:12%;width:280px}
.has-planet .planet-hud .hud-track{width:100%}
.has-planet .hero .eyebrow{font-size:12px;letter-spacing:.16em;color:#b1c5d2}
.has-planet .hero .eyebrow>span{display:none}
.has-planet .hero .button{background:#b7f4fa;color:#05151b;min-height:54px;padding:14px 22px}
.has-planet .hero .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.has-planet .hero-award strong{font-size:14px;line-height:1.5}
.has-planet .hero-award .award-icon{color:#9cdde9}
@media(min-width:750px) and (max-height:850px){.has-planet .hero{min-height:780px}.has-planet .hero-content{padding-top:65px}.has-planet .hero h1{font-size:clamp(74px,7.5vw,118px)}}
@media(max-width:1100px) and (min-width:750px){.has-planet .hero-content{width:77%}.has-planet .hero h1{font-size:clamp(76px,9vw,108px)}.has-planet .hero-award{left:auto;right:-11%;top:15px;bottom:auto;width:180px}.has-planet .planet-hud{right:5%;bottom:16%;width:220px}}
@media(max-width:749px){
 .has-planet .hero{min-height:1030px;height:auto;overflow:clip}
 .has-planet .hero-content{width:88%;margin-left:6%;padding-top:360px}
 .has-planet .hero h1{font-size:clamp(53px,13.9vw,86px);line-height:.99;letter-spacing:-.055em;margin-top:22px}
 .has-planet .hero .eyebrow{font-size:12px;letter-spacing:.07em}
 .has-planet .hero-description{font-size:16px;line-height:1.7;margin-top:26px;max-width:440px}
 .has-planet .hero-award{position:static;border-left:0;padding:0;margin-top:28px;width:auto}
 .has-planet .hero-bottom{left:6%;right:6%;padding-top:14px;bottom:22px}
 .has-planet .hero-bottom>a{max-width:75%;font-size:12px}
 .has-planet .hero-shade{background:linear-gradient(0deg,#02060b 5%,#02060bef 40%,transparent 76%)}
 .has-planet .planet-hud{right:6%;left:auto;top:100px;bottom:auto;width:220px}
 .has-planet .planet-hud>p{font-size:12px}
 .has-planet .hero .button{font-size:14px;padding:13px 18px}
}
@media(prefers-reduced-motion:reduce){.has-planet .hero-content{animation:none}}
/* Three existing films share one screen-space frame, with reversible scroll fades. */
@media(min-width:750px){
 .has-planet.film-scroll-ready:not(.planet-fallback) .pillar-film{position:fixed;left:0;right:auto;top:50%;width:53vw;transform:translateY(-48%);z-index:2;opacity:0;}
 .has-planet.film-scroll-ready:not(.planet-fallback) .pillar-film.is-near{opacity:var(--film-opacity,0)}
 .has-planet.film-scroll-ready:not(.planet-fallback) :is(.planet-stage canvas,.planet-labels,.planet-hud){transition:none}
 .has-planet .pillar-grid article{min-height:105svh}
 .has-planet .pillar-grid article h2{font-size:clamp(45px,4.8vw,76px);letter-spacing:-.055em;line-height:1.02}
 .has-planet .pillar-grid .pillar-number{border-top:1px solid var(--experience-rule);padding-top:22px;max-width:100%;display:flex;align-items:center;gap:22px}
 .has-planet .pillar-grid .pillar-number:after{content:'';height:1px;width:70px;background:#91e9f4}
 .has-planet .purpose-grid{gap:45px}
 .has-planet .section-heading{font-size:clamp(42px,4.6vw,72px);letter-spacing:-.055em;line-height:1.07;max-width:950px}
}
body.has-solution-scene .solution-hero{padding-top:60px}
body.has-solution-scene .solution-hero h1{font-size:clamp(44px,5.5vw,86px);line-height:1.03;letter-spacing:-.055em}
body.has-solution-scene .solution-hero--long h1{font-size:clamp(38px,4.2vw,66px)}
body.has-solution-scene .solution-stage{background:radial-gradient(ellipse at 53% 56%,#0c233f55,transparent 64%)}
body.has-solution-scene .solution-hero .eyebrow{margin-top:58px;font-size:12px;color:#9ac2d1}
body.has-solution-scene .solution-summary{font-size:17px;line-height:1.8;max-width:535px}
body.has-solution-scene .scene-chapter h2{font-size:clamp(35px,3.8vw,59px);line-height:1.12}
body.has-solution-scene .scene-chapter>span{display:flex;gap:20px;align-items:center;font-size:14px}
body.has-solution-scene .scene-chapter>span:after{content:'';height:1px;width:80px;background:#78d9ed77}
body.has-solution-scene .scene-caption{border:0;padding-top:22px}
body.has-solution-scene .scene-caption:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#45667a66}
body.has-solution-scene .scene-caption:after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#95f2ff;transform:scaleX(var(--scene-progress,.02));transform-origin:left}
body.has-solution-scene .scene-caption>div{font-size:13px}
body.has-solution-scene .solution-intro{padding-top:30px}
body.has-solution-scene .related-page-grid>a{display:block;border:0;padding:0 0 25px;border-bottom:1px solid var(--experience-rule);font-size:22px;line-height:1.4}
.related-scene-image{width:100%;aspect-ratio:1.4;object-fit:contain;display:block;margin-bottom:22px;background:radial-gradient(ellipse,#0d263aaa,transparent 70%);transition:transform .6s var(--experience-ease)}
.related-page-grid a:hover .related-scene-image{transform:translateY(-6px)}
.related-page-name{display:flex;justify-content:space-between;gap:16px}
.related-page-name span{flex:none}
@media(max-width:749px){
 body.has-solution-scene .solution-hero{padding-top:372px}
 body.has-solution-scene .solution-hero h1{font-size:clamp(39px,11vw,60px)}
 body.has-solution-scene .solution-hero--long h1{font-size:clamp(35px,9.5vw,50px)}
 body.has-solution-scene .solution-hero .eyebrow{margin-top:31px}
 body.has-solution-scene .solution-summary{font-size:16px}
 body.has-solution-scene .scene-chapter h2{font-size:35px}
 body.has-solution-scene .scene-caption>div{font-size:12px}
 body.has-solution-scene .scene-caption{padding-top:9px;bottom:8px}
 body.has-solution-scene .scene-caption:before,body.has-solution-scene .scene-caption:after{display:none}
 body.has-solution-scene .solution-controls{position:fixed;top:auto;bottom:16px;right:6%}
 .has-planet .pillar-grid article h2{font-size:42px;line-height:1.08}
 .has-planet .pillar-grid article:before{inset:0 -6vw}
 .related-scene-image{margin-bottom:10px;max-height:240px}
}
@media(prefers-reduced-motion:reduce){.related-scene-image{transition:none}.related-page-grid a:hover .related-scene-image{transform:none}.has-planet .pillar-film{transition:none!important}}
.motion-paused .related-scene-image{transition:none;transform:none!important}
