/* Señal Directa — base compartida (index + legales)
   Monocromo: blanco, negro, gris para metadatos, oliva solo en enlaces/acento. */
:root{
  --white:#ffffff;
  --black:#000000;
  --gray:#555555;
  --olive:#5b6b2f;

  --bg:var(--white);
  --ink:var(--black);
  --muted:var(--gray);
  --link:var(--olive);
  --rule:3px;

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

  /* Ritmo en múltiplos de 8 */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;

  /* Escala tipográfica */
  --t-xs:13px;
  --t-sm:15px;
  --t-base:17px;
  --t-md:20px;
  --t-lg:clamp(26px,3vw,34px);
  --t-xl:clamp(40px,6vw,80px);
  --t-2xl:clamp(44px,9vw,128px);
  --t-num:clamp(64px,8vw,96px);

  --lh:1.65;
  --measure:66ch;
  --container:1320px;
  --nav-h:64px; /* altura real de la barra sticky, borde incluido */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 8px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:var(--t-base);line-height:var(--lh);font-weight:400;
  -webkit-font-smoothing:antialiased;
}
@media (max-width:600px){body{font-size:16px}}

h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.05;font-family:var(--serif);letter-spacing:-.01em}
p{margin:0 0 var(--s2)}
ul,ol{margin:0;padding:0}
strong,b{font-weight:600}
em,i{font-style:italic}

a{color:var(--link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--olive);outline-offset:3px}

img,svg{display:block;max-width:100%}
table{border-collapse:collapse}
.num,.tnum,table,dd{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}

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

.kicker{
  margin:0 0 var(--s1);font-size:var(--t-xs);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);
  min-height:48px;padding:10px 22px;border:var(--rule) solid var(--ink);
  background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--t-xs);
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;
}
.btn:hover{background:var(--ink);color:var(--bg)}

.skip{position:absolute;left:var(--s2);top:-120px;z-index:100;padding:12px 16px;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none}
.skip:focus{top:var(--s2)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

::selection{background:var(--ink);color:var(--bg)}

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