/* ============================================================
   BASE — reset, fuentes, elementos base, utilidades.
   Mobile-first real: todo lo que sigue está pensado para pantallas
   chicas primero y se amplía con @media (min-width: ...).
   ============================================================ */

*{ margin:0; padding:0; box-sizing:border-box; }
ul,ol{ list-style:none; }
a{ text-decoration:none; color:inherit; }
button,input,textarea,select{ font:inherit; border:none; outline:none; background:none; color:inherit; }
img{ max-width:100%; display:block; }
button{ cursor:pointer; }

html{ font-size:100%; scroll-behavior:smooth; }
body{
  font-family: var(--font-display-light);
  font-size: var(--step-0);
  color: var(--body-text);
  background: var(--bg);
  overflow-x:hidden;
  line-height:1.5;
}

/* Ancla debajo del header sticky */
[id]{ scroll-margin-top: calc(var(--header-h) + 12px); }

/* FUENTES existentes del sitio, servidas localmente */
@font-face{ font-family:'oswald'; src:url('../Oswald.ttf'); font-display:swap; }
@font-face{ font-family:'anton'; src:url('../Anton-Regular.ttf'); font-display:swap; }
@font-face{ font-family:'exo'; src:url('../exodemi-bold.otf'); font-display:swap; }
@font-face{ font-family:'exo-light'; src:url('../exolight.otf'); font-display:swap; }
@font-face{ font-family:'bebas'; src:url('../BebasNeue-Regular.ttf'); font-display:swap; }
@font-face{ font-family:'roboto'; src:url('../Roboto-Regular.ttf'); font-weight:400; font-display:swap; }
@font-face{ font-family:'roboto'; src:url('../Roboto-Bold.ttf'); font-weight:700; font-display:swap; }

h1,h2,h3,h4{ font-family: var(--font-display); color: var(--ink); line-height:1.15; }
h1{ font-size: var(--step-4); }
h2{ font-size: var(--step-3); }
h3{ font-size: var(--step-2); }
h4{ font-size: var(--step-1); }
p{ font-size: var(--step-0); }

.container{ width:100%; max-width:1300px; margin:0 auto; padding:0 var(--space-3); }
.section{ padding: var(--space-7) 0; }
.section--alt{ background: var(--green-100); }
.text-center{ text-align:center; }
.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; }
.eyebrow{ font-family: var(--font-nav); letter-spacing:.08em; text-transform:uppercase; font-size: var(--step--1); color: var(--earth-700); }
.section-head{ text-align:center; max-width:760px; margin:0 auto var(--space-6); }
.section-head p{ color: var(--body-text); margin-top: var(--space-2); font-size: var(--step-1); }

/* Foco visible accesible — hoy no existe en el sitio original */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 3px solid var(--cta);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Respeta la preferencia de movimiento reducido del sistema operativo */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}
