/* =========================================================
   BITSIDEAS — Páginas legales y 404
   ========================================================= */
.legal{max-width:82ch;margin-inline:auto}
.legal__updated{
  font-family:var(--font);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding-bottom:18px;margin-bottom:32px;border-bottom:1px solid var(--line);
}
.legal__intro{
  font-size:1.06rem;line-height:1.7;color:var(--ink-2);
  padding:20px 24px;border-radius:var(--r-md);margin-bottom:34px;
  background:var(--bg-soft);border-left:3px solid var(--accent-500);
}
.legal h2{
  font-size:1.18rem;font-weight:600;color:var(--ink);
  margin:38px 0 14px;padding-top:6px;
}
.legal h2:first-of-type{margin-top:0}
.legal p{color:var(--muted);font-size:.98rem;line-height:1.75;margin-bottom:14px}
.legal a{color:var(--brand-600);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--accent-600)}
.legal strong,.legal b{color:var(--ink)}

.legal__list{display:grid;gap:11px;margin:16px 0 20px}
.legal__list li{
  position:relative;padding-left:22px;color:var(--muted);font-size:.98rem;line-height:1.7;
}
.legal__list li::before{
  content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:2px;
  background:var(--accent-500);transform:rotate(45deg);
}

/* Ficha de datos identificativos */
.legal__data{
  display:grid;gap:0;margin:18px 0 24px;
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
}
.legal__data li{
  display:grid;grid-template-columns:220px 1fr;gap:18px;
  padding:14px 20px;font-size:.94rem;
}
.legal__data li:nth-child(odd){background:var(--bg-soft)}
.legal__data b{font-family:var(--font);font-weight:600;color:var(--ink)}
.legal__data span{color:var(--muted)}

/* Marcador de dato pendiente de completar */
.pend{
  background:color-mix(in srgb,#e0a800 22%,transparent);
  color:#8a6400;border-radius:5px;padding:1px 7px;
  font-family:var(--font);font-weight:700;font-size:.74rem;letter-spacing:.06em;
}
html[data-theme="dark"] .pend{background:color-mix(in srgb,#e0a800 26%,transparent);color:#f0c34a}

@media (max-width:620px){
  .legal__data li{grid-template-columns:1fr;gap:4px}
}

/* =========================================================
   404
   ========================================================= */
.nf{text-align:center;max-width:56ch;margin-inline:auto;padding:clamp(30px,6vw,60px) 0}
.nf__code{
  display:block;font-family:var(--font-light);font-weight:300;
  font-size:clamp(6rem,18vw,11rem);line-height:1;letter-spacing:-.04em;
  background:linear-gradient(140deg,var(--brand-500),var(--accent-500));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:8px;animation:nfFloat 5s var(--ease) infinite alternate;
}
@keyframes nfFloat{from{transform:translateY(0)}to{transform:translateY(-12px)}}
.nf h1{
  font-family:var(--font-light);font-weight:300;
  font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:14px;
}
.nf p{color:var(--muted);font-size:1.02rem;line-height:1.7;margin-bottom:32px}
.nf__links{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
  margin-top:40px;padding-top:26px;border-top:1px solid var(--line);
}
.nf__links a{
  padding:8px 16px;border-radius:99px;border:1px solid var(--line);
  font-family:var(--font);font-weight:600;font-size:.88rem;color:var(--ink-2);
  transition:border-color .3s var(--ease),color .3s var(--ease),transform .35s var(--ease-out);
}
.nf__links a:hover{border-color:var(--accent-500);color:var(--accent-600);transform:translateY(-3px)}

@media (prefers-reduced-motion:reduce){.nf__code{animation:none}}
