/* =====================================================================
   HEART AEROSPACE - design system implementation (fresh, original demo)
   Tokens & grammar per the published style export:
   - monumental type over atmospheric sky
   - near-monochrome: Stratosphere #716e85, Jetstream Blue #001489, Onyx, Cloud
   - zero radius, no cards/shadows, outlined ghost actions, Onyx footer
   - full-bleed, left-anchored at the viewport edge, 70px section rhythm
   Original placeholder content for a demo brand (not a clone of any site).
   ===================================================================== */

/* Neue Haas Grotesk - the typeface used on heartaerospace.com.
   nhgDisplay = headings (optical display cut), nhgText = body/UI.
   NOTE: files in assets/fonts/nhg are TRIAL (personal-use). Replace with a
   purchased Monotype web licence (same filenames) before public launch. */
@font-face{font-family:"nhgDisplay";src:url("assets/fonts/nhg/nhg-disp-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"nhgDisplay";src:url("assets/fonts/nhg/nhg-disp-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"nhgDisplay";src:url("assets/fonts/nhg/nhg-disp-500.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"nhgDisplay";src:url("assets/fonts/nhg/nhg-disp-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"nhgText";src:url("assets/fonts/nhg/nhg-text-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"nhgText";src:url("assets/fonts/nhg/nhg-text-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"nhgText";src:url("assets/fonts/nhg/nhg-text-500.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"nhgText";src:url("assets/fonts/nhg/nhg-text-700.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --stratosphere:#716e85;
  --strato-deep:#54526a;
  --jetstream:#001489;
  --onyx:#000000;
  --ink:#0c0c0f;
  --ink-soft:#5a5c63;
  --muted:#9a9aa1;
  --cloud:#ffffff;
  --hair:rgba(0,0,0,.12);

  --edge:40px;                       /* Heart's 40px viewport padding */
  --gap:70px;                        /* Heart's section gap */
  --maxw:none;                       /* full-bleed, no max-width container */

  --t-display:clamp(4rem,15.5vw,13rem);   /* 156px+ monumental */
  --t-hero:clamp(2.8rem,9.5vw,8.5rem);
  --t-h2:clamp(2.1rem,4.4vw,2.875rem);    /* 46px section heading */
  --t-lead:clamp(1.15rem,1.5vw,1.5rem);
  --t-body:1.125rem;                       /* 18px */
  --ease:cubic-bezier(.22,.61,.36,1);

  --font-display:"nhgDisplay","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --font-text:"nhgText","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cloud);color:var(--onyx);
  font-family:var(--font-text);
  font-size:var(--t-body);font-weight:400;line-height:1.3;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:600;line-height:1;letter-spacing:-.02em}
h1,h2,.hero h1,.word,.bigmark .word{font-family:var(--font-display)}
p{margin:0}
::selection{background:var(--jetstream);color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid var(--jetstream);outline-offset:4px}
:focus:not(:focus-visible){outline:none}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--onyx);color:#fff;padding:12px 18px}
.skip:focus{left:12px;top:12px}
.edge{padding-inline:var(--edge)}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tnum{font-variant-numeric:tabular-nums}

/* ---------------- NAV (transparent over hero) ---------------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:26px var(--edge);transition:transform .45s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.hidden{transform:translateY(-103%)}
.nav.solid{background:rgba(255,255,255,.9);backdrop-filter:saturate(150%) blur(16px);border-bottom-color:var(--hair)}
.brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:1.18rem;letter-spacing:.02em}
.brand svg{width:26px;height:26px}
.nav-r{display:flex;align-items:center;gap:32px}
.links{display:flex;align-items:center;gap:28px}
.links a{font-size:1rem;position:relative}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.links a:hover::after,.links a.active::after{transform:scaleX(1)}
/* color states */
.nav .brand,.nav .links a{color:var(--cloud)}
.nav:not(.solid) .brand,.nav:not(.solid) .links a{text-shadow:0 1px 16px rgba(8,10,18,.55)}
.nav .ghost{color:var(--cloud)}
.nav .ghost:hover{background:#ff6243;color:#fff}
.nav.solid .brand,.nav.solid .links a{color:var(--onyx);text-shadow:none}
.nav.solid .ghost{color:var(--onyx)}
.nav.solid .ghost:hover{background:#ff6243;color:#fff}
.burger{display:none;width:30px;height:20px;position:relative;background:none;border:0;cursor:pointer;color:var(--cloud)}
.nav.solid .burger{color:var(--onyx)}
.burger span{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:.3s var(--ease)}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:9px}.burger span:nth-child(3){top:18px}

/* ---------------- HERO (atmospheric sky, monumental type) ---------------- */
.hero{position:relative;min-height:100svh;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;color:var(--onyx);
  background:
    radial-gradient(120% 80% at 78% 22%,rgba(255,247,235,.7) 0%,rgba(255,247,235,0) 42%),
    linear-gradient(178deg,#56546a 0%,#6f6d84 22%,#9aa1b4 48%,#c9c2c0 70%,#ece5df 84%,#ffffff 100%)}
.sky-clouds{position:absolute;inset:0;z-index:1;opacity:.5;mix-blend-mode:screen;pointer-events:none}
.sky-plane{position:absolute;z-index:2;left:60%;top:30%;width:min(30vw,440px);transform:rotate(-8deg);opacity:.92;pointer-events:none;color:#23242c}
.sky-plane svg{width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(40,44,60,.22))}
.hero::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,22,34,.28) 0%,rgba(20,22,34,0) 16%,rgba(255,255,255,0) 52%,rgba(255,255,255,.35) 82%,rgba(255,255,255,.85) 100%)}
.hero-in{position:relative;z-index:4;width:100%;padding-bottom:clamp(40px,6vh,80px);padding-top:160px}
.hero h1{font-size:var(--t-hero);max-width:15ch;line-height:.92;letter-spacing:-.03em}
.hero .lead{margin-top:24px;max-width:42ch;font-size:var(--t-lead);color:var(--ink-soft);line-height:1.28}
.hero .acts{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}
/* tech / terminal button - corner brackets, coral hover */
.btn,.ghost,.office .map{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:transparent;color:var(--onyx);padding:16px 28px;border:none;cursor:pointer;
  font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.8rem;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;transition:background .14s ease,color .14s ease}
.btn::before,.btn::after,.ghost::before,.ghost::after,.office .map::before,.office .map::after{
  content:"";position:absolute;inset:0;pointer-events:none}
.btn::before,.ghost::before,.office .map::before{background:
  linear-gradient(currentColor,currentColor) top left/9px 1px no-repeat,
  linear-gradient(currentColor,currentColor) top left/1px 9px no-repeat,
  linear-gradient(currentColor,currentColor) bottom right/9px 1px no-repeat,
  linear-gradient(currentColor,currentColor) bottom right/1px 9px no-repeat}
.btn::after,.ghost::after,.office .map::after{background:
  linear-gradient(currentColor,currentColor) top right/9px 1px no-repeat,
  linear-gradient(currentColor,currentColor) top right/1px 9px no-repeat,
  linear-gradient(currentColor,currentColor) bottom left/9px 1px no-repeat,
  linear-gradient(currentColor,currentColor) bottom left/1px 9px no-repeat}
.btn:hover,.ghost:hover,.office .map:hover{
  background:radial-gradient(125% 150% at 50% 0%,#c5281b 0%,#9c0f08 45%,#5c0502 100%);
  color:#fff;
  box-shadow:0 0 20px rgba(190,24,14,.5),0 0 4px rgba(220,40,28,.55),
    inset 0 1px 0 rgba(255,150,135,.5),inset 0 0 24px rgba(220,60,40,.32),inset 0 -10px 18px rgba(70,4,2,.55);
  text-shadow:0 0 9px rgba(255,180,165,.45)}
.btn:active,.ghost:active{transform:translateY(1px)}
.btn-dark,.btn-ghost{color:var(--onyx)}
.scrollcue{position:absolute;left:var(--edge);bottom:24px;z-index:4;font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

/* ---------------- MONUMENT (sticky scroll - aircraft rolls upward) ---------------- */
.monument{position:relative;color:var(--cloud);
  background:linear-gradient(180deg,#54526a 0%,#716e85 40%,#9b99a8 74%,#ffffff 100%)}
.monument-track{height:200vh}
.monument-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;padding-top:clamp(120px,15vh,170px)}
.monument-head{position:relative;z-index:2}
.monument .eyebrow{color:rgba(255,255,255,.78);padding-inline:var(--edge);font-size:1rem;letter-spacing:.16em}
.monument .word{font-size:clamp(4.5rem,19vw,17rem);font-weight:600;letter-spacing:-.045em;line-height:.82;padding-inline:var(--edge);margin-top:18px}
.monument .plane{position:absolute;left:50%;bottom:-6%;z-index:1;width:min(56vw,820px);margin-left:calc(min(56vw,820px) / -2);
  color:#d9d7df;will-change:transform;transition:transform .12s linear}
/* No-JS / reduced-motion fallback: static, aircraft sits below the word */
html:not(.js) .monument-track{height:auto}
html:not(.js) .monument-sticky{position:static;height:auto;padding-bottom:0}
html:not(.js) .monument .plane{position:static;margin:48px auto 0;bottom:auto;left:auto}
.monument .plane svg{width:100%;height:auto}

/* ---------------- SECTION ---------------- */
.sec{padding:clamp(90px,14vh,180px) 0}
.s-head{max-width:46ch}
.s-head h2{font-size:var(--t-h2);margin-top:20px}
.s-head p{margin-top:20px;font-size:var(--t-lead);color:var(--ink-soft);line-height:1.3;max-width:44ch}

/* feature: image/panel + word + sentence */
.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,7vw,130px)}
.feature--rev .fig{order:2}
.fig{aspect-ratio:4/3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#6f6d84,#aeb4c2 70%,#e9e4df)}
.fig .plane{width:74%;color:#2b2c33}
.fig.fig-light{background:linear-gradient(160deg,#eef0f2,#dfe3e7)}
.fig.fig-light .plane{color:#3a3c44}
.feature .word{font-size:clamp(2.6rem,6vw,5.2rem);font-weight:600;letter-spacing:-.03em;line-height:.96}
.feature p{margin-top:22px;font-size:var(--t-lead);color:var(--ink-soft);max-width:38ch;line-height:1.3}
.feature .stat{display:flex;gap:56px;margin-top:44px;flex-wrap:wrap}
.feature .stat .v{font-size:clamp(2rem,3.4vw,3rem);font-weight:600;letter-spacing:-.02em}
.feature .stat .l{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-weight:600}

/* spec list */
.specs{border-top:1px solid var(--hair);margin-top:clamp(40px,6vh,70px)}
.spec{display:grid;grid-template-columns:1fr auto;gap:24px;padding:26px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.spec dt{font-size:1.2rem;font-weight:600}
.spec dd{margin:0;font-size:1.2rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}

/* investors / partners */
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(46px,8vw,120px);margin-top:clamp(40px,6vh,70px)}
.logos span{font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--onyx);opacity:.82}
.logos span.thin{font-weight:400;letter-spacing:.1em}

/* footer */
.foot{background:var(--onyx);color:rgba(255,255,255,.66);padding:96px var(--edge) 48px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}
.foot .brand{color:#fff;font-weight:400;letter-spacing:.06em}.foot .brand svg [data-fill]{fill:#fff}
.foot h4{color:#fff;font-size:.92rem;margin-bottom:24px;font-weight:600}
.foot a{display:block;color:rgba(255,255,255,.62);padding:6px 0}
.foot a:hover{color:#fff}
.foot .addr{margin-top:24px;font-size:.94rem;line-height:1.6;color:rgba(255,255,255,.55)}
.foot-policy{max-width:var(--maxw);margin:64px auto 0;display:flex;flex-wrap:wrap;gap:32px;padding-top:0}
.foot-policy a{color:rgba(255,255,255,.72);font-size:.9rem;font-weight:500}
.foot-policy a:hover{color:#fff}
.foot-policy .cage{color:rgba(255,255,255,.4);font-size:.82rem;letter-spacing:.14em}
.foot-base{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:rgba(255,255,255,.45)}
.ua-line{display:flex;gap:14px;flex-wrap:wrap;font-style:normal}
.ua-line [lang=uk]{color:rgba(255,255,255,.62)}
.ua-line .en{color:rgba(255,255,255,.34)}

/* brand star (real logo) */
.brand-star{width:26px;height:26px;object-fit:contain;flex:none}
.nav:not(.solid) .brand-star{filter:brightness(0) invert(1)}
.nav.solid .brand-star{filter:none}
.foot .brand-star{filter:brightness(0) invert(1)}

/* hero video (over the gradient fallback) */
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:
  radial-gradient(120% 80% at 78% 22%,rgba(255,247,235,.55) 0%,rgba(255,247,235,0) 42%),
  linear-gradient(178deg,#56546a 0%,#6f6d84 24%,#9aa1b4 50%,#cdc7c4 72%,#ece5df 86%,#fff 100%)}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
/* white-type hero: darken top (nav) and bottom (headline) over the video */
.hero{color:var(--cloud)}
.hero::after{background:linear-gradient(180deg,rgba(8,10,18,.52) 0%,rgba(8,10,18,0) 22%,rgba(8,10,18,0) 38%,rgba(8,10,18,.55) 76%,rgba(8,10,18,.9) 100%)}
.hero h1.hero-h-caps{color:var(--cloud);text-transform:uppercase;letter-spacing:-.02em}
.hero .lead{color:rgba(255,255,255,.9)}
.hero .btn{color:var(--cloud)}
.hero .scrollcue{color:rgba(255,255,255,.7)}

/* real aircraft render inside monument / figures */
.monument .plane img,.fig .rimg{width:100%;height:auto;object-fit:contain;display:block}
.fig{background:linear-gradient(160deg,#6f6d84,#aeb4c2 70%,#e9e4df)}
.fig .rimg{width:84%;filter:drop-shadow(0 26px 44px rgba(18,22,34,.22))}
.fig.fig-photo{background:#0c0c0f}
.fig.fig-photo .rimg{width:100%;height:100%;object-fit:cover;filter:none}
.fig.fig-light{background:linear-gradient(160deg,#eef0f2,#dfe3e7)}

/* strike-line spec rows: designation -> role */
.spec .role{color:var(--jetstream)}

/* facilities */
.fac{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);margin-top:clamp(40px,6vh,70px)}
.fac figure{margin:0}
.fac .im{aspect-ratio:16/10;overflow:hidden}
.fac .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.fac figure:hover .im img{transform:scale(1.04)}
.fac .loc{margin-top:18px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fac h3{font-size:1.5rem;margin-top:6px}
.fac .fs{display:flex;gap:48px;margin-top:16px}
.fac .fs .v{font-size:1.3rem;font-weight:600}
.fac .fs .l{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:600}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(40px,6vh,70px)}
.member .ph{aspect-ratio:1/1;overflow:hidden;background:#ececed}
.member .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1);transition:filter .5s var(--ease)}
.member:hover .ph img{filter:grayscale(0)}
.member h3{font-size:1.14rem;margin-top:16px;font-weight:600}
.member .r{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-weight:600}
.member .c{font-size:.9rem;color:var(--ink-soft);margin-top:8px;line-height:1.4}

/* investor logos: real marks */
.logos img{max-height:54px;width:auto;filter:grayscale(1) brightness(0);opacity:.85;transition:opacity .3s}
.logos a:hover img,.logos .li:hover img{opacity:.5}
.logos .li{display:inline-flex;align-items:center;height:60px}
.logos .li.star img{filter:none;opacity:1;max-height:40px}
.logos .li.yc img{filter:none;opacity:1;max-height:48px}

/* named backers (explicit) */
.backers{display:flex;flex-wrap:wrap;gap:clamp(40px,7vw,110px);margin-top:clamp(40px,6vh,70px)}
.backer{display:flex;align-items:center;gap:18px;transition:opacity .25s var(--ease)}
.backer:hover{opacity:.62}
.bk-logo{display:inline-flex;align-items:center;justify-content:center;height:52px}
.bk-logo img{max-height:100%;width:auto;filter:grayscale(1) brightness(0);opacity:.9}
.bk-logo.yc img{filter:none;opacity:1;max-height:46px}
.bk-logo.sde img{filter:none;opacity:1;max-height:50px}
.bk-logo.bal img{filter:none;opacity:1;max-height:34px}

/* header Arsenal dropdown */
.has-drop{position:relative;display:inline-flex;align-items:center}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:#0b0b0d;
  border:1px solid rgba(255,255,255,.12);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;z-index:120;display:flex;flex-direction:column}
.has-drop:hover .dropdown,.has-drop:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{padding:10px 22px;font-size:.92rem;color:rgba(255,255,255,.82)!important;white-space:nowrap;
  letter-spacing:0;text-transform:none;text-shadow:none!important}
.dropdown a:hover{background:rgba(255,255,255,.08);color:#fff!important}
.dropdown a::after{display:none!important}
.dropdown .dd-sep{border-top:1px solid rgba(255,255,255,.12);margin:8px 0}
@media(max-width:1000px){
  .has-drop{display:block;width:100%}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;background:transparent;border:0;
    padding:6px 0 6px 18px;min-width:0}
  .dropdown a{font-size:1rem;padding:8px 0;color:rgba(255,255,255,.7)!important}
}
.bk-name{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--onyx)}
@media(max-width:560px){.backers{gap:28px}.backer{width:100%}}

@media(max-width:1000px){ .fac,.team{grid-template-columns:1fr} .team{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .team{grid-template-columns:1fr 1fr} }

/* product detail (specs) page */
.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,110px);align-items:center;padding:clamp(70px,11vh,140px) 0;border-top:1px solid var(--hair)}
.product:nth-child(even) .p-media{order:2}
.p-media{display:flex;align-items:center;justify-content:center;min-height:300px}
.p-media img{max-width:100%;max-height:440px;width:auto;object-fit:contain}
.p-id{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.product h2{font-size:clamp(2rem,4vw,3.2rem);margin-top:8px}
.p-role{margin-top:10px;color:var(--jetstream);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.p-desc{margin-top:22px;color:var(--ink-soft);max-width:46ch;line-height:1.55}
.sheet{margin-top:30px;border-top:1px solid var(--hair)}
.sheet .row{display:grid;grid-template-columns:1fr auto auto;gap:14px 36px;padding:13px 0;border-bottom:1px solid var(--hair);align-items:baseline;font-variant-numeric:tabular-nums}
.sheet .k{color:var(--ink-soft);font-size:.92rem}
.sheet .m{font-weight:600;font-size:.98rem;text-align:right;min-width:96px}
.sheet .i{color:var(--muted);font-size:.9rem;text-align:right;min-width:84px}
@media(max-width:1000px){.product{grid-template-columns:1fr}.product:nth-child(even) .p-media{order:0}}

/* strike family grid (slide-12 renders) */
.fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,52px) clamp(24px,3vw,56px);margin-top:clamp(40px,6vh,70px)}
.fleet .u{border-top:1px solid var(--hair);padding-top:26px}
.fleet .um{height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.fleet .um img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .6s var(--ease)}
.fleet .u:hover .um img{transform:scale(1.05)}
.fleet .uid{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fleet h3{font-size:1.3rem;margin-top:8px;font-weight:600}
.fleet .role{margin-top:8px;color:var(--jetstream);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
@media(max-width:1000px){.fleet{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fleet{grid-template-columns:1fr}}

/* page hero (careers/contact) */
.phero{position:relative;min-height:72vh;display:flex;align-items:flex-end;color:#fff;background:#54526a;overflow:hidden}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(86,84,107,.25),rgba(0,0,0,.78))}
.phero .edge{position:relative;z-index:2;padding-bottom:60px;padding-top:170px;width:100%}
.phero h1{font-size:var(--t-hero);font-weight:600}
.phero p{margin-top:22px;max-width:52ch;font-size:var(--t-lead);color:rgba(255,255,255,.92);line-height:1.3}
.roles{border-top:1px solid var(--hair);margin-top:clamp(40px,6vh,70px)}
.role{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px 0;border-bottom:1px solid var(--hair);flex-wrap:wrap;transition:padding-left .25s var(--ease)}
.role:hover{padding-left:10px}
.role h3{font-size:1.4rem;font-weight:600}
.role .m{color:var(--muted);font-size:.86rem}
.cbig{font-size:clamp(1.7rem,4vw,2.8rem);font-weight:600;margin-top:12px}
.cbig a{color:var(--jetstream);border-bottom:1.5px solid var(--jetstream);padding-bottom:3px}

/* contact page (Heart layout) */
.contact-photo{width:100%;aspect-ratio:21/8;overflow:hidden;margin-top:clamp(40px,6vh,70px)}
.contact-photo img{width:100%;height:100%;object-fit:cover}
.inq-list{border-top:1px solid var(--hair);margin-top:clamp(48px,7vh,80px)}
.inq{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:24px 60px;padding:30px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.inq h3{font-size:1.5rem;font-weight:600}
.inq p{color:var(--ink-soft);font-size:1.05rem;line-height:1.5}
.inq a{color:var(--jetstream);border-bottom:1.5px solid var(--jetstream);padding-bottom:2px}
.offices{margin-top:clamp(70px,10vh,120px)}
.offices h2{font-size:var(--t-h2);margin-bottom:clamp(32px,5vh,56px)}
.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,64px)}
.office .ol{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.office address{font-style:normal;margin-top:12px;line-height:1.6;color:var(--ink)}
.office .map{margin-top:18px}
.redact{display:inline-block;background:var(--onyx);color:transparent;border-radius:0;padding:0 6px;-webkit-user-select:none;user-select:none}
.office.classified .map{border-color:var(--muted);color:var(--muted);pointer-events:none}
@media(max-width:760px){.inq{grid-template-columns:1fr;gap:10px}.office-grid{grid-template-columns:1fr}}
.back{display:inline-flex;gap:10px;margin-top:clamp(40px,6vh,64px);color:var(--jetstream);font-weight:600;font-size:.9rem;transition:gap .25s}
.back:hover{gap:16px}

/* =====================================================================
   DEFENSE-TECH DETAIL LAYER - telemetry HUD, classification, reticles,
   scroll rail, grain, magnetic CTAs. All progressive-enhancement.
   ===================================================================== */

/* scroll progress rail */
.scroll-prog{position:fixed;top:0;left:0;height:2px;width:0;z-index:120;background:var(--jetstream);transition:width .1s linear;pointer-events:none}

/* news / status bar (dismissible) */
.newsbar{position:fixed;top:0;left:0;right:0;z-index:101;height:40px;display:flex;align-items:center;gap:16px;
  padding:0 var(--edge);background:#0b0b0d;border-bottom:1px solid rgba(255,255,255,.1);
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.82)}
.nb-tag{display:inline-flex;align-items:center;gap:8px;flex:none;color:rgba(255,255,255,.6);letter-spacing:.18em}
.nb-dot{width:8px;height:8px;background:#ff3b30;display:inline-block;animation:blink 1.1s steps(2,start) infinite}
@keyframes blink{50%{opacity:.12}}
.nb-msg{flex:1;text-align:center;color:rgba(255,255,255,.92);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em}
.nb-msg:hover{color:#fff;text-decoration:underline}
.nb-class{flex:none;color:rgba(255,255,255,.45);letter-spacing:.18em;cursor:pointer;-webkit-user-select:none;user-select:none}
.nb-x{flex:none;width:24px;height:24px;border:1px solid rgba(255,255,255,.22);background:none;color:rgba(255,255,255,.7);
  cursor:pointer;font-size:1.05rem;line-height:1;display:flex;align-items:center;justify-content:center}
.nb-x:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.nav{top:40px}
body.news-closed .newsbar{display:none}
body.news-closed .nav{top:0}
@media(max-width:760px){.newsbar{gap:10px;font-size:.6rem}.nb-class{display:none}}

/* operator mode (konami egg #6) */
.op-hud{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:0;transition:opacity .4s var(--ease)}
body.operator .op-hud{opacity:1}
.op-hud::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,255,160,.045) 0 2px,transparent 2px 4px)}
.op-hud .op-tel{position:absolute;bottom:16px;left:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;letter-spacing:.1em;color:rgba(120,255,190,.85);line-height:1.6;text-shadow:0 0 8px rgba(0,255,160,.4)}
.op-hud .op-tag{position:absolute;top:52px;right:16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;letter-spacing:.3em;color:rgba(120,255,190,.85)}
/* GNSS-denied jitter (egg #3) */
@keyframes jit{0%,100%{transform:translate(0,0)}25%{transform:translate(-1.5px,1px)}50%{transform:translate(1.5px,-1px)}75%{transform:translate(-1px,-1.5px)}}
body.gnss .links a,body.gnss .brand,body.gnss .nb-msg{animation:jit .1s steps(2) 8}
/* shift-to-aim reticle cursor on imagery (egg #5) */
body.aim .fleet .um,body.aim .p-media,body.aim .fig,body.aim .monument .plane{cursor:crosshair}

/* balmoral text wordmark backer (until a logo asset is provided) */
.bk-word{font-weight:700;font-size:1.4rem;letter-spacing:.02em;color:var(--onyx)}

/* subtle background tray for secondary / gallery sections */
.sec.section--soft{background:#f7f8f9}

/* numbered principles / values list (.module with .n counter) */
.modules{border-top:1px solid var(--hair)}
.module{display:grid;grid-template-columns:48px 1fr;row-gap:8px;column-gap:20px;padding:28px 0;border-bottom:1px solid var(--hair)}
.module .n{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.14em;color:var(--muted);font-weight:600;padding-top:5px;grid-row:1/3}
.module h3{font-size:1.22rem;font-weight:600;line-height:1.1}
.module p{color:var(--ink-soft);line-height:1.5;font-size:1rem;max-width:56ch}
@media(max-width:560px){.module{grid-template-columns:38px 1fr}}

/* monospace utility (CAGE codes, addresses) */
.mono{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace}

/* 404 - lost comms */
.lost{min-height:100vh;display:flex;flex-direction:column;justify-content:center;color:var(--cloud);overflow:hidden;
  padding:140px var(--edge) 80px;position:relative;
  background:linear-gradient(165deg,#1a1b22 0%,#3b3a4c 55%,#56546a 100%)}
.lost .eyebrow{color:rgba(255,255,255,.55);font-family:ui-monospace,Menlo,Consolas,monospace}
.lost h1{font-size:clamp(2.6rem,8vw,7rem);font-weight:600;letter-spacing:-.03em;line-height:.95;margin-top:18px}
.lost h1 .x{color:#ff3b30}
.lost .sub{margin-top:24px;max-width:46ch;color:rgba(255,255,255,.78);font-size:var(--t-lead);line-height:1.35}
.lost .sweep{margin-top:40px;height:3px;width:min(520px,80vw);background:rgba(255,255,255,.14);overflow:hidden;position:relative}
.lost .sweep::after{content:"";position:absolute;top:0;bottom:0;width:40%;background:#ff3b30;
  animation:sweep 1.8s var(--ease) infinite}
@keyframes sweep{0%{left:-40%}100%{left:100%}}
.lost .telem{margin-top:18px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.74rem;letter-spacing:.16em;color:rgba(255,255,255,.5)}
.lost .acts{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap}
.lost .btn{color:var(--cloud)}
.lost .code{position:absolute;right:var(--edge);top:120px;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:clamp(6rem,22vw,20rem);font-weight:700;color:rgba(255,255,255,.05);letter-spacing:-.04em;line-height:.8;pointer-events:none}
@media(max-width:760px){.lost .code{display:none}}

/* combat statement band */
.statement{padding:clamp(96px,16vh,200px) 0;color:var(--cloud);
  background:linear-gradient(160deg,#1a1b22 0%,#3b3a4c 60%,#56546a 100%)}
.statement .eyebrow{color:rgba(255,255,255,.55)}
.statement h2{font-size:clamp(2.2rem,5.2vw,4.4rem);font-weight:600;letter-spacing:-.03em;line-height:1.02;max-width:20ch;margin-top:16px}
.statement p{margin-top:26px;max-width:50ch;color:rgba(255,255,255,.82);font-size:var(--t-lead);line-height:1.35}

/* redacted field-status line */
.deploy{margin-top:20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
.deploy .redact{vertical-align:baseline;padding:0 8px;margin-left:2px}

/* hero telemetry HUD */
.hud{position:absolute;inset:0;z-index:3;pointer-events:none;font-family:ui-monospace,Menlo,Consolas,monospace}
.hud-corner{position:absolute;width:22px;height:22px;border:1.5px solid rgba(255,255,255,.5)}
.hud-corner.tl{top:96px;left:var(--edge);border-right:0;border-bottom:0}
.hud-corner.tr{top:96px;right:var(--edge);border-left:0;border-bottom:0}
.hud-corner.bl{bottom:64px;left:var(--edge);border-right:0;border-top:0}
.hud-corner.br{bottom:64px;right:var(--edge);border-left:0;border-top:0}
.hud-readout{position:absolute;right:var(--edge);bottom:64px;display:flex;flex-direction:column;gap:5px;
  font-size:.66rem;letter-spacing:.12em;color:rgba(255,255,255,.78);text-align:right}
.hud-readout b{color:rgba(255,255,255,.45);font-weight:600;margin-right:8px}
.hud-readout .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7be0a4;margin-right:7px;box-shadow:0 0 8px #7be0a4;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.hud-reticle{position:absolute;width:46px;height:46px;margin:-23px 0 0 -23px;left:-100px;top:-100px;opacity:0;transition:opacity .3s var(--ease)}
.hud-reticle::before,.hud-reticle::after{content:"";position:absolute;background:rgba(255,255,255,.7)}
.hud-reticle::before{left:50%;top:0;bottom:0;width:1px;transform:translateX(-.5px)}
.hud-reticle::after{top:50%;left:0;right:0;height:1px;transform:translateY(-.5px)}
.hud-reticle i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.5);border-radius:50%}
.hero:hover .hud-reticle{opacity:.8}
@media(max-width:760px){.hud-readout{display:none}.hud-corner{display:none}}

/* grain on atmospheric surfaces */
.grain::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.monument{position:relative}

/* fleet cards: whole card is a clickable link via overlay anchor */
.fleet .u{position:relative}
.fleet .u-lnk{position:absolute;inset:0;z-index:2}
/* GRID coordinate link (footer / HUD) */
.grid-link{color:inherit;cursor:pointer;border-bottom:1px dashed rgba(255,255,255,.28);transition:border-color .2s var(--ease)}
.grid-link:hover{border-bottom-color:rgba(255,255,255,.7)}
/* reticle corner-brackets on systems imagery (hover) */
.fleet .um{position:relative}
.fleet .um::before,.fleet .um::after{content:"";position:absolute;width:16px;height:16px;opacity:0;transition:opacity .3s var(--ease),transform .4s var(--ease);border:1.5px solid var(--jetstream)}
.fleet .um::before{top:6px;left:6px;border-right:0;border-bottom:0;transform:translate(6px,6px)}
.fleet .um::after{bottom:6px;right:6px;border-left:0;border-top:0;transform:translate(-6px,-6px)}
.fleet .u:hover .um::before,.fleet .u:hover .um::after{opacity:1;transform:translate(0,0)}

/* magnetic CTA inner span */
.btn>span.mag,.cta>span.mag{display:inline-block;will-change:transform}

/* schedule-a-briefing demo band */
.demo{position:relative;overflow:hidden;color:var(--cloud);padding:clamp(110px,18vh,220px) 0;
  background:linear-gradient(160deg,#1a1b22 0%,#3b3a4c 55%,#56546a 100%)}
.demo .eyebrow{color:rgba(255,255,255,.6)}
.demo h2{font-size:clamp(2.6rem,6vw,5.4rem);font-weight:600;letter-spacing:-.03em;line-height:.98;max-width:18ch;margin-top:14px}
.demo p{margin-top:26px;max-width:48ch;color:rgba(255,255,255,.82);font-size:var(--t-lead);line-height:1.35}
.demo .acts{display:flex;gap:16px;flex-wrap:wrap;margin-top:42px}
.demo .btn{color:var(--cloud)}
.demo .btn-ghost{color:rgba(255,255,255,.9)}

/* monumental ISENGARD wordmark above footer */
.bigmark{background:var(--onyx);overflow:hidden;padding:clamp(40px,7vh,90px) 0 clamp(24px,4vh,56px)}
.bigmark .word{display:block;width:100%;text-align:center;color:#fff;font-weight:700;
  font-size:clamp(4rem,21vw,20rem);letter-spacing:-.04em;line-height:1;white-space:nowrap}
.foot{padding-top:clamp(56px,8vh,90px)}

/* easter-egg HUD flash overlay */
.egg{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .25s var(--ease)}
.egg.on{opacity:1}
.egg::before,.egg::after{content:"";position:absolute;background:rgba(0,20,137,.9)}
.egg::before{left:50%;top:0;bottom:0;width:1px}
.egg::after{top:50%;left:0;right:0;height:1px}
.egg .ring{width:240px;height:240px;border:1.5px solid var(--jetstream);border-radius:50%;position:relative;animation:lock .5s var(--ease)}
.egg .ring::after{content:attr(data-label);position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);
  white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.32em;color:var(--jetstream);font-weight:600}
@keyframes lock{from{transform:scale(1.6);opacity:0}to{transform:scale(1);opacity:1}}
.brand-star.spin{animation:spin .9s var(--ease)}
@keyframes spin{to{transform:rotate(360deg)}}

/* capability triad (system / propulsion / careers cards) - small component imagery */
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.triad .item{border-top:1px solid var(--hair);padding-top:24px}
.triad .ph{height:88px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.triad .ph img{max-height:88px;max-width:42%;width:auto;object-fit:contain;object-position:left center}
.triad .tag{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px}
.triad h3{font-size:1.25rem;font-weight:600}
.triad p{margin-top:10px;color:var(--ink-soft);font-size:1rem;line-height:1.45}
@media(max-width:900px){.triad{grid-template-columns:1fr}.triad .ph img{max-width:26%}}

/* Heart-style aircraft rows (front / side on white, word + one line) */
.hrow{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(32px,6vw,90px)}
.hrow + .hrow{margin-top:clamp(48px,8vh,110px)}
.hrow .him{display:flex;align-items:center;justify-content:center;min-height:clamp(220px,30vw,400px)}
.hrow .him img{max-width:100%;max-height:400px;width:auto;object-fit:contain}
.hrow .word{font-size:clamp(2.4rem,5.5vw,4.6rem);font-weight:600;letter-spacing:-.03em;line-height:.98}
.hrow .eyebrow{margin-bottom:10px}
.hrow p{margin-top:20px;color:var(--ink-soft);font-size:var(--t-lead);max-width:40ch;line-height:1.32}
@media(max-width:900px){.hrow{grid-template-columns:1fr;gap:24px}.hrow .him{min-height:0}}

/* turbine image gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(32px,5vh,56px)}
.gallery figure{margin:0;border:1px solid var(--hair);background:#f6f7f8;display:flex;flex-direction:column}
.gallery .gi{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}
.gallery .gi img{max-width:100%;max-height:100%;width:auto;object-fit:contain}
.gallery figcaption{border-top:1px solid var(--hair);padding:12px 16px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.gallery{grid-template-columns:1fr}}

/* redacted team members (OPSEC - all but the CEO) */
.member.redacted .ph{position:relative;background:#15151a}
.member.redacted .ph img{filter:grayscale(1) brightness(.04) contrast(.5) blur(9px);transform:scale(1.1)}
.member.redacted .ph::after{content:"CLASSIFIED";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.3em;color:rgba(255,255,255,.55)}
.member.redacted h3 .rd{display:inline-block;background:var(--onyx);color:transparent;padding:0 8px;-webkit-user-select:none;user-select:none}

/* footer newsletter */
.newsletter{max-width:var(--maxw);margin:48px auto 0;padding-top:40px;border-top:1px solid rgba(255,255,255,.16);
  display:flex;justify-content:space-between;gap:28px 40px;flex-wrap:wrap;align-items:center}
.newsletter h4{color:#fff;font-size:1.1rem;margin-bottom:6px}
.newsletter p{color:rgba(255,255,255,.58);font-size:.92rem;max-width:40ch}
.nl-form{display:flex;align-items:stretch;min-width:min(420px,92vw)}
.nl-input{flex:1;background:transparent;border:1px solid rgba(255,255,255,.25);border-right:0;color:#fff;
  padding:13px 16px;font:inherit;font-size:.95rem}
.nl-input::placeholder{color:rgba(255,255,255,.4)}
.nl-input:focus{outline:none;border-color:rgba(255,255,255,.55)}
.nl-btn{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;padding:0 24px;cursor:pointer;
  font-family:ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:1.5px;font-size:.76rem;
  transition:background .14s ease,border-color .14s ease}
.nl-btn:hover{background:radial-gradient(125% 150% at 50% 0%,#c5281b,#7a0a05);border-color:transparent;color:#fff}
.nl-note{color:#7be0a4;font-size:.82rem;margin-top:10px;display:none}
.nl-note.on{display:block}

/* low-visibility allied flags */
.foot-flags{max-width:var(--maxw);margin:30px auto 0;display:flex;gap:14px;align-items:center;opacity:.29}
.foot-flags img{width:46px;height:auto;display:block}

/* inline video band */
.vidband{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0c0e12}
.vidband video,.vidband img{width:100%;height:100%;object-fit:cover;display:block}
.vidband .vb-cap{position:absolute;left:var(--edge);bottom:24px;z-index:2;color:#fff;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  text-shadow:0 1px 14px rgba(0,0,0,.6)}
.vidband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,rgba(0,0,0,.45))}
/* static image band — same skin, image height determines aspect */
.imgband{position:relative;width:100%;overflow:hidden;background:#0c0e12;max-height:56vh}
.imgband img{width:100%;height:100%;object-fit:cover;display:block;max-height:56vh}
.imgband .vb-cap{position:absolute;left:var(--edge);bottom:24px;z-index:2;color:#fff;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  text-shadow:0 1px 14px rgba(0,0,0,.6)}
.imgband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,rgba(0,0,0,.45))}

/* footer order: newsletter (top) -> grid -> base -> flag (bottom) */
.foot{display:flex;flex-direction:column}
.newsletter{order:-2;margin:0 auto;padding:0 0 40px;border-top:0;border-bottom:1px solid rgba(255,255,255,.16)}
.foot-grid{order:-1;margin-top:44px}
.foot-base{order:1;margin-top:48px}
.foot-flags{order:2;justify-content:center;margin:26px auto 0;opacity:.29}
.foot-flags img{width:34px}

/* reveal */
.reveal{opacity:1}
html.js .reveal.in{animation:rise .85s var(--ease) both;animation-delay:var(--d,0ms)}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* responsive */
@media(max-width:1000px){
  .links{position:fixed;inset:0 0 0 auto;width:min(86vw,380px);height:100dvh;background:var(--onyx);flex-direction:column;
    align-items:flex-start;justify-content:flex-start;gap:22px;padding:96px 40px 48px;transform:translateX(101%);transition:transform .42s var(--ease);z-index:98}
  body.menu-open .links{transform:translateX(0)}
  .links a,.nav.solid .links a{color:#fff;font-size:1.3rem;text-shadow:none}
  .links a::after{display:none}
  .has-drop{width:100%}
  .dropdown a{white-space:normal}
  .burger{display:block;z-index:100}
  body.menu-open .burger{color:#fff}
  .feature,.foot-grid{grid-template-columns:1fr}
  .feature--rev .fig{order:0}
}
@media(max-width:560px){ .foot-grid{grid-template-columns:1fr 1fr} .feature .stat{gap:32px} }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important} }

/* ============ MOBILE READINESS ============ */
html{overflow-x:clip}
@media(max-width:1000px){
  /* monument: static (no long sticky-scroll runway on touch) */
  .monument-track{height:auto}
  .monument-sticky{position:static;height:auto;overflow:visible;padding:clamp(80px,12vh,120px) 0 0}
  .monument .plane{position:static!important;margin:28px auto 0;left:auto;bottom:auto;width:min(80vw,440px);transform:none!important}
  /* newsletter stacks, form full width */
  .newsletter{flex-direction:column;align-items:flex-start;gap:16px}
  .nl-form{min-width:0;width:100%}
  /* shorter video bands on narrow screens */
  .vidband{aspect-ratio:4/3}
}
@media(max-width:560px){
  :root{--edge:22px}
  .hero h1{font-size:clamp(2.1rem,10.5vw,3.4rem)}
  .hero .lead{font-size:1.05rem}
  .monument .word{font-size:clamp(2.6rem,14vw,4.2rem);line-height:.9}
  .monument .eyebrow{font-size:.78rem;letter-spacing:.14em}
  .mass-copy .word{font-size:clamp(2.4rem,12vw,3.6rem)}
  .feature .word,.hrow .word{font-size:clamp(1.9rem,8.5vw,2.8rem)}
  .statement h2,.demo h2,.closing h2,.lost h1{font-size:clamp(1.9rem,8vw,2.8rem)}
  .s-head h2,.contact h1,.phero h1{font-size:clamp(1.7rem,7.2vw,2.4rem)}
  .word-sec .word,.mass .word{font-size:clamp(2.4rem,12vw,3.6rem)}
  .bigmark .word{font-size:20vw}
  .nl-form{flex-wrap:wrap}
  .nl-input{border-right:1px solid rgba(255,255,255,.25);min-width:0}
  .nl-btn{margin-top:10px;width:100%;padding:14px}
  .sheet .row{gap:4px 14px}
  .sheet .row .i{font-size:.84rem}
  .stat{gap:22px 30px}
  .office-grid{grid-template-columns:1fr!important}
  .hud-readout,.hud-corner{display:none}
}

/* combat footage band (portrait clip, onyx, corner-bracketed) */
.combat{background:var(--onyx);color:var(--cloud);padding:clamp(70px,11vh,130px) 0}
.combat .c-head{max-width:60ch}
.combat .c-head .eyebrow{color:var(--stratosphere)}
.combat h2{color:var(--cloud);font-size:var(--t-h2);font-weight:600;margin-top:10px;letter-spacing:-.02em}
.combat .c-sub{color:rgba(255,255,255,.7);margin-top:16px;max-width:46ch;font-size:var(--t-lead);line-height:1.3}
.combat-stage{display:flex;justify-content:center;margin-top:clamp(40px,6vh,68px)}
.combat-frame{position:relative;display:inline-block}
.combat-frame video{display:block;max-height:74vh;max-width:100%;width:auto;background:#000;
  border:1px solid rgba(255,255,255,.14)}
.combat-frame::before,.combat-frame::after{content:"";position:absolute;width:24px;height:24px;pointer-events:none;z-index:2}
.combat-frame::before{top:-9px;left:-9px;border-top:2px solid #c5281b;border-left:2px solid #c5281b}
.combat-frame::after{bottom:-9px;right:-9px;border-bottom:2px solid #c5281b;border-right:2px solid #c5281b}
.combat .cap{margin-top:18px;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5)}
@media(max-width:560px){ .combat-frame video{max-height:68vh} }

/* TRL 9 emphasis - blood dark red */
.trl9{color:#9c0f08;font-weight:600}

/* 4-up capability triad (mobile-safe) */
.triad.quad{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px) and (min-width:901px){.triad.quad{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.triad.quad{grid-template-columns:1fr}}

/* compact product-page hero - static, tight, no scroll-roll */
.monument.compact .monument-track{height:auto!important}
.monument.compact .monument-sticky{position:static;height:auto;min-height:0;overflow:visible;
  padding:clamp(122px,16vh,168px) 0 clamp(56px,9vh,116px)}
.monument.compact .plane{position:static!important;transform:none!important;left:auto;right:auto;bottom:auto;
  margin:clamp(20px,3.5vh,48px) auto 0;width:min(54vw,640px)}
.monument.compact .monument-head{position:relative;z-index:2}

/* ---- Print ----------------------------------------------------------------
   Classified-document treatment when someone tries to print or save as PDF.
   A diagonal watermark sits behind content; nav, newsbar, and videos are
   stripped; links show their href inline for legibility.
   -------------------------------------------------------------------------- */
@media print{
  .nav,.newsbar,.scroll-prog,.burger,video,.vidband,.sweep,.hud,.op-hud,.egg{display:none!important}
  body{background:#fff!important;color:#000!important;font-size:11pt}
  .foot{border-top:1pt solid #ccc;margin-top:40pt;padding-top:20pt}
  a[href^="http"]::after{content:" [" attr(href) "]";font-size:8pt;color:#555;word-break:break-all}
  .btn::after,.nav a::after,.brand::after,.foot a::after{content:none!important}
  /* diagonal classification watermark */
  body::before{
    content:"ISENGARD INDUSTRIES \A UNCLASSIFIED // CUI \A NOT FOR DISTRIBUTION";
    white-space:pre;
    position:fixed;top:50%;left:50%;
    transform:translate(-50%,-50%) rotate(-38deg);
    font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;
    font-size:14pt;font-weight:700;letter-spacing:.12em;line-height:2;text-align:center;
    color:rgba(0,0,0,.06);
    pointer-events:none;z-index:9999
  }
}

/* gallery photo treatment - fill cell, no light frame (for photographic detail shots) */
.gallery figure.photo .gi{padding:0;background:#0c0e12}
.gallery figure.photo .gi img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}

/* factory-location flag badges */
.fac .im{position:relative}
.fac .im .loc-flag{position:absolute;left:14px;bottom:14px;width:48px;height:auto;z-index:2;
  box-shadow:0 3px 12px rgba(0,0,0,.4);outline:1px solid rgba(255,255,255,.4)}
@media(max-width:560px){.fac .im .loc-flag{width:40px;left:12px;bottom:12px}}

/* homepage monument: top-down aircraft centered base for the scroll roll-by */
html.js #systems .plane{top:50%;bottom:auto}
