/* dc-tokens.css: copia derivada de colors_and_type.css (Data Cultura Design System, 2026-07). Fuente única de tokens, no editar a mano; sin @font-face itálicos (no vendorizados, ver README-activos.md). */
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-Thin.woff2') format('woff2');       font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-ExtraLight.woff2') format('woff2'); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-Light.woff2') format('woff2');      font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-Regular.woff2') format('woff2');    font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-Medium.woff2') format('woff2');     font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-SemiBold.woff2') format('woff2');   font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-Bold.woff2') format('woff2');       font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-ExtraBold.woff2') format('woff2');  font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('../fonts/FiraSans-Black.woff2') format('woff2');      font-weight: 900; font-style: normal; font-display: swap; }

:root {
  --dc-primary:        #1D388C;
  --dc-primary-700:    #16306F;
  --dc-primary-900:    #0E1F4A;
  --dc-primary-50:     #EAEEF7;

  --dc-accent-celeste: #2AA6E0;
  --dc-accent-fucsia:  #FB2D7C;
  --dc-accent-verde:   #66B34D;
  --dc-accent-naranja: #F8AE48;

  --dc-accent-1:       var(--dc-accent-celeste);
  --dc-accent-2:       var(--dc-accent-fucsia);
  --dc-accent-3:       var(--dc-accent-verde);
  --dc-accent-4:       var(--dc-accent-naranja);

  --dc-white:          #FFFFFF;
  --dc-light:          #F8F8F8;
  --dc-dark:           #121212;
  --dc-gray:           #6C757D;
  --dc-gray-100:       #F3F4F6;
  --dc-gray-200:       #E5E7EB;
  --dc-gray-300:       #D1D5DB;
  --dc-gray-400:       #9CA3AF;
  --dc-gray-500:       #6B7280;
  --dc-gray-600:       #4B5563;
  --dc-gray-700:       #374151;
  --dc-gray-800:       #1F2937;
  --dc-gray-900:       #111827;

  --dc-bg:             var(--dc-light);
  --dc-bg-elevated:    var(--dc-white);
  --dc-bg-inverse:     var(--dc-dark);
  --dc-fg:             var(--dc-dark);
  --dc-fg-muted:       var(--dc-gray-600);
  --dc-fg-subtle:      var(--dc-gray);
  --dc-fg-on-primary:  var(--dc-white);
  --dc-border:         var(--dc-gray-200);
  --dc-border-strong:  var(--dc-gray-300);

  --dc-success:        var(--dc-accent-verde);
  --dc-warning:        var(--dc-accent-naranja);
  --dc-danger:         var(--dc-accent-fucsia);
  --dc-info:           var(--dc-accent-celeste);

  --dc-font-sans: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto,
                  "Helvetica Neue", Arial, sans-serif;
  --dc-font-mono: ui-monospace, "SF Mono", Menlo, Monaco, "Cascadia Mono",
                  Consolas, "Liberation Mono", monospace;

  --dc-fw-light:    300;
  --dc-fw-regular:  400;
  --dc-fw-medium:   500;
  --dc-fw-semibold: 600;
  --dc-fw-bold:     700;
  --dc-fw-black:    900;

  --dc-fs-12: 0.75rem;
  --dc-fs-14: 0.875rem;
  --dc-fs-16: 1rem;
  --dc-fs-18: 1.125rem;
  --dc-fs-20: 1.25rem;
  --dc-fs-24: 1.5rem;
  --dc-fs-30: 1.875rem;
  --dc-fs-36: 2.25rem;
  --dc-fs-48: 3rem;
  --dc-fs-60: 3.75rem;
  --dc-fs-72: 4.5rem;

  --dc-lh-tight:   1.1;
  --dc-lh-snug:    1.25;
  --dc-lh-normal:  1.5;
  --dc-lh-relaxed: 1.625;

  --dc-tracking-tighter: -0.04em;
  --dc-tracking-tight:   -0.02em;
  --dc-tracking-normal:  0;
  --dc-tracking-wide:    0.025em;
  --dc-tracking-widest:  0.1em;

  --dc-space-1:  0.25rem;
  --dc-space-2:  0.5rem;
  --dc-space-3:  0.75rem;
  --dc-space-4:  1rem;
  --dc-space-5:  1.25rem;
  --dc-space-6:  1.5rem;
  --dc-space-8:  2rem;
  --dc-space-10: 2.5rem;
  --dc-space-12: 3rem;
  --dc-space-16: 4rem;
  --dc-space-20: 5rem;

  --dc-radius-sm:   0.375rem;
  --dc-radius-md:   0.5rem;
  --dc-radius-lg:   0.75rem;
  --dc-radius-xl:   1rem;
  --dc-radius-2xl:  1.5rem;
  --dc-radius-3xl:  2rem;
  --dc-radius-pill: 9999px;

  --dc-shadow-sm:  0 1px 2px rgba(0,0,0,0.05);
  --dc-shadow-md:  0 4px 6px -1px rgba(0,0,0,0.10), 0 2px 4px -2px rgba(0,0,0,0.10);
  --dc-shadow-lg:  0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -4px rgba(0,0,0,0.10);
  --dc-shadow-xl:  0 20px 25px -5px rgba(0,0,0,0.12), 0 8px 10px -6px rgba(0,0,0,0.10);
  --dc-shadow-2xl: 0 25px 50px -12px rgba(0,0,0,0.25);

  --dc-ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --dc-ease-in:     cubic-bezier(0.4, 0, 1, 1);
  --dc-ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --dc-dur-fast:    150ms;
  --dc-dur-normal:  300ms;
  --dc-dur-slow:    500ms;
}

