/* CarbonISR landing page — styles
   Tokens mirror the Figma 'CarbonISR Tokens' variable collection (see docs/tokens.json). */
/* ===== Tokens (sourced from the CarbonISR logo files) ===== */
:root{
  --c-orange:#FF4400;
  --c-orange-deep:#B83100;
  --c-bone:#D4D4CC;
  --c-charcoal:#2B2B2B;
  --c-ink:#0C0C0D;
  --c-ink-2:#131314;
  --c-ink-3:#1B1B1C;

  --bg:var(--c-ink);
  --bg-raised:var(--c-ink-2);
  --bg-card:var(--c-ink-3);
  --fg:var(--c-bone);
  --fg-muted:color-mix(in srgb, var(--c-bone) 62%, transparent);
  --fg-faint:color-mix(in srgb, var(--c-bone) 38%, transparent);
  --line:color-mix(in srgb, var(--c-bone) 12%, transparent);
  --line-strong:color-mix(in srgb, var(--c-bone) 24%, transparent);
  --accent:var(--c-orange);
  --accent-glow:color-mix(in srgb, var(--c-orange) 35%, transparent);
  --scrim:color-mix(in srgb, var(--c-ink) 78%, transparent);

  --f-display:"Chakra Petch", "Rajdhani", "Arial Narrow", system-ui, sans-serif;
  --f-body:"Barlow", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --ease-out:cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out:cubic-bezier(0.77, 0, 0.175, 1);

  --wrap:1280px;
  --gutter:clamp(20px, 4vw, 48px);
  --nav-h:72px;

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top, 0px);
  padding-bottom:env(safe-area-inset-bottom, 0px);
  color-scheme:dark;
}
/* Brand is dark-only; tokens restated for the viewer's theme hooks */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --bg:var(--c-ink); --fg:var(--c-bone); } }
:root[data-theme="dark"]{ --bg:var(--c-ink); --fg:var(--c-bone); }

*,*::before,*::after{ box-sizing:inherit; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top, 0px) + var(--nav-h)); background:var(--bg); }
body{ background:var(--bg); color:var(--fg); font-family:var(--f-body); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img,video,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent); color:var(--c-ink); }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); }
.mono{ font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow{ display:inline-flex; align-items:center; gap:12px; color:var(--accent); }
.eyebrow::before{ content:""; width:28px; height:2px; background:var(--accent); }
.h-display{ font-family:var(--f-display); font-weight:700; text-transform:uppercase; letter-spacing:.01em; line-height:.98; }
.h2{ font-family:var(--f-display); font-weight:600; text-transform:uppercase; font-size:clamp(32px, 4.4vw, 58px); line-height:1.02; letter-spacing:.005em; }
.lede{ font-size:clamp(17px, 1.5vw, 20px); color:var(--fg-muted); max-width:56ch; }
.accent{ color:var(--accent); }

/* Grain overlay */
body::after{ content:""; position:fixed; inset:0; pointer-events:none; z-index:100; opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }

/* Buttons */
.btn{ display:inline-flex; align-items:center; gap:12px; height:52px; padding:0 26px; font-family:var(--f-display); font-weight:600; font-size:14px; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; border:1px solid transparent; transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .16s var(--ease-out); clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); }
.btn:active{ transform:scale(.97); }
.btn-primary{ background:var(--accent); color:var(--c-ink); }
.btn-ghost{ border-color:var(--line-strong); color:var(--fg); clip-path:none; }
@media (hover:hover){
  .btn-primary:hover{ background:var(--fg); }
  .btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
}
.btn svg{ width:14px; height:14px; transition:transform .2s var(--ease-out); }
@media (hover:hover){ .btn:hover svg{ transform:translateX(3px); } }

/* ===== NAV ===== */
.nav{ position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top, 0px); transition:background-color .3s ease, border-color .3s ease; border-bottom:1px solid transparent; }
.nav.scrolled{ background:var(--scrim); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom-color:var(--line); }
.nav-in{ height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.nav-logo svg{ height:26px; width:auto; }
.nav-links{ display:flex; gap:34px; }
.nav-links a{ font-family:var(--f-display); font-weight:500; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-muted); transition:color .2s ease; }
@media (hover:hover){ .nav-links a:hover{ color:var(--fg); } }
.nav .btn{ height:40px; padding:0 18px; font-size:12px; }
@media (max-width:900px){ .nav-links{ display:none; } }

