/* Cinematic arrival story, original CB imagery, live motion and accessible controls. */
.landing-film{background:var(--blue);color:var(--white);isolation:isolate;scroll-margin-top:88px}
.landing-screen{height:calc(100vh - 176px);height:calc(100svh - 176px);min-height:530px;max-height:1100px;position:relative;overflow:hidden;background:var(--blue) url('/assets/landing-feedstock.webp') center/cover}
.landing-screen canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.landing-top{position:absolute;inset:27px 5% auto;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px}
.landing-top>span{font-size:10px;letter-spacing:.14em;color:var(--light)}
.landing-top a{display:inline-flex;align-items:center;gap:25px;font-size:13px;min-height:44px;border-bottom:1px solid var(--line)}
.landing-copy{position:absolute;left:5%;top:50%;transform:translateY(-55%);width:49%;z-index:2;pointer-events:none}
.landing-copy article{position:absolute;inset:0 auto auto 0;width:100%;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .5s,transform .7s,visibility .5s}
.landing-copy article[data-active="true"]{position:relative;opacity:1;visibility:visible;transform:none}
.landing-copy h2{font-size:clamp(44px,5.2vw,83px);line-height:1.01;letter-spacing:-.045em;max-width:820px;text-wrap:balance}
.landing-copy h2 span{display:block;opacity:0;transform:translateY(18px);transition:opacity .6s,transform .8s cubic-bezier(.16,1,.3,1)}
.landing-copy article[data-active="true"] h2 span{opacity:1;transform:none;transition-delay:.12s}
.landing-copy article[data-active="true"] h2 span+span{transition-delay:.24s}
.landing-copy h2 span+span{color:var(--light)}
.landing-copy p{font-size:clamp(17px,1.4vw,22px);color:var(--light);line-height:1.4;max-width:440px;margin-top:27px;text-wrap:pretty}
.landing-controls{position:absolute;bottom:14px;left:5%;right:5%;display:flex;gap:35px;align-items:center;z-index:3}
.landing-chapters{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px;flex:1;max-width:820px}
.landing-chapters button{background:none;color:var(--light);border:0;padding:16px 0 6px;text-align:left;min-height:48px;position:relative;font-size:12px}
.landing-chapters button:before,.landing-chapters button:after{content:'';position:absolute;top:7px;left:0;right:0;height:2px;background:rgba(153,185,222,.25)}
.landing-chapters button:after{background:var(--white);transform:scaleX(var(--chapter-progress,0));transform-origin:left}
.landing-chapters button[aria-pressed="true"]{color:var(--white)}
.landing-playback{display:flex;gap:20px;margin-left:auto}
.landing-playback button{background:none;border:0;color:var(--white);padding:10px 0;min-width:44px;min-height:44px;font-size:12px}
.landing-playback button:disabled{color:var(--light);cursor:default}
.energy-keywords{height:88px;display:flex;align-items:center;overflow:hidden;border-block:1px solid var(--line);position:relative;background:var(--blue)}
.energy-keywords:before,.energy-keywords:after{content:'';position:absolute;top:0;bottom:0;width:5%;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--blue),transparent)}
.energy-keywords:after{right:0;transform:rotate(180deg)}
.energy-keyword-track{display:flex;width:max-content;flex-shrink:0;transform:translateX(5vw);animation:energy-keyword-loop 28s linear infinite;will-change:transform}
.energy-keyword-set{display:flex;align-items:center;flex-shrink:0;gap:clamp(42px,6vw,110px);padding-right:clamp(42px,6vw,110px)}
.energy-keyword-set span{font-size:clamp(24px,2.7vw,44px);letter-spacing:-.025em;white-space:nowrap;display:flex;gap:clamp(42px,6vw,110px);align-items:center}
.energy-keyword-set span:after{content:'';display:block;width:1px;height:22px;background:var(--light);opacity:.55}
.energy-keyword-set span:nth-child(even){color:var(--light)}
.landing-film[data-running="false"] .energy-keyword-track{animation-play-state:paused}
.landing-film[data-ready="false"] canvas{opacity:0}
.landing-film[data-ready="true"] canvas{opacity:1;transition:opacity .5s}
.landing-fallback{position:absolute;left:5%;right:5%;bottom:96px;color:var(--white);font-size:15px}
.landing-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes energy-keyword-loop{to{transform:translateX(calc(-50% + 5vw))}}
@media(min-width:1500px){.landing-copy{left:max(5%,calc((100vw - 1500px)/2 + 75px));width:43%}}
@media(max-width:1100px) and (min-width:701px){.landing-copy{width:49%}.landing-copy h2{font-size:clamp(43px,5.2vw,58px)}.landing-copy p{max-width:340px;font-size:18px}.landing-chapters{gap:10px}.landing-controls{gap:22px}.landing-playback{gap:15px}}
@media(max-width:700px){
 .landing-film{scroll-margin-top:76px}
 .landing-screen canvas{height:calc(100% - 108px)}
 .landing-screen{height:calc(100vh - 150px);height:calc(100svh - 150px);min-height:660px;max-height:900px}
 .landing-top{inset:10px 24px auto}.landing-top>span{font-size:8px;letter-spacing:.08em}.landing-top a{font-size:11px;gap:10px}
 .landing-copy{top:88px;left:24px;right:24px;width:auto;transform:none}
 .landing-copy h2{font-size:clamp(33px,8.7vw,56px);max-width:520px;letter-spacing:-.045em;line-height:1.02}
 .landing-copy p{font-size:15px;line-height:1.4;margin-top:16px;max-width:345px}
 .landing-controls{bottom:8px;left:24px;right:24px;display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:16px;align-items:end}
 .landing-chapters{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 10px;max-width:none}
 .landing-chapters button{min-height:44px;min-width:44px;font-size:11px}
 .landing-playback{position:static;display:grid;gap:0;width:100%}
 .landing-playback button{font-size:11px;overflow-wrap:anywhere}
 .energy-keywords{height:74px}.energy-keyword-set,.energy-keyword-set span{gap:38px}.energy-keyword-set{padding-right:38px}.energy-keyword-set span{font-size:28px}
}
@media(max-width:380px){.landing-controls{left:16px;right:16px;gap:12px}.landing-chapters{gap:0 8px}.landing-copy h2{font-size:32px}.landing-copy p{font-size:15px;max-width:270px}.landing-top{gap:12px}.landing-top>span{max-width:120px}}
@media(prefers-reduced-motion:reduce){
 .landing-copy article,.landing-copy h2 span,.landing-film[data-ready="true"] canvas{transition:none!important}
 .energy-keyword-track{animation:none;transform:none;width:100%}.energy-keyword-set{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding:12px 24px}.energy-keyword-set[aria-hidden="true"]{display:none}.energy-keyword-set span{font-size:clamp(16px,2vw,26px);display:block;text-align:center}.energy-keyword-set span:after{display:none}.energy-keywords{height:auto;min-height:88px}
}

