/* SAHP home page: scroll-driven story (descent, fleet, bureaus, units, gallery wall, explore, join).
   Everything is prefixed hx- so it never collides with the rest of the site. Driven by home-x.js. */
.hx{--hx-gold:#d9a441;--hx-gold-2:#f2c96d;--hx-tan:#d8c39a;--hx-ink:#eef2f8;--hx-muted:#a3b2c8;--hx-faint:#61728f;--hx-accent:#d9a441;
  --hx-display:"Barlow Condensed","Inter",system-ui,sans-serif;position:relative;color:var(--hx-ink)}
.hx *{box-sizing:border-box}
.hx-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hx-bg{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform,opacity}
.hx h1,.hx h2,.hx h3,.hx p{margin:0}

/* 1. Descent */
.hx-descent{height:480vh;background:#020611}
.hx-clouds{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.hx-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,6,17,.6),rgba(2,6,17,.1) 35%,rgba(2,6,17,.25) 65%,rgba(2,6,17,.92)),radial-gradient(120% 80% at 50% 50%,transparent 50%,rgba(0,0,0,.6))}
.hx-hero{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none;padding:0 16px}
.hx-hero .hx-eyebrow{font:600 clamp(.75rem,1.4vw,.95rem) var(--hx-display);letter-spacing:.6em;text-transform:uppercase;color:var(--hx-gold-2);margin-bottom:14px}
.hx-hero h1{font:700 clamp(3.2rem,11vw,10rem)/.86 var(--hx-display);text-transform:uppercase;letter-spacing:.01em;text-shadow:0 20px 60px rgba(0,0,0,.6)}
.hx-hero img{width:clamp(70px,9vw,110px);height:auto;margin:0 auto 18px;display:block;filter:drop-shadow(0 12px 40px rgba(0,0,0,.6))}
.hx-hint{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);display:grid;justify-items:center;gap:10px;font:600 .7rem var(--hx-display);letter-spacing:.4em;text-transform:uppercase;color:#d6deeb}
.hx-hint i{width:1px;height:46px;background:linear-gradient(var(--hx-gold),transparent);animation:hxDrip 1.8s ease-in-out infinite}
@keyframes hxDrip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hx-word{position:absolute;left:clamp(16px,6vw,90px);bottom:16vh;pointer-events:none;opacity:0;will-change:transform,opacity,filter}
.hx-word small{display:block;font:600 .8rem var(--hx-display);letter-spacing:.42em;text-transform:uppercase;color:var(--hx-gold-2);margin-bottom:10px}
.hx-word b{display:block;font:700 clamp(3.4rem,12vw,11rem)/.82 var(--hx-display);text-transform:uppercase;text-shadow:0 24px 70px rgba(0,0,0,.7)}
.hx-word b em{font-style:normal;color:var(--hx-gold-2)}
.hx-word p{margin-top:16px;max-width:42ch;color:#d6deeb;line-height:1.6}
.hx-tagline{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none;opacity:0}
.hx-tagline b{display:block;font:700 clamp(2.4rem,7vw,6.4rem)/.9 var(--hx-display);text-transform:uppercase}
.hx-tagline small{display:block;margin-top:14px;font:600 .82rem var(--hx-display);letter-spacing:.5em;text-transform:uppercase;color:var(--hx-gold-2)}

/* 2. Fleet */
.hx-fleet{height:660vh}
.hx-fleet .hx-stage{background:radial-gradient(70% 55% at 50% 62%,#1a2336,transparent 70%),#05070c}
.hx-fleet .hx-stage::before{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,transparent,rgba(216,195,154,.05));pointer-events:none}
.hx-model{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font:700 clamp(7rem,24vw,24rem)/1 var(--hx-display);color:transparent;-webkit-text-stroke:2px rgba(216,195,154,.22);white-space:nowrap;user-select:none;pointer-events:none;transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1)}
.hx-cars{position:absolute;inset:0;perspective:1600px}
.hx-car{position:absolute;left:50%;top:57%;translate:0 -50%;width:min(1100px,78vw);aspect-ratio:16/9;margin-left:calc(min(1100px,78vw) / -2);transform-origin:50% 60%;will-change:transform,opacity,filter}
.hx-car img{width:100%;height:100%;object-fit:cover;display:block;-webkit-mask-image:radial-gradient(58% 62% at 50% 54%,#000 52%,transparent 78%);mask-image:radial-gradient(58% 62% at 50% 54%,#000 52%,transparent 78%)}
.hx-fcopy{position:absolute;left:clamp(16px,5vw,80px);top:clamp(100px,16vh,160px);z-index:3}
.hx-kicker{display:flex;align-items:center;gap:10px;font:600 .8rem var(--hx-display);letter-spacing:.34em;text-transform:uppercase;color:var(--hx-accent)}
.hx-kicker::before{content:"";width:34px;height:2px;background:currentColor}
.hx-fcopy .hx-kicker{color:var(--hx-tan)}
.hx-fcopy h2{margin-top:12px;font:700 clamp(2.2rem,4.6vw,4.2rem)/.9 var(--hx-display);text-transform:uppercase}
.hx-fcopy h2 span{color:var(--hx-tan)}
.hx-fmeta{position:absolute;right:clamp(16px,5vw,80px);bottom:12vh;text-align:right;z-index:3}
.hx-count{font:700 clamp(2.4rem,4vw,3.6rem)/1 var(--hx-display);color:#fff}
.hx-count small{font-size:.45em;color:var(--hx-faint);margin-left:4px}
.hx-tier{display:inline-block;margin-top:10px;padding:7px 14px;border-radius:999px;font:700 .74rem var(--hx-display);letter-spacing:.2em;text-transform:uppercase;color:#1a1204;background:var(--hx-tan)}
.hx-fmeta a{display:block;margin-top:14px;font-weight:600;font-size:.82rem;color:var(--hx-muted);text-decoration:none}
.hx-fmeta a:hover{color:#fff}
.hx-fbar{position:absolute;left:clamp(16px,5vw,80px);bottom:12vh;display:flex;gap:6px;z-index:3}
.hx-fbar i{width:34px;height:3px;border-radius:2px;background:rgba(255,255,255,.15);overflow:hidden;position:relative}
.hx-fbar i b{position:absolute;inset:0;background:var(--hx-tan);transform-origin:0 50%;transform:scaleX(0)}
.hx-swap{transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.hx-swap.hx-out{opacity:0;transform:translateY(16px)}

/* 3. Bureaus */
.hx-bureaus{height:560vh}
.hx-bphoto{opacity:0;transition:opacity .8s}
.hx-bphoto.on{opacity:1}
.hx-tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,17,.95) 0%,rgba(2,6,17,.72) 38%,rgba(2,6,17,.2) 70%,rgba(2,6,17,.5)),linear-gradient(180deg,transparent 60%,rgba(2,6,17,.9))}
.hx-wash{position:absolute;inset:0;mix-blend-mode:color;opacity:.28;background:var(--hx-accent);transition:background .6s}
.hx-code{position:absolute;right:4vw;bottom:-4vh;font:700 clamp(9rem,28vw,26rem)/1 var(--hx-display);color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--hx-accent) 70%,transparent);opacity:.6;user-select:none;pointer-events:none;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s}
.hx-bcopy{position:absolute;left:clamp(16px,6vw,90px);top:50%;transform:translateY(-50%);width:min(460px,42vw);z-index:3}
.hx-bcopy h2{margin:14px 0 10px;font:700 clamp(2.4rem,5.4vw,4.8rem)/.92 var(--hx-display);text-transform:uppercase}
.hx-bcopy p{color:#c4cfdf;line-height:1.6;max-width:38ch}
.hx-bcopy ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}
.hx-bcopy li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:rgba(2,6,17,.55);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);font-weight:600;font-size:.95rem}
.hx-bcopy li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hx-accent);box-shadow:0 0 12px var(--hx-accent);flex:none}
.hx-bcopy .hx-captain{margin-top:16px;font-size:.82rem;color:var(--hx-muted)}
.hx-more{display:inline-block;margin-top:18px;font:700 .8rem var(--hx-display);letter-spacing:.2em;text-transform:uppercase;color:var(--hx-accent);text-decoration:none}
.hx-rail{position:absolute;right:clamp(14px,3vw,40px);top:50%;transform:translateY(-50%);display:grid;gap:14px;z-index:3}
.hx-rail button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:10px;font:700 .78rem var(--hx-display);letter-spacing:.2em;color:rgba(255,255,255,.45);transition:color .3s}
.hx-rail button i{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;transition:.3s}
.hx-rail button.on{color:#fff}
.hx-rail button.on i{background:var(--hx-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--hx-accent) 25%,transparent),0 0 18px var(--hx-accent)}