/* ===== HERO ===== */
.hero{ position:relative; min-height:100svh; display:flex; flex-direction:column; overflow:hidden; isolation:isolate; }
.hero-media{ position:absolute; inset:0; z-index:-2; }
.hero-media video, .hero-media img{ width:100%; height:100%; object-fit:cover; object-position:60% 50%; }
.hero-media::after{ content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, var(--c-ink) 0%, color-mix(in srgb, var(--c-ink) 82%, transparent) 38%, color-mix(in srgb, var(--c-ink) 20%, transparent) 75%, color-mix(in srgb, var(--c-ink) 55%, transparent) 100%),
    linear-gradient(0deg, var(--c-ink) 0%, transparent 35%, transparent 80%, color-mix(in srgb, var(--c-ink) 70%, transparent) 100%); }
.hero-topo{ position:absolute; inset:0; z-index:-1; opacity:.5; mix-blend-mode:screen; pointer-events:none; }
.hero-grid{ flex:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:40px; padding-top:calc(var(--nav-h) + 48px); padding-bottom:40px; }
.hero h1{ font-size:clamp(42px, 6vw, 92px); margin:26px 0 28px; }
.hero h1 .line{ display:block; overflow:hidden; }
.hero h1 .line > span{ display:block; transform:translateY(105%); animation:rise .9s var(--ease-out) forwards; }
.hero h1 .line:nth-child(1) > span{ animation-delay:1.05s; }
.hero h1 .line:nth-child(2) > span{ animation-delay:1.15s; }
.hero h1 .line:nth-child(3) > span{ animation-delay:1.25s; }
@keyframes rise{ to{ transform:translateY(0); } }
.hero .fade-in{ opacity:0; transform:translateY(12px); animation:fadeUp .8s var(--ease-out) forwards; }
@keyframes fadeUp{ to{ opacity:1; transform:none; } }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }

/* Scope instrument — signature moment */
.scope{ position:relative; width:min(100%, 520px); aspect-ratio:1; justify-self:end; }
.scope::before{ content:""; position:absolute; inset:4%; border-radius:50%; background:radial-gradient(circle, color-mix(in srgb, var(--c-ink) 72%, transparent) 0%, color-mix(in srgb, var(--c-ink) 55%, transparent) 70%, transparent 100%); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.scope canvas{ position:absolute; inset:0; width:100%; height:100%; }
.scope-svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.scope-ring{ fill:none; stroke:var(--line-strong); stroke-width:1; }
.scope-ring.draw{ stroke-dasharray:1600; stroke-dashoffset:1600; animation:draw 1.6s var(--ease-in-out) forwards; }
.scope-ring.r2{ animation-delay:.9s; } .scope-ring.r3{ animation-delay:1.05s; } .scope-ring.r4{ animation-delay:1.2s; }
@keyframes draw{ to{ stroke-dashoffset:0; } }
.scope-tick{ stroke:var(--fg-faint); stroke-width:1; opacity:0; animation:fadeOnly .6s ease forwards 1.4s; }
.scope-tick.major{ stroke:var(--fg-muted); }
@keyframes fadeOnly{ to{ opacity:1; } }
.scope-label{ font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; fill:var(--fg-faint); opacity:0; animation:fadeOnly .6s ease forwards 1.5s; }
.scope.no-gl::after{ content:""; position:absolute; inset:9%; border-radius:50%; background:radial-gradient(circle, transparent 30%, color-mix(in srgb, var(--c-orange) 8%, transparent) 100%); }
.scope-hex{ position:absolute; left:50%; top:50%; width:34%; transform:translate(-50%,-50%); overflow:visible; filter:drop-shadow(0 0 24px var(--accent-glow)); }
.seg{ fill:var(--accent); opacity:0; transform-box:view-box; transform-origin:569px 482px; animation:assemble .9s var(--ease-out) forwards; }
@keyframes assemble{ from{ opacity:0; transform:var(--from); } to{ opacity:1; transform:translate(0,0) rotate(0deg); } }
.seg.core{ --from:scale(.92); }
.scope-readout{ position:absolute; color:var(--fg-faint); opacity:0; animation:fadeOnly .6s ease forwards 1.8s; line-height:1.9; }
.scope-readout b{ color:var(--fg); font-weight:500; }
.scope-readout.tl{ left:0; top:2%; } .scope-readout.br{ right:0; bottom:2%; text-align:right; }
.scope-readout .live{ color:var(--accent); }

.hero-hud{ border-top:1px solid var(--line); }
.hero-hud .wrap{ display:flex; justify-content:space-between; gap:24px; padding-top:18px; padding-bottom:22px; color:var(--fg-faint); flex-wrap:wrap; }
.hud-dot{ display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-right:10px; vertical-align:middle; animation:blink 2.4s ease-in-out infinite; }
@keyframes blink{ 50%{ opacity:.25; } }

@media (max-width:520px){ .hero-ctas .btn{ width:100%; justify-content:center; padding:0 16px; font-size:13px; } }
@media (max-width:960px){
  .hero-grid{ grid-template-columns:1fr; }
  .scope{ justify-self:center; width:min(86vw, 420px); order:-1; margin-top:8px; }
  .hero-hud .wrap span:nth-child(n+3){ display:none; }
}

/* ===== Reveal ===== */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; } .reveal[data-d="2"]{ transition-delay:.16s; } .reveal[data-d="3"]{ transition-delay:.24s; }

