/* ============================================
   LEGAL PAGES — privacidad / términos / cookies
   Reuses the site's tokens (style.css must load first)
   ============================================ */
.legal-page{
  background:var(--bone);
  color:var(--ink);
  min-height:100vh;
}
.legal-page__header{
  padding:var(--space-3);
  border-bottom:1px solid rgba(10,10,10,.12);
}
.legal-page__back{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(10,10,10,.6);
}
.legal-page__back:hover{color:var(--accent-blue);}
.legal-page__inner{
  max-width:760px;margin:0 auto;
  padding:var(--space-5) var(--space-3) var(--space-6);
}
.legal-page__inner h1{
  font-family:var(--font-heading);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.8rem,4.5vw,2.75rem);letter-spacing:-.015em;line-height:1.05;
  margin:0 0 .5rem;color:var(--ink);
}
.legal-page__updated{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grey-mid);margin:0 0 var(--space-4);
}
.legal-page__inner h2{
  font-family:var(--font-heading);font-weight:700;text-transform:uppercase;
  font-size:1.05rem;letter-spacing:-.01em;
  margin:var(--space-4) 0 .75rem;color:var(--ink);
}
.legal-page__inner p,
.legal-page__inner li{
  font-size:.98rem;line-height:1.7;color:rgba(10,10,10,.72);margin:0 0 1em;
}
.legal-page__inner ul{margin:0 0 1.2em;padding-left:1.2em;}
.legal-page__inner a{color:var(--accent-blue);text-decoration:underline;text-underline-offset:2px;}

/* ---- 404 page ---- */
.error-page{
  max-width:640px;margin:0 auto;text-align:center;
  padding:clamp(3.5rem,14vh,6rem) var(--space-3) var(--space-6);
}
/* .btn-brackets defaults to bone-on-dark styling (its usual home is
   the dark mobile-nav overlay); this page has a light bone
   background, same situation as the desktop hero, so it gets the
   same ink-based override that already exists there. */
.error-page .btn-brackets{
  --bb-ink:var(--ink);
  --bb-bg:rgba(10,10,10,.04);
  --bb-border:rgba(10,10,10,.18);
  --bb-accent:var(--ink);
  --bb-accent-ink:var(--bone);
}
.error-page__eyebrow{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;
  color:var(--grey-mid);margin:0 0 var(--space-3);
}
.error-page__code{
  font-family:var(--font-heading);font-weight:800;
  font-size:clamp(4.5rem,18vw,8rem);line-height:.9;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 var(--space-2);
}
.error-page__lead{
  font-family:var(--font-heading);font-weight:700;
  font-size:clamp(1.1rem,3vw,1.4rem);line-height:1.3;
  color:var(--ink);margin:0 0 .5rem;
}
.error-page__sub{
  font-size:.95rem;line-height:1.6;color:rgba(10,10,10,.65);
  max-width:42ch;margin:0 auto var(--space-4);
}