/* Touch controls stay outside the animated picture on compact displays. */
.landing-controls[hidden]{display:none}
@media(min-width:701px) and (max-width:1000px){
 .landing-controls{gap:16px}.landing-chapters{gap:8px}.landing-chapters button{min-width:44px}.landing-playback{gap:10px}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){
 .landing-screen{height:480px;min-height:480px}.landing-screen canvas{height:calc(100% - 68px)}
 .landing-top{inset:8px 4% auto}.landing-top>span{max-width:none}.landing-copy{left:4%;right:auto;top:100px;width:46%;transform:none}
 .landing-copy h2{font-size:clamp(30px,4.8vw,42px)}.landing-copy p{font-size:16px;margin-top:16px;max-width:320px}
 .landing-controls{left:4%;right:4%;bottom:6px;display:flex;gap:20px}.landing-chapters{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
 .landing-playback{display:flex;width:auto;gap:12px}.landing-playback button{font-size:12px}.energy-keywords{height:66px}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:740px){
 .landing-screen{height:520px;min-height:520px}.landing-screen canvas{height:calc(100% - 108px)}
 .landing-chapters{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 15px}
}
@media(max-width:700px){.landing-screen:after{content:'';position:absolute;left:0;right:0;bottom:0;height:108px;background:var(--blue);z-index:1}}
@media(orientation:landscape) and (max-height:500px) and (min-width:701px) and (max-width:1000px){.landing-screen:after{content:'';position:absolute;left:0;right:0;bottom:0;height:68px;background:var(--blue);z-index:1}}
@media(orientation:landscape) and (max-height:500px) and (min-width:701px) and (max-width:740px){.landing-screen:after{height:108px}}

/* The AI chapter shares the standard copy position, typography and blue field.
   A restrained width keeps the Reformer clear beside the copy. */
@media(min-width:1001px){
 html .landing-film[data-chapter="compute"] .landing-copy{width:min(440px,32vw)}
 .landing-film[data-chapter="compute"][data-renderer="poster"] canvas{background-size:72% auto!important;background-position:right center}
 .landing-film[data-chapter="compute"][data-renderer="poster"] .landing-top>span{background:var(--blue);box-shadow:0 0 14px 8px var(--blue)}
}

/* The opening CBR panorama begins beside the copy, not at the far edge. */
@media(min-width:1001px){
 html .landing-film[data-chapter="cbr"] .landing-copy{left:5%;width:28%}
 html .landing-film[data-chapter="cbr"] .landing-copy h2{font-size:clamp(44px,4.15vw,68px);overflow-wrap:break-word;hyphens:auto}
 html .landing-film[data-chapter="cbr"] .landing-copy p{max-width:100%}
 .landing-film[data-chapter="cbr"][data-renderer="poster"] canvas{background-size:68% auto!important;background-position:right center;background-repeat:no-repeat;background-color:var(--blue)}
}
@media(max-width:1000px){
 .landing-film[data-chapter="cbr"][data-renderer="poster"] canvas{background-size:contain!important;background-position:center;background-repeat:no-repeat;background-color:var(--blue)}
}

/* Flight: the airport stays full screen; copy clears the technical process below. */
@media(min-width:1001px){
 html .landing-film[data-chapter="flight"] .landing-copy{left:5%;top:24%;width:40%;transform:translateY(-50%)}
 html .landing-film[data-chapter="flight"] .landing-copy p{max-width:470px;margin-top:18px}
}
