:root {
  --void: #08090a;
  --ink: #0d0f10;
  --gun: #14181a;
  --panel: #1b2123;
  --steel: #2c3436;
  --line: #3a4446;
  --olive: #4c5a33;
  --olive-lt: #a5b873;
  --ti: #c9cfc7;
  --paper: #edf0ea;
  --mute: #8b9490;
  --threat: #e23a2e;
  --blue: #08a5d8;
  --max: 112rem;
  --gutter: clamp(1.1rem, 3.5vw, 5rem);
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "IBM Plex Sans", Arial, sans-serif;
  --mono: "IBM Plex Mono", Consolas, monospace;
}

@view-transition { navigation: auto; }
main { view-transition-name: page-content; }
.site-header { view-transition-name: site-header; }
footer { view-transition-name: site-footer; }
::view-transition-old(page-content) { animation: page-out 180ms ease both; }
::view-transition-new(page-content) { animation: page-in 420ms cubic-bezier(.16,.72,.24,1) both; }
::view-transition-old(site-header), ::view-transition-new(site-header) { animation-duration: 180ms; }
@keyframes page-out { to { opacity: 0; transform: translateY(-8px); } }
@keyframes page-in { from { opacity: 0; transform: translateY(14px); clip-path: inset(0 0 8% 0); } to { opacity: 1; transform: translateY(0); clip-path: inset(0); } }

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
  font-size: clamp(16px, .88vw, 18px);
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--void);
  color: var(--paper);
  font-family: var(--body);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(147, 164, 95, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 164, 95, 0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}

body.nav-open { overflow: hidden; }
body.is-leaving main { opacity: 0; transform: translateY(-7px); transition: opacity 150ms ease, transform 150ms ease; }

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--olive-lt); color: var(--void); }

h1, h2, h3, h4, p, blockquote { margin: 0; }
h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 600;
  line-height: 0.94;
  text-transform: uppercase;
}

.mono { font-family: var(--mono); }
.section-frame { width: min(100%, var(--max)); min-width: 0; margin-inline: auto; padding-inline: var(--gutter); }
.section { position: relative; padding-block: clamp(5rem, 8vw, 9rem); }
.section-tight { position: relative; padding-block: clamp(3.5rem, 7vw, 6rem); }
.surface { background: var(--gun); }
.paper-surface { background: var(--paper); color: var(--void); }
.rule-top { border-top: 1px solid var(--steel); }
.rule-bottom { border-bottom: 1px solid var(--steel); }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 1000;
  padding: 0.75rem 1rem;
  background: var(--paper);
  color: var(--void);
  font: 600 0.75rem var(--mono);
}
.skip-link:focus { top: 1rem; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--olive-lt);
  font: 500 clamp(0.66rem, 1vw, 0.76rem) var(--mono);
  letter-spacing: 0.17em;
  line-height: 1.4;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; }
.eyebrow-threat { color: var(--threat); }

.display-xl { font-size: clamp(4.2rem, 10.8vw, 10.5rem); letter-spacing: -0.035em; }
.display-lg { font-size: clamp(3.5rem, 8vw, 8rem); letter-spacing: -0.03em; }
.display-md { font-size: clamp(2.75rem, 5.8vw, 5.5rem); letter-spacing: -0.025em; }
.display-sm { font-size: clamp(2.2rem, 4vw, 3.6rem); }
.lead { max-width: 51rem; color: var(--ti); font-size: clamp(1.05rem, 1.6vw, 1.38rem); line-height: 1.55; }
.body-copy { max-width: 44rem; color: var(--mute); font-size: 1rem; }
.text-olive { color: var(--olive-lt); }
.text-mute { color: var(--mute); }

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(18rem, 0.28fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
}
.section-heading h2 { margin-top: 1rem; font-size: clamp(3.2rem, 7vw, 7rem); letter-spacing: -0.035em; }
.section-heading > p { max-width: 34rem; padding-bottom: 0.45rem; color: var(--mute); font-size: clamp(1rem, 1.08vw, 1.2rem); line-height: 1.7; }

.button {
  display: inline-flex;
  min-height: 3.15rem;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 0.85rem 1.15rem;
  border: 1px solid var(--olive-lt);
  background: var(--olive-lt);
  color: var(--void);
  font: 600 0.72rem var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.button:hover, .button:focus-visible { background: var(--paper); border-color: var(--paper); }
.button-ghost { background: transparent; color: var(--paper); border-color: var(--line); }
.button-ghost:hover, .button-ghost:focus-visible { background: var(--paper); color: var(--void); }
.button-light { background: var(--paper); border-color: var(--paper); }
.button-light:hover, .button-light:focus-visible { background: transparent; color: var(--paper); }

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: 5rem;
  border-bottom: 1px solid rgba(237, 240, 234, 0.14);
  background: rgba(8, 9, 10, 0.78);
  backdrop-filter: blur(18px);
  transition: height 180ms ease, background 180ms ease;
}
.site-header.is-scrolled { height: 4.4rem; background: rgba(8, 9, 10, 0.96); }
.nav-frame { position: relative; height: 100%; max-width: var(--max); margin: 0 auto; padding-inline: var(--gutter); display: flex; align-items: center; }
.brand-plate {
  align-self: stretch;
  width: 11.4rem;
  display: flex;
  align-items: center;
  padding: 0.7rem 1.1rem 0.7rem 0.9rem;
  background: var(--paper);
  clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
}
.brand-plate img { width: 100%; }
.nav-system { display: flex; align-items: center; gap: 0.65rem; margin-left: 1.4rem; color: #69736f; font-size: 0.57rem; letter-spacing: 0.12em; white-space: nowrap; }
.nav-system i { width: 0.42rem; height: 0.42rem; border-radius: 50%; background: var(--olive-lt); box-shadow: 0 0 0 5px rgba(165, 184, 115, 0.08); }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2.2rem); margin-left: auto; }
.site-nav > a:not(.nav-cta) {
  position: relative;
  padding-block: 1.8rem;
  color: var(--ti);
  font: 500 0.69rem var(--mono);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.site-nav > a:not(.nav-cta)::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: var(--olive-lt); transform: scaleX(0); transition: transform 180ms ease; }
.site-nav > a:hover::after, .site-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.site-nav > a[aria-current="page"] { color: var(--paper); }
.nav-cta { margin-left: 0.4rem; padding: 0.74rem 0.9rem; border: 1px solid var(--line); font: 600 0.65rem var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.nav-cta:hover { border-color: var(--olive-lt); color: var(--olive-lt); }
.nav-toggle { display: none; margin-left: auto; width: 2.75rem; height: 2.75rem; padding: 0.7rem; border: 1px solid var(--line); background: transparent; }
.nav-toggle span { display: block; flex: 0 0 1px; width: 100%; min-height: 1px; margin: 0.26rem 0; background: var(--paper); transition: transform 180ms ease; }

/* Shared tactical details */
.cornered { position: relative; }
.cornered::before, .cornered::after { content: ""; position: absolute; width: 1.1rem; height: 1.1rem; pointer-events: none; }
.cornered::before { left: -1px; top: -1px; border-left: 1px solid var(--olive-lt); border-top: 1px solid var(--olive-lt); }
.cornered::after { right: -1px; bottom: -1px; border-right: 1px solid var(--olive-lt); border-bottom: 1px solid var(--olive-lt); }
.status-dot { width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--olive-lt); box-shadow: 0 0 0 5px rgba(165,184,115,.09); }
.hud-label { display: inline-flex; align-items: center; gap: 0.65rem; font: 500 0.62rem var(--mono); letter-spacing: 0.13em; text-transform: uppercase; color: var(--ti); }
.freqbar { display: flex; gap: 0.8rem; align-items: center; color: var(--mute); font: 500 0.58rem var(--mono); letter-spacing: 0.14em; text-transform: uppercase; }
.freqbar::after { content: ""; flex: 1; height: 0.5rem; border-bottom: 1px solid var(--line); background-image: linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 14px 100%; }