/* 4. Units fan */
.hx-fan{height:340vh}
.hx-fan .hx-stage{background:radial-gradient(70% 60% at 50% 60%,#13264b,transparent 70%),#020611}
.hx-fanhead{position:absolute;top:14vh;left:0;right:0;text-align:center;padding:0 16px;z-index:3}
.hx-fanhead p,.hx-wallcopy p,.hx-xhead p{font:600 .8rem var(--hx-display);letter-spacing:.42em;text-transform:uppercase;color:var(--hx-gold-2)}
.hx-fanhead h2{margin-top:10px;font:700 clamp(2.4rem,6vw,5.4rem)/.92 var(--hx-display);text-transform:uppercase}
.hx-deck{position:absolute;left:50%;top:60%;width:0;height:0;perspective:1400px}
.hx-unit{position:absolute;left:-85px;top:-120px;width:170px;height:240px;border-radius:18px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(160deg,color-mix(in srgb,var(--c) 70%,#0a1834),#060d1f 78%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent),0 30px 60px -20px rgba(0,0,0,.8);will-change:transform;transition:box-shadow .3s}
.hx-unit:hover{box-shadow:inset 0 0 0 1px var(--c),0 0 0 1px var(--c),0 30px 80px -10px color-mix(in srgb,var(--c) 70%,transparent)}
.hx-unit small{font:700 .7rem var(--hx-display);letter-spacing:.24em;color:color-mix(in srgb,var(--c) 40%,#fff)}
.hx-unit b{font:700 2.7rem/1 var(--hx-display);color:#fff;text-shadow:0 6px 24px color-mix(in srgb,var(--c) 80%,transparent)}
.hx-unit span{font-weight:600;font-size:.82rem;line-height:1.25;color:#dbe4f2}

/* 5. Gallery wall */
.hx-wall{height:260vh}
.hx-wall .hx-stage{background:#03060f;perspective:1400px}
.hx-plane{position:absolute;left:50%;top:50%;width:150vw;height:220vh;transform:translate(-50%,-50%) rotateX(24deg) rotateZ(-10deg);display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.hx-col{display:grid;gap:18px;align-content:start;will-change:transform}
.hx-col img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.9);display:block;background:#0a1222}
.hx-wallfade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 50% 50%,rgba(3,6,15,.25),rgba(3,6,15,.92) 75%)}
.hx-wallcopy{position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:2;pointer-events:none;padding:0 16px}
.hx-wallcopy h2{margin:12px 0 22px;font:700 clamp(3rem,9vw,8.4rem)/.86 var(--hx-display);text-transform:uppercase;text-shadow:0 20px 70px rgba(0,0,0,.9)}
.hx-pill{pointer-events:auto;display:inline-flex;gap:10px;padding:14px 24px;border-radius:999px;text-decoration:none;font:700 .85rem var(--hx-display);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(2,6,17,.7);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}

/* 6. Explore every page */
.hx-explore{padding:16vh clamp(16px,6vw,90px) 14vh;background:linear-gradient(180deg,#03060f,#050c1e)}
.hx-xhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.hx-xhead h2{margin-top:10px;font:700 clamp(2.4rem,5vw,4.6rem)/.9 var(--hx-display);text-transform:uppercase}
.hx-xhead > span{color:var(--hx-muted);max-width:36ch;line-height:1.6}
.hx-tabs a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:22px 6px;border-top:1px solid rgba(255,255,255,.09);text-decoration:none;color:var(--hx-ink);position:relative}
.hx-tabs a:last-child{border-bottom:1px solid rgba(255,255,255,.09)}
.hx-tabs .n{font:600 .9rem var(--hx-display);letter-spacing:.2em;color:var(--hx-faint)}
.hx-tabs .t{font:700 clamp(2rem,5.4vw,4.4rem)/1 var(--hx-display);text-transform:uppercase;transition:transform .45s cubic-bezier(.2,.8,.2,1),color .3s}
.hx-tabs .d{color:var(--hx-muted);font-size:.92rem;text-align:right;max-width:30ch;transition:color .3s}
.hx-tabs a:hover .t{transform:translateX(18px);color:var(--hx-gold-2)}
.hx-tabs a:hover .d{color:#fff}
.hx-tabs a::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--hx-gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s}
.hx-tabs a:hover::before{transform:scaleX(1)}
.hx-peek{position:fixed;left:0;top:0;width:340px;aspect-ratio:16/10;border-radius:16px;overflow:hidden;pointer-events:none;z-index:45;opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(-4deg);transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 80px -20px rgba(0,0,0,.9)}
.hx-peek.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-2deg)}
.hx-peek img{width:100%;height:100%;object-fit:cover;display:block}

/* 7. Numbers + join */
.hx-numbers{padding:16vh clamp(16px,6vw,90px);background:#050c1e}
.hx-numbers h2{font:700 clamp(2.2rem,5vw,4.4rem)/.95 var(--hx-display);text-transform:uppercase;max-width:14ch}
.hx-numbers h2 em{font-style:normal;color:var(--hx-gold-2)}
.hx-nums{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.hx-num{padding:26px 22px;border-radius:20px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.hx-num b{display:block;font:700 clamp(3rem,6vw,5.4rem)/1 var(--hx-display);background:linear-gradient(180deg,#fff,var(--hx-gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-num span{display:block;margin-top:10px;font:600 .78rem var(--hx-display);letter-spacing:.3em;text-transform:uppercase;color:var(--hx-muted)}
.hx-rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform 1s cubic-bezier(.2,.8,.2,1)}
.hx-rv.in{opacity:1;transform:none}
.hx-join{height:240vh}
.hx-join .hx-stage{display:grid;place-items:center;background:#06102a}
.hx-join .hx-bg{filter:brightness(.4) saturate(1.1)}
.hx-joinpre{position:relative;font:700 clamp(1rem,2vw,1.3rem) var(--hx-display);letter-spacing:.5em;text-transform:uppercase;color:#d6deeb}
.hx-mask{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 16px;color:#1a1204;background:radial-gradient(80% 80% at 50% 40%,var(--hx-gold-2),var(--hx-gold) 60%,#a8782a);clip-path:circle(var(--r,0%) at 50% 50%)}
.hx-mask h2{font:700 clamp(3rem,10vw,9rem)/.86 var(--hx-display);text-transform:uppercase}
.hx-mask p{margin:18px auto 30px;max-width:44ch;font-weight:600;line-height:1.6;opacity:.85}
.hx-mask a{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;text-decoration:none;font:700 .95rem var(--hx-display);letter-spacing:.18em;text-transform:uppercase;color:var(--hx-gold-2);background:#06102a}

@media (max-width:760px){
  .hx-word{left:16px;right:16px;bottom:18vh}
  .hx-car{top:58%;width:120vw;margin-left:-60vw}
  .hx-fmeta{bottom:14vh}
  .hx-fbar{bottom:calc(14vh + 120px)}
  .hx-bcopy{left:16px;right:16px;top:12vh;transform:none;width:auto}
  .hx-bcopy h2{font-size:2.6rem}
  .hx-bcopy ul{grid-template-columns:1fr 1fr}
  .hx-bcopy li{font-size:.78rem;padding:8px 10px}
  .hx-bcopy p{font-size:.88rem}
  .hx-tint{background:linear-gradient(180deg,rgba(2,6,17,.95) 0%,rgba(2,6,17,.7) 55%,rgba(2,6,17,.35))}
  .hx-rail{top:auto;bottom:10vh;right:50%;transform:translateX(50%);grid-auto-flow:column;gap:16px}
  .hx-rail button{font-size:0;gap:0}
  .hx-plane{width:240vw;grid-template-columns:repeat(4,1fr)}
  .hx-tabs a{grid-template-columns:40px 1fr;gap:12px}
  .hx-tabs .d{display:none}
  .hx-nums{grid-template-columns:1fr 1fr}
  .hx-unit{left:-62px;top:-88px;width:124px;height:176px;padding:12px}
  .hx-unit b{font-size:1.9rem}
  .hx-unit span{font-size:.7rem}
}
@media (hover:none){.hx-peek{display:none}}
