/* base.css — Reset mínimo, tipografía base, contenedor, botones y foco.
   Depende de variables.css. */
*{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);
  font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;letter-spacing:.1px}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
section{padding-block:clamp(56px,8vw,104px)}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.08;
  text-wrap:balance;margin:0;letter-spacing:-.4px}
p{margin:0}
a{color:inherit;text-decoration:none}
svg{display:block}

.eyebrow{font-family:var(--f-mono);font-size:12.5px;text-transform:uppercase;
  letter-spacing:1.6px;color:var(--muted);font-weight:500}
.lead{color:var(--muted);font-size:clamp(16px,2vw,18px);max-width:60ch}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-body);
  font-weight:500;font-size:15px;padding:12px 22px;border-radius:999px;
  border:1px solid transparent;cursor:pointer;transition:.18s ease;white-space:nowrap}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--fg)}
.btn-ghost:hover{border-color:var(--fg);background:var(--surface)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

/* Accesibilidad: respeta "reducir movimiento" en toda la página */
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
