/* ==========================================================================
   Design tokens: única fonte de cores, tipografia, espaço, forma e movimento.
   Nenhum valor arbitrário fora daqui. Ver docs/02-direcao-de-arte.md
   ========================================================================== */

:root {
  /* Paleta oficial */
  --brown-700: #6B4429;
  --brown-900: #4A2E1B;
  --beige-200: #F1E6D3;
  --olive-500: #7D8C6A;
  --ink-900: #3A2A1D;
  /* ink-500 e olive-600 foram escurecidos para passar 4.5:1 também sobre as
     superfícies quentes (beige-200 e sand-100), não só sobre o off-white. */
  --ink-500: #74644F;

  /* Extensões derivadas */
  --cream-50: #FBF8F2;
  --cream-100: #F7F0E4;
  --beige-300: #E6D7BE;
  --beige-400: #D4C0A1;
  --sand-100: #F4EADA;
  --ink-600: #6E5F4C; /* microcopy: 5.1:1 sobre beige-200, 6.0:1 sobre cream-50 */
  --brown-800: #5A3822;
  --brown-950: #2F1D11;
  --olive-300: #A8B394;
  --olive-600: #59654E;
  --olive-200: #CBD2BD;
  --white: #FFFFFF;

  /* Semânticos (tema claro padrão) */
  --bg: var(--cream-50);
  --bg-alt: var(--cream-100);
  --bg-warm: var(--beige-200);
  --surface: var(--sand-100);
  --text: var(--ink-900);
  --text-muted: var(--ink-500);
  --text-note: var(--ink-600);
  --accent: var(--olive-500);
  --accent-strong: var(--olive-600);
  --primary: var(--brown-700);
  --primary-hover: var(--brown-800);
  --on-primary: var(--cream-50);
  --line: var(--beige-300);
  --line-strong: var(--beige-400);
  --focus: var(--olive-600);

  /* Vidro e sombras */
  --glass-bg: rgba(251, 248, 242, 0.72);
  --glass-line: rgba(107, 68, 41, 0.12);
  --glass-blur: 14px;
  --shadow-sm: 0 6px 16px -10px rgba(74, 46, 27, 0.35);
  --shadow-md: 0 18px 40px -18px rgba(74, 46, 27, 0.35);
  --shadow-lg: 0 32px 70px -28px rgba(47, 29, 17, 0.45);

  /* Tipografia */
  --font-display: "Bricolage Grotesque", "Bricolage Fallback", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-body: "Figtree", "Figtree Fallback", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --fs-h1: clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem);
  --fs-h2: clamp(1.85rem, 1.2rem + 2.4vw, 3rem);
  --fs-h3: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
  --fs-lead: clamp(1.1rem, 1rem + 0.5vw, 1.35rem);
  --fs-body: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
  --fs-small: 0.95rem;
  --fs-eyebrow: 0.78rem;
  --fs-display-quote: clamp(1.5rem, 1.1rem + 1.6vw, 2.4rem);

  --lh-tight: 1.05;
  --lh-snug: 1.15;
  --lh-body: 1.65;

  --track-tight: -0.015em;
  --track-eyebrow: 0.12em;

  /* Espaço (escala de 4px) */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 2.5rem;
  --sp-8: 3rem;
  --sp-9: 4rem;
  --sp-10: 5rem;
  --sp-11: 6rem;
  --sp-12: 8rem;
  --section-y: clamp(4.5rem, 4rem + 5vw, 9rem);
  --section-y-sm: clamp(3rem, 2.5rem + 3vw, 5.5rem);

  /* Layout */
  --container: 80rem;
  --container-narrow: 62rem;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --measure: 62ch;
  --header-h: 4.5rem;

  /* Forma */
  --r-sm: 10px;
  --r-md: 18px;
  --r-lg: 28px;
  --r-pill: 999px;

  /* Movimento */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur: 320ms;
  --dur-slow: 700ms;

  /* Camadas */
  /* O menu fica ABAIXO do cabeçalho de propósito: é o cabeçalho que segura a
     logo e o botão de fechar enquanto o menu está aberto. Se o menu subir
     acima, ele cobre os dois. */
  --z-menu: 40;
  --z-header: 50;
  --z-float: 60;
}

/* Tema escuro por seção: basta aplicar .theme-dark no <section> */
.theme-dark {
  --bg: var(--brown-900);
  --bg-alt: var(--brown-950);
  --bg-warm: var(--brown-800);
  --surface: rgba(255, 255, 255, 0.06);
  --text: var(--beige-200);
  --text-muted: rgba(241, 230, 211, 0.72);
  --text-note: rgba(241, 230, 211, 0.78);
  --accent: var(--olive-300);
  --accent-strong: var(--olive-300);
  --primary: var(--beige-200);
  --primary-hover: var(--white);
  --on-primary: var(--brown-900);
  --line: rgba(241, 230, 211, 0.16);
  --line-strong: rgba(241, 230, 211, 0.28);
  --focus: var(--olive-300);
  --glass-bg: rgba(74, 46, 27, 0.55);
  --glass-line: rgba(241, 230, 211, 0.14);
  color: var(--text);
  background: var(--bg);
}

/* Superfície bege quente por seção */
.theme-warm {
  --bg: var(--beige-200);
  --bg-alt: var(--sand-100);
  --surface: var(--cream-50);
  --line: var(--beige-400);
  background: var(--bg);
}