/* Home hero */
.home-hero {
  position: relative;
  min-height: max(46rem, 100svh);
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--steel);
}
.hero-sky {
  position: absolute;
  inset: 0 0 0 48%;
  z-index: -3;
  background: linear-gradient(90deg, var(--void) 0%, transparent 43%), url("assets/media/hero-sky.jpg") center 45% / cover;
  opacity: 0.76;
}
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(8,9,10,1) 0%, rgba(8,9,10,.96) 35%, rgba(8,9,10,.3) 74%, rgba(8,9,10,.58) 100%),
    linear-gradient(0deg, var(--void) 0%, transparent 42%);
}
.home-hero::after { content: ""; position: absolute; width: 50rem; height: 50rem; right: -13rem; top: 1rem; z-index: -1; border: 1px solid rgba(165,184,115,.16); border-radius: 50%; box-shadow: 0 0 0 8rem rgba(165,184,115,.018), 0 0 0 16rem rgba(165,184,115,.015); }
.hero-grid-overlay { position: absolute; inset: 5rem 0 4.4rem 48%; z-index: -2; opacity: .28; background-image: linear-gradient(rgba(201,207,199,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(201,207,199,.1) 1px, transparent 1px); background-size: clamp(3rem, 5vw, 6rem) clamp(3rem, 5vw, 6rem); mask-image: linear-gradient(90deg, transparent, #000 24%, #000 82%, transparent); }
.hero-scanline { position: absolute; z-index: 0; inset: 5rem 0 auto 48%; height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(165,184,115,.55), transparent); box-shadow: 0 0 1.2rem rgba(165,184,115,.25); animation: scan-field 7s linear infinite; opacity: .58; }
.hero-aircraft { position: absolute; z-index: -1; right: -1%; top: 12%; width: min(57vw, 59rem); filter: drop-shadow(0 2.5rem 3rem rgba(0,0,0,.72)); opacity: 1; animation: aircraft-drift 8s ease-in-out infinite; transition: opacity 220ms ease, filter 220ms ease, width 500ms cubic-bezier(.16,.72,.24,1), right 500ms cubic-bezier(.16,.72,.24,1), top 500ms cubic-bezier(.16,.72,.24,1); }
[data-active-program="pralaya"] .hero-aircraft { right: 10%; top: 11%; width: min(36vw, 39rem); }
[data-active-program="vinaashak"] .hero-aircraft { right: 18%; top: 12%; width: min(19vw, 21rem); }
[data-active-program="c4is"] .hero-aircraft { right: 14%; top: 10%; width: min(26vw, 28rem); }
.home-hero.is-hero-switching .hero-aircraft { opacity: 0; filter: blur(7px) drop-shadow(0 2.5rem 3rem rgba(0,0,0,.72)); }
.hero-platform-tag span, .hero-platform-tag b, .hero-telemetry strong { transition: opacity 160ms ease, transform 160ms ease; }
.home-hero.is-hero-switching .hero-platform-tag span, .home-hero.is-hero-switching .hero-platform-tag b, .home-hero.is-hero-switching .hero-telemetry strong { opacity: .16; transform: translateY(4px); }
.hero-drone-small { position: absolute; z-index: -1; right: 8%; bottom: 25%; width: clamp(7rem, 9vw, 10rem); opacity: .8; filter: drop-shadow(0 1rem 1.6rem #000); animation: aircraft-drift 6s ease-in-out -2s infinite; }
.hero-reticle { position: absolute; right: 14%; top: 46%; width: clamp(11rem, 15vw, 17rem); aspect-ratio: 1; border: 1px solid rgba(165,184,115,.35); border-radius: 50%; z-index: -1; animation: reticle-breathe 4s ease-in-out infinite; }
.hero-reticle::before, .hero-reticle::after { content: ""; position: absolute; background: rgba(165,184,115,.35); }
.hero-reticle::before { height: 1px; left: -3rem; right: -3rem; top: 50%; }
.hero-reticle::after { width: 1px; top: -3rem; bottom: -3rem; left: 50%; }
.hero-reticle i { position: absolute; inset: 22%; border: 1px solid rgba(226,58,46,.55); border-radius: 50%; }

@keyframes aircraft-drift { 0%,100% { transform: translate3d(0,var(--parallax-y,0px),0); } 50% { transform: translate3d(-10px,calc(var(--parallax-y,0px) - 12px),0); } }
@keyframes reticle-breathe { 0%,100% { transform: translate3d(0,var(--parallax-y,0px),0) scale(.98); opacity: .78; } 50% { transform: translate3d(0,var(--parallax-y,0px),0) scale(1.03); opacity: 1; } }
@keyframes scan-field { from { transform: translateY(0); } to { transform: translateY(calc(100svh - 9.4rem)); } }
@keyframes signal-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(165,184,115,.3); } 50% { box-shadow: 0 0 0 .35rem rgba(165,184,115,0); } }

.hero-grid { width: 100%; padding-top: clamp(8rem, 13vh, 11rem); padding-bottom: clamp(9rem, 17vh, 13rem); display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(16rem, 0.28fr); align-items: end; }
.hero-copy { min-width: 0; max-width: 66rem; }
.hero-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.5rem; margin-bottom: 1.4rem; }
.hero-kicker > span { display: inline-flex; align-items: center; gap: .55rem; color: var(--mute); font: 500 .59rem var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.hero-kicker > span i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--olive-lt); animation: signal-pulse 1.8s ease-in-out infinite; }
.hero-copy h1 { max-width: 61rem; font-size: clamp(4.8rem, 9.4vw, 10rem); letter-spacing: -0.045em; }
.hero-copy h1 span { display: block; color: var(--olive-lt); }
.hero-copy .lead { max-width: 46rem; margin-top: 1.6rem; font-size: clamp(1.08rem, 1.4vw, 1.45rem); }
.hero-principles { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.4rem; }
.hero-principles span { padding: .42rem .55rem; border: 1px solid rgba(201,207,199,.22); background: rgba(8,9,10,.24); color: var(--ti); font-size: .56rem; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(7px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.hero-telemetry { align-self: end; justify-self: end; width: min(100%, 18rem); border: 1px solid rgba(201,207,199,.2); background: rgba(8,9,10,.64); backdrop-filter: blur(10px); }
.hero-telemetry header { display: flex; justify-content: space-between; align-items: center; min-height: 2.7rem; padding: .7rem .9rem; border-bottom: 1px solid var(--steel); color: var(--mute); font: 500 .56rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hero-telemetry header span { display: inline-flex; align-items: center; gap: .5rem; }
.hero-telemetry header i { width: .38rem; height: .38rem; border-radius: 50%; background: var(--olive-lt); animation: signal-pulse 1.8s ease-in-out infinite; }
.hero-telemetry header b { color: var(--olive-lt); font-weight: 500; }
.hero-telemetry > div { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; padding: 0.75rem 0.9rem; border-bottom: 1px solid var(--steel); font: 500 0.62rem var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.hero-telemetry > div:last-child { border-bottom: 0; }
.hero-telemetry span { color: var(--mute); }
.hero-telemetry strong { color: var(--paper); font-weight: 500; }
.hero-platform-tag { position: absolute; z-index: 1; right: 30%; top: 28%; display: grid; gap: .1rem; padding-left: 2.7rem; color: var(--ti); font-size: .54rem; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; }
.hero-platform-tag::before { content: ""; position: absolute; left: 0; top: .75rem; width: 2rem; height: 1px; background: var(--olive-lt); }
.hero-platform-tag span { color: var(--olive-lt); }
.hero-platform-tag b { font-weight: 500; }
.hero-platform-tag i { position: absolute; left: -.2rem; top: .55rem; width: .42rem; aspect-ratio: 1; border: 1px solid var(--olive-lt); border-radius: 50%; }
.hero-edge-copy { position: absolute; z-index: 1; right: 1.3rem; top: 22%; display: flex; flex-direction: column; gap: .8rem; color: rgba(201,207,199,.48); font-size: .52rem; letter-spacing: .14em; writing-mode: vertical-rl; pointer-events: none; }
.hero-scroll { position: absolute; z-index: 2; left: max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter))); bottom: 5.4rem; display: inline-flex; align-items: center; gap: .8rem; color: var(--mute); font-size: .53rem; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll i { position: relative; display: block; width: 2.8rem; height: 1px; overflow: hidden; background: var(--steel); }
.hero-scroll i::after { content: ""; position: absolute; inset: 0; background: var(--olive-lt); transform: translateX(-100%); animation: scroll-cue 2.2s ease-in-out infinite; }
@keyframes scroll-cue { 45%,100% { transform: translateX(100%); } }
.hero-program-rail { position: absolute; inset: auto 0 0; border-top: 1px solid rgba(237,240,234,.16); background: rgba(8,9,10,.75); }
.hero-programs { display: grid; grid-template-columns: repeat(4, 1fr); }
.hero-programs a { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0.85rem; align-items: center; min-height: 4.4rem; overflow: hidden; padding: 0.85rem 1rem; border-right: 1px solid var(--steel); transition: background 180ms ease, color 180ms ease; }
.hero-programs a:first-child { border-left: 1px solid var(--steel); }
.hero-programs a:hover { background: var(--paper); color: var(--void); }
.hero-programs a.is-active { background: rgba(165,184,115,.1); }
.hero-programs a.is-active span { color: var(--paper); }
.hero-programs a > i { position: absolute; inset: auto 0 0; height: 2px; background: var(--olive-lt); transform: scaleX(0); transform-origin: left; }
.hero-programs a.is-active > i { animation: hero-progress 5.2s linear both; }
@keyframes hero-progress { to { transform: scaleX(1); } }
.hero-programs b { color: var(--olive-lt); font: 500 0.63rem var(--mono); }
.hero-programs span { font: 600 1rem var(--display); letter-spacing: 0.06em; text-transform: uppercase; }

.proof-strip { border-bottom: 1px solid var(--steel); background: var(--paper); color: var(--void); }
.proof-grid { display: grid; grid-template-columns: 1.15fr repeat(4, 1fr); }
.proof-intro, .proof-stat { min-height: 9rem; padding: 1.4rem; border-right: 1px solid #c5cac4; display: flex; flex-direction: column; justify-content: space-between; }
.proof-intro { border-left: 1px solid #c5cac4; }
.proof-intro span { font: 600 0.68rem var(--mono); letter-spacing: .13em; color: #5d6661; text-transform: uppercase; }
.proof-intro strong { max-width: 14rem; font: 600 1.5rem/1 var(--display); text-transform: uppercase; }
.proof-stat strong { font: 600 clamp(2.7rem, 4.7vw, 4.6rem)/.9 var(--display); letter-spacing: -.03em; }
.proof-stat span { font: 500 .65rem var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #5d6661; }

.manifesto-grid { display: grid; grid-template-columns: .34fr .66fr; gap: clamp(3rem, 7vw, 8rem); }
.manifesto-copy blockquote { max-width: 60rem; font: 600 clamp(3.2rem, 6.4vw, 6.6rem)/.92 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.manifesto-copy blockquote span { color: var(--olive-lt); }
.manifesto-copy .lead { margin-top: 2rem; }

/* Home company profile */
.home-about { overflow: hidden; border-block: 1px solid var(--steel); }
.home-about-grid { display: grid; grid-template-columns: minmax(0,.53fr) minmax(0,.47fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.home-about-visual { position: relative; min-height: clamp(31rem, 46vw, 46rem); overflow: hidden; background: var(--void); }
.home-about-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) saturate(.72) contrast(1.08); transition: transform 900ms cubic-bezier(.16,.72,.24,1), filter 500ms ease; }
.home-about-visual:hover img { transform: scale(1.035); filter: grayscale(.08) saturate(.92) contrast(1.05); }
.home-about-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(8,9,10,.9), transparent 54%), linear-gradient(90deg, rgba(8,9,10,.34), transparent 56%); }
.home-about-visual::after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; top: 16%; height: 1px; background: linear-gradient(90deg, transparent, rgba(165,184,115,.7), transparent); animation: about-scan 6s ease-in-out infinite; }
@keyframes about-scan { 0%,100% { transform: translateY(0); opacity: 0; } 15%,70% { opacity: .55; } 85% { transform: translateY(25rem); opacity: 0; } }
.home-about-overlay { position: absolute; z-index: 3; inset: auto 1.25rem 1.25rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--ti); font-size: .58rem; letter-spacing: .11em; text-transform: uppercase; }
.home-about-overlay b { color: var(--olive-lt); font-weight: 500; }
.home-about-copy h2 { max-width: 42rem; margin-top: 1.1rem; font-size: clamp(3.2rem, 5.8vw, 6rem); }
.home-about-copy .lead { margin-top: 1.7rem; color: var(--paper); }
.home-about-copy > p:not(.eyebrow):not(.lead) { max-width: 41rem; margin-top: 1.25rem; color: var(--mute); font-size: clamp(1rem, 1vw, 1.12rem); }
.home-about-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 2.2rem; border-block: 1px solid var(--steel); }
.home-about-facts div { min-height: 7.2rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border-right: 1px solid var(--steel); }
.home-about-facts div:first-child { border-left: 1px solid var(--steel); }
.home-about-facts strong { color: var(--paper); font: 600 clamp(1.7rem,2.5vw,2.5rem) var(--display); }
.home-about-facts span { color: var(--mute); font-size: .54rem; letter-spacing: .09em; text-transform: uppercase; }
.home-about-copy .button { margin-top: 2rem; }

.capability-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1px; background: var(--steel); border: 1px solid var(--steel); }
.capability-card { position: relative; min-height: 34rem; overflow: hidden; background: var(--gun); isolation: isolate; }
.capability-card:nth-child(1), .capability-card:nth-child(4) { grid-column: span 7; }
.capability-card:nth-child(2), .capability-card:nth-child(3) { grid-column: span 5; }
.capability-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.08); transition: transform 600ms cubic-bezier(.2,.7,.2,1), filter 400ms ease; }
.capability-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,9,10,.98) 0%, rgba(8,9,10,.48) 53%, rgba(8,9,10,.1) 100%); }
.capability-card:hover img { transform: scale(1.035); filter: saturate(.95) contrast(1.05); }
.capability-content { position: absolute; inset: auto 0 0; padding: clamp(1.4rem, 3vw, 2.4rem); }
.capability-index { position: absolute; top: 1.2rem; right: 1.2rem; color: var(--paper); font: 500 .7rem var(--mono); }
.capability-content .eyebrow { margin-bottom: .8rem; }
.capability-content h3 { font-size: clamp(3rem, 5.5vw, 5.5rem); }
.capability-content p { max-width: 35rem; margin-top: .75rem; color: var(--ti); }
.capability-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.capability-meta span { padding: .35rem .5rem; border: 1px solid rgba(201,207,199,.25); font: 500 .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }

