*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.55;
}

img, svg { display: block; max-width: 100%; }
img { height: auto; }

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--ink);
}
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
a { color: inherit; }

h1 { font-size: clamp(2.75rem, 7vw, 5.25rem); line-height: .98; letter-spacing: -.035em; }
h1.h1-inner { font-size: clamp(2.5rem, 6vw, 4rem); line-height: 1; letter-spacing: -.03em; }
h2 { font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.1; letter-spacing: -.02em; }
h3 { font-size: 1.5rem; line-height: 1.2; }

.lead { font-size: 1.3125rem; line-height: 1.55; color: var(--ink-muted); }

.eyebrow {
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.content { width: 100%; max-width: calc(var(--content) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }

:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: 16px; top: -100px; z-index: 100;
  background: var(--ink); color: #fff; padding: 12px 20px;
  border-radius: var(--radius-pill); font-weight: 700; text-decoration: none;
}
.skip-link:focus { top: 16px; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Lectura simple */
:root[data-reading="simple"] body { line-height: 1.8; }
:root[data-reading="simple"] p,
:root[data-reading="simple"] .lead { max-width: 65ch; line-height: 1.8; }
:root[data-reading="simple"] .deco { display: none; }
