/* ============================================
   BULUT LABS — DESIGN SYSTEM
   Editorial × Frontier-Research aesthetic
   ============================================ */

:root{
  /* Surfaces */
  --bg:           #0a0a0b;
  --bg-1:         #0d0d0f;
  --bg-2:         #131316;
  --bg-3:         #1a1a1f;
  --line:         #232329;
  --line-2:       #2d2d36;
  --line-3:       #3a3a45;

  /* Type */
  --fg:           #ededed;
  --fg-2:         #9a9aa3;
  --fg-3:         #65656e;
  --fg-4:         #45454c;

  /* Accent system */
  --acid:         #c8ff5b;          /* primary accent — lime */
  --acid-soft:    #d8ff7a;
  --acid-tint:    rgba(200,255,91,.08);
  --cream:        #f4e4c1;          /* serif emphasis */
  --coral:        #ff5e4d;          /* alarm / highlight */
  --sky:          #7adfff;          /* secondary data */

  /* Radii */
  --r-xs:         4px;
  --r-s:          8px;
  --r-m:          14px;
  --r-l:          20px;
  --r-xl:         28px;

  /* Layout */
  --max:          1240px;
  --max-narrow:   880px;
  --gutter:       32px;

  /* Type scale */
  --serif:        'Fraunces', 'Instrument Serif', Georgia, serif;
  --sans:         'Geist', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mono:         'Geist Mono', 'JetBrains Mono', ui-monospace, monospace;

  /* Motion */
  --ease:         cubic-bezier(.2,.8,.2,1);
  --ease-out:     cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"ss01","ss02","cv11";
  font-variant-ligatures:common-ligatures;
}
body{
  overflow-x:hidden;
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.005em;
  background:
    radial-gradient(1200px 800px at 80% -10%, rgba(122,223,255,.04), transparent 60%),
    radial-gradient(900px 700px at 5% 120%, rgba(200,255,91,.04), transparent 60%),
    var(--bg);
}
a{color:inherit;text-decoration:none;transition:color .15s var(--ease)}
img,svg,video{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:0;background:0;color:inherit}
::selection{background:var(--acid);color:#0a0a0b}

code{
  font-family:var(--mono);
  font-size:.9em;
  color:var(--acid);
  background:var(--acid-tint);
  padding:1px 6px;
  border-radius:var(--r-xs);
  font-feature-settings:"ss02"
}

/* Grain overlay */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.035;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--line-2)}

/* ============================================
   LAYOUT
   ============================================ */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:2}
.wrap-narrow{max-width:var(--max-narrow);margin:0 auto;padding:0 var(--gutter)}
@media (max-width:720px){
  :root{--gutter:20px}
}

/* ============================================
   TICKER (top status bar)
   ============================================ */
.ticker{
  position:relative;
  z-index:60;
  border-bottom:1px solid var(--line);
  background:var(--bg-1);
  font-family:var(--mono);
  font-size:11px;
  color:var(--fg-2);
  letter-spacing:.04em;
  overflow:hidden;
  height:32px;
}
.ticker .track{
  display:flex;
  gap:48px;
  align-items:center;
  height:100%;
  padding-left:100%;
  white-space:nowrap;
  animation:tick 70s linear infinite;
}
.ticker span{display:inline-flex;align-items:center;gap:8px}
.ticker .dot{width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px var(--acid)}
.ticker .dot.amber{background:var(--coral);box-shadow:0 0 8px var(--coral)}
.ticker .label{color:var(--fg-3)}
.ticker .v{color:var(--fg)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ============================================
   NAV
   ============================================ */
nav.top{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  background:rgba(10,10,11,.78);
  border-bottom:1px solid var(--line);
}
nav.top .row{display:flex;align-items:center;justify-content:space-between;height:64px}
nav.top a.brand{
  display:flex;align-items:center;gap:12px;
  font-weight:600;letter-spacing:-.02em;font-size:15px;
}
nav.top a.brand .mark{
  width:24px;height:24px;border-radius:6px;
  background:
    radial-gradient(120% 120% at 30% 20%, var(--acid) 0, #5e7a14 55%, #1c2509 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), 0 0 16px rgba(200,255,91,.18);
  position:relative;
}
nav.top a.brand .mark::after{
  content:"";position:absolute;inset:5px;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.6), transparent 60%);
  border-radius:3px;
}
nav.top a.brand sup{
  font-family:var(--mono);font-size:9px;color:var(--fg-3);
  margin-left:4px;letter-spacing:.06em;
}
nav.top .links{display:flex;gap:30px;color:var(--fg-2);font-size:14px}
nav.top .links a{position:relative;padding:4px 0}
nav.top .links a:hover,nav.top .links a.active{color:var(--fg)}
nav.top .links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--acid);
}
nav.top .cta{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line-2);
  padding:9px 14px;border-radius:999px;
  font-size:13px;color:var(--fg);
  transition:.2s var(--ease);
}
nav.top .cta:hover{background:var(--acid);color:#0a0a0b;border-color:var(--acid)}
nav.top .cta svg{width:13px;height:13px}
@media(max-width:980px){nav.top .links{display:none}}

/* ============================================
   PAGE HEADER (interior pages)
   ============================================ */
.page-head{
  padding:120px 0 72px;
  border-bottom:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.page-head::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 50% at 80% 0%, rgba(122,223,255,.08), transparent 60%),
    radial-gradient(50% 60% at 5% 100%, rgba(200,255,91,.06), transparent 60%);
}
.page-head::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:80px 80px;
  opacity:.18;
  mask:radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 75%);
}
.page-head .crumbs{
  font-family:var(--mono);font-size:11px;color:var(--fg-3);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px;
  display:flex;align-items:center;gap:10px;
}
.page-head .crumbs a:hover{color:var(--fg-2)}
.page-head .crumbs .sep{color:var(--line-3)}
.page-head h1{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(40px,6vw,84px);
  line-height:.98;
  letter-spacing:-.025em;
  max-width:22ch;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.page-head h1 em{font-style:italic;color:var(--cream);font-variation-settings:"opsz" 144, "SOFT" 100}
.page-head h1 .acid{color:var(--acid);font-style:italic;font-variation-settings:"opsz" 144, "SOFT" 100}
.page-head .lede{
  margin-top:28px;color:var(--fg-2);
  max-width:62ch;font-size:clamp(15px,1.3vw,18px);
  line-height:1.65;
}
.page-head .meta{
  margin-top:32px;display:flex;flex-wrap:wrap;gap:24px;
  font-family:var(--mono);font-size:11px;color:var(--fg-3);
  letter-spacing:.06em;text-transform:uppercase;
}
.page-head .meta span strong{color:var(--fg-2);font-weight:400}

/* ============================================
   HERO (home only)
   ============================================ */
.hero{
  position:relative;
  padding:96px 0 80px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  opacity:.55;pointer-events:none;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 50% at 80% 0%, rgba(122,223,255,.10), transparent 60%),
    radial-gradient(50% 60% at 10% 80%, rgba(200,255,91,.08), transparent 60%),
    linear-gradient(180deg, transparent 60%, var(--bg) 100%);
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:60px 60px;
  opacity:.15;
  mask:radial-gradient(ellipse 80% 70% at 50% 50%, #000 20%, transparent 70%);
}
.hero .inner{position:relative;z-index:3}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;color:var(--fg-2);
  border:1px solid var(--line-2);
  padding:7px 13px;border-radius:999px;
  background:rgba(255,255,255,.02);
  letter-spacing:.06em;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid)}