/* Stack explorer */
.stack-explorer { display: grid; grid-template-columns: .42fr .58fr; border: 1px solid var(--steel); background: var(--gun); }
.stack-steps { display: flex; flex-direction: column; border-right: 1px solid var(--steel); }
.stack-step { flex: 1; display: grid; grid-template-columns: 3.4rem 1fr auto; gap: 1rem; align-items: center; min-height: 5.3rem; padding: 1rem 1.2rem; border: 0; border-bottom: 1px solid var(--steel); background: transparent; text-align: left; cursor: pointer; }
.stack-step:last-child { border-bottom: 0; }
.stack-step span { color: var(--mute); font: 500 .66rem var(--mono); }
.stack-step b { font: 600 1.35rem var(--display); letter-spacing: .05em; text-transform: uppercase; }
.stack-step i { width: .45rem; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; }
.stack-step:hover, .stack-step.is-active { background: var(--paper); color: var(--void); }
.stack-step.is-active span { color: var(--olive); }
.stack-step.is-active i { background: var(--threat); border-color: var(--threat); }
.stack-display { position: relative; min-height: 31rem; overflow: hidden; padding: clamp(2rem, 5vw, 5rem); display: flex; flex-direction: column; justify-content: center; }
.stack-display::before { content: ""; position: absolute; width: 26rem; height: 26rem; right: -8rem; top: -8rem; border: 1px solid rgba(165,184,115,.16); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(165,184,115,.02), 0 0 0 8rem rgba(165,184,115,.018); }
.stack-display .hud-label { color: var(--olive-lt); }
.stack-display h3 { max-width: 37rem; margin-top: 1.3rem; font-size: clamp(2.6rem, 5vw, 5rem); }
.stack-display > p { max-width: 37rem; margin-top: 1.25rem; color: var(--ti); font-size: 1.05rem; }
.stack-display ul { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; margin: 2rem 0 0; list-style: none; }
.stack-display li { padding: .5rem .65rem; border: 1px solid var(--steel); color: var(--mute); font: 500 .64rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.stack-display [data-stack-label], .stack-display [data-stack-title], .stack-display [data-stack-copy], .stack-display [data-stack-points] { transition: opacity 130ms ease, transform 130ms ease; }
.stack-display .is-switching { opacity: 0; transform: translateY(5px); }

.mission-cta { overflow: hidden; }
.mission-cta-grid { position: relative; min-height: 34rem; display: grid; grid-template-columns: .64fr .36fr; align-items: center; border: 1px solid var(--steel); background: var(--panel); }
.mission-cta-copy { position: relative; z-index: 2; padding: clamp(2rem, 6vw, 6rem); }
.mission-cta h2 { margin-top: 1rem; font-size: clamp(3.2rem, 7vw, 7rem); }
.mission-cta p:not(.eyebrow) { max-width: 42rem; margin-top: 1.4rem; color: var(--ti); }
.mission-cta .button { margin-top: 1.8rem; }
.mission-cta-visual { position: absolute; inset: 0 0 0 50%; overflow: hidden; }
.mission-cta-visual img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) contrast(1.08); }
.mission-cta-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--panel), transparent 55%), linear-gradient(0deg, rgba(27,33,35,.8), transparent 60%); }

