/* DC Digital — production design tokens.
   Source: DC Digital Design System (bound) + the website motion/slash extension.
   Fonts: self-host /assets/fonts (Archivo variable 700–900, Poppins 300/400/500/600). */

@font-face{font-family:'Archivo';font-weight:700 900;font-display:swap;src:url('assets/fonts/archivo-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-weight:700 900;font-display:swap;src:url('assets/fonts/archivo-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-weight:300;font-display:swap;src:url('assets/fonts/poppins-300-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:400;font-display:swap;src:url('assets/fonts/poppins-400-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:500;font-display:swap;src:url('assets/fonts/poppins-500-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:600;font-display:swap;src:url('assets/fonts/poppins-600-latin.woff2') format('woff2')}

:root{
  /* Colour — core (60% Paper · 30% Ink · 10% Blue) */
  --dc-ink:#0E0F12; --dc-paper:#F6F6F4; --dc-white:#FFFFFF; --dc-blue:#2F5BFF;
  /* Supporting */
  --dc-deep-blue:#1A3FD6;   /* hover / pressed */
  --dc-signal-blue:#4F75FF; /* blue on Ink */
  --dc-graphite:#55565C;    /* secondary text on Paper */
  --dc-silver:#B9BAC0;      /* secondary text on Ink */
  --dc-stone:#E1E1DC;       /* hairlines on Paper */
  /* Website extension — Ink surfaces */
  --dc-ink-2:#1A1B20;       /* panels / inactive tiles on Ink */
  --dc-ink-3:#2A2B31;       /* hairlines on Ink */
  --dc-panel:#131418;       /* demo panels on Ink */
  /* Tints (charts, highlights) */
  --dc-blue-75:#6D8BFF; --dc-blue-50:#97ADFF; --dc-blue-25:#C1CEFF; --dc-blue-10:#E5EBFF;

  /* Type */
  --font-display:'Archivo',system-ui,sans-serif; /* before the slash, headings, metrics */
  --font-body:'Poppins',system-ui,sans-serif;    /* interface, body, the word after the slash (300) */
  --lockup-s:min(15vw,232px);          /* hero DC size, desktop */
  --lockup-s-mobile:34vw;              /* stacked lockup on mobile */
  --lockup-word:0.345em;               /* word after slash = 0.345 × S (0.25 on mobile) */
  --lockup-word-track:0.34em;          /* 0.28em on mobile */
  --text-display:clamp(44px,7.4vw,124px); /* Archivo 900 / 0.94 / -0.045em */
  --text-section:clamp(32px,3.4vw,52px);  /* Archivo 800 / 1.05 / -0.025em */
  --text-h3:clamp(22px,2vw,30px);         /* Archivo 800 / 1.15 / -0.02em  (UI: Poppins 600 20/1.4) */
  --text-lead:clamp(18px,1.55vw,23px);    /* Poppins 400 / 1.45 */
  --text-body:16px;                       /* Poppins 400 / 1.6 */
  --text-small:14px; --text-caption:13px;
  --text-label:12px; --track-label:0.14em; /* Poppins 500 uppercase */

  /* Space & grid */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:48px; --space-12:72px; --space-14:96px; --space-16:120px; --space-18:144px;
  --frame-max:1440px; --margin:clamp(20px,4.4vw,72px); --gutter:20px;
  --cols-desktop:12; --cols-mobile:4;
  --section-pad:120px; --section-pad-chapter:144px; --section-pad-mobile:72px; --section-pad-chapter-mobile:88px;

  /* Geometry */
  --radius:0; --rule:1px solid var(--dc-stone); --rule-ink:1px solid var(--dc-ink-3);
  --shadow-overlay:0 12px 40px rgba(14,15,18,.18); /* overlays only */
  --focus-ring:2px solid var(--dc-blue); --focus-offset:3px;

  /* The slash */
  --slash-skew:skewX(-18deg);  /* never mirrored or re-angled */
  --slash-bar:0.165em;         /* bar width relative to DC size */
  --slash-height:0.86em;
  --slash-gap-before:0.19em; --slash-gap-after:0.25em;
  --slash-micro:4px;           /* cursor / indicators: 3–6px */
  --slash-gradient-angle:108deg; /* 90° + 18° — for angled wipes via linear-gradient */

  /* Motion */
  --ease-ui:cubic-bezier(.2,.7,.2,1);     /* micro: hover, focus, colour */
  --ease-out:cubic-bezier(.16,1,.3,1);    /* expo-out: arrivals, reveals, nav morph */
  --ease-in:cubic-bezier(.7,0,.84,0);     /* expo-in: departures */
  --ease-in-out:cubic-bezier(.76,0,.24,1);/* quart: wipes, masks, menu */
  --dur-micro:160ms; --dur-ui:420ms; --dur-brand:900ms;
  --dur-wipe-cover:520ms; --dur-wipe-reveal:600ms;
  --stagger:26ms; /* per character in tickers; 60–90ms per item in lists; max total 400ms */

  /* Layers */
  --z-float:40; --z-nav:50; --z-menu:54; --z-dock:56; --z-cursor:9998; --z-wipe:9999;
}