.eyebrow a{color:var(--acid)}

h1.display{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(44px,7vw,104px);
  line-height:.96;
  letter-spacing:-.035em;
  margin-top:28px;
  max-width:18ch;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
h1.display em{
  font-style:italic;color:var(--cream);
  font-variation-settings:"opsz" 144, "SOFT" 100;
}
h1.display .acid{
  color:var(--acid);font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 100;
}

.hero .lede{
  margin-top:32px;max-width:60ch;
  color:var(--fg-2);
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.65;
}

.hero .row-cta{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap;align-items:center}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;border-radius:999px;
  font-size:14px;font-weight:500;
  transition:.25s var(--ease);
  border:1px solid transparent;
  cursor:pointer;
  position:relative;
  font-family:var(--sans);
  letter-spacing:-.005em;
}
.btn.primary{background:var(--acid);color:#0a0a0b}
.btn.primary:hover{background:var(--acid-soft);transform:translateY(-1px);box-shadow:0 8px 24px rgba(200,255,91,.18)}
.btn.ghost{border-color:var(--line-2);color:var(--fg);background:rgba(255,255,255,.01)}
.btn.ghost:hover{border-color:var(--fg-3);background:rgba(255,255,255,.04)}
.btn svg{width:14px;height:14px;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}

.btn-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;color:var(--fg);
  border-bottom:1px solid var(--line-2);padding-bottom:3px;
  transition:.2s var(--ease);
}
.btn-link:hover{border-color:var(--acid);color:var(--acid)}

/* ============================================
   METRIC STRIP
   ============================================ */
.strip{
  margin-top:88px;
  border:1px solid var(--line);
  border-radius:var(--r-l);
  background:linear-gradient(180deg, rgba(255,255,255,.025), transparent 80%);
  padding:8px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  position:relative;
  overflow:hidden;
}
.strip::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 100% at 50% 0%, rgba(200,255,91,.05), transparent 70%);
}
.strip .cell{
  padding:22px 24px;
  border-right:1px solid var(--line);
  position:relative;
  z-index:2;
}
.strip .cell:last-child{border-right:none}
.strip .k{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);
  display:flex;align-items:center;gap:8px;
}
.strip .k::before{content:"";width:6px;height:1px;background:var(--acid)}
.strip .v{
  font-size:clamp(24px,2.4vw,34px);
  font-weight:500;letter-spacing:-.025em;margin-top:8px;
  font-variant-numeric:tabular-nums;
}
.strip .v small{color:var(--fg-2);font-size:13px;font-weight:400;margin-left:6px;letter-spacing:0}
@media(max-width:820px){
  .strip{grid-template-columns:repeat(2,1fr)}
  .strip .cell{border-right:none;border-bottom:1px solid var(--line)}
  .strip .cell:nth-child(even){border-right:none}
  .strip .cell:nth-last-child(-n+2){border-bottom:none}
}

/* ============================================
   LOGO STRIPS
   ============================================ */