/* Inner page hero */
.page-hero { position: relative; min-height: clamp(41rem, 72svh, 56rem); padding-top: 5rem; overflow: hidden; isolation: isolate; display: flex; align-items: flex-end; border-bottom: 1px solid var(--steel); }
.page-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(8,9,10,.99) 0%, rgba(8,9,10,.84) 48%, rgba(8,9,10,.15) 82%), linear-gradient(0deg, var(--void), transparent 44%); }
.page-hero-media { position: absolute; inset: 0 0 0 40%; z-index: -3; width: 60%; height: 100%; object-fit: cover; filter: grayscale(.22) saturate(.78) contrast(1.08); }
.page-hero-product { object-position: center; }
.page-hero-about { object-position: 55% 62%; filter: grayscale(.08) saturate(.88) contrast(1.04); }
.page-hero-content { width: 100%; min-width: 0; padding-top: 7rem; padding-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.page-hero-content .eyebrow { margin-bottom: 1.3rem; }
.page-hero-content h1 { max-width: 65rem; font-size: clamp(4.5rem, 10vw, 10rem); letter-spacing: -.04em; }
.page-hero-content .lead { margin-top: 1.5rem; }
.page-hero-foot { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin-top: 2.2rem; color: var(--mute); font: 500 .64rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.page-hero-mark { position: absolute; right: var(--gutter); bottom: 3rem; width: min(35vw, 30rem); opacity: .32; filter: drop-shadow(0 2rem 2rem #000); }

/* About */
.story-grid { display: grid; grid-template-columns: .36fr .64fr; gap: clamp(3rem, 7vw, 8rem); }
.story-grid h2 { font-size: clamp(3.6rem, 7vw, 7rem); }
.story-copy .lead { margin-bottom: 1.5rem; color: var(--paper); }
.story-copy p:not(.lead) { max-width: 48rem; margin-top: 1rem; color: var(--mute); font-size: clamp(1rem, 1.02vw, 1.14rem); line-height: 1.75; }
.timeline { margin-top: 4rem; border-top: 1px solid var(--steel); }
.timeline-row { display: grid; grid-template-columns: .16fr .3fr .54fr; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--steel); }
.timeline-row > span { color: var(--olive-lt); font: 500 .68rem var(--mono); letter-spacing: .1em; }
.timeline-row h3 { font-size: 1.65rem; letter-spacing: .04em; }
.timeline-row p { color: var(--mute); }

.metrics-wall { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--steel); border-left: 1px solid var(--steel); }
.metric-block { min-height: 13.5rem; padding: 1.35rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--steel); border-bottom: 1px solid var(--steel); background: rgba(20,24,26,.62); }
.metric-block:nth-child(5), .metric-block:nth-child(6), .metric-block:nth-child(7) { grid-column: span 1; }
.metric-block strong { font: 600 clamp(3rem, 5.5vw, 5.8rem)/.85 var(--display); letter-spacing: -.03em; }
.metric-block span { color: var(--mute); font: 500 .65rem var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.metric-block.highlight { background: var(--olive-lt); color: var(--void); }
.metric-block.highlight span { color: #394126; }

.team-group + .team-group { margin-top: clamp(4.5rem, 7vw, 7rem); }
.team-group-heading { display: grid; grid-template-columns: .16fr .36fr .48fr; gap: clamp(1.25rem, 3vw, 3.5rem); align-items: start; padding: 1.25rem 0 1.6rem; border-top: 1px solid var(--line); }
.team-group-heading > span { color: var(--olive-lt); font: 500 .62rem var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.team-group-heading h3 { font-size: clamp(2rem, 3.2vw, 3.3rem); letter-spacing: .01em; }
.team-group-heading p { max-width: 38rem; color: var(--mute); font-size: clamp(.95rem, 1vw, 1.08rem); }
.team-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1px; background: var(--steel); border: 1px solid var(--steel); }
.team-card { position: relative; grid-column: span 4; overflow: hidden; background: var(--gun); }
.team-card.leadership { grid-column: span 6; }
.team-photo { position: relative; aspect-ratio: 1.06 / 1; overflow: hidden; background: linear-gradient(135deg, #202728, #101314); }
.team-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,9,10,.76), transparent 48%); }
.team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; filter: grayscale(.2) saturate(.82); transition: transform 400ms ease, filter 300ms ease; }
.team-card:hover img { transform: scale(1.025); filter: grayscale(0) saturate(1); }
.team-card-content { min-height: 17rem; padding: 1.5rem; }
.team-card-content > span { color: var(--olive-lt); font: 500 .62rem var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.team-card h3 { margin-top: .75rem; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.team-card p { margin-top: 1rem; color: var(--mute); font-size: clamp(.92rem, .88vw, 1.02rem); }
.team-card.leadership .team-card-content { min-height: 15rem; }
.founders-grid { box-shadow: inset 0 2px 0 var(--olive-lt); }
.advisors-grid { box-shadow: inset 0 2px 0 #77837f; }
.advisors-grid .team-card { grid-column: span 3; background: #171c1e; }
.advisors-grid .team-card-content > span { color: #a7b5b0; }
.advisors-grid .team-photo { aspect-ratio: .92 / 1; }

/* Products */
.programme-nav { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--steel); border-bottom: 0; }
.programme-tab { min-height: 5rem; padding: 1rem; border: 0; border-right: 1px solid var(--steel); background: var(--gun); text-align: left; cursor: pointer; }
.programme-tab:last-child { border-right: 0; }
.programme-tab span { display: block; color: var(--mute); font: 500 .6rem var(--mono); letter-spacing: .12em; }
.programme-tab b { display: block; margin-top: .35rem; font: 600 1.4rem var(--display); letter-spacing: .05em; }
.programme-tab:hover, .programme-tab.is-active { background: var(--paper); color: var(--void); }
.programme-tab.is-active span { color: var(--olive); }
.program-console { border: 1px solid var(--steel); background: var(--gun); transition: opacity 150ms ease; }
[data-program-console].is-switching .program-console { opacity: .42; }
.program-visual { position: relative; height: clamp(24rem, 55vw, 42rem); overflow: hidden; }
.program-visual > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.08); }
.program-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,9,10,.94), transparent 48%), linear-gradient(90deg, rgba(8,9,10,.3), transparent 40%); }
.program-target { position: absolute; z-index: 2; top: 50%; left: 65%; width: 10rem; height: 10rem; transform: translate(-50%,-50%); border: 1px solid rgba(226,58,46,.72); border-radius: 50%; }
.program-target::before, .program-target::after { content: ""; position: absolute; background: rgba(226,58,46,.72); }
.program-target::before { left: -2rem; right: -2rem; top: 50%; height: 1px; }
.program-target::after { top: -2rem; bottom: -2rem; left: 50%; width: 1px; }
.program-visual-labels { position: absolute; z-index: 3; inset: 1.3rem 1.3rem auto; display: flex; justify-content: space-between; color: var(--paper); font: 500 .62rem var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.program-heading { position: absolute; z-index: 3; inset: auto 1.5rem 1.5rem; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.program-heading > div span { color: var(--olive-lt); font: 500 .68rem var(--mono); letter-spacing: .12em; }
.program-heading h2 { font-size: clamp(4.2rem, 10vw, 10rem); letter-spacing: -.035em; }
.program-heading > p { max-width: 25rem; padding-bottom: .75rem; color: var(--ti); font: 500 .68rem var(--mono); letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.program-body { display: grid; grid-template-columns: .42fr .58fr; }
.program-overview { padding: clamp(1.5rem, 4vw, 3.5rem); border-right: 1px solid var(--steel); }
.program-overview > p { max-width: 43rem; color: var(--ti); font-size: clamp(1.05rem, 1.08vw, 1.22rem); }
.program-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.7rem; }
.program-tags span { padding: .4rem .55rem; border: 1px solid var(--line); color: var(--mute); font: 500 .59rem var(--mono); letter-spacing: .08em; }
.program-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid var(--steel); border-left: 1px solid var(--steel); }
.program-metrics > div { min-height: 8.5rem; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--steel); border-bottom: 1px solid var(--steel); }
.program-metrics span { color: var(--mute); font: 500 .59rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.program-metrics strong { font: 600 clamp(1.35rem, 2.4vw, 2.25rem)/1 var(--display); }
.program-usps { display: flex; flex-direction: column; }
.program-usps article { flex: 1; display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.5rem; border-bottom: 1px solid var(--steel); }
.program-usps article:last-child { border-bottom: 0; }
.program-usps article > span { color: var(--olive-lt); font: 500 .67rem var(--mono); }
.program-usps h4 { font-size: 1.7rem; letter-spacing: .03em; }
.program-usps p { max-width: 42rem; margin-top: .55rem; color: var(--mute); font-size: clamp(.92rem, .88vw, 1.02rem); }

.catalog-group + .catalog-group { margin-top: 5rem; }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.catalog-heading h3 { margin-top: .8rem; font-size: clamp(2.6rem, 5vw, 4.5rem); }
.catalog-heading > span { color: var(--mute); font: 500 .62rem var(--mono); letter-spacing: .1em; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--steel); border: 1px solid var(--steel); }
.catalog-card { position: relative; min-width: 0; overflow: hidden; background: var(--gun); isolation: isolate; transition: transform 260ms cubic-bezier(.16,.72,.24,1), box-shadow 260ms ease, background 260ms ease; }
.catalog-card:hover, .catalog-card:focus-within, .catalog-card.is-expanded { z-index: 4; transform: translateY(-5px) scale(1.012); background: #1c2224; box-shadow: 0 1.8rem 4rem rgba(0,0,0,.38), 0 0 0 1px var(--olive-lt); }
.catalog-card:focus-visible { outline: 2px solid var(--olive-lt); outline-offset: 3px; }
.catalog-image { height: 15rem; overflow: hidden; background: #0b0d0e; }
.catalog-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform 400ms ease, filter 300ms ease; }
.catalog-card:hover .catalog-image img { transform: scale(1.025); filter: saturate(1); }
.catalog-copy { min-height: 17rem; padding: 1.35rem; display: flex; flex-direction: column; }
.catalog-copy > span { color: var(--olive-lt); font: 500 .6rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.catalog-copy h4 { margin-top: .65rem; font-size: 1.75rem; letter-spacing: .03em; }
.catalog-copy p { margin-top: .75rem; color: var(--mute); font-size: clamp(.92rem, .86vw, 1rem); }
.catalog-specs { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; padding-top: 1.2rem; }
.catalog-specs b { padding: .35rem .45rem; border: 1px solid var(--steel); color: var(--ti); font: 500 .55rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.catalog-expand { position: absolute; z-index: 5; top: .85rem; right: .85rem; display: flex; align-items: center; gap: .65rem; padding: .55rem .65rem; border: 1px solid rgba(237,240,234,.28); background: rgba(8,9,10,.74); color: var(--paper); backdrop-filter: blur(8px); cursor: pointer; }
.catalog-expand span { font: 500 .53rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.catalog-expand i { position: relative; width: .72rem; height: .72rem; }
.catalog-expand i::before, .catalog-expand i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 100%; height: 1px; background: var(--olive-lt); transform: translate(-50%,-50%); transition: transform 220ms ease; }
.catalog-expand i::after { transform: translate(-50%,-50%) rotate(90deg); }
.catalog-card:hover .catalog-expand i::after, .catalog-card:focus-within .catalog-expand i::after, .catalog-card.is-expanded .catalog-expand i::after { transform: translate(-50%,-50%) rotate(0); }
.catalog-detail { position: absolute; z-index: 4; inset: auto 0 0; display: grid; gap: .75rem; padding: 1.2rem 1.3rem; border-top: 1px solid var(--olive-lt); background: rgba(8,10,10,.96); backdrop-filter: blur(16px); transform: translateY(102%); transition: transform 320ms cubic-bezier(.16,.72,.24,1); }
.catalog-card:hover .catalog-detail, .catalog-card:focus-within .catalog-detail, .catalog-card.is-expanded .catalog-detail { transform: translateY(0); }
.catalog-detail > div { display: grid; grid-template-columns: .38fr .62fr; gap: 1rem; align-items: baseline; }
.catalog-detail span { color: var(--mute); font: 500 .53rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.catalog-detail strong { color: var(--ti); font: 500 .68rem/1.35 var(--mono); text-align: right; text-transform: uppercase; }

.matrix { width: 100%; border-collapse: collapse; border: 1px solid var(--steel); background: var(--gun); }
.matrix th, .matrix td { padding: 1.1rem; border-right: 1px solid var(--steel); border-bottom: 1px solid var(--steel); text-align: left; vertical-align: top; }
.matrix th { color: var(--olive-lt); font: 500 .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.matrix td:first-child { color: var(--paper); font-family: var(--display); font-size: 1.35rem; text-transform: uppercase; }
.matrix td { color: var(--mute); font-size: clamp(.9rem, .82vw, .98rem); }

/* Vision */
.threat-equation { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--steel); }
.equation-item { min-height: 17rem; padding: 1.35rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--steel); background: var(--gun); }
.equation-item:last-child { border-right: 0; }
.equation-item span { color: var(--threat); font: 500 .66rem var(--mono); }
.equation-item h3 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.equation-item p { color: var(--mute); font-size: .9rem; }
.vision-quote { padding: clamp(2.5rem, 7vw, 7rem); background: var(--paper); color: var(--void); }
.vision-quote blockquote { max-width: 78rem; font: 600 clamp(3.6rem, 8vw, 8.5rem)/.89 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.vision-quote blockquote span { color: var(--olive); }

.roadmap { border-top: 1px solid var(--steel); }
.roadmap-phase { display: grid; grid-template-columns: .16fr .24fr .6fr; gap: 2rem; min-height: 15rem; padding: 1.7rem 0; border-bottom: 1px solid var(--steel); }
.roadmap-phase > span { color: var(--olive-lt); font: 500 .66rem var(--mono); letter-spacing: .11em; }
.roadmap-phase h3 { font-size: clamp(2rem, 4vw, 3.4rem); }
.roadmap-phase ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2.5rem; padding: 0; margin: 0; list-style: none; }
.roadmap-phase li { position: relative; padding-left: 1.1rem; color: var(--mute); }
.roadmap-phase li::before { content: "+"; position: absolute; left: 0; color: var(--olive-lt); font-family: var(--mono); }

.market-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--steel); border-left: 1px solid var(--steel); }
.market-card { min-height: 19rem; padding: 1.5rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--steel); border-bottom: 1px solid var(--steel); background: var(--gun); }
.market-card > span { color: var(--olive-lt); font: 500 .65rem var(--mono); }
.market-card h3 { font-size: 2.25rem; }
.market-card p { color: var(--mute); font-size: .92rem; }