section{ position:relative; }
.sec{ padding:clamp(96px, 12vw, 168px) 0; }
.sec-head{ display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:clamp(48px, 6vw, 80px); flex-wrap:wrap; }
.sec-head .h2{ max-width:16ch; margin-top:22px; }
.sec-index{ color:var(--fg-faint); }
.corner{ position:relative; }
.corner::before,.corner::after{ content:""; position:absolute; width:14px; height:14px; border-color:var(--accent); border-style:solid; z-index:2; pointer-events:none; }
.corner::before{ top:-1px; left:-1px; border-width:2px 0 0 2px; }
.corner::after{ bottom:-1px; right:-1px; border-width:0 2px 2px 0; }

/* ===== MISSION ===== */
.mission-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px, 6vw, 96px); align-items:stretch; }
.mission-statement{ font-family:var(--f-display); font-weight:500; font-size:clamp(28px, 3.2vw, 44px); line-height:1.15; text-transform:none; margin:26px 0 32px; }
.mission-statement em{ font-style:normal; color:var(--accent); }
.mission-img{ min-height:480px; overflow:hidden; }
.mission-img img{ width:100%; height:100%; object-fit:cover; object-position:76% 50%; filter:contrast(1.05); transform:scale(1.06); transition:transform 1.6s var(--ease-out); }
.mission-img.in img{ transform:scale(1); }
.why{ margin-top:clamp(64px, 8vw, 112px); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); }
.why-item{ padding:34px 32px 8px 0; }
.why-item + .why-item{ padding-left:32px; border-left:1px solid var(--line); }
.why-item .mono{ color:var(--accent); }
.why-item h3{ font-family:var(--f-display); font-weight:600; font-size:22px; text-transform:uppercase; letter-spacing:.02em; margin:14px 0 10px; line-height:1.15; }
.why-item p{ color:var(--fg-muted); font-size:16px; }
@media (max-width:900px){
  .mission-grid{ grid-template-columns:1fr; } .mission-img{ min-height:360px; }
  .why{ grid-template-columns:1fr; }
  .why-item + .why-item{ padding-left:0; border-left:0; border-top:1px solid var(--line); }
}

