/* Bolsillo Móvil — base compartida por index y legales */
:root{
  --crema:#fbf7f0;
  --crema2:#f1e9dc;
  --cafe:#3b2f2a;
  --terracota:#b5553a;        /* iconos, datos grandes, títulos de sección, bordes */
  --terracota-txt:#a04b31;    /* enlaces y texto pequeño en terracota (≥ 4.9:1 sobre crema 2) */
  --salvia:#7a8c6e;
  --salvia-suave:#e3e8dc;
  --salvia-tinta:#46553d;     /* texto sobre salvia suave (6.4:1) */
  --atenuado:#6e625b;         /* 5.5:1 sobre crema, 4.9:1 sobre crema 2 */
  --linea:#e0d4c1;

  --serif:Lora,Georgia,"Times New Roman",serif;
  --sans:"Nunito Sans",system-ui,"Segoe UI",Roboto,Arial,sans-serif;

  /* Escala tipográfica */
  --fs-0:.875rem;                                  /* 14 — etiquetas, fuentes */
  --fs-1:clamp(1rem,.95rem + .25vw,1.0625rem);     /* 16–17 — cuerpo */
  --fs-2:1.1875rem;                                /* 19 — lead corto, h4 */
  --fs-3:1.375rem;                                 /* 22 — h3 */
  --fs-4:clamp(1.5rem,1.2rem + 1.4vw,2.125rem);    /* 24–34 — h2 */
  --fs-5:clamp(2rem,1.4rem + 3vw,3.25rem);         /* 32–52 — h1 */
  --fs-6:clamp(2rem,1.7rem + 1.6vw,2.75rem);       /* 32–44 — datos grandes */

  /* Ritmo en múltiplos de 8 */
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px; --s-6:64px; --s-7:96px;

  --r-card:14px;
  --r-ui:6px;
  --lh:1.65;
  --medida:68ch;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;
  background:var(--crema);
  color:var(--cafe);
  font-family:var(--sans);
  font-size:var(--fs-1);
  line-height:var(--lh);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--salvia-suave);color:var(--cafe)}

h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.2;margin:0 0 var(--s-2);color:var(--cafe);text-wrap:balance}
h1{font-size:var(--fs-5);letter-spacing:-.01em}
h2{font-size:var(--fs-4)}
h3{font-size:var(--fs-3);font-weight:500}
h4{font-size:var(--fs-2);font-weight:700}
p,ul,ol,dl{margin:0 0 var(--s-2)}
p{max-width:var(--medida)}
li{margin-bottom:var(--s-1)}
strong{font-weight:700}
small{font-size:var(--fs-0)}
img,svg{display:block;max-width:100%}

a{color:var(--terracota-txt);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{color:var(--cafe)}
:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;border-radius:var(--r-ui)}

.container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:var(--s-2)}
@media (min-width:720px){.container{padding-inline:var(--s-3)}}

/* Botones */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);
  min-height:46px;padding:10px 20px;border-radius:var(--r-ui);
  font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;
  border:1px solid var(--terracota);background:var(--terracota);color:var(--crema);
  box-shadow:0 2px 0 var(--terracota-txt);
}
.btn:hover{background:var(--terracota-txt);color:var(--crema)}
.btn-sec{background:transparent;color:var(--cafe);border-color:var(--cafe);box-shadow:0 2px 0 var(--cafe)}
.btn-sec:hover{background:var(--crema2);color:var(--cafe)}

/* Iconos de trazo */
.ico{width:24px;height:24px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico-sm{width:20px;height:20px}

/* Skip link */
.skip{position:absolute;left:var(--s-2);top:-100px;z-index:100;padding:10px 16px;background:var(--cafe);color:var(--crema);border-radius:var(--r-ui);font-weight:700}
.skip:focus{top:var(--s-2)}

.num{font-variant-numeric:tabular-nums}

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