/* Estilos de las páginas legales (aviso legal, condiciones, cookies).
 *
 * Van juntas en un fichero y no repetidas en cada HTML porque son tres páginas
 * con la misma pinta: duplicar el bloque garantiza que dentro de un año no se
 * parezcan entre ellas.
 *
 * Misma paleta que la portada, para que lo legal no parezca de otro sitio, pero
 * con las fuentes servidas por Google en vez de incrustadas: son páginas que
 * casi nadie abre y no merecen los 200 KB de base64 que carga index.html.
 */
:root{
  --ink:#0d0e11;
  --ink-2:#14161b;
  --cream:#f2ece1;
  --cream-dim:#b9b3a8;
  --steel:#7b8189;
  --vermillion:#e5522d;
  --line:rgba(242,236,225,.13);
  --line-str:rgba(242,236,225,.28);
  --serif:'Instrument Serif',ui-serif,Georgia,serif;
  --sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;
  --pad:clamp(1.25rem,5vw,6rem);
  --maxw:900px;
}
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0; background:var(--ink); color:var(--cream);
  font-family:var(--sans); font-weight:300; line-height:1.65;
  font-size:clamp(1rem,.95rem + .2vw,1.0625rem);
  -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
a{ color:var(--vermillion); }
h1,h2,h3{ font-family:var(--serif); font-weight:400; line-height:1.05; letter-spacing:-.015em; margin:0; }
h1{ font-size:clamp(2.6rem,1.6rem + 4vw,4.4rem); }
h2{ font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem); margin-top:3rem; }
h3{ font-size:1.25rem; margin-top:2rem; }
p{ margin:0 0 1.1em; color:#DCD4C4; }
ul{ margin:0 0 1.1em; padding-left:1.2em; color:#DCD4C4; }
li{ margin-bottom:.4em; }
strong{ color:var(--cream); font-weight:500; }
.mono{ font-family:var(--mono); font-size:.7rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
header{ border-bottom:1px solid var(--line); }
header .wrap{ display:flex; align-items:center; justify-content:space-between; padding-block:1rem; gap:1rem; }
.mark{ text-decoration:none; color:var(--cream); font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
main{ padding-block:clamp(3rem,6vw,5rem) clamp(4rem,8vw,7rem); }
.updated{ color:var(--steel); font-family:var(--mono); font-size:.72rem; margin-top:1rem; }
.tablewrap{ overflow-x:auto; margin-top:1.5rem; }
table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:640px; }
th{ text-align:left; border-bottom:1px solid var(--line-str); padding:.6rem .9rem .6rem 0; color:var(--steel); font-family:var(--mono); font-size:.66rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
td{ border-bottom:1px solid var(--line); padding:.9rem .9rem .9rem 0; vertical-align:top; color:#DCD4C4; }
td.name{ font-family:var(--mono); font-size:.78rem; color:var(--cream); white-space:nowrap; }
/* Ficha de identificación del titular: datos sueltos, no prosa. */
.card{ border:1px solid var(--line-str); padding:1.4rem 1.6rem; margin-top:1.5rem; }
.card dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:.55rem 1.4rem; }
.card dt{ font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); padding-top:.2rem; }
.card dd{ margin:0; color:#DCD4C4; }
.btn{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.85rem 1.5rem; border:1px solid var(--vermillion); background:transparent;
  color:var(--vermillion); cursor:pointer; transition:.25s ease;
}
.btn:hover{ background:var(--vermillion); color:var(--ink); }
footer{ border-top:1px solid var(--line); }
footer .wrap{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; padding-block:1.5rem; color:var(--steel); }
footer a{ color:var(--steel); text-decoration:none; }
footer a:hover{ color:var(--vermillion); }
.legalnav{ display:flex; gap:1.2rem; flex-wrap:wrap; }
