:root {
  /* Cor. O fundo é sempre branco; seções se separam por fio, não por fundo. */
  --bg: #ffffff;
  --ink: #100f0c;
  --ink-2: rgba(16, 15, 12, 0.62);
  --ink-3: rgba(16, 15, 12, 0.45);
  --line: rgba(16, 15, 12, 0.12);
  --line-strong: rgba(16, 15, 12, 0.22);
  --surface: #f6f6f4;
  --accent: #1f6a44;
  --accent-soft: rgba(31, 106, 68, 0.1);

  /* Tipografia */
  --font-sans: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --fs-12: 0.75rem;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-20: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
  --fs-24: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --fs-32: clamp(1.5rem, 1.2rem + 1.3vw, 2rem);
  --fs-48: clamp(2rem, 1.4rem + 2.6vw, 3rem);
  --fs-display: clamp(2.5rem, 1.4rem + 4.8vw, 5.25rem);

  --tracking-display: -0.045em;
  --tracking-title: -0.03em;

  /* Espaço */
  --gutter: clamp(16px, 4vw, 48px);
  --max: 1320px;
  --max-text: 68ch;
  --section-y: clamp(72px, 9vw, 144px);

  --header-h: 76px;
  --header-h-compact: 60px;

  --radius: 10px;
  --radius-lg: 16px;

  /* Movimento */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-1: 160ms;
  --dur-2: 320ms;
  --dur-3: 640ms;
}

@media (max-width: 960px) {
  :root {
    --header-h: 64px;
    --header-h-compact: 56px;
  }
}
