/* ============================================================
   ESTUDIO RETÓRICA · Design Tokens
   Línea visual basada en negro + amarillo de marca.
   ============================================================ */

:root {
  --brand-yellow: #FEEA00;
  --brand-yellow-600: #E2CE00;
  --brand-yellow-50: #FFFCE1;
  --brand-black: #050505;
  --brand-black-900: #000000;
  --brand-black-800: #0B0B0B;
  --brand-black-700: #131313;
  --brand-black-600: #1E1E1E;
  --brand-white: #FFFFFF;
  --brand-gray-50: #F7F7F7;
  --brand-gray-100: #EEEEEE;
  --brand-gray-200: #DDDDDD;
  --brand-gray-300: #BBBBBB;
  --brand-gray-500: #7A7A7A;

  --bg: var(--brand-white);
  --bg-subtle: var(--brand-gray-50);
  --bg-muted: var(--brand-gray-100);
  --bg-invert: var(--brand-black);

  --fg: var(--brand-black);
  --fg-muted: #4F4F4F;
  --fg-soft: #6B6B6B;
  --fg-invert: var(--brand-white);

  --border: rgba(0,0,0,0.12);
  --border-strong: rgba(0,0,0,0.82);
  --border-invert: rgba(255,255,255,0.16);

  --accent: var(--brand-yellow);
  --accent-strong: var(--brand-yellow-600);

  --font-sans: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-display: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-20: 1.25rem;
  --fs-24: 1.5rem;
  --fs-28: 1.75rem;
  --fs-32: 2rem;
  --fs-40: 2.5rem;
  --fs-48: 3rem;
  --fs-56: 3.5rem;
  --fs-72: 4.5rem;
  --fs-96: 6rem;
  --fs-128: 8rem;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  --lh-tight: 1;
  --lh-snug: 1.15;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  --tracking-tight: -0.04em;
  --tracking-snug: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.12em;

  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --sp-32: 128px;

  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-2xl: 36px;
  --r-pill: 999px;

  --shadow-sm: 0 4px 14px rgba(0,0,0,0.06);
  --shadow-md: 0 10px 30px rgba(0,0,0,0.10);
  --shadow-lg: 0 20px 50px rgba(0,0,0,0.16);
  --shadow-xl: 0 28px 72px rgba(0,0,0,0.24);
  --shadow-yellow: 0 14px 40px rgba(254,234,0,0.18);

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-spring: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 120ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;

  --container-narrow: 760px;
  --container-base: 1180px;
  --container-wide: 1360px;

  --z-nav: 100;
  --z-overlay: 200;
  --z-modal: 300;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-16);
  line-height: var(--lh-normal);
  color: var(--fg);
  background: var(--bg);
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, p, figure, ul { margin: 0; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--brand-yellow); color: var(--brand-black); }