.logo-strip{
  padding:64px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.012), transparent);
  overflow:hidden;
}
.logo-strip .label{
  font-family:var(--mono);font-size:11px;color:var(--fg-3);
  letter-spacing:.12em;text-transform:uppercase;
  text-align:center;margin-bottom:36px;
  display:flex;align-items:center;justify-content:center;gap:14px;
}
.logo-strip .label::before,.logo-strip .label::after{
  content:"";flex:0 0 60px;height:1px;background:var(--line);
}
.logo-strip .logos{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:48px 64px;align-items:center;
  color:var(--fg-2);
}
.logo-strip .logos span{
  opacity:.6;transition:.25s var(--ease);
  font-weight:500;letter-spacing:-.02em;
  font-size:18px;
  white-space:nowrap;
}
.logo-strip .logos span:hover{opacity:1;color:var(--fg)}
.logo-strip .logos .serif{font-family:var(--serif);font-style:italic;font-size:24px;font-weight:400;font-variation-settings:"opsz" 144, "SOFT" 100}
.logo-strip .logos .mono{font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.logo-strip .logos .heavy{font-weight:700;letter-spacing:-.04em;font-size:20px}
.logo-strip .logos .thin{font-weight:300;letter-spacing:.06em;font-size:17px;text-transform:uppercase}

/* ============================================
   SECTIONS
   ============================================ */
section{padding:128px 0;position:relative}
section.tight{padding:80px 0}
.sec-num{
  font-family:var(--mono);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--acid);
  display:flex;align-items:center;gap:14px;margin-bottom:18px;
}
.sec-num::before{content:"";width:24px;height:1px;background:var(--acid)}

.sec-head{
  display:grid;grid-template-columns:1.3fr 1fr;
  gap:64px;align-items:flex-end;margin-bottom:64px;
}
.sec-head h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(32px,4.4vw,60px);
  line-height:1.02;letter-spacing:-.025em;
  max-width:22ch;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.sec-head h2 em{
  font-style:italic;color:var(--cream);
  font-variation-settings:"opsz" 144, "SOFT" 100;
}
.sec-head h2 .acid{color:var(--acid);font-style:italic;font-variation-settings:"opsz" 144, "SOFT" 100}
.sec-head .right{
  color:var(--fg-2);font-size:15px;line-height:1.7;max-width:42ch;
  padding-bottom:6px;
}
@media(max-width:820px){
  .sec-head{grid-template-columns:1fr;gap:24px}
}

/* ============================================
   PROBLEM / EDITORIAL CARDS
   ============================================ */
.gap-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
.gap-grid .card{
  border:1px solid var(--line);
  border-radius:var(--r-l);
  padding:40px;
  background:linear-gradient(180deg, rgba(255,255,255,.018), transparent);
  position:relative;
  overflow:hidden;
}
.gap-grid .card.hero-quote{
  background:linear-gradient(180deg, rgba(244,228,193,.04), transparent),var(--bg-1);
  border-color:var(--line-2);
}
.gap-grid .card .quote{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(24px,2.4vw,34px);line-height:1.2;
  color:var(--cream);margin:0 0 24px;
  font-variation-settings:"opsz" 144, "SOFT" 100;
  font-weight:300;
  letter-spacing:-.015em;
}
.gap-grid .card .quote::before{content:"\201C";color:var(--acid);margin-right:4px}
.gap-grid .card h3{
  font-size:20px;letter-spacing:-.015em;font-weight:500;margin-bottom:18px;
}
.gap-grid .card p{color:var(--fg-2);line-height:1.75;font-size:14.5px}
.gap-grid .card p+p{margin-top:14px}
.gap-grid .card .attr{
  font-family:var(--mono);font-size:10px;color:var(--fg-3);
  letter-spacing:.1em;text-transform:uppercase;
  border-top:1px dashed var(--line);padding-top:16px;margin-top:18px;
}
@media(max-width:820px){.gap-grid{grid-template-columns:1fr}}

/* ============================================
   MODEL CARD
   ============================================ */
.model{
  border:1px solid var(--line);
  border-radius:var(--r-l);
  overflow:hidden;background:var(--bg-2);
  position:relative;
}
.model .hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 28px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(200,255,91,.05), transparent 80%);
  flex-wrap:wrap;gap:14px;
}
.model .hdr .name{display:flex;align-items:center;gap:14px}
.model .hdr .name .badge{
  font-family:var(--mono);font-size:11px;color:var(--acid);
  border:1px solid rgba(200,255,91,.32);
  padding:5px 10px;border-radius:var(--r-xs);
  background:var(--acid-tint);letter-spacing:.04em;
}
.model .hdr .name h3{font-size:22px;letter-spacing:-.02em;font-weight:500}
.model .hdr .status{
  display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;color:var(--fg-2);
  letter-spacing:.04em;
}
.model .hdr .status .pulse{
  width:8px;height:8px;border-radius:50%;background:var(--acid);
  animation:pulse 1.8s var(--ease) infinite;
  position:relative;
}
.model .hdr .status .pulse::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1px solid var(--acid);opacity:.4;
  animation:ring 1.8s var(--ease) infinite;
}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes ring{0%{transform:scale(.8);opacity:.5}100%{transform:scale(1.8);opacity:0}}

.model .body{display:grid;grid-template-columns:1.1fr 1fr;gap:0}
.model .specs{padding:32px 28px;border-right:1px solid var(--line)}
.model .specs h4{
  font-family:var(--mono);font-size:11px;color:var(--fg-3);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;
}
.spec-row{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:14px 0;border-bottom:1px dashed var(--line);gap:14px;
}
.spec-row:last-child{border-bottom:none}
.spec-row .k{color:var(--fg-2);font-size:14px}
.spec-row .v{font-family:var(--mono);font-size:13px;color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}
.spec-row .v .acid{color:var(--acid)}
.model .arch{padding:32px 28px;background:radial-gradient(80% 80% at 50% 30%, rgba(122,223,255,.06), transparent);position:relative}
.model .arch h4{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}
.arch-vis{position:relative;height:300px}
.arch-vis svg{width:100%;height:100%;overflow:visible}
@media(max-width:820px){
  .model .body{grid-template-columns:1fr}
  .model .specs{border-right:none;border-bottom:1px solid var(--line)}
}

