/* Light, material and measured movement connect the homepage chapters. */
.element-home{background:#202225}
#solarRelief{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 25% 35%,#314648 0%,#202225 65%);transition:opacity .6s}
.element-home main,.element-home footer{position:relative;z-index:1}
.element-home header{z-index:50}
.brand-entrance{background:radial-gradient(ellipse at 45% 42%,#35494a 0%,#202225 65%,#111518 100%);overflow:hidden}
.brand-entrance:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 65% 85%,#00c4b417,transparent 50%);pointer-events:none}
.brand-entrance img{position:relative}
.brand-entrance button{color:#eee}
.brand-entrance.dissolving{animation:atmosphere-fall 2.7s linear both}
@keyframes atmosphere-fall{0%,55%{opacity:1}100%{opacity:0}}
.solar-prologue{height:160vh;min-height:950px;color:#fff;background:linear-gradient(#20222500,#20222512 80%,#20222566)}
.prologue-scene{position:sticky;top:0;height:100svh;min-height:650px;display:flex;flex-direction:column;justify-content:center;padding:8% 9%;overflow:hidden}
.prologue-scene .eyebrow{color:#00c4b4}
.prologue-scene h2{font-size:clamp(62px,8.4vw,132px);font-weight:600;line-height:1;letter-spacing:-.05em;margin:0;transform:translateY(calc(var(--story-progress,0)*-30px));opacity:calc(1 - var(--story-progress,0)*.8)}
.prologue-scene h2 em{color:#00c4b4}
.prologue-second{align-self:flex-end;margin:25px 0 0;font-size:clamp(26px,3.4vw,52px);line-height:1.2;font-weight:400;opacity:calc(.3 + var(--story-progress,0)*.7);transform:translateY(calc(25px - var(--story-progress,0)*25px))}
.prologue-second strong{font-weight:600}
.scroll-note{position:absolute;bottom:40px;left:9%;font-size:11px;letter-spacing:.18em;color:#b6c4c4}
.element-home .energy-section{background:linear-gradient(#202225bb,#202225d9)!important;border:0;padding:90px 6%}
.element-home .energy-section .section-head{max-width:1400px;margin:0 auto 50px}
.element-home .energy-layout{max-width:1400px;margin:auto}
.element-home .roof-study{background:linear-gradient(#202225d9,#20222599 60%,#202225e8)!important;padding-top:100px;padding-bottom:85px}
.element-home .roof-study h3{font-size:clamp(35px,4.5vw,68px);font-weight:600;line-height:1.1}
.element-home .roof-study>div:first-child{max-width:920px}
.element-home .work.wrap{background:#f4f6f5;max-width:none;padding:100px 6%}
.element-home .work .section-head h2{font-size:clamp(40px,4.9vw,74px);font-weight:600;line-height:1.05}
.element-home .project-window{box-shadow:0 24px 55px #15232418}
.element-home .project-reveal #projectImage{animation:photo-materialise 1.1s ease both}
@keyframes photo-materialise{0%{opacity:.15;filter:blur(3px);transform:scale(1.015)}100%{opacity:1;filter:blur(0);transform:scale(1)}}
.element-home .element-intro{background:#f4f6f5!important;padding:80px 6% 100px;border-top:1px solid #ccd6d2}
.element-home .journey.wrap{max-width:none;background:#fff;padding-top:100px}
.element-home .certification-panel.wrap{max-width:none;background:#fff;padding:80px 6%}
.element-home .local-answers{background:#edf3f1!important;padding:80px 6%}
.element-home .element-finish{background:linear-gradient(115deg,#202225ef,#20222599)!important;color:white;padding-top:100px;padding-bottom:100px}
.element-home .element-finish h2 em{color:#00c4b4}
.element-home footer{background:#202225}
.story-reveal{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.story-reveal.story-visible{opacity:1;transform:none}
@media(max-width:760px){.solar-prologue{height:125vh;min-height:800px}.prologue-scene{min-height:620px;padding:70px 6%}.prologue-scene h2{font-size:clamp(58px,11vw,82px)}.prologue-second{align-self:flex-start;margin-top:50px;font-size:30px}.scroll-note{left:6%}.element-home .energy-section,.element-home .roof-study,.element-home .work.wrap,.element-home .element-intro,.element-home .journey.wrap{padding-top:60px;padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){#solarRelief{display:none}.solar-prologue{height:auto;min-height:0;background:#202225}.prologue-scene{position:relative;height:auto;min-height:650px}.prologue-scene h2,.prologue-second{transform:none;opacity:1}.story-reveal{transform:none;opacity:1;transition:none}.project-reveal #projectImage{animation:none!important}}

/* One continuous material from the first chapter to the final invitation. */
.element-home{--ink:#f3f7f6;--muted:#c2cecc;--line:#b9d4cc3b}
#solarRelief{background:radial-gradient(ellipse at 25% 35%,#314648,#172425 70%);opacity:1}
.element-home .energy-section,.element-home .roof-study{background:linear-gradient(90deg,#182123a8,#18212345)!important}
.element-home .work.wrap,.element-home .element-intro,.element-home .journey.wrap,.element-home .certification-panel.wrap,.element-home .local-answers,.element-home .element-finish{background:linear-gradient(90deg,#142325b8,#14232570)!important;color:#f3f7f6;border:0;position:relative}
.element-home .work.wrap,.element-home .journey.wrap,.element-home .certification-panel.wrap,.element-home .local-answers{padding-top:110px;padding-bottom:110px}
.element-home .element-intro{padding-top:100px;padding-bottom:100px}
.element-home .work.wrap:before,.element-home .journey.wrap:before,.element-home .certification-panel.wrap:before,.element-home .local-answers:before{content:"";position:absolute;top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,#00c4b400,#c2e3df45,#00c4b400)}
.element-home .section-head h2,.element-home .element-intro h2,.element-home .project-description h3,.element-home .certification-panel h2,.element-home .local-answers h2{color:#f3f7f6}
.element-home .section-head h2 em,.element-home .element-intro h2 em,.element-home .local-answers h2 em,.element-home .certification-panel h2 em{color:#36dfcb}
.element-home .eyebrow,.element-home .project-description .eyebrow{color:#51e1d2}
.element-home .section-head>p,.element-home .intro-copy p,.element-home .intro-copy>p:first-child,.element-home .project-description p,.element-home .certification-panel p,.element-home .local-answers p{color:#d4dfdd}
.element-home .line-link,.element-home .intro-copy .line-link{color:#67ecdf;border-bottom-color:#9bc9c366}
.element-home .project-tabs{border-color:#abcfc34d}
.element-home .project-tabs button,.element-home .project-tabs button span{color:#c5d8d4}
.element-home .project-tabs button[aria-pressed=true],.element-home .project-tabs button[aria-pressed=true] span{color:#5ce9d9;border-color:#00c4b4}
.element-home .project-window{box-shadow:0 30px 90px #0005}
.element-home #projectImage,.element-home .journey-photo img{transform:scale(1.045) translateY(var(--photo-drift,0px));transition:transform .3s ease-out}
.element-home .journey-photo{overflow:visible;height:auto;align-self:start}
.element-home .journey-photo img{height:460px;clip-path:inset(2.2%)}
.element-home .journey-photo>span{color:#d4dfdd;padding:16px 10px 0;font-size:13px}
.element-home .journey-steps button{color:#f3f7f6;border-color:#d1e6df40}
.element-home .journey-steps button p,.element-home .journey-steps button>span{color:#c9d8d3}
.element-home .journey-steps button[aria-expanded=true]{border-left-color:#00c4b4;border-top-color:#00c4b4;background:linear-gradient(90deg,#00c4b415,transparent)}
.element-home .journey-steps button[aria-expanded=true]>span{color:#51e1d2}
.element-home .certification-marks{background:#fff;box-shadow:0 20px 60px #0003;padding:30px 20px}
.element-home .certification-benefits article{border-color:#d1e6df40}
.element-home .local-answers details{border-color:#d1e6df40;background:transparent;color:#f3f7f6}
.element-home .local-answers summary{color:#f3f7f6}
.element-home .element-finish{min-height:70vh;display:flex;flex-direction:column;justify-content:center}
.element-home .element-finish h2{font-size:clamp(58px,7.5vw,114px);line-height:1.04}
.element-home .element-finish h2 em{color:#64efce}
.element-home .element-finish .button{background:#00c4b4;color:#112826}
.element-home footer{background:#11252499;backdrop-filter:blur(12px);color:#e0e8e5}
.atmosphere-control{position:fixed;right:20px;bottom:16px;z-index:60;background:#172425e6;border:1px solid #88b6ad55;color:#e7efed;padding:9px 12px;font:12px 'Exo',sans-serif;backdrop-filter:blur(12px)}
.atmosphere-control[hidden]{display:none}
@media(max-width:760px){.element-home .work.wrap,.element-home .element-intro,.element-home .journey.wrap,.element-home .certification-panel.wrap,.element-home .local-answers{padding-top:65px;padding-bottom:65px}.element-home .journey-photo img{height:320px}.element-home .element-finish{min-height:60vh}.atmosphere-control{right:12px;bottom:10px;padding:8px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.element-home #projectImage,.element-home .journey-photo img{transform:none;transition:none}.atmosphere-control{display:none}}
/* Keep the sculpture visible as a still surface when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){#solarRelief{display:block}}

/* The live sculpture becomes the stage for a three-second energy charge. */
.brand-loading{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#182426;overflow:hidden;transition:opacity .35s ease}
.brand-loading #solarRelief{position:absolute;inset:0;z-index:0;opacity:1!important}
.loading-signature{position:relative;z-index:1;width:min(66vw,540px);filter:drop-shadow(0 8px 28px #0005)}
.loading-signature img{width:100%;height:auto;object-fit:contain;margin-bottom:54px}
.loading-caption{display:flex;justify-content:space-between;align-items:center;color:#e4efec;font:11px 'Exo',sans-serif;letter-spacing:.16em;margin-bottom:15px}
.loading-number{font-size:19px;letter-spacing:0;font-variant-numeric:tabular-nums}
.loading-rail{height:16px;position:relative;transform:skewX(-24deg);background:repeating-linear-gradient(90deg,#d3f6ef20 0 3px,transparent 3px 9px);--charge:0}
.loading-rail i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--charge));background:linear-gradient(90deg,#05c3dd,#00c4b4,#d4fff5);box-shadow:0 0 22px #00c4b45c}
.loading-rail:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 3px,#142629 3px 9px)}
.loading-skip{position:absolute;right:6%;bottom:5%;z-index:1;background:transparent;border:0;color:#e4efec;font:13px 'Exo',sans-serif;padding:12px}
.brand-loading.loading-complete{opacity:0;pointer-events:none}
.element-home .project-window{background:transparent!important;box-shadow:none;overflow:hidden}
.element-home #projectImage{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(transparent,#000 7%,#000 93%,transparent);mask-composite:intersect;animation:none!important}
.element-home .project-description{animation:none!important}
@media(max-width:760px){.loading-signature{width:78vw}.loading-signature img{margin-bottom:35px}.loading-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.brand-loading{display:none}}

/* Converging fields of light replace the loading rail. */
.energy-loading .loading-signature{width:min(66vw,460px);display:flex;align-items:center;flex-direction:column}
.energy-loading .loading-signature img{margin-bottom:22px;max-height:175px}
.energy-charge{position:relative;width:170px;height:170px;margin:5px auto 18px;perspective:650px}
.energy-charge i{position:absolute;inset:8px;border-radius:50%;border:1px solid #8cfff27a;border-top:2px solid #eaffff;box-shadow:0 0 14px #00c4b422,inset 0 0 18px #05c3dd22;animation:charge-orbit 3s linear infinite;transform:rotateX(62deg) rotateZ(0deg)}
.energy-charge i:nth-child(2){inset:20px;animation-duration:2.4s;animation-direction:reverse;rotate:60deg;border-color:#05c3dd88}
.energy-charge i:nth-child(3){inset:32px;animation-duration:3.6s;rotate:-55deg;border-color:#00c4b488}
.energy-charge b{position:absolute;inset:56px;border-radius:50%;background:radial-gradient(circle,#e7fff8,#00c4b4 32%,#05c3dd33 65%,transparent 74%);box-shadow:0 0 calc(15px + var(--charge,0)*45px) #00c4b47a;transform:scale(calc(.6 + var(--charge,0)*.7));transition:transform .1s;filter:blur(1px)}
@keyframes charge-orbit{to{transform:rotateX(62deg) rotateZ(360deg)}}
.solar-countdown-label{color:#e1eeea;font-size:16px;margin:0 0 4px;text-align:center;letter-spacing:.035em}
.solar-countdown{color:#fff;font:500 44px/1.1 'Exo',sans-serif;min-height:50px;font-variant-numeric:tabular-nums}
.enter-sound{margin-top:20px;background:#17292b9c;border:1px solid #8ee4d875;padding:11px 20px;color:#e9fff9;font:14px 'Exo',sans-serif}
.enter-sound:hover{background:#00a89944}
.sound-control{position:fixed;left:20px;bottom:16px;z-index:60;background:#172425e6;border:1px solid #88b6ad55;color:#e7efed;padding:9px 12px;font:12px 'Exo',sans-serif;backdrop-filter:blur(12px)}
body:has(.brand-loading) .sound-control{visibility:hidden}
.element-home .energy-section,.element-home .roof-study{background:linear-gradient(90deg,#14212375,#14212322)!important}
.element-home .work.wrap,.element-home .element-intro,.element-home .journey.wrap,.element-home .certification-panel.wrap,.element-home .local-answers,.element-home .element-finish{background:linear-gradient(90deg,#14232580,#14232538)!important}
.element-home main h2,.element-home main h3{text-shadow:0 2px 15px #06181835}
@media(max-width:760px){.energy-loading .loading-signature{width:78vw}.energy-loading .loading-signature img{max-height:120px;margin-bottom:12px}.energy-charge{width:140px;height:140px;margin-bottom:12px}.energy-charge b{inset:44px}.solar-countdown-label{font-size:14px}.solar-countdown{font-size:36px}.sound-control{left:12px;bottom:10px;padding:8px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.energy-charge i{animation:none}}

/* A clear countdown, then one fast turquoise acceleration into the homepage. */
.energy-loading .loading-signature img{margin-bottom:48px}
.energy-loading .solar-countdown{font-size:clamp(64px,9vw,100px);min-height:110px;margin-top:12px}
.energy-loading .solar-countdown-label{font-size:17px}
.brand-loading.hyper-jump{background:#071e2370;animation:jump-open .72s ease-out both}
.hyper-jump .loading-signature,.hyper-jump .loading-skip{opacity:0;transform:scale(1.08);pointer-events:none;transition:opacity .12s,transform .2s}
.jump-trails{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
@keyframes jump-open{0%{background:#071e23}45%{background:#071e2340}100%{background:transparent}}
@media(max-width:760px){.energy-loading .loading-signature img{margin-bottom:34px}.energy-loading .solar-countdown-label{font-size:14px}.energy-loading .solar-countdown{font-size:72px;min-height:82px}}
@media(prefers-reduced-motion:reduce){.jump-trails{display:none}.brand-loading.hyper-jump{animation:none}}

/* Minimal progress; the launch is its own opaque scene, never a homepage overlay. */
.sleek-load{position:relative;width:100%;height:2px;background:#d9fff026;overflow:visible;margin:8px 0 22px}
.sleek-load i{position:absolute;inset:0;background:linear-gradient(90deg,#00a899,#05c3dd,#dcfff6);transform:scaleX(var(--charge,0));transform-origin:left;box-shadow:0 0 12px #00c4b470}
.energy-loading .loading-signature img{margin-bottom:45px}
.brand-loading.hyper-jump{background:#02090e!important;animation:none!important;opacity:1!important;transition:none}
.hyper-jump .loading-signature,.hyper-jump .loading-skip{display:none}
.jump-trails{background:#02090e}

/* Unboxed invitation and a paced arrival from the flight into the installation film. */
.energy-loading .enter-sound{background:none!important;border:0!important;padding:15px 4px;box-shadow:none;font-size:17px;letter-spacing:.04em;color:#e7fff9;transition:color .2s}
.energy-loading .enter-sound:hover{color:#56e9d8}
.hyper-jump .jump-trails{transition:opacity .23s ease}
.hyper-jump.flight-settling .jump-trails{opacity:0}
.brand-loading.hyper-jump.cinema-arrival{opacity:0!important;transition:opacity .95s cubic-bezier(.25,.1,.25,1)!important;pointer-events:none}
.cinematic-entry .element-hero .video-title{opacity:0}
.cinematic-entry.cinematic-arrival .element-hero .video-title{opacity:1;transition:opacity .85s ease .2s}
.cinematic-entry .element-hero>video{transform:scale(1.025)}
.cinematic-entry.cinematic-arrival .element-hero>video{transform:scale(1);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.cinematic-entry .element-hero .video-title{opacity:1}.cinematic-entry .element-hero>video{transform:none}.brand-loading.hyper-jump.cinema-arrival{transition:none!important}}
