/* MARS Policy — design tokens (v8)
   Warm-shifted dark palette + Newsreader serif body for paper-grade
   readability. Three-level text hierarchy.
   Single source of truth for color, type, spacing, motion. */

:root {
  /* --- color (v8: 3-level text hierarchy) --- */
  --bg:             #0F0F11;
  --bg-elev:        #16161A;
  --bg-elev-2:      #1C1C21;
  --border:         #26262C;
  --border-strong:  #34343C;
  --text-display:   #F4F0E8;
  --text:           #DAD5CA;
  --text-soft:      #D3CDC0;
  --text-muted:     #BCB4A5;
  --accent:         #FF6B5A;
  --accent-soft:    rgba(255, 107, 90, 0.16);
  --accent-line:    rgba(255, 107, 90, 0.5);
  --accent-warm:    #D9D2C0;

  /* --- type (Oswald condensed for HERO title only · Playfair Display for section headings · Cormorant Garamond body) --- */
  --display:        'Oswald', 'Arial Narrow', 'Helvetica Neue', sans-serif;
  --display-serif:  'Playfair Display', 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --serif-display:  'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --serif-body:     'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --sans:           'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont,
                    'SF Pro Text', 'Helvetica Neue', system-ui, sans-serif;
  --mono:           'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* Legacy alias — kept so any unmigrated rule still resolves */
  --serif: var(--serif-body);

  --text-xs:   14px;
  --text-sm:   16px;
  --text-base: 22px;
  --text-lg:   23px;
  --text-xl:   26px;
  --text-2xl:  31px;
  --text-3xl:  42px;
  --text-4xl:  58px;
  --hero:      clamp(40px, 9.5vw, 184px);
  --section-h: clamp(30px, 4.6vw, 64px);

  --leading-tight:  1.08;
  --leading-snug:   1.25;
  --leading-normal: 1.72;
  --leading-loose:  1.85;

  --tracking-tight:  -0.045em;
  --tracking-normal: 0;
  --tracking-wide:   0.08em;
  --tracking-wider:  0.22em;

  /* --- spacing (4px base) --- */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  24px;
  --s-6:  32px;
  --s-7:  48px;
  --s-8:  64px;
  --s-9:  96px;
  --s-10: 128px;
  --s-11: 160px;
  --section-gap: min(9vw, 128px);
  --container-w: 1240px;
  --container-pad: clamp(20px, 4vw, 56px);
  --nav-height: 64px;

  /* --- radii --- */
  --r-sm:   4px;
  --r-md:   8px;
  --r-lg:   12px;
  --r-xl:   20px;
  --r-full: 9999px;

  /* --- motion --- */
  --ease:       cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-out:   cubic-bezier(0.25, 1, 0.5, 1);
  --d-fast:     140ms;
  --d-base:     220ms;
  --d-slow:     360ms;

  /* --- depth --- */
  --shadow-card: 0 0 0 1px var(--border), 0 24px 60px -30px rgba(0, 0, 0, 0.85);
  --shadow-elev: 0 0 0 1px var(--border-strong), 0 32px 80px -32px rgba(0, 0, 0, 0.95);

  /* --- grain (SVG noise inline) --- */
  --grain-url: 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='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.93  0 0 0 0 0.92  0 0 0 0 0.89  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