/* ============================================
   PRODUCT FAMILY
   ============================================ */
.product-family{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.product-card{
  border:1px solid var(--line);border-radius:var(--r-m);
  padding:28px;background:var(--bg-2);
  transition:.3s var(--ease);
  display:flex;flex-direction:column;gap:14px;
  position:relative;overflow:hidden;
}
.product-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(200,255,91,.04), transparent 40%);
  opacity:0;transition:.3s var(--ease);
}
.product-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.product-card:hover::before{opacity:1}
.product-card > *{position:relative;z-index:2}
.product-card .badge{
  font-family:var(--mono);font-size:10px;color:var(--acid);
  border:1px solid rgba(200,255,91,.32);
  padding:4px 8px;border-radius:var(--r-xs);
  align-self:flex-start;letter-spacing:.06em;
}
.product-card .badge.beta{color:var(--sky);border-color:rgba(122,223,255,.35)}
.product-card .badge.legacy{color:var(--fg-3);border-color:var(--line-2)}
.product-card h3{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.02em;font-variation-settings:"opsz" 144, "SOFT" 50}
.product-card p{color:var(--fg-2);font-size:14px;line-height:1.65}
.product-card .meta{
  font-family:var(--mono);font-size:11px;color:var(--fg-3);
  letter-spacing:.04em;margin-top:auto;padding-top:14px;
  border-top:1px dashed var(--line);
}
@media(max-width:820px){.product-family{grid-template-columns:1fr}}

/* ============================================
   ENGINE / FEATURE GRID
   ============================================ */
