/* Shared styles for the legal pages (same palette as index.html). */
:root{
  --navy:#0f2438; --navy-dark:#081625;
  --cream:#f5ecd7; --cream-dark:#e9dcb8;
  --pink:#e8447a; --teal:#2bc5b4; --gold:#f4c430;
  --focus:#ffe066;
}
*{box-sizing:border-box;}
[hidden]{display:none !important;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--cream); line-height:1.65; font-size:16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(43,197,180,.14) 0, transparent 40%),
    radial-gradient(circle at 90% 8%, rgba(232,68,122,.14) 0, transparent 40%),
    var(--navy);
  background-attachment:fixed;
}
a{color:var(--teal);}
a:focus-visible, button:focus-visible, summary:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; }

.draft-banner{ background:var(--gold); color:var(--navy-dark); text-align:center; font-weight:800; font-size:.85rem; padding:6px 12px; }
.ph{ background:rgba(244,196,48,.25); outline:1px dashed var(--gold); padding:0 4px; border-radius:4px; }

.top{ max-width:820px; margin:0 auto; padding:18px 20px 0; }
.brand{ color:var(--gold); font-weight:900; text-decoration:none; letter-spacing:.02em; font-size:.95rem; }
.brand:hover{ text-decoration:underline; }

.doc{
  max-width:820px; margin:18px auto 0; padding:32px clamp(18px,4vw,40px) 40px;
  background:rgba(8,22,37,.72); border:1px solid rgba(255,255,255,.14); border-radius:16px;
}
.kicker{ margin:0; font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); }
h1{ margin:4px 0 6px; font-size:clamp(1.7rem,4.5vw,2.4rem); line-height:1.15; font-weight:900; text-shadow:0 0 10px rgba(43,197,180,.35); }
.meta{ margin:0 0 20px; color:var(--cream-dark); font-size:.88rem; display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; }
.print{
  font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; color:var(--teal);
  background:transparent; border:1.5px solid var(--teal); border-radius:999px; padding:3px 12px;
}
.print:hover{ background:rgba(43,197,180,.15); }

.toc details{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:10px 16px; margin:0 0 24px; }
.toc summary{ cursor:pointer; font-weight:800; color:var(--gold); }
.toc ol{ margin:10px 0 4px; padding-left:22px; columns:2 260px; column-gap:28px; font-size:.9rem; }
.toc li{ break-inside:avoid; margin-bottom:3px; }

.doc h2{ margin:30px 0 8px; font-size:1.2rem; color:var(--gold); scroll-margin-top:12px; }
.doc h3{ margin:22px 0 6px; font-size:1.05rem; color:var(--cream); }
.doc p, .doc li{ color:var(--cream-dark); }
.doc strong{ color:var(--cream); }
.doc ul, .doc ol{ padding-left:22px; }
.doc li{ margin-bottom:5px; }

.table-scroll{ overflow-x:auto; margin:10px 0 16px; }
.doc table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:480px; }
.doc th, .doc td{ text-align:left; vertical-align:top; padding:8px 10px; border-bottom:1px solid rgba(255,255,255,.12); }
.doc th{ color:var(--gold); font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }

.foot{ max-width:820px; margin:0 auto; padding:24px 20px 46px; text-align:center; font-size:.82rem; color:var(--cream-dark); }
.legal-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 14px; list-style:none; padding:0; margin:0 0 12px; }
.legal-links a{ color:var(--cream-dark); }
.legal-links a[aria-current="page"]{ color:var(--gold); font-weight:800; text-decoration:none; }

@media print{
  body{ background:#fff; color:#000; font-size:11pt; }
  .draft-banner, .print, .toc, .legal-links, .foot p:last-child{ display:none; }
  .doc{ background:none; border:0; padding:0; max-width:none; }
  .doc h2, .brand, h1, .kicker{ color:#000; text-shadow:none; }
  .doc p, .doc li, .doc strong, .meta, .foot{ color:#000; }
  a{ color:#000; }
}
