:root {
  /* ── color ───────────────────────────────────────── */
  --ink-0: #000000;
  --ink-1: #07090f;
  --ink-2: #0f131c;
  --ink-3: #171c28;

  --paper-0: #e9e9e7;
  --paper-1: #ffffff;

  --line: rgba(255, 255, 255, 0.14);
  --line-dark: rgba(0, 0, 0, 0.16);

  --fg: #ffffff;
  --fg-dim: rgba(255, 255, 255, 0.58);
  --fg-faint: rgba(255, 255, 255, 0.3);

  --fg-ink: #0b0d12;
  --fg-ink-dim: rgba(11, 13, 18, 0.62);

  --brand: #0b1e4b;
  --brand-lift: #1b3a86;
  --accent: #ff3b30;
  --gold: #c8a24a;
  --glow: #2a3a6b;

  /* ── type ────────────────────────────────────────── */
  /* One family throughout. Role separation comes from weight, tracking and
     tabular figures instead of from a second typeface. */
  --f-sans: "Pretendard Variable", "Pretendard", system-ui, -apple-system, sans-serif;
  --f-display: var(--f-sans);
  --f-serif: var(--f-sans);
  --f-mono: var(--f-sans);

  --t-mega: clamp(1.9rem, 6.2vw, 6.75rem);
  --t-xl: clamp(2.2rem, 6vw, 5.5rem);
  --t-lg: clamp(1.6rem, 3.4vw, 3rem);
  --t-md: clamp(1.1rem, 1.6vw, 1.5rem);
  --t-body: clamp(0.95rem, 1.05vw, 1.0625rem);
  --t-sm: 0.875rem;
  --t-micro: 0.6875rem;

  /* ── layout ──────────────────────────────────────── */
  --max: 1680px;
  --gutter: clamp(1.25rem, 3.5vw, 3.5rem);
  --rail: 58px;

  /* ── motion ──────────────────────────────────────── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-io: cubic-bezier(0.76, 0, 0.24, 1);
}

@media (max-width: 767px) {
  :root {
    --rail: 0px;
  }
}
