/* ============================================================
   NORIA. Hoja de estilos de las páginas legales.
   Solo tokens, tipografía y una columna de lectura.
   Reutiliza las fuentes autoalojadas: ninguna petición externa.
   ============================================================ */
:root{
  --cal:        #ECF1ED;
  --cal-2:      #E2EAE5;
  --tinta:      #15302B;
  --tinta-suave:#3A5751;
  --cardenillo: #2F8273;
  --cobre:      #B85C28;
  --hairline:   rgba(21,48,43,.18);
  --display:'Archivo', sans-serif;
  --mono:'Fragment Mono', monospace;
}

@font-face{
  font-family:'Archivo'; font-style:normal; font-weight:100 900; font-stretch:62% 125%;
  font-display:swap; src:url(/fonts/archivo-latin.woff2) format('woff2');
}
@font-face{
  font-family:'Archivo'; font-style:italic; font-weight:100 900; font-stretch:62% 125%;
  font-display:swap; src:url(/fonts/archivo-italic-latin.woff2) format('woff2');
}
@font-face{
  font-family:'Fragment Mono'; font-style:normal; font-weight:400;
  font-display:swap; src:url(/fonts/fragmentmono-latin.woff2) format('woff2');
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{ -webkit-text-size-adjust:100%; }

body{
  background:var(--cal);
  color:var(--tinta);
  font-family:var(--display);
  font-size:1rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

:focus-visible{ outline:2px solid var(--cobre); outline-offset:3px; }

.wrap{ max-width:720px; margin:0 auto; padding:0 1.5rem; }

/* ---------- Cabecera ---------- */
header.top{
  border-bottom:1px solid var(--hairline);
  padding:1.1rem 0;
  margin-bottom:3rem;
}
.marca{
  display:inline-flex; align-items:center; gap:.08em;
  text-decoration:none; color:var(--tinta);
  font-variation-settings:'wdth' 125, 'wght' 800;
  font-size:1.35rem; letter-spacing:.04em;
}
.marca .rueda-o{ width:1.06em; height:1.06em; translate:0 .14em; }
.marca .rueda-o svg{ width:100%; height:100%; display:block; }

/* ---------- Texto ---------- */
.eyebrow{
  display:block;
  font-family:var(--mono); font-size:.62rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cardenillo);
  margin-bottom:1rem;
}
h1{
  font-variation-settings:'wdth' 120, 'wght' 780;
  font-size:clamp(1.8rem, 4vw, 2.6rem);
  line-height:1.08; letter-spacing:-.01em;
  margin-bottom:.8rem;
}
h2{
  font-variation-settings:'wdth' 114, 'wght' 700;
  font-size:1.18rem;
  margin:2.6rem 0 .7rem;
}
h3{
  font-variation-settings:'wdth' 110, 'wght' 640;
  font-size:1rem;
  margin:1.6rem 0 .4rem;
}
p, li{ color:var(--tinta-suave); max-width:68ch; }
p{ margin-bottom:1rem; }
strong{ color:var(--tinta); font-variation-settings:'wght' 620; }

ul, ol{ margin:0 0 1.2rem 1.2rem; }
li{ margin-bottom:.5rem; }

a{ color:var(--cardenillo); text-decoration:none; border-bottom:1px solid transparent; }
a:hover{ color:var(--cobre); border-bottom-color:var(--cobre); }

.actualizado{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--tinta-suave);
  margin-bottom:2.4rem;
}

/* Bloque de datos del titular */
.datos{
  border:1px solid var(--hairline);
  background:var(--cal-2);
  padding:1.3rem 1.5rem;
  margin:1.4rem 0 2rem;
}
.datos p{ margin:0; }
.datos dt{
  font-family:var(--mono); font-size:.62rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cardenillo);
  margin-top:.8rem;
}
.datos dt:first-child{ margin-top:0; }
.datos dd{ margin:.15rem 0 0; color:var(--tinta); }

/* ---------- Pie ---------- */
footer{
  border-top:1px solid var(--hairline);
  margin-top:4rem; padding:1.6rem 0 3rem;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--tinta-suave);
  display:flex; gap:.6rem 1.6rem; flex-wrap:wrap;
}
footer a{ color:var(--tinta-suave); }
footer a:hover{ color:var(--cobre); }

@media (max-width:560px){
  .wrap{ padding:0 1.2rem; }
  header.top{ margin-bottom:2.2rem; }
}
