/* ================= HOME SLIDER (flying aircraft videos) ================= */
.slider{position:relative;height:100vh;min-height:700px;max-height:1100px;background:var(--ys);overflow:hidden}
.sl-stage{position:absolute;inset:0}
.sl{position:absolute;inset:0;visibility:hidden}
.sl.on,.sl.prev{visibility:visible}.sl.on{z-index:2}.sl.prev{z-index:1}
.sl-bg{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s var(--ease)}
.sl.on .sl-bg{clip-path:inset(0 0 0 0)}.sl.prev .sl-bg{clip-path:inset(0)}
.sl-bg img,.sl-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sl-bg video{opacity:0;transition:opacity 1s}.sl-bg video.ready{opacity:1}
.sl.on .sl-bg img{animation:kb 12s ease-out both}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
.sl.on .sl-copy{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:80px;padding-bottom:110px}
.sl-copy>*{max-width:640px}
.sl-h{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.03;margin:0 0 .35em}
.sl .sl-h .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.sl .sl-h .w>span{display:inline-block;transform:translateY(115%) rotate(5deg);transition:transform .9s var(--ease)}
.sl.on .sl-h .w>span{transform:none;transition-delay:calc(.5s + var(--i)*80ms)}
.sl .sl-a{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.sl.on .sl-a{opacity:1;transform:none}
.sl.on .pill-k.sl-a{transition-delay:.35s}.sl.on .lead.sl-a{transition-delay:1s}.sl.on .btns.sl-a{transition-delay:1.2s}
.sl-wipe{position:absolute;inset:0;z-index:5;pointer-events:none;background:var(--y);transform:translateX(-101%)}
.sl-wipe span{position:absolute;right:8%;top:50%;width:70px;margin-top:-35px;color:var(--ink)}.sl-wipe svg{fill:var(--ink);transform:rotate(45deg)}
.sl-wipe.go{animation:wipe 1.1s var(--ease) both}
@keyframes wipe{0%{transform:translateX(-101%)}45%{transform:translateX(0)}100%{transform:translateX(101%)}}
.sl-fly{position:absolute;z-index:4;left:-80px;top:26%;width:50px;color:var(--ink);animation:planeacross 15s linear infinite;opacity:.85;pointer-events:none}.sl-fly svg{fill:var(--ink);transform:rotate(45deg)}
.sl-spin{position:absolute;z-index:4;right:5%;top:130px;width:120px;height:120px;animation:spin 18s linear infinite}
.sl-spin text{font:700 15px var(--f-d);letter-spacing:.14em;fill:var(--ink)}
.sl-ctl{position:absolute;z-index:6;left:0;right:0;bottom:0;padding:18px 0 24px;background:rgba(255,255,255,.92)}
.sl-ctl-in{display:flex;align-items:center;gap:26px}
.sl-count{display:flex;align-items:baseline;gap:10px;font:800 1.1rem var(--f-d)}.sl-count b{font-size:2.2rem;line-height:1}.sl-count i{width:34px;height:2px;background:var(--ink)}.sl-count span{color:var(--mut)}
.sl-dots{display:flex;gap:12px;flex:1;min-width:0}
.sl-dots button{flex:1;min-width:0;text-align:left;display:grid;gap:8px;font-weight:700;font-size:.82rem;color:var(--mut);transition:color .3s}
.sl-dots button i{display:block;height:4px;border-radius:4px;background:var(--line);position:relative;overflow:hidden}
.sl-dots button i::after{content:"";position:absolute;inset:0;background:var(--yd);transform:scaleX(0);transform-origin:left}
.sl-dots button.on{color:var(--ink)}.sl-dots button.on i::after{animation:fill var(--dur,7s) linear forwards}
.sl-dots button.done i::after{transform:none}
@keyframes fill{to{transform:scaleX(1)}}
.sl-dots button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-arrows{display:flex;gap:10px}.sl-arrows button{width:50px;height:50px;border-radius:50%;background:var(--ink);color:var(--y);display:grid;place-items:center;transition:.3s var(--ease)}
.sl-arrows button:hover{background:var(--y);color:var(--ink);transform:scale(1.1)}.sl-prev .ic{transform:rotate(180deg)}
.slider .scroll-cue{bottom:118px;left:auto;right:30px;transform:none}
@media(max-width:860px){.sl-spin,.sl-dots span,.slider .scroll-cue{display:none}.sl-copy{padding-bottom:130px}.sl-count{display:none}.sl-ctl-in{gap:14px}.sl-h,.sl-copy .lead{text-shadow:0 3px 24px rgba(0,0,0,.65)}}

/* ================= statement / marquee / flyby / hscroll ================= */
.statement{padding:clamp(70px,10vw,140px) 0 20px}
.st-words{font:800 clamp(1.7rem,4vw,3.1rem)/1.25 var(--f-d);letter-spacing:-.02em;margin:0;text-align:center}
.st-words .sw{color:#e6dcb0;transition:color .4s}.st-words .sw.lit{color:var(--ink)}
.flyby{position:relative;height:60px;margin:-30px 0;z-index:3;pointer-events:none;overflow:hidden}
.flyby::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px dashed var(--y);opacity:.6}
.flyby span{position:absolute;top:50%;left:-60px;width:44px;margin-top:-22px;color:var(--ink)}.flyby svg{fill:var(--ink);transform:rotate(45deg)}
.js .flyby[data-r]{transform:none}
.flyby.in span{animation:flyx 2.8s var(--ease) both}.flyby.rev.in span{animation-name:flyxr}.flyby.rev span{left:auto;right:-60px}.flyby.rev svg{transform:rotate(-135deg)}
@keyframes flyx{to{transform:translateX(calc(100vw + 120px))}}@keyframes flyxr{to{transform:translateX(calc(-100vw - 120px))}}
.bigmarq{overflow:hidden;padding:30px 0;background:#fff;border-block:1px solid var(--line)}
.bm-track{display:flex;width:max-content;animation:marq 40s linear infinite;will-change:transform}
.bm-track span{font:800 clamp(3rem,9vw,8rem)/1 var(--f-d);white-space:pre;color:transparent;-webkit-text-stroke:2px var(--yd);padding-right:.5em}
.bm-track span:nth-child(even){-webkit-text-stroke:0;color:var(--y)}
.hscroll{position:relative;background:linear-gradient(180deg,var(--yp),var(--ys))}
.hs-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:28px;overflow:hidden;padding-top:70px}
.hs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}.hs-head .sec-head{margin:0}.hs-head .sec-head h2{font-size:clamp(1.8rem,3.6vw,3rem)}
.hs-track{display:flex;gap:22px;padding:0 5vw;width:max-content;will-change:transform}
.hs-card{position:relative;flex:none;width:clamp(260px,34vw,500px);aspect-ratio:4/3;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:var(--ys)}
.hs-card:nth-child(even){margin-top:34px}.hs-card:nth-child(odd){margin-bottom:34px}
.hs-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.hs-card:hover img{transform:scale(1.08)}
.hs-n{position:absolute;left:18px;bottom:12px;font:800 2.6rem/1 var(--f-d);color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.5)}
.hs-bar{margin:0 auto;width:min(1200px,100% - 40px);height:4px;border-radius:4px;background:var(--line)}.hs-bar i{display:block;height:100%;width:0;background:var(--yd);border-radius:4px}
@media(max-width:760px){.hs-pin{padding-top:80px}.hs-card:nth-child(n){margin:0}}
.sec.soft::before,.sec.soft::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);opacity:.5;pointer-events:none;animation:blob 14s ease-in-out infinite}
.sec.soft::before{width:340px;height:340px;background:#FFE08A;left:-80px;top:10%}.sec.soft::after{width:300px;height:300px;background:#FFD54A;right:-60px;bottom:8%;animation-delay:-6s}
@keyframes blob{50%{transform:translate(40px,-30px) scale(1.15)}}
.sec.soft>.wrap{position:relative;z-index:1}
.js .am-main,.js .stream-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease),opacity .9s,transform .9s}.js .am-main.in,.js .stream-img.in{clip-path:inset(0)}
.foot-credit{position:relative;padding:0 0 26px;font-size:.74rem;color:#7d775f}
.sl-copy .pill-k{align-self:flex-start}

/* no gradient veil: clear picture, white text with soft shadow */
.sl-h,.sl-copy .lead{color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.5)}
.sl-copy .lead{font-weight:500}
.sl-ctl{background:rgba(255,255,255,.92)}
.sl-h .w>span{text-shadow:inherit}
