/* Páginas legales · mismos colores y tipografías que la portada (margital-web.html de Sabina). */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --noche:#050706; --negro:#0A0A0A; --fluor:#2CFF8C; --hueso:#EEF2EF; --gris:#8A948E;
  --marco:clamp(18px,4vw,56px);
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
}
html{background:var(--noche);scroll-behavior:smooth}
body{background:var(--noche);color:#B9C3BD;font-family:'Inter',system-ui,-apple-system,sans-serif;
     -webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden}
a{color:var(--fluor);text-decoration:none;border-bottom:1px solid rgba(44,255,140,.35);transition:border-color .25s,color .25s}
a:hover{border-bottom-color:var(--fluor)}
:focus-visible{outline:2px solid var(--fluor);outline-offset:3px;border-radius:3px}

.salta{position:absolute;left:-9999px}
.salta:focus{left:var(--marco);top:12px;z-index:60;background:var(--fluor);color:var(--negro);
             padding:.6em 1em;border-radius:8px;font-weight:700;border:0}

header{display:flex;justify-content:space-between;align-items:center;gap:20px;
       padding:clamp(14px,2.2vh,22px) var(--marco);border-bottom:1px solid rgba(238,242,239,.1)}
header img{width:clamp(126px,12vw,170px);height:auto;display:block}
header a.marca{border:0}
header nav a{border:1px solid rgba(238,242,239,.25);border-radius:8px;padding:.6em 1.05em;font-size:.8rem;font-weight:500;
             color:var(--hueso);transition:background .3s,color .3s,border-color .3s,transform .25s}
header nav a:hover{background:var(--hueso);color:var(--negro);border-color:var(--hueso);transform:translateY(-2px)}

main{max-width:72ch;margin:0 auto;padding:clamp(48px,9vh,96px) var(--marco) clamp(60px,10vh,110px)}
.ojo{font-family:var(--mono);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);margin-bottom:1.4em}
h1{font-size:clamp(2.1rem,5.4vw,3.6rem);line-height:1;font-weight:900;letter-spacing:-.04em;color:var(--hueso);margin-bottom:.7em}
h2{font-size:clamp(1.15rem,2.1vw,1.45rem);font-weight:800;letter-spacing:-.02em;color:#fff;margin:2.4em 0 .7em}
p,ul{margin-bottom:1.15em;font-size:clamp(.98rem,1.15vw,1.05rem)}
ul{padding-left:1.1em}
li{margin-bottom:.5em}
li::marker{color:var(--fluor)}
strong{color:var(--hueso);font-weight:700}
code{font-family:var(--mono);font-size:.9em;background:rgba(238,242,239,.08);padding:.15em .4em;border-radius:4px;color:var(--hueso)}
.revision{margin-top:3.2em;padding-top:1.4em;border-top:1px solid rgba(238,242,239,.12);
          font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;line-height:1.9;color:var(--gris)}

footer{border-top:1px solid rgba(238,242,239,.1);padding:26px var(--marco) 34px;
       display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;align-items:center;
       font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
footer nav{display:flex;flex-wrap:wrap;gap:10px 22px}
footer a{color:var(--gris);border-bottom-color:transparent}
footer a:hover{color:var(--hueso);border-bottom-color:rgba(238,242,239,.4)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition-duration:.01ms !important}}

/* Tablas de datos: identificación del titular, tratamientos, encargados, cookies. */
.datos{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:clamp(.9rem,1.05vw,.98rem)}
.datos th,.datos td{text-align:left;vertical-align:top;padding:.7em .9em;border-bottom:1px solid rgba(238,242,239,.1)}
.datos th{color:var(--hueso);font-weight:700;white-space:nowrap}
.datos tr:last-child th,.datos tr:last-child td{border-bottom:0}
.datos.ancha th{white-space:normal;color:var(--fluor);font-family:var(--mono);font-size:.68rem;
                letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.datos.ancha tr:first-child th{border-bottom-color:rgba(44,255,140,.3)}
@media (max-width:640px){
  .datos,.datos tbody,.datos tr,.datos th,.datos td{display:block}
  .datos.ancha tr:first-child{display:none}
  .datos tr{border:1px solid rgba(238,242,239,.14);border-radius:10px;padding:.5em .3em;margin-bottom:.9em}
  .datos th,.datos td{border-bottom:0;padding:.4em .8em}
  .datos th{white-space:normal}
}