.engine{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.engine .card{
  border:1px solid var(--line);border-radius:var(--r-m);
  padding:28px;background:var(--bg-2);
  position:relative;overflow:hidden;
  transition:.3s var(--ease);
}
.engine .card:hover{border-color:var(--line-2);transform:translateY(-2px)}
.engine .card .icon{
  width:38px;height:38px;border-radius:var(--r-s);
  display:grid;place-items:center;
  background:var(--acid-tint);color:var(--acid);
  margin-bottom:18px;
  border:1px solid rgba(200,255,91,.2);
}
.engine .card .icon svg{width:18px;height:18px}
.engine .card h3{font-size:18px;letter-spacing:-.015em;font-weight:500;margin-bottom:10px}
.engine .card p{color:var(--fg-2);font-size:14px;line-height:1.65}
.engine .card .meta{
  margin-top:18px;font-family:var(--mono);font-size:11px;
  color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;
}
.engine .c-6{grid-column:span 6}
.engine .c-4{grid-column:span 4}
.engine .c-3{grid-column:span 3}
.engine .c-12{grid-column:span 12}
@media(max-width:980px){.engine .c-6,.engine .c-4,.engine .c-3{grid-column:span 6}}
@media(max-width:600px){.engine .c-6,.engine .c-4,.engine .c-3{grid-column:span 12}}
.engine .feature{
  grid-column:span 12;display:grid;grid-template-columns:1fr 1fr;
  gap:0;padding:0;background:var(--bg-2);overflow:hidden;
}
.engine .feature .left{padding:40px}
.engine .feature .right{
  padding:0;background:#0c0c0e;position:relative;
  border-left:1px solid var(--line);min-height:340px;
}
.engine .feature .right canvas{width:100%;height:100%;display:block}
@media(max-width:820px){
  .engine .feature{grid-template-columns:1fr}
  .engine .feature .right{border-left:none;border-top:1px solid var(--line);min-height:280px}
}

/* ============================================
   COMPUTE / GPU GRID
   ============================================ */
.compute{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.compute .panel{
  border:1px solid var(--line);border-radius:var(--r-l);
  padding:36px;background:var(--bg-2);
  position:relative;overflow:hidden;
}
.compute .panel.dark{background:linear-gradient(160deg, #0c1a16, var(--bg) 60%)}
.compute h3{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.02em;margin-bottom:14px;font-variation-settings:"opsz" 144, "SOFT" 50}
.compute p{color:var(--fg-2);line-height:1.65;margin-bottom:24px}
.gpu-grid{
  display:grid;grid-template-columns:repeat(16,1fr);gap:3px;margin-top:20px;
}
.gpu-cell{aspect-ratio:1;border-radius:2px;background:var(--line);transition:.3s var(--ease)}
.gpu-cell.live{background:var(--acid);box-shadow:0 0 6px rgba(200,255,91,.5)}
.gpu-cell.warm{background:#5a6d2a}
.nvidia-strip{
  margin-top:24px;border-top:1px dashed var(--line);padding-top:20px;
  display:flex;align-items:center;gap:14px;color:var(--fg-2);
  font-size:13px;flex-wrap:wrap;
}
.nvidia-strip .nv{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.08em}
.kpi-grid{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{padding:18px;background:var(--bg-3);border-radius:var(--r-s);border:1px solid var(--line)}
.kpi .k{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase}
.kpi .v{font-size:30px;font-weight:500;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums}
@media(max-width:820px){.compute{grid-template-columns:1fr}}

/* ============================================
   APPLICATIONS QUAD
   ============================================ */
.apps{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-l);overflow:hidden;
}
.apps .app{
  background:var(--bg);padding:44px;
  transition:.3s var(--ease);position:relative;
  min-height:300px;display:flex;flex-direction:column;justify-content:space-between;
}
.apps .app:hover{background:var(--bg-2)}
.apps .app .num{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.1em}
.apps .app h3{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.02em;margin:18px 0 10px;font-variation-settings:"opsz" 144, "SOFT" 50}
.apps .app p{color:var(--fg-2);font-size:14.5px;line-height:1.65}
.apps .app .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.apps .app .tag{
  font-family:var(--mono);font-size:10px;color:var(--fg-2);
  border:1px solid var(--line-2);padding:5px 8px;border-radius:var(--r-xs);
  text-transform:uppercase;letter-spacing:.08em;
}
@media(max-width:720px){.apps{grid-template-columns:1fr}}

/* ============================================
   PAPERS LIST
   ============================================ */
.papers{display:grid;gap:0;border-top:1px solid var(--line)}
.paper{
  display:grid;grid-template-columns:80px 1fr 220px 80px;gap:24px;
  align-items:center;padding:22px 0;
  border-bottom:1px solid var(--line);
  transition:.2s var(--ease);
}
.paper:hover{padding-left:8px;background:linear-gradient(90deg, var(--acid-tint), transparent)}
.paper .id{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.04em}
.paper h4{font-size:17px;letter-spacing:-.015em;font-weight:500;line-height:1.4}
.paper h4 .venue{color:var(--fg-3);font-weight:400;margin-left:8px;font-size:12px;font-family:var(--mono);letter-spacing:.04em}
.paper .authors{color:var(--fg-2);font-size:13px}
.paper .arrow{font-family:var(--mono);font-size:12px;color:var(--fg-3);text-align:right;letter-spacing:.04em}
.paper:hover .arrow{color:var(--acid)}
@media(max-width:820px){
  .paper{grid-template-columns:1fr;gap:6px}
  .paper .authors,.paper .arrow{display:none}
}

/* ============================================
   TEAM
   ============================================ */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.person{
  border:1px solid var(--line);border-radius:var(--r-m);
  padding:24px;background:var(--bg-2);
  transition:.2s var(--ease);
}
.person:hover{border-color:var(--line-2);background:var(--bg-3)}
.person .av{
  width:52px;height:52px;border-radius:50%;
  margin-bottom:18px;
  background:linear-gradient(135deg, #2a2f3d, #161922);
  position:relative;overflow:hidden;
  border:1px solid var(--line-2);
}
.person .av::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 60% at 30% 30%, rgba(200,255,91,.35), transparent 70%);
}
.person.av-2 .av::after{background:radial-gradient(60% 60% at 30% 30%, rgba(122,223,255,.35), transparent 70%)}
.person.av-3 .av::after{background:radial-gradient(60% 60% at 30% 30%, rgba(255,159,107,.35), transparent 70%)}
.person.av-4 .av::after{background:radial-gradient(60% 60% at 30% 30%, rgba(244,228,193,.35), transparent 70%)}
.person.av-5 .av::after{background:radial-gradient(60% 60% at 30% 30%, rgba(255,94,77,.35), transparent 70%)}
.person h4{font-size:15px;font-weight:500;letter-spacing:-.01em}
.person .role{font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-top:4px;letter-spacing:.04em}
.person .bio{color:var(--fg-2);font-size:13px;line-height:1.55;margin-top:14px}
@media(max-width:820px){.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.team{grid-template-columns:1fr}}

/* ============================================
   TIMELINE
   ============================================ */
.timeline{position:relative;padding-left:36px;margin-top:24px}
.timeline::before{
  content:"";position:absolute;left:8px;top:8px;bottom:8px;
  width:1px;background:linear-gradient(180deg, var(--acid), var(--line) 25%, var(--line) 95%, transparent);
}
.tl-item{position:relative;padding:0 0 56px 40px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;left:-32px;top:6px;
  width:14px;height:14px;border-radius:50%;
  background:var(--bg);border:2px solid var(--acid);
  box-shadow:0 0 16px rgba(200,255,91,.4);
}
.tl-item.muted::before{border-color:var(--line-2);box-shadow:none}
.tl-item .yr{
  font-family:var(--mono);font-size:11px;color:var(--acid);
  letter-spacing:.1em;margin-bottom:8px;
}
.tl-item.muted .yr{color:var(--fg-3)}
.tl-item h3{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.02em;line-height:1.15;font-variation-settings:"opsz" 144, "SOFT" 50}
.tl-item h3 em{font-style:italic;color:var(--cream);font-variation-settings:"opsz" 144, "SOFT" 100}
.tl-item p{color:var(--fg-2);line-height:1.7;margin-top:12px;max-width:64ch;font-size:14.5px}
.tl-item ul{
  margin-top:18px;list-style:none;
  display:flex;flex-direction:column;gap:8px;
  color:var(--fg-2);font-size:14px;
}
.tl-item ul li{padding-left:20px;position:relative;line-height:1.55}
.tl-item ul li::before{
  content:"";position:absolute;left:0;top:9px;
  width:10px;height:1px;background:var(--line-3);
}
.tl-item ul li strong{color:var(--fg);font-weight:500}

/* ============================================
   CASE STUDIES
   ============================================ */
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.case{
  border:1px solid var(--line);border-radius:var(--r-l);
  padding:36px;background:var(--bg-2);
  transition:.3s var(--ease);
  display:flex;flex-direction:column;gap:18px;min-height:420px;
  position:relative;overflow:hidden;
}
.case::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent, var(--acid), transparent);
  opacity:0;transition:.3s var(--ease);
}
.case:hover{border-color:var(--line-2);transform:translateY(-3px)}
.case:hover::before{opacity:1}
.case .head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px}
.case .client{font-size:18px;font-weight:500;letter-spacing:-.02em}
.case .industry{font-family:var(--mono);font-size:10px;color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase}
.case h3{font-family:var(--serif);font-weight:300;font-size:26px;letter-spacing:-.02em;line-height:1.2;font-variation-settings:"opsz" 144, "SOFT" 50}
.case h3 em{font-style:italic;color:var(--cream);font-variation-settings:"opsz" 144, "SOFT" 100}
.case h3 .acid{color:var(--acid);font-style:italic}
.case > p{color:var(--fg-2);line-height:1.65;font-size:14px}
.case .metrics{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-top:auto;padding-top:18px;border-top:1px dashed var(--line);
}
.case .metrics .m .v{font-size:24px;font-weight:500;letter-spacing:-.02em;color:var(--acid);font-variant-numeric:tabular-nums}
.case .metrics .m .k{font-family:var(--mono);font-size:10px;color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.case .quote{
  border-left:2px solid var(--acid);padding:6px 0 6px 16px;
  font-family:var(--serif);font-style:italic;font-size:18px;
  line-height:1.4;color:var(--cream);
  font-variation-settings:"opsz" 144, "SOFT" 100;
}
.case .attr{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;margin-top:-8px}
@media(max-width:820px){
  .case-grid{grid-template-columns:1fr}
  .case .metrics{grid-template-columns:1fr 1fr}
}

/* ============================================
   PRESS
   ============================================ */
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.press{
  border:1px solid var(--line);border-radius:var(--r-m);
  padding:26px;background:var(--bg-2);
  transition:.25s var(--ease);
  display:flex;flex-direction:column;gap:14px;min-height:200px;
}
.press:hover{border-color:var(--line-2);transform:translateY(-2px)}
.press .row{display:flex;justify-content:space-between;align-items:baseline}
.press .outlet{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.1em;text-transform:uppercase}
.press .date{font-family:var(--mono);font-size:11px;color:var(--fg-3)}
.press h4{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:21px;letter-spacing:-.015em;line-height:1.3;
  color:var(--cream);
  font-variation-settings:"opsz" 144, "SOFT" 100;
}
.press p{color:var(--fg-2);font-size:13px;line-height:1.6}
.press .arrow{font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-top:auto;letter-spacing:.04em}
.press:hover .arrow{color:var(--acid)}
@media(max-width:820px){.press-grid{grid-template-columns:1fr}}

/* ============================================
   PRESS RELEASES TABLE
   ============================================ */
.releases{display:grid;gap:0;border-top:1px solid var(--line)}
.release{
  display:grid;grid-template-columns:120px 1fr 160px 80px;gap:24px;
  align-items:center;padding:22px 0;
  border-bottom:1px solid var(--line);
  transition:.2s var(--ease);
}
.release:hover{padding-left:8px;background:linear-gradient(90deg, var(--acid-tint), transparent)}
.release .date{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.04em}
.release h4{font-size:16px;letter-spacing:-.015em;font-weight:500;line-height:1.4}
.release .cat{font-family:var(--mono);font-size:10px;color:var(--acid);letter-spacing:.1em;text-transform:uppercase}
.release .arrow{font-family:var(--mono);font-size:12px;color:var(--fg-3);text-align:right;letter-spacing:.04em}
.release:hover .arrow{color:var(--acid)}
@media(max-width:820px){
  .release{grid-template-columns:1fr;gap:6px}
  .release .cat,.release .arrow{display:none}
}

/* ============================================
   JOBS
   ============================================ */
.jobs-list{display:grid;gap:0;border-top:1px solid var(--line)}
.job{
  display:grid;grid-template-columns:1fr 240px 160px 80px;gap:24px;
  align-items:center;padding:24px 0;
  border-bottom:1px solid var(--line);
  transition:.2s var(--ease);
}
.job:hover{padding-left:8px;background:linear-gradient(90deg, var(--acid-tint), transparent)}
.job h4{font-size:17px;letter-spacing:-.015em;font-weight:500}
.job h4 small{display:block;color:var(--fg-3);font-size:12px;font-weight:400;margin-top:4px;font-family:var(--mono);letter-spacing:.04em}
.job .team{font-family:var(--mono);font-size:12px;color:var(--fg-2);letter-spacing:.04em}
.job .loc{color:var(--fg-2);font-size:13px}
.job .arrow{font-family:var(--mono);font-size:12px;color:var(--fg-3);text-align:right;letter-spacing:.04em}
.job:hover .arrow{color:var(--acid)}
@media(max-width:820px){
  .job{grid-template-columns:1fr;gap:6px}
  .job .team,.job .loc,.job .arrow{font-size:12px}
}

/* ============================================
   OFFICES
   ============================================ */
.offices{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.office{
  border:1px solid var(--line);border-radius:var(--r-m);
  padding:28px;background:var(--bg-2);
  position:relative;overflow:hidden;
  min-height:220px;display:flex;flex-direction:column;
  transition:.25s var(--ease);
}
.office:hover{border-color:var(--line-2)}
.office.hq::after{
  content:"HQ";position:absolute;top:14px;right:14px;
  font-family:var(--mono);font-size:10px;color:var(--acid);
  border:1px solid rgba(200,255,91,.32);padding:3px 7px;
  border-radius:var(--r-xs);letter-spacing:.08em;
  background:var(--acid-tint);
}
.office .city{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.025em;font-variation-settings:"opsz" 144, "SOFT" 50}
.office .role{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
.office .addr{color:var(--fg-2);font-size:13px;line-height:1.55;margin-top:auto;padding-top:24px;font-style:normal}
.office .meta{font-family:var(--mono);font-size:10px;color:var(--fg-3);letter-spacing:.04em;margin-top:8px}
@media(max-width:980px){.offices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.offices{grid-template-columns:1fr}}

/* ============================================
   FUNDING ROUNDS
   ============================================ */
.funding{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-l);overflow:hidden;
}
.round{
  background:var(--bg-1);padding:28px;
  display:flex;flex-direction:column;gap:8px;
  transition:.25s var(--ease);
}
.round:hover{background:var(--bg-2)}
.round .stage{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase}
.round .amt{font-family:var(--serif);font-weight:300;font-size:34px;letter-spacing:-.025em;font-variation-settings:"opsz" 144, "SOFT" 50}
.round .amt small{color:var(--fg-2);font-size:14px;font-weight:400;margin-left:4px;font-family:var(--sans)}
.round .lead{color:var(--fg-2);font-size:13px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);line-height:1.5}
.round .yr{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.06em}
@media(max-width:820px){.funding{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.funding{grid-template-columns:1fr}}

/* ============================================
   VALUES
   ============================================ */
.values{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-l);overflow:hidden;
}
.value{
  background:var(--bg-1);padding:40px;
  min-height:260px;display:flex;flex-direction:column;gap:16px;
  transition:.25s var(--ease);
}
.value:hover{background:var(--bg-2)}
.value .num{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.12em}
.value h3{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.02em;line-height:1.2;font-variation-settings:"opsz" 144, "SOFT" 50}
.value h3 em{font-style:italic;color:var(--cream);font-variation-settings:"opsz" 144, "SOFT" 100}
.value p{color:var(--fg-2);font-size:14px;line-height:1.7}
@media(max-width:820px){.values{grid-template-columns:1fr}}

/* ============================================
   BLOG / POSTS
   ============================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post{
  border:1px solid var(--line);border-radius:var(--r-l);
  padding:30px;background:var(--bg-2);
  transition:.3s var(--ease);
  display:flex;flex-direction:column;gap:14px;min-height:300px;
  position:relative;overflow:hidden;
}
.post::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg, transparent, var(--acid), transparent);
  transform:translateX(-100%);transition:.5s var(--ease);
}
.post:hover{border-color:var(--line-2);transform:translateY(-3px)}
.post:hover::before{transform:translateX(100%)}
.post .topic{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.1em;text-transform:uppercase}
.post h3{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:24px;letter-spacing:-.02em;line-height:1.25;
  color:var(--cream);
  font-variation-settings:"opsz" 144, "SOFT" 100;
}
.post p{color:var(--fg-2);font-size:14px;line-height:1.65}
.post .meta{
  font-family:var(--mono);font-size:11px;color:var(--fg-3);
  margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);
  display:flex;justify-content:space-between;letter-spacing:.04em;
}
@media(max-width:820px){.blog-grid{grid-template-columns:1fr}}

/* ============================================
   BENEFITS
   ============================================ */
.benefits{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-l);overflow:hidden;
}
.benefit{
  background:var(--bg-1);padding:28px;
  display:flex;flex-direction:column;gap:10px;min-height:160px;
  transition:.25s var(--ease);
}
.benefit:hover{background:var(--bg-2)}
.benefit .ico{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.12em}
.benefit h4{font-size:16px;letter-spacing:-.015em;font-weight:500}
.benefit p{color:var(--fg-2);font-size:13px;line-height:1.6}
@media(max-width:820px){.benefits{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.benefits{grid-template-columns:1fr}}

/* ============================================
   AWARDS
   ============================================ */
.awards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.award{
  border:1px solid var(--line);border-radius:var(--r-m);
  padding:22px;background:var(--bg-2);
  transition:.25s var(--ease);
}
.award:hover{border-color:var(--line-2)}
.award .yr{font-family:var(--mono);font-size:11px;color:var(--acid);letter-spacing:.08em}
.award h4{font-size:14px;font-weight:500;margin-top:8px;line-height:1.4}
.award p{color:var(--fg-2);font-size:12px;margin-top:6px;line-height:1.55}
@media(max-width:820px){.awards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.awards{grid-template-columns:1fr}}

/* ============================================
   SPEC TABLE
   ============================================ */
table.spec-table{
  width:100%;border-collapse:collapse;
  border:1px solid var(--line);border-radius:var(--r-m);
  overflow:hidden;background:var(--bg-2);
}
table.spec-table th,table.spec-table td{
  text-align:left;padding:14px 18px;
  border-bottom:1px solid var(--line);font-size:14px;
}
table.spec-table th{
  background:var(--bg-3);
  font-family:var(--mono);font-size:11px;font-weight:500;
  color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;
}
table.spec-table tr:last-child td{border-bottom:none}
table.spec-table td.mono{font-family:var(--mono);color:var(--fg-2);font-size:13px}
table.spec-table td.accent{color:var(--acid);font-family:var(--mono);font-size:13px}

/* ============================================
   FINAL CTA
   ============================================ */
.final{
  padding:160px 0;text-align:center;
  position:relative;overflow:hidden;
  border-top:1px solid var(--line);
}
.final::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(50% 70% at 50% 30%, rgba(200,255,91,.08), transparent 70%);
}
.final::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:80px 80px;opacity:.15;
  mask:radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 75%);
}
.final .wrap{position:relative;z-index:2}
.final h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(40px,6.4vw,88px);
  line-height:1;letter-spacing:-.035em;
  max-width:18ch;margin:0 auto;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.final h2 em{font-style:italic;color:var(--cream);font-variation-settings:"opsz" 144, "SOFT" 100}
