/* Base: fuentes, tokens, reset y accesibilidad. Lo usan todas las páginas. */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter.woff2') format('woff2'); }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter-tight.woff2') format('woff2'); }

:root {
  --paper: #FDFBF8;
  --paper-2: #F9F6F1;
  --paper-3: #F0ECE4;
  --ink: #141210;
  --ink-2: #4F4842;
  --ink-3: #6B645D;
  --rule: #E6E0D7;
  --accent: #E8793B;
  --accent-dark: #C8632F;
  --accent-ink: #FFFFFF;
  --focus: #0066FF;
  --wa-green: #25D366;

  --font-display: "Inter Tight", -apple-system, system-ui, sans-serif;
  --font-body: "Inter", -apple-system, system-ui, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-short: 180ms;

  --radius-pill: 999px;
  --radius-card: 20px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; overflow-x: clip; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  font-size: var(--text-md);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; font-style: normal; letter-spacing: -0.02em; line-height: 1.08; color: var(--ink); margin: 0; overflow-wrap: anywhere; min-width: 0; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 4px; }

.wrap { width: min(1120px, 92%); margin: 0 auto; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: 1rem; top: -4rem; z-index: 200;
  background: var(--ink); color: var(--paper); padding: 0.75rem 1rem;
  border-radius: 8px; font-weight: 600; font-size: var(--text-sm);
}
.skip-link:focus { top: 1rem; }
