/* Dossier Móvil — base compartida (portada + legales) */
:root{
  --bg:#fafafa;
  --surface:#ffffff;
  --head:#f3f4f6;
  --ink:#1f2937;
  --muted:#5b6675;
  --line:#e5e7eb;
  --accent:#6b1f2a;
  --accent-ink:#fafafa;

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

  --fs-0:.8125rem;                               /* 13 — notas, etiquetas */
  --fs-1:.9375rem;                               /* 15 — tablas, pies */
  --fs-2:1.0625rem;                              /* 17 — cuerpo */
  --fs-3:1.25rem;                                /* 20 — subtítulos 1.1 */
  --fs-4:clamp(1.375rem,1.15rem + 1vw,1.75rem);  /* 22–28 — H2 */
  --fs-5:clamp(1.75rem,1.25rem + 2.2vw,2.625rem);/* 28–42 — H1 */
  --fs-6:clamp(1.75rem,1.4rem + 1.6vw,2.375rem); /* cifras */

  --s1:8px;  --s2:16px; --s3:24px; --s4:32px;
  --s5:40px; --s6:48px; --s7:64px; --s8:96px;

  --r:2px;
  --measure:70ch;
  --lh:1.65;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;
  font-family:var(--sans);
  font-size:1rem;
  line-height:var(--lh);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
@media (min-width:768px){body{font-size:var(--fs-2)}}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:700;
  line-height:1.2;
  margin:0 0 var(--s2);
  color:var(--ink);
  overflow-wrap:anywhere;
}
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:500}
p,ul,ol,dl{margin:0 0 var(--s2)}
p,li,dd{max-width:var(--measure)}
small{font-size:var(--fs-0)}
strong{font-weight:600}
em{font-style:italic}
hr{border:0;border-top:1px solid var(--line);margin:var(--s4) 0}
sup{line-height:0}

a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
a.src{color:var(--accent)}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
:focus:not(:focus-visible){outline:none}
::selection{background:var(--accent);color:var(--accent-ink)}

.num,.tnum,table,.cifra{font-variant-numeric:tabular-nums}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--s2)}
@media (min-width:768px){.container{padding:0 var(--s3)}}

.skip{
  position:absolute;left:var(--s2);top:-100px;z-index:100;
  padding:12px 16px;background:var(--accent);color:var(--accent-ink);
  font-weight:600;text-decoration:none;border-radius:var(--r)
}
.skip:focus{top:var(--s2)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 20px;
  font:600 var(--fs-1)/1 var(--sans);
  color:var(--accent);background:var(--surface);
  border:1px solid var(--accent);border-radius:var(--r);
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s
}
.btn:hover{background:var(--accent);color:var(--accent-ink)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:#561822;border-color:#561822;color:var(--accent-ink)}

.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

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