.final h2 .acid{color:var(--acid);font-style:italic;font-variation-settings:"opsz" 144, "SOFT" 100}
.final p{margin:28px auto 40px;color:var(--fg-2);max-width:48ch;line-height:1.7;font-size:16px}
.final .row-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================
   FOOTER
   ============================================ */
footer{
  border-top:1px solid var(--line);
  padding:64px 0 36px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.012));
}
footer .row{
  display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;
  gap:48px;margin-bottom:64px;
}
footer h5{font-size:13px;font-weight:500;margin-bottom:16px;letter-spacing:-.005em}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer ul a{color:var(--fg-2);font-size:13px;transition:.2s var(--ease)}
footer ul a:hover{color:var(--fg)}
footer .brand-block .brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:-.02em;font-size:16px;margin-bottom:16px}
footer .brand-block .brand .mark{
  width:24px;height:24px;border-radius:6px;
  background:radial-gradient(120% 120% at 30% 20%, var(--acid) 0, #5e7a14 55%, #1c2509 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
footer .brand-block p{color:var(--fg-2);font-size:13px;line-height:1.65;max-width:38ch}
footer .brand-block .socials{display:flex;gap:10px;margin-top:18px}
footer .brand-block .socials a{
  width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);display:grid;place-items:center;
  color:var(--fg-2);transition:.2s var(--ease);
}
footer .brand-block .socials a:hover{border-color:var(--acid);color:var(--acid)}
footer .brand-block .socials svg{width:14px;height:14px}
footer .meta{
  padding-top:28px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
  color:var(--fg-3);font-size:12px;font-family:var(--mono);
  flex-wrap:wrap;gap:16px;letter-spacing:.04em;
}
footer .meta .live{display:flex;align-items:center;gap:8px}
footer .meta .live .dot{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px var(--acid);animation:pulse 1.8s infinite}
@media(max-width:980px){footer .row{grid-template-columns:1fr 1fr 1fr;gap:32px}}
@media(max-width:560px){footer .row{grid-template-columns:1fr 1fr}}

/* ============================================
   REVEAL ON SCROLL
   ============================================ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal-stagger > *{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal-stagger.in > *{opacity:1;transform:none}
.reveal-stagger.in > *:nth-child(1){transition-delay:0ms}
.reveal-stagger.in > *:nth-child(2){transition-delay:60ms}
.reveal-stagger.in > *:nth-child(3){transition-delay:120ms}
.reveal-stagger.in > *:nth-child(4){transition-delay:180ms}
.reveal-stagger.in > *:nth-child(5){transition-delay:240ms}
.reveal-stagger.in > *:nth-child(6){transition-delay:300ms}
.reveal-stagger.in > *:nth-child(7){transition-delay:360ms}
.reveal-stagger.in > *:nth-child(8){transition-delay:420ms}

/* ============================================
   UTILITIES
   ============================================ */
.muted{color:var(--fg-2)}
.mono{font-family:var(--mono)}
.serif{font-family:var(--serif);font-style:italic}
.acid{color:var(--acid)}
.cream{color:var(--cream)}
.col-2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media(max-width:820px){.col-2{grid-template-columns:1fr;gap:24px}}

.banner{
  margin-top:24px;border:1px solid var(--line);
  border-radius:var(--r-m);padding:14px 20px;
  display:flex;align-items:center;gap:16px;
  background:linear-gradient(90deg, var(--acid-tint), transparent);
  font-size:13px;color:var(--fg-2);
}
.banner .badge{
  font-family:var(--mono);font-size:10px;color:var(--acid);
  border:1px solid rgba(200,255,91,.32);padding:4px 8px;
  border-radius:var(--r-xs);letter-spacing:.08em;flex-shrink:0;
}
.banner a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.banner a:hover{text-decoration-color:var(--acid)}

/* prose */
.prose{max-width:68ch;font-size:16px;line-height:1.75;color:var(--fg-2)}
.prose h2{font-family:var(--serif);font-weight:400;color:var(--fg);font-size:32px;letter-spacing:-.02em;margin-top:48px;margin-bottom:18px;font-variation-settings:"opsz" 144, "SOFT" 50}
.prose h3{font-size:20px;font-weight:500;color:var(--fg);margin-top:32px;margin-bottom:12px}
.prose p{margin-bottom:18px}
.prose a{color:var(--acid);border-bottom:1px solid var(--line-2);transition:.2s var(--ease)}
.prose a:hover{border-color:var(--acid)}
.prose blockquote{border-left:2px solid var(--acid);padding-left:20px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--cream);margin:24px 0;font-variation-settings:"opsz" 144, "SOFT" 100}
