/**
 * Webarkitekt v3 — design tokens
 * Imported first by base.css. Defines all colors, typography, radii, layout vars.
 */
:root {
  /* surface — warm off-white system */
  --wa-bg:        #FAF8F5;
  --wa-bg-alt:    #F2EEE7;

  /* ink */
  --wa-ink:       #0A0A0A;
  --wa-ink-soft:  #2A2A28;
  --wa-muted:     #6B6962;

  /* lines */
  --wa-line:      #D8D2C7;

  /* accent — terracotta (USE SPARINGLY) */
  --wa-terra:      #D67A56;
  --wa-terra-deep: #B4583A;

  /* the dark feature section only */
  --wa-dark-bg:   #0E0E10;
  --wa-dark-ink:  #ECE7DD;
  --wa-dark-mut:  #B8B3A8;
  --wa-dark-line: rgba(255,255,255,0.08);

  /* type */
  --wa-font-display: 'Instrument Serif', Georgia, serif;
  --wa-font-body:    'Inter', system-ui, -apple-system, sans-serif;
  --wa-font-mono:    'JetBrains Mono', 'SF Mono', Menlo, monospace;

  /* radii */
  --wa-radius-sm: 4px;
  --wa-radius-md: 16px;
  --wa-radius-lg: 24px;
  --wa-radius-pill: 999px;

  /* layout */
  --wa-page-max:  1320px;
  --wa-page-pad:  40px;

  /* timing */
  --wa-ease: cubic-bezier(.2, .8, .2, 1);
}

/* utilities */
.wa-display     { font-family: var(--wa-font-display); font-weight: 400; letter-spacing: -0.025em; line-height: 0.98; color: var(--wa-ink); }
.wa-display em  { font-style: italic; color: var(--wa-terra-deep); }
.wa-body        { font-family: var(--wa-font-body); font-weight: 400; line-height: 1.55; color: var(--wa-ink-soft); }
.wa-mono        { font-family: var(--wa-font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wa-muted); }
.wa-section-num { font-family: var(--wa-font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.08em; color: var(--wa-terra-deep); text-transform: uppercase; }

/* reveal-on-scroll — required by reveal.js */
[data-wa-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 800ms var(--wa-ease),
              transform 800ms var(--wa-ease);
}
[data-wa-reveal].is-revealed {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  [data-wa-reveal] { transition: none; opacity: 1; transform: none; }
}
