/* CV — design tokens: color, type, spacing, motion */

:root {
  /* color — neutral, swappable palette */
  --bg: #f5f5f3;
  --bg-raised: #ececea;
  --ink: #16161a;
  --ink-soft: #55555c;
  --line: #dcdcd8;
  --line-soft: #e8e8e5;
  --accent: #1a92a3;
  --accent-soft: #6bc1cc;
  --paper: #ffffff;

  /* dark section variant (projects) */
  --dark-bg: #101014;
  --dark-bg-raised: #191920;
  --dark-ink: #f2f2f0;
  --dark-ink-soft: #a3a3ab;
  --dark-line: #2a2a30;

  --focus-ring: #1a92a3;

  /* type */
  --font-display: "Heebo", "Segoe UI", sans-serif;
  --font-body: "Heebo", "Segoe UI", sans-serif;

  --step-2xl: clamp(2.5rem, 1.6rem + 4.2vw, 6rem);
  --step-xl: clamp(2rem, 1.4rem + 2.4vw, 3.75rem);
  --step-lg: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  --step-md: clamp(1.15rem, 1.02rem + 0.6vw, 1.5rem);
  --step-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  --step-sm: 0.875rem;
  --step-xs: 0.75rem;

  /* spacing scale */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2.5rem;
  --sp-5: 4rem;
  --sp-6: 6.5rem;
  --sp-7: 9rem;

  --container: 75rem;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --identity-width: 19rem;

  --radius-sm: 6px;
  --radius: 14px;
  --radius-lg: 28px;
  --border: 1px solid var(--line);

  /* motion */
  --ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 0.35s;
  --dur-med: 0.7s;
  --dur-slow: 1.1s;
}
