:root{
  --navy:#1A2842; --night:#15203A; --ink:#2C2218; --ink-2:#5B4A3A; --muted:#8E7B63;
  --line:#ECDFC9; --cream:#F5EAD3; --paper:#FFFCF5; --gold:#B89758; --gold-soft:#D4B47C; --gold-deep:#8E6E36;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:'Manrope',system-ui,-apple-system,sans-serif; color:var(--ink); line-height:1.65;
  background:
    radial-gradient(ellipse 80% 50% at 85% 0%, rgba(212,180,124,0.15) 0%, transparent 55%),
    var(--cream);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{ color:var(--navy); }

.legal-nav{ position:sticky; top:0; z-index:10; background:rgba(245,234,211,0.85); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.legal-nav .wrap{ max-width:820px; margin:0 auto; padding:15px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.legal-logo{ display:inline-flex; align-items:center; gap:10px; font-family:'Instrument Serif',serif; font-size:20px; color:var(--navy); text-decoration:none; }
.legal-logo .mark{ width:22px; height:22px; border-radius:999px; flex-shrink:0; background:radial-gradient(circle at 30% 30%, var(--gold-soft), var(--gold) 55%, #7a5f23); position:relative; }
.legal-logo .mark::after{ content:''; position:absolute; inset:0; border-radius:999px; background:var(--navy); transform:translate(-30%,-2%); }
.legal-nav a.back{ font-size:14px; color:var(--ink-2); text-decoration:none; white-space:nowrap; }
.legal-nav a.back:hover{ color:var(--navy); }

.legal{ max-width:820px; margin:0 auto; padding:48px 24px 80px; }
.legal .eyebrow{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); }
.legal h1{ font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(34px,5vw,52px); line-height:1.05; color:var(--navy); margin:10px 0 6px; }
.legal .updated{ font-size:13px; color:var(--muted); margin:0 0 14px; }
.legal .intro{ font-size:16px; color:var(--ink); max-width:62ch; }
.legal h2{ font-family:'Instrument Serif',serif; font-weight:400; font-size:25px; color:var(--navy); margin:38px 0 10px; }
.legal p, .legal li{ font-size:15.5px; color:var(--ink-2); }
.legal ul{ padding-left:20px; margin:10px 0; }
.legal li{ margin:7px 0; }
.legal strong{ color:var(--ink); }
.legal .ph{ background:rgba(184,151,88,0.14); border:1px dashed var(--gold); border-radius:4px; padding:0 6px; color:var(--gold-deep); font-family:'JetBrains Mono',monospace; font-size:13px; white-space:nowrap; }
.legal table.dl{ width:100%; border-collapse:collapse; margin:10px 0; }
.legal table.dl td{ padding:8px 0; border-top:1px solid var(--line); vertical-align:top; font-size:15px; }
.legal table.dl td:first-child{ color:var(--muted); width:230px; }
.legal-note{ margin-top:20px; padding:14px 18px; background:rgba(184,151,88,0.10); border:1px solid var(--line); border-radius:10px; font-size:13.5px; color:var(--ink-2); }
.legal-foot{ border-top:1px solid var(--line); margin-top:48px; padding-top:24px; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.06em; color:var(--muted); }
.legal-foot a{ color:var(--ink-2); text-decoration:none; }
.legal-foot a:hover{ color:var(--navy); }
@media (max-width:640px){
  .legal{ padding:32px 20px 60px; }
  .legal table.dl td:first-child{ width:150px; }
}