/* ===== CAPABILITIES (bento) ===== */
.caps{ background:var(--bg-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bento{ display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); grid-auto-rows:minmax(300px, auto); gap:14px; }
.tile{ position:relative; overflow:hidden; background:var(--bg-card); border:1px solid var(--line); padding:30px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; min-height:260px; }
.tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s var(--ease-out); }
.tile::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 20%, color-mix(in srgb, var(--c-ink) 92%, transparent) 100%); }
@media (hover:hover){ .tile:hover img{ transform:scale(1.04); } }
.tile .mono{ color:var(--accent); margin-bottom:12px; }
.tile h3{ font-family:var(--f-display); font-weight:600; text-transform:uppercase; font-size:clamp(22px, 2vw, 28px); line-height:1.1; letter-spacing:.01em; }
.tile p{ color:var(--fg-muted); font-size:15.5px; margin-top:10px; max-width:44ch; }
.t-a{ grid-column:span 4; grid-row:span 2; }
.t-b::before{ background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--c-ink) 55%, transparent) 45%, color-mix(in srgb, var(--c-ink) 96%, transparent) 100%); }
.t-b img{ object-position:40% 0%; top:-22%; height:122%; }
.t-a h3{ font-size:clamp(28px, 3vw, 42px); }
.t-b{ grid-column:span 2; }
.t-c{ grid-column:span 2; }
.t-d{ grid-column:span 6; min-height:220px; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:32px; }
.t-d::before{ background:linear-gradient(90deg, color-mix(in srgb, var(--c-ink) 94%, transparent) 0%, color-mix(in srgb, var(--c-ink) 80%, transparent) 55%, color-mix(in srgb, var(--c-ink) 45%, transparent) 100%); }
@media (max-width:900px){ .t-d::before{ background:color-mix(in srgb, var(--c-ink) 86%, transparent); } }
.t-d .chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; max-width:56%; }
.chip{ border:1px solid var(--line-strong); padding:9px 14px; color:var(--fg-muted); background:color-mix(in srgb, var(--c-ink) 55%, transparent); }
@media (max-width:900px){
  .bento{ grid-template-columns:1fr; }
  .t-a,.t-b,.t-c,.t-d{ grid-column:auto; grid-row:auto; }
  .t-a{ min-height:420px; }
  .t-d{ flex-direction:column; align-items:flex-start; } .t-d .chips{ max-width:none; justify-content:flex-start; }
}

/* ===== PLATFORMS ===== */
.feature{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid var(--line); background:var(--bg-raised); }
.feature-img{ position:relative; min-height:540px; overflow:hidden; border-right:1px solid var(--line); }
.feature-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 58%; }
.feature-body{ padding:clamp(28px, 4vw, 52px); display:flex; flex-direction:column; justify-content:center; }
.feature-body h3{ font-family:var(--f-display); font-weight:700; font-size:clamp(30px, 3vw, 44px); text-transform:uppercase; line-height:1; margin:16px 0 14px; }
.feature-body p{ color:var(--fg-muted); }
.specs{ list-style:none; margin-top:28px; border-top:1px solid var(--line); }
.specs li{ display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; }
.specs li span:first-child{ color:var(--fg-faint); }
.platforms{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-top:14px; }
.pcard{ border:1px solid var(--line); background:var(--bg-raised); display:flex; flex-direction:column; transition:border-color .25s ease; }
@media (hover:hover){ .pcard:hover{ border-color:var(--line-strong); } .pcard:hover .pcard-img img{ transform:scale(1.04); } }
.pcard-img{ position:relative; aspect-ratio:4/3; background:var(--c-ink); overflow:hidden; border-bottom:1px solid var(--line); }
.pcard-img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-out); }
.pcard-body{ padding:24px 24px 28px; }
.pcard-body .mono{ color:var(--fg-faint); }
.pcard-body h4{ font-family:var(--f-display); font-weight:600; font-size:22px; text-transform:uppercase; margin:10px 0 8px; letter-spacing:.02em; }
.pcard-body p{ color:var(--fg-muted); font-size:15.5px; }
@media (max-width:900px){
  .feature{ grid-template-columns:1fr; } .feature-img{ border-right:0; border-bottom:1px solid var(--line); min-height:300px; }
  .platforms{ grid-template-columns:1fr; }
}

