/* Pitágoras Cloud — tokens compilados desde tokens.json. No editar a mano: la fuente es tokens.json. */
@font-face { font-family: "Bricolage Grotesque"; src: url("/fonts/BricolageGrotesque-Variable-latin.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("/fonts/Manrope-Variable-latin.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("/fonts/JetBrainsMono-Variable-latin.woff2") format("woff2"); font-weight: 100 800; font-style: normal; font-display: swap; }

:root, [data-theme="noche"] {
  --magenta: #E94FD1;
  --violet: #BA36ED;
  --blue: #3730A3;
  --ink: #0C0A16;
  --panel: #16121F;
  --panel-2: #1D1830;
  --paper: #F2EEFA;
  --paper-dim: #B3A6CC;
  --paper-faint: #786C96;
  --rule: #2C2540;
  --gold: #E8A23D;
  --teal: #4FB8B0;
  --void: #000000;
  --glow-magenta: #F054D4;
  --glow-indigo: #5049D4;
  --glow-lilac: #BB60DE;
  --grid-line: rgba(242, 238, 250, 0.10);
  --teal-soft: rgba(79, 184, 176, 0.14);
  --magenta-soft: rgba(233, 79, 209, 0.14);
  --gold-soft: rgba(232, 162, 61, 0.16);
  --on-gradient: var(--ink);
  --focus: var(--magenta);
  --glow-magenta-shadow: 0 0 64px 8px rgba(240, 84, 212, 0.45);
  --glow-indigo-shadow: 0 0 64px 8px rgba(80, 73, 212, 0.45);
  --focus-ring: 0 0 0 2px #0C0A16, 0 0 0 4px #E94FD1;
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-sm: 10px;
  --radius-md: 12px;
  --radius-lg: 14px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-pill: 100px;
  --dur-micro: 160ms;
  --dur-base: 320ms;
  --dur-reveal: 700ms;
  --dur-scene: 1400ms;
  --dur-ambient: 22s;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-ambient: ease-in-out;
  --font-display: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

.hero { font-family: var(--font-display); font-size: 54px; line-height: 57px; font-weight: 700; letter-spacing: -0.02em; font-variation-settings: 'opsz' 96; }
.superformato { font-family: var(--font-display); font-size: 46px; line-height: 51px; font-weight: 800; letter-spacing: -0.02em; font-variation-settings: 'opsz' 96; }
.numeral { font-family: var(--font-display); font-size: 40px; line-height: 44px; font-weight: 800; letter-spacing: -0.01em; font-variation-settings: 'opsz' 72; }
.heading-1 { font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; font-variation-settings: 'opsz' 48; }
.stat { font-family: var(--font-display); font-size: 26px; line-height: 32px; font-weight: 800; letter-spacing: -0.01em; font-variation-settings: 'opsz' 36; }
.heading-2 { font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -0.005em; font-variation-settings: 'opsz' 28; }
.lead { font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 700; font-variation-settings: 'opsz' 24; }
.heading-3 { font-family: var(--font-display); font-size: 15px; line-height: 21px; font-weight: 700; font-variation-settings: 'opsz' 14; }
.body-lg { font-family: var(--font-body); font-size: 19px; line-height: 30px; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-sm { font-family: var(--font-body); font-size: 15.5px; line-height: 25px; font-weight: 400; }
.small { font-family: var(--font-body); font-size: 13.5px; line-height: 21px; font-weight: 400; }
.caption { font-family: var(--font-body); font-size: 12.5px; line-height: 18px; font-weight: 500; }
.button { font-family: var(--font-body); font-size: 14px; line-height: 20px; font-weight: 700; }
.tagline { font-family: var(--font-mono); font-size: 22px; line-height: 28px; font-weight: 500; letter-spacing: 0.35em; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 400; letter-spacing: 0.02em; }
.eyebrow { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.14em; }
.kicker { font-family: var(--font-mono); font-size: 11.5px; line-height: 16px; font-weight: 600; letter-spacing: 0.12em; }
.badge { font-family: var(--font-mono); font-size: 11.5px; line-height: 16px; font-weight: 500; }