.dc-body, body.dc {
  font-family: var(--dc-font-sans);
  font-weight: var(--dc-fw-regular);
  color: var(--dc-fg);
  background: var(--dc-bg);
  font-size: var(--dc-fs-16);
  line-height: var(--dc-lh-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.dc-display {
  font-family: var(--dc-font-sans);
  font-weight: var(--dc-fw-black);
  font-size: clamp(2.5rem, 5vw + 1rem, var(--dc-fs-72));
  line-height: var(--dc-lh-tight);
  letter-spacing: var(--dc-tracking-tight);
  color: var(--dc-fg);
}

.dc-h1 {
  font-family: var(--dc-font-sans);
  font-weight: var(--dc-fw-black);
  font-size: clamp(2rem, 3vw + 1rem, var(--dc-fs-48));
  line-height: var(--dc-lh-tight);
  letter-spacing: var(--dc-tracking-tight);
}

.dc-h2 {
  font-weight: var(--dc-fw-bold);
  font-size: var(--dc-fs-36);
  line-height: var(--dc-lh-snug);
  letter-spacing: var(--dc-tracking-tight);
}

.dc-h3 {
  font-weight: var(--dc-fw-bold);
  font-size: var(--dc-fs-24);
  line-height: var(--dc-lh-snug);
}

.dc-h4 {
  font-weight: var(--dc-fw-semibold);
  font-size: var(--dc-fs-20);
  line-height: var(--dc-lh-snug);
}

.dc-eyebrow {
  font-weight: var(--dc-fw-bold);
  font-size: var(--dc-fs-12);
  text-transform: uppercase;
  letter-spacing: var(--dc-tracking-widest);
  color: var(--dc-primary);
}

.dc-lead {
  font-size: var(--dc-fs-20);
  line-height: var(--dc-lh-relaxed);
  font-weight: var(--dc-fw-light);
  color: var(--dc-fg-muted);
}

.dc-p, p.dc { font-size: var(--dc-fs-16); line-height: var(--dc-lh-relaxed); color: var(--dc-fg-muted); }
.dc-small  { font-size: var(--dc-fs-14); line-height: var(--dc-lh-normal); color: var(--dc-fg-muted); }
.dc-caption{ font-size: var(--dc-fs-12); line-height: var(--dc-lh-normal); color: var(--dc-fg-subtle); letter-spacing: var(--dc-tracking-wide); }

.dc-stat {
  font-weight: var(--dc-fw-black);
  font-size: clamp(1.875rem, 2vw + 1rem, var(--dc-fs-48));
  line-height: var(--dc-lh-tight);
  letter-spacing: var(--dc-tracking-tight);
  font-variant-numeric: tabular-nums;
}

.dc-mono { font-family: var(--dc-font-mono); }
