/* ==========================================================================
   ClassEd brand tokens — the ONE source for the marketing site and the /brand/ page.
   Spec + rationale: website/brand/DESIGN-SYSTEM.md. Change a value here, never in a page.
   Idea: cool light = the AI at work · warm light = a person deciding · deep ink = the stage.
   Served with ?v=N (assets are cached for a year) — bump N on every change.
   ========================================================================== */
@font-face{font-family:'Inter Tight';font-weight:600;font-display:swap;src:url(/assets/fonts/inter-tight-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Inter Tight';font-weight:700;font-display:swap;src:url(/assets/fonts/inter-tight-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Inter Tight';font-weight:800;font-display:swap;src:url(/assets/fonts/inter-tight-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2')}

:root{
  /* ink — the stage (dark surfaces, darkest first) */
  --ink-950:#05060B; --ink-900:#0A0C14; --ink-850:#0E1120; --ink-800:#131729; --ink-700:#1C2138; --ink-600:#2A3050;
  /* text on ink (contrast on --ink-950, measured: 17.8 · 9.2 · 5.4 : 1; --text-3 on --ink-800 4.75 : 1) */
  --text:#EEF0FA; --text-2:#A9AEC6; --text-3:#7D839E;
  --hair:rgba(255,255,255,.08); --hair-2:rgba(255,255,255,.14);

  /* signal — the AI (cool). Indigo is the brand primary. */
  --indigo:#6D6BFF; --indigo-soft:#9C9BFF; --violet:#A78BFA; --cyan:#3DDCFF;
  /* human — a person decides (warm). Used ONLY for approval, control and people moments. */
  --amber:#FFB547; --amber-soft:#FFD08A;
  /* state */
  --ok:#3DDC97; --bad:#FF8A8A;

  /* paper — the light surface */
  --paper:#F6F7FB; --paper-2:#ECEEF6; --paper-ink:#0B0D17; --paper-muted:#4A5068; --paper-line:#D5D9E6; --paper-link:#4B48E8;

  /* the one gradient (logo ring, hairline borders, signal glows — never body text) */
  --signal:linear-gradient(120deg,#6D6BFF 0%,#A78BFA 50%,#3DDCFF 100%);
  --aurora:radial-gradient(60% 50% at 20% 20%,rgba(109,107,255,.35),transparent 70%),
           radial-gradient(50% 45% at 80% 10%,rgba(61,220,255,.18),transparent 70%),
           radial-gradient(55% 50% at 60% 90%,rgba(167,139,250,.22),transparent 70%);

  /* type */
  --display:'Inter Tight','Inter','Segoe UI',system-ui,sans-serif;
  --body:'Inter','Segoe UI',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --t-hero:clamp(3.25rem,1.6rem + 7vw,8rem);
  --t-h2:clamp(2.25rem,1.3rem + 4vw,4.75rem);
  --t-h3:clamp(1.375rem,1.1rem + 1vw,1.875rem);
  --t-lead:clamp(1.125rem,1rem + .6vw,1.4375rem);
  --t-body:1.0625rem; --t-small:.9375rem; --t-label:.75rem;

  /* space + shape */
  --gutter:clamp(1.25rem,5vw,4rem); --wide:78rem; --wrap:64rem; --section:clamp(6rem,4rem + 8vw,11rem);
  --r-s:.625rem; --r-m:1rem; --r-l:1.5rem; --r-xl:2rem; --r-pill:999px;

  /* motion — one curve family, three durations, no overshoot */
  --ease:cubic-bezier(.4,0,.2,1); --out:cubic-bezier(.16,1,.3,1);
  --d-fast:160ms; --d-base:320ms; --d-slow:720ms;

  /* depth */
  --glow:0 0 0 1px rgba(109,107,255,.35),0 12px 60px -12px rgba(109,107,255,.55);
  --lift:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px var(--hair);
}
