/* =========================================================================
   RWA '11 — 15 Year Reunion
   Colors & Type tokens
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo+Black&family=Inter:wght@400;500;600;700&family=Caveat:wght@400;600&display=swap');

:root {
  /* ---------- Color: brand primaries ---------- */
  --burgundy:        #6B3A3A;
  --burgundy-deep:  #5A2F30;
  --burgundy-ink:   #3D2122;

  /* ---------- Color: institutional navy (RWA school color) ---------- */
  --navy:           #002855;
  --navy-deep:      #001A3A;
  --navy-soft:      #1B3A66;

  /* ---------- Color: warm neutrals ---------- */
  --paper:          #F5F1EB;
  --greige:         #E2DDD6;
  --cream:          #D9D0C8;
  --taupe:          #A09A90;
  --pencil:         #B0ADA8;

  /* ---------- Color: ink ---------- */
  --ink:            #1A1A1A;
  --ink-soft:       #2C2A28;
  --white:          #FFFFFF;

  /* ---------- Color: semantic foreground/background ---------- */
  --bg:             var(--paper);
  --bg-alt:         var(--greige);
  --bg-invert:      var(--burgundy);

  --fg-1:           var(--ink);
  --fg-2:           #4A4845;
  --fg-3:           var(--taupe);
  --fg-invert-1:    var(--white);
  --fg-invert-2:    var(--cream);

  --border:         rgba(26, 26, 26, 0.12);
  --border-strong:  rgba(26, 26, 26, 0.28);
  --border-invert:  rgba(255, 255, 255, 0.18);

  /* ---------- Type: families ---------- */
  --font-display-condensed: 'Anton', 'Oswald', 'Bebas Neue', sans-serif;
  --font-display-chunky:    'Archivo Black', 'Inter', sans-serif;
  --font-body:              'Inter', system-ui, sans-serif;
  --font-script:            'Caveat', 'Bradley Hand', cursive;

  /* ---------- Type: scale (px) ---------- */
  --fs-d1: 96px;
  --fs-d2: 64px;
  --fs-d3: 44px;
  --fs-h1: 36px;
  --fs-h2: 28px;
  --fs-h3: 22px;
  --fs-body: 17px;
  --fs-small: 14px;
  --fs-micro: 12px;

  /* ---------- Type: line-height & tracking ---------- */
  --lh-tight: 0.95;
  --lh-display: 1.05;
  --lh-snug: 1.25;
  --lh-body: 1.55;
  --tracking-tight: -0.01em;
  --tracking-display: -0.02em;
  --tracking-wide: 0.08em;
  --tracking-caps: 0.12em;

  /* ---------- Spacing scale (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;

  /* ---------- Radii (rounded) ---------- */
  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  /* ---------- Shadow ---------- */
  --shadow-card:   0 1px 2px rgba(26,26,26,0.06), 0 8px 24px rgba(26,26,26,0.08);
  --shadow-press:  inset 0 1px 0 rgba(255,255,255,0.06), 0 1px 0 rgba(26,26,26,0.18);
  --shadow-paper:  0 2px 0 rgba(26,26,26,0.04), 0 18px 40px -12px rgba(61,33,34,0.22);
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--fg-1);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.display-1, h1.display {
  font-family: var(--font-display-condensed);
  font-size: var(--fs-d1);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-display);
  text-transform: uppercase;
  font-weight: 400;
}

.display-2, h1 {
  font-family: var(--font-display-chunky);
  font-size: var(--fs-d2);
  line-height: var(--lh-display);
  letter-spacing: var(--tracking-tight);
  font-weight: 900;
}

h2 {
  font-family: var(--font-display-chunky);
  font-size: var(--fs-h1);
  line-height: 1.1;
  letter-spacing: var(--tracking-tight);
  font-weight: 900;
}

h3 {
  font-family: var(--font-body);
  font-size: var(--fs-h3);
  line-height: 1.25;
  font-weight: 700;
}

p { margin: 0 0 1em 0; }

.eyebrow, .label {
  font-family: var(--font-body);
  font-size: var(--fs-micro);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
}

.script {
  font-family: var(--font-script);
  font-weight: 600;
}

code, .mono {
  font-family: 'IBM Plex Mono', 'JetBrains Mono', monospace;
  font-size: 0.92em;
}

.on-burgundy { color: var(--fg-invert-1); }
.on-burgundy-soft { color: var(--fg-invert-2); }
.on-light { color: var(--fg-1); }
.on-light-soft { color: var(--fg-2); }
