/* Legal pages — extends tokens from styles.css */
.legal-hero{background:var(--navy); color:var(--white); padding:64px 0 48px;}
.legal-hero .label-mono{color:var(--gold); margin-bottom:1em;}
.legal-hero h1{font-size:clamp(2rem, 4vw, 2.8rem); max-width:20ch; margin-bottom:.3em;}
.legal-hero p{color:rgba(251,246,236,.8); max-width:60ch; margin:0;}
.legal-updated{
  display:inline-block; margin-top:1.2em; font-family:var(--font-mono); font-size:.78rem;
  color:var(--gold); border:1px solid rgba(251,188,47,.4); border-radius:999px; padding:.4em 1em;
}

.legal-wrap{max-width:760px; margin:0 auto; padding:56px 24px 100px;}

.legal-notice{
  background:rgba(212,69,69,.08); border:1px solid rgba(212,69,69,.35); border-radius:var(--radius);
  padding:20px 22px; margin-bottom:2.4em; font-size:.94rem; color:var(--charcoal);
}
.legal-notice strong{color:#B03A3A;}

.legal-summary{
  background:rgba(36,83,166,.06); border:1px solid rgba(36,83,166,.18); border-radius:var(--radius);
  padding:24px 26px; margin-bottom:2.6em;
}
.legal-summary h2{font-size:1.05rem; margin-bottom:.7em; color:var(--navy);}
.legal-summary ul{margin:0; padding-left:1.2em;}
.legal-summary li{margin-bottom:.5em; font-size:.96rem;}

.legal-body h2{
  font-size:1.3rem; color:var(--navy); margin-top:2.4em; padding-top:.2em;
  scroll-margin-top:90px;
}
.legal-body h2 .num{font-family:var(--font-mono); color:var(--gold-deep); font-size:.85em; margin-right:.4em;}
.legal-body h3{font-size:1.05rem; color:var(--charcoal); margin-top:1.4em;}
.legal-body p, .legal-body li{font-size:.98rem; color:rgba(27,35,51,.85);}
.legal-body ul, .legal-body ol{padding-left:1.3em;}
.legal-body li{margin-bottom:.5em;}
.legal-body a{color:var(--blue); text-decoration:underline; text-underline-offset:2px;}

.legal-todo{
  display:inline-block; font-family:var(--font-mono); font-size:.78rem; font-weight:600;
  background:var(--gold); color:var(--navy); padding:.15em .55em; border-radius:5px;
}

.legal-table{width:100%; border-collapse:collapse; margin:1.2em 0; font-size:.92rem;}
.legal-table th, .legal-table td{text-align:left; padding:10px 12px; border:1px solid rgba(11,31,77,.12); vertical-align:top;}
.legal-table th{background:rgba(11,31,77,.05); font-family:var(--font-mono); font-size:.76rem; letter-spacing:.05em; text-transform:uppercase; color:var(--navy);}

.legal-toc{
  background:var(--white); border:1px solid rgba(11,31,77,.1); border-radius:var(--radius);
  padding:22px 24px; margin-bottom:2.6em;
}
.legal-toc h2{margin:0 0 .8em; font-size:.95rem; font-family:var(--font-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--blue);}
.legal-toc ol{margin:0; padding-left:1.2em; columns:2; column-gap:24px;}
.legal-toc li{font-size:.9rem; margin-bottom:.45em; break-inside:avoid;}
.legal-toc a{text-decoration:none; color:var(--charcoal);}
.legal-toc a:hover{color:var(--blue);}

@media (max-width:600px){
  .legal-toc ol{columns:1;}
}

.legal-actions{display:flex; gap:14px; flex-wrap:wrap; margin:1.6em 0 2.4em;}

.legal-footer-note{margin-top:3em; padding-top:1.6em; border-top:1px solid rgba(11,31,77,.12); font-size:.85rem; color:rgba(27,35,51,.6);}