/* Careers */
.culture-grid { display: grid; grid-template-columns: .42fr .58fr; gap: clamp(3rem, 7vw, 8rem); }
.culture-grid h2 { font-size: clamp(3.4rem, 7vw, 7rem); }
.culture-values { border-top: 1px solid var(--steel); }
.culture-value { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--steel); }
.culture-value > span { color: var(--olive-lt); font: 500 .64rem var(--mono); }
.culture-value h3 { font-size: 1.7rem; }
.culture-value p { margin-top: .5rem; color: var(--mute); }
.roles-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--steel); border-left: 1px solid var(--steel); }
.role-card { min-height: 21rem; padding: 1.5rem; display: flex; flex-direction: column; border-right: 1px solid var(--steel); border-bottom: 1px solid var(--steel); background: var(--gun); }
.role-card > span { color: var(--olive-lt); font: 500 .62rem var(--mono); letter-spacing: .1em; }
.role-card h3 { max-width: 30rem; margin-top: 2rem; font-size: clamp(2.5rem, 5vw, 4.4rem); }
.role-card p { max-width: 31rem; margin-top: 1rem; color: var(--mute); }
.role-card button { width: max-content; margin-top: auto; padding: .65rem 0; border: 0; border-bottom: 1px solid var(--olive-lt); background: transparent; color: var(--paper); font: 500 .66rem var(--mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.role-card button:hover { color: var(--olive-lt); }

.role-dialog { width: min(54rem, calc(100% - 2rem)); max-height: calc(100svh - 2rem); padding: 0; border: 1px solid var(--line); background: var(--gun); color: var(--paper); box-shadow: 0 3rem 8rem #000; }
.role-dialog::backdrop { background: rgba(2,3,3,.82); backdrop-filter: blur(8px); }
.dialog-top { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--steel); }
.dialog-top span { color: var(--olive-lt); font: 500 .65rem var(--mono); letter-spacing: .12em; }
.dialog-close { width: 2.5rem; height: 2.5rem; border: 1px solid var(--steel); background: transparent; cursor: pointer; }
.dialog-body { padding: clamp(1.5rem, 5vw, 4rem); }
.dialog-body h2 { max-width: 40rem; font-size: clamp(3rem, 7vw, 6rem); }
.dialog-body > p { max-width: 39rem; margin-top: 1rem; color: var(--ti); }
.dialog-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; }
.dialog-columns h3 { font-size: 1.45rem; }
.dialog-columns ul { padding: 0; margin: 1rem 0 0; list-style: none; }
.dialog-columns li { position: relative; padding: .75rem 0 .75rem 1rem; border-top: 1px solid var(--steel); color: var(--mute); font-size: .9rem; }
.dialog-columns li::before { content: "+"; position: absolute; left: 0; color: var(--olive-lt); }
.dialog-note { margin-top: 2.5rem; padding: 1rem; border-left: 2px solid var(--olive-lt); background: rgba(165,184,115,.06); color: var(--mute); font-size: .86rem; }

/* News */
.news-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.news-toolbar button { padding: .7rem .9rem; border: 1px solid var(--steel); background: transparent; color: var(--mute); font: 500 .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.news-toolbar button:hover, .news-toolbar button.is-active { background: var(--paper); color: var(--void); border-color: var(--paper); }
.news-list { border-top: 1px solid var(--steel); }
.news-card { display: grid; grid-template-columns: .16fr .23fr .61fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--steel); }
.news-card[hidden] { display: none; }
.news-card-meta { color: var(--olive-lt); font: 500 .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.news-card-image { height: 10rem; overflow: hidden; background: var(--gun); }
.news-card-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) saturate(.75); }
.news-card-copy h2 { font-size: clamp(2rem, 4vw, 3.8rem); }
.news-card-copy p { max-width: 44rem; margin-top: .9rem; color: var(--mute); }
.news-card-copy span { display: inline-block; margin-top: 1rem; color: var(--ti); font: 500 .62rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.source-note { display: grid; grid-template-columns: .3fr .7fr; gap: 3rem; padding: 1.5rem; border: 1px solid var(--steel); background: rgba(20,24,26,.6); }
.source-note strong { font: 600 1.5rem var(--display); text-transform: uppercase; }
.source-note p { color: var(--mute); }

/* Footer */
.footer-cta { border-top: 1px solid #cdd1cb; background: var(--paper); color: var(--void); }
.footer-cta-grid { min-height: 20rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-cta .eyebrow { color: var(--olive); }
.footer-cta h2 { margin-top: 1rem; font-size: clamp(3.5rem, 7vw, 7rem); }
.footer-cta .button-light { background: var(--void); border-color: var(--void); color: var(--paper); }
.footer-cta .button-light:hover { background: transparent; color: var(--void); }
.site-footer { background: #050606; }
.footer-grid { min-height: 18rem; display: grid; grid-template-columns: .3fr .38fr .32fr; gap: 3rem; align-items: start; padding-top: 3.5rem; }
.footer-brand { display: inline-flex; width: 13rem; padding: .85rem; background: var(--paper); }
.footer-grid > p { max-width: 28rem; color: var(--mute); }
.footer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem 2rem; }
.footer-links a { color: var(--ti); font: 500 .68rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.footer-links a:hover { color: var(--olive-lt); }
.footer-base { min-height: 4rem; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--steel); color: #69736f; font-size: .57rem; letter-spacing: .1em; }

[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 700ms ease, transform 750ms cubic-bezier(.16,.72,.24,1); }
[data-reveal="left"] { transform: translateX(-34px); }
[data-reveal="right"] { transform: translateX(34px); }
[data-reveal="scale"] { transform: scale(.975); transform-origin: 50% 20%; }
[data-reveal].is-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.home-hero [data-reveal] { opacity: 1; transform: none; }
.home-hero .hero-copy { animation: hero-copy-in 900ms 140ms both cubic-bezier(.16,.72,.24,1); }
.home-hero .hero-telemetry { animation: hero-panel-in 800ms 420ms both cubic-bezier(.16,.72,.24,1); }
.capability-grid.is-visible .capability-card, .team-grid.is-visible .team-card { animation: card-arrive 650ms both cubic-bezier(.16,.72,.24,1); }
.capability-grid.is-visible .capability-card:nth-child(2), .team-grid.is-visible .team-card:nth-child(2) { animation-delay: 70ms; }
.capability-grid.is-visible .capability-card:nth-child(3), .team-grid.is-visible .team-card:nth-child(3) { animation-delay: 140ms; }
.capability-grid.is-visible .capability-card:nth-child(4), .team-grid.is-visible .team-card:nth-child(4) { animation-delay: 210ms; }
.team-grid.is-visible .team-card:nth-child(5) { animation-delay: 280ms; }
@keyframes card-arrive { from { opacity: .25; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-copy-in { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes hero-panel-in { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }

/* Precision cursor: desktop pointing devices only */
.tactical-cursor { position: fixed; inset: 0 auto auto 0; z-index: 2000; pointer-events: none; opacity: 0; transition: opacity 160ms ease; }
.tactical-cursor.is-visible { opacity: 1; }
.tactical-cursor::before, .tactical-cursor::after { content: ""; position: fixed; left: var(--cursor-x); top: var(--cursor-y); width: 1.55rem; height: 1.55rem; border: 1px solid rgba(165,184,115,.86); transform: translate(-50%,-50%); box-shadow: 0 0 1rem rgba(165,184,115,.1), inset 0 0 .65rem rgba(165,184,115,.04); transition: width 150ms ease, height 150ms ease, border-color 150ms ease, transform 100ms ease, box-shadow 150ms ease; }
.tactical-cursor::after { width: .32rem; height: .32rem; left: var(--dot-x); top: var(--dot-y); border: 0; border-radius: 50%; background: var(--paper); }
.tactical-cursor i, .tactical-cursor span { position: fixed; left: var(--cursor-x); top: var(--cursor-y); background: rgba(165,184,115,.52); transform: translate(-50%,-50%); transition: opacity 180ms ease; }
.tactical-cursor i { width: 2.35rem; height: 1px; }
.tactical-cursor span { width: 1px; height: 2.35rem; }
.tactical-cursor.is-active::before { width: 2.35rem; height: 2.35rem; border-color: var(--paper); transform: translate(-50%,-50%) rotate(45deg); box-shadow: 0 0 1.5rem rgba(237,240,234,.16), inset 0 0 .8rem rgba(237,240,234,.05); }
.tactical-cursor.is-active i, .tactical-cursor.is-active span { opacity: .18; }
.tactical-cursor.is-clicking::before { width: 1.3rem; height: 1.3rem; }
body.has-custom-cursor, body.has-custom-cursor a, body.has-custom-cursor button { cursor: none; }

@media (max-width: 1100px) {
  .nav-system { display: none; }
  .site-nav { gap: 1rem; }
  .site-nav > a:not(.nav-cta) { font-size: .62rem; }
  .nav-cta { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-telemetry { display: none; }
  .metrics-wall { grid-template-columns: repeat(3, 1fr); }
  .team-card { grid-column: span 6; }
  .team-card.leadership { grid-column: span 6; }
  .advisors-grid .team-card { grid-column: span 6; }
  .hero-edge-copy { display: none; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .program-body { grid-template-columns: 1fr; }
  .program-overview { border-right: 0; border-bottom: 1px solid var(--steel); }
  .home-about-grid { gap: 3rem; }
  .threat-equation { grid-template-columns: repeat(2, 1fr); }
  .equation-item:nth-child(2) { border-right: 0; }
  .equation-item:nth-child(-n+2) { border-bottom: 1px solid var(--steel); }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 4.5rem; }
  .site-header, .site-header.is-scrolled { height: 4.5rem; }
  .brand-plate { width: 10.4rem; }
  .nav-toggle { position: absolute; top: .85rem; right: var(--gutter); z-index: 2; display: flex; flex-direction: column; justify-content: center; }
  .nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .site-nav { position: fixed; inset: 4.5rem 0 auto; height: calc(100svh - 4.5rem); padding: 2rem var(--gutter); display: flex; flex-direction: column; align-items: stretch; gap: 0; background: rgba(8,9,10,.98); transform: translateX(100%); transition: transform 240ms ease; }
  .site-nav.is-open { transform: translateX(0); }
  .site-nav > a:not(.nav-cta) { padding: 1.25rem 0; border-bottom: 1px solid var(--steel); font: 600 2rem var(--display); letter-spacing: .02em; }
  .site-nav > a:not(.nav-cta)::after { display: none; }
  .nav-cta { display: inline-flex; margin: 2rem 0 0; justify-content: space-between; padding: 1rem; }
  .section-heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .hero-sky { inset: 0; opacity: .45; }
  .hero-grid-overlay { left: 0; opacity: .17; }
  .hero-scanline { left: 0; opacity: .32; }
  .hero-aircraft { width: 90vw; right: -27%; top: 13%; opacity: .58; }
  [data-active-program="pralaya"] .hero-aircraft { width: 69vw; right: -4%; top: 12%; }
  [data-active-program="vinaashak"] .hero-aircraft { width: 39vw; right: 11%; top: 13%; }
  [data-active-program="c4is"] .hero-aircraft { width: 52vw; right: 3%; top: 10%; }
  .hero-drone-small { display: none; }
  .hero-reticle { right: -10%; top: 30%; }
  .hero-platform-tag { right: 10%; top: 23%; opacity: .72; }
  .hero-grid { padding-top: 8rem; padding-bottom: 9rem; }
  .hero-copy h1 { font-size: clamp(4rem, 17vw, 7.2rem); }
  .hero-telemetry { display: none; }
  .hero-scroll { display: none; }
  .hero-programs { grid-template-columns: repeat(2, 1fr); }
  .hero-programs a { min-height: 3.6rem; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-intro { grid-column: span 2; min-height: 7rem; }
  .manifesto-grid, .story-grid, .culture-grid { grid-template-columns: 1fr; }
  .home-about-grid { grid-template-columns: 1fr; }
  .home-about-visual { min-height: 31rem; }
  .capability-card:nth-child(n) { grid-column: span 12; min-height: 29rem; }
  .stack-explorer { grid-template-columns: 1fr; }
  .stack-steps { border-right: 0; border-bottom: 1px solid var(--steel); }
  .stack-step { min-height: 4.3rem; }
  .mission-cta-grid { grid-template-columns: 1fr; min-height: 36rem; align-items: end; }
  .mission-cta-visual { inset: 0; }
  .mission-cta-visual::after { background: linear-gradient(0deg, rgba(27,33,35,1) 0%, rgba(27,33,35,.84) 50%, rgba(27,33,35,.2) 100%); }
  .page-hero { min-height: max(38rem, 72svh); }
  .page-hero-media { inset: 0; width: 100%; opacity: .55; }
  .page-hero-mark { display: none; }
  .timeline-row { grid-template-columns: 5rem 1fr; }
  .timeline-row p { grid-column: 2; }
  .metrics-wall { grid-template-columns: repeat(2, 1fr); }
  .team-card, .team-card.leadership { grid-column: span 6; }
  .advisors-grid .team-card { grid-column: span 6; }
  .team-group-heading { grid-template-columns: 1fr 1fr; }
  .team-group-heading > span { grid-column: 1 / -1; }
  .programme-nav { grid-template-columns: repeat(2, 1fr); }
  .programme-tab:nth-child(2) { border-right: 0; }
  .programme-tab:nth-child(-n+2) { border-bottom: 1px solid var(--steel); }
  .program-heading { align-items: start; flex-direction: column; gap: .4rem; }
  .program-heading > p { text-align: left; }
  .program-metrics { grid-template-columns: 1fr; }
  .program-metrics > div { min-height: 6.5rem; }
  .catalog-grid { grid-template-columns: 1fr; }
  .matrix { display: block; overflow-x: auto; white-space: nowrap; }
  .roadmap-phase { grid-template-columns: 6rem 1fr; }
  .roadmap-phase ul { grid-column: 2; }
  .market-grid { grid-template-columns: 1fr; }
  .roles-grid { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 7rem 1fr; }
  .news-card-copy { grid-column: 2; }
  .source-note { grid-template-columns: 1fr; gap: .7rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > p { grid-column: 2; }
  .footer-links { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  :root { --gutter: 1rem; }
  .section { padding-block: 4.5rem; }
  .display-xl { font-size: 3.75rem; }
  .brand-plate { width: 9.4rem; padding-left: .6rem; }
  .home-hero { min-height: max(45rem, 100svh); }
  .hero-grid { padding-top: 7rem; padding-bottom: 9.4rem; }
  .hero-copy h1 { font-size: clamp(3.6rem, 17vw, 4.65rem); }
  .hero-copy .lead { font-size: 1rem; }
  .hero-kicker > span { display: none; }
  .hero-platform-tag { display: none; }
  .hero-principles { gap: .35rem; }
  .hero-principles span { font-size: .5rem; }
  .hero-actions .button { width: 100%; }
  .hero-programs a { grid-template-columns: 1fr; gap: .1rem; padding: .55rem .7rem; }
  .hero-programs span { font-size: .85rem; }
  .proof-stat { min-height: 7.8rem; padding: 1rem; }
  .proof-stat strong { font-size: 2.9rem; }
  .proof-stat span { font-size: .55rem; }
  .manifesto-copy blockquote { font-size: 3rem; }
  .home-about-visual { min-height: 24rem; }
  .home-about-copy h2 { font-size: clamp(3rem, 14vw, 4.2rem); }
  .home-about-facts div { min-height: 6.5rem; padding: .75rem .55rem; }
  .home-about-facts strong { font-size: 1.55rem; }
  .home-about-overlay { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .capability-card:nth-child(n) { min-height: 26rem; }
  .stack-display { min-height: 28rem; padding: 1.4rem; }
  .page-hero { min-height: max(35rem, 72svh); }
  .page-hero-content h1 { font-size: clamp(3.45rem, 15vw, 4.6rem); }
  .page-hero-foot { flex-direction: column; gap: .35rem; }
  .timeline-row { grid-template-columns: 1fr; gap: .6rem; }
  .timeline-row p { grid-column: 1; }
  .metrics-wall { grid-template-columns: 1fr 1fr; }
  .metric-block { min-height: 10rem; padding: 1rem; }
  .metric-block strong { font-size: 2.8rem; }
  .team-card, .team-card.leadership { grid-column: span 12; }
  .advisors-grid .team-card { grid-column: span 12; }
  .team-group-heading { grid-template-columns: 1fr; gap: .7rem; }
  .team-group-heading > span { grid-column: 1; }
  .team-card-content, .team-card.leadership .team-card-content { min-height: 0; }
  .program-visual { height: 26rem; }
  .program-target { width: 7rem; height: 7rem; }
  .program-heading h2 { font-size: 4rem; }
  .program-usps article { grid-template-columns: 2rem 1fr; padding: 1.25rem 1rem; }
  .catalog-heading { align-items: start; flex-direction: column; gap: .4rem; }
  .catalog-copy { min-height: 15rem; }
  .catalog-detail { padding: 1rem; }
  .catalog-detail > div { grid-template-columns: .42fr .58fr; gap: .5rem; }
  .threat-equation { grid-template-columns: 1fr; }
  .equation-item { min-height: 14rem; border-right: 0; border-bottom: 1px solid var(--steel); }
  .roadmap-phase { grid-template-columns: 1fr; gap: .75rem; }
  .roadmap-phase ul { grid-column: 1; grid-template-columns: 1fr; }
  .dialog-columns { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 1fr; gap: 1rem; }
  .news-card-copy { grid-column: 1; }
  .footer-cta-grid { min-height: 22rem; flex-direction: column; align-items: flex-start; justify-content: center; }
  .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .footer-grid > p, .footer-links { grid-column: 1; }
  .footer-base { align-items: flex-start; flex-direction: column; justify-content: center; gap: .25rem; padding-block: 1rem; }
}

@media (max-height: 760px) and (min-width: 821px) {
  .home-hero { min-height: 46rem; }
  .hero-grid { padding-top: 7.5rem; padding-bottom: 8.2rem; }
  .hero-copy h1 { font-size: clamp(4.5rem, 8.4vw, 7.2rem); }
  .hero-copy .lead { margin-top: 1.1rem; }
  .hero-principles { margin-top: 1rem; }
  .hero-actions { margin-top: 1.35rem; }
  .hero-aircraft { top: 10%; }
}

@media (pointer: coarse) {
  .tactical-cursor { display: none !important; }
  body.has-custom-cursor, body.has-custom-cursor a, body.has-custom-cursor button { cursor: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .tactical-cursor { display: none !important; }
}