/* ===== PROOF ===== */
.proof{ background:var(--bg-raised); border-top:1px solid var(--line); }
.proof-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(40px, 6vw, 96px); align-items:start; }
.proof-head{ position:sticky; top:calc(var(--nav-h) + 32px); }
.missions{ list-style:none; border-top:1px solid var(--line); margin-top:40px; }
.missions li{ display:grid; grid-template-columns:56px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid var(--line); }
.missions .mono{ color:var(--accent); padding-top:6px; }
.missions h4{ font-family:var(--f-display); font-weight:600; font-size:22px; text-transform:uppercase; letter-spacing:.02em; line-height:1.15; }
.missions p{ color:var(--fg-muted); font-size:16px; margin-top:6px; }
.standards{ margin-top:40px; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.standards > div{ background:var(--bg-raised); padding:22px; display:flex; gap:14px; align-items:flex-start; }
.standards svg{ flex:none; width:22px; height:22px; color:var(--accent); margin-top:2px; }
.standards b{ display:block; font-family:var(--f-display); font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:14px; }
.standards span{ color:var(--fg-faint); font-size:14px; }
@media (max-width:900px){ .proof-grid{ grid-template-columns:1fr; } .proof-head{ position:relative; top:0; } .standards{ grid-template-columns:1fr; } }

/* ===== PARTNER CTA ===== */
.partner{ overflow:hidden; isolation:isolate; border-top:1px solid var(--line); }
.partner-bg{ position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(120% 90% at 100% 100%, color-mix(in srgb, var(--c-orange) 70%, transparent) 0%, color-mix(in srgb, var(--c-orange-deep) 40%, transparent) 30%, transparent 62%),
    var(--c-ink); }
.partner canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:-1; opacity:.55; mix-blend-mode:screen; }
.partner .h2{ font-size:clamp(38px, 5.6vw, 80px); max-width:14ch; margin:22px 0 28px; }
.paths{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; margin-top:56px; max-width:920px; }
.path{ border:1px solid var(--line-strong); background:color-mix(in srgb, var(--c-ink) 70%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:30px; display:flex; flex-direction:column; gap:12px; transition:border-color .25s ease; }
@media (hover:hover){ .path:hover{ border-color:var(--accent); } }
.path h4{ font-family:var(--f-display); font-weight:600; font-size:24px; text-transform:uppercase; }
.path p{ color:var(--fg-muted); font-size:16px; flex:1; }
.path .link{ font-family:var(--f-display); font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:13px; color:var(--accent); display:inline-flex; gap:10px; align-items:center; margin-top:8px; }
@media (max-width:760px){ .paths{ grid-template-columns:1fr; } }

/* ===== FOOTER ===== */
footer{ border-top:1px solid var(--line); padding:56px 0 40px; }
.foot{ display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; align-items:flex-start; }
.foot-logo svg{ height:30px; width:auto; }
.foot-tag{ margin-top:18px; color:var(--fg-faint); }
.foot-cols{ display:flex; gap:64px; flex-wrap:wrap; }
.foot-cols div{ display:flex; flex-direction:column; gap:10px; }
.foot-cols .mono{ color:var(--fg-faint); margin-bottom:6px; }
.foot-cols a{ color:var(--fg-muted); font-size:15px; }
@media (hover:hover){ .foot-cols a:hover{ color:var(--accent); } }
.foot-base{ margin-top:56px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; color:var(--fg-faint); flex-wrap:wrap; }


/* ===== MATERIAL: stats + properties ===== */
.stats{ margin-top:clamp(56px, 7vw, 96px); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.stats > div{ background:var(--bg); padding:26px 24px 28px; display:flex; flex-direction:column; gap:10px; }
.stats b{ font-family:var(--f-mono); font-weight:500; font-size:clamp(30px, 3vw, 40px); line-height:1; color:var(--fg); letter-spacing:-.01em; }
.stats span{ color:var(--fg-faint); font-size:14px; line-height:1.5; }
@media (max-width:900px){ .stats{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:520px){ .stats{ grid-template-columns:1fr; } }
.props{ margin-top:clamp(56px, 7vw, 96px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr); gap:clamp(28px, 4vw, 56px); align-items:start; }
.props .specs{ margin-top:0; }
.props .specs li span:last-child{ text-align:right; color:var(--fg-muted); }
.props-head p{ color:var(--fg-muted); font-size:15.5px; margin-top:16px; max-width:34ch; }
@media (max-width:900px){ .props{ grid-template-columns:1fr; } .props .specs + .specs{ border-top:0; } }

/* ===== RESULTS: status tags ===== */
.missions .status{ display:inline-block; margin-top:12px; color:var(--accent); font-size:11px; padding:5px 10px; border:1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.standards.wide{ grid-template-columns:repeat(4, minmax(0,1fr)); margin-top:clamp(48px, 6vw, 72px); }
.standards.wide > div{ background:var(--bg); }
@media (max-width:1000px){ .standards.wide{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:600px){ .standards.wide{ grid-template-columns:1fr; } }

/* ===== PLATFORMS: four cards ===== */
.platforms.four{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:1100px){ .platforms.four{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .platforms.four{ grid-template-columns:1fr; } }

/* ===== ENGINEERING: process ===== */
.process{ list-style:none; margin-top:clamp(56px, 7vw, 96px); display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); counter-reset:step; }
.process li{ background:var(--bg-raised); padding:24px 22px 26px; display:flex; flex-direction:column; gap:8px; position:relative; }
.process li .mono{ color:var(--accent); }
.process li b{ font-family:var(--f-display); font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:18px; }
.process li p{ color:var(--fg-faint); font-size:14px; line-height:1.5; }
@media (max-width:1100px){ .process{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:640px){ .process{ grid-template-columns:1fr; } }
@media (max-width:900px){ #engineering .mission-img{ order:2; } }

/* ===== TEAM ===== */
.team{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; }
.team-card{ border:1px solid var(--line); background:var(--bg-raised); padding:30px 28px 34px; display:flex; flex-direction:column; transition:border-color .25s ease; }
@media (hover:hover){ .team-card:hover{ border-color:var(--line-strong); } }
.team-card .mono{ color:var(--accent); }
.team-card h3{ font-family:var(--f-display); font-weight:600; font-size:24px; text-transform:uppercase; letter-spacing:.02em; line-height:1.12; margin:16px 0 12px; }
.team-card p{ color:var(--fg-muted); font-size:16px; }
@media (max-width:900px){ .team{ grid-template-columns:1fr; } }

/* ===== CONTACT FORM ===== */
.contact-grid{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:14px; margin-top:56px; align-items:start; }
.cform{ border:1px solid var(--line-strong); background:color-mix(in srgb, var(--c-ink) 74%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:30px; display:flex; flex-direction:column; gap:18px; }
.cform-row{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field .mono{ color:var(--fg-faint); font-size:11px; }
.field input, .field select, .field textarea{ width:100%; font-family:var(--f-body); font-size:16px; color:var(--fg); background:color-mix(in srgb, var(--c-ink) 60%, transparent); border:1px solid var(--line-strong); padding:13px 14px; border-radius:0; outline:none; transition:border-color .2s ease; -webkit-appearance:none; appearance:none; }
.field textarea{ resize:vertical; min-height:120px; line-height:1.5; }
.field select{ background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23D4D4CC' stroke-width='1.6'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; cursor:pointer; }
.field select option{ background:var(--c-ink-2); color:var(--fg); }
.field input::placeholder, .field textarea::placeholder{ color:var(--fg-faint); }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--accent); }
.field input:user-invalid, .field select:user-invalid, .field textarea:user-invalid{ border-color:color-mix(in srgb, var(--accent) 70%, transparent); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cform-foot{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:6px; }
.cform-foot .btn{ border:0; cursor:pointer; }
.cform-foot .btn[disabled]{ opacity:.6; cursor:default; }
.form-status{ color:var(--fg-muted); min-height:1em; }
.form-status.ok{ color:var(--accent); }
.form-status.err{ color:#FF8A5B; }
.contact-side{ display:flex; flex-direction:column; gap:14px; }
.contact-side .path{ gap:10px; }
.contact-side .path h4{ font-size:22px; }
.checklist{ list-style:none; margin-top:4px; display:flex; flex-direction:column; }
.checklist li{ color:var(--fg-muted); font-size:15.5px; padding:10px 0 10px 22px; border-top:1px solid var(--line); position:relative; }
.checklist li::before{ content:""; position:absolute; left:0; top:17px; width:10px; height:2px; background:var(--accent); }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
@media (max-width:560px){ .cform-row{ grid-template-columns:1fr; } .cform{ padding:22px; } .cform-foot .btn{ width:100%; justify-content:center; } }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; animation-delay:0s !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .hero h1 .line > span{ transform:none; }
  .reveal{ opacity:1; transform:none; }
}
