@font-face {
  font-family: "Outfit";
  src: url("./fonts/Outfit-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("./fonts/CormorantGaramond-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
:root { --paper:#fbf5eb; --ink:#4f4f4f; --muted:#6b6b6b; --green:#2b6b58; --line:#e3d8c6; --notice:#fff5d8; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Outfit",Arial,sans-serif; font-weight:300; line-height:1.65; }
a { color:var(--green); }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(1040px,calc(100% - 40px)); margin:auto; padding:24px 0; }
.legal-brand { display:flex; align-items:center; gap:16px; color:#636363; text-decoration:none; }
.legal-brand img { width:58px; height:34px; }
.legal-brand strong { padding-right:.5em; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.55rem; font-weight:400; letter-spacing:.5em; }
.legal-header nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; font-size:.82rem; }
.legal-header nav a { color:var(--muted); }
.legal-main { width:min(860px,calc(100% - 40px)); margin:32px auto 70px; }
.legal-main h1 { margin:0; color:#3f3f3f; font-size:clamp(2.7rem,7vw,5rem); font-weight:300; letter-spacing:-.06em; line-height:1; }
.legal-main h2 { margin:50px 0 12px; color:#414141; font-size:1.55rem; font-weight:400; line-height:1.25; }
.legal-main h3 { margin:28px 0 8px; font-size:1.05rem; font-weight:500; }
.legal-main p, .legal-main li { max-width:78ch; }
.legal-main li + li { margin-top:7px; }
.legal-meta { margin:14px 0 32px; color:var(--muted); }
.legal-draft { margin:24px 0 36px; padding:18px 20px; border:1px solid #e9cf83; border-radius:14px; background:var(--notice); }
.legal-draft strong { display:block; color:#6d5420; }
.legal-toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 20px; padding:22px 28px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.48); }
.legal-toc a { text-decoration:none; }
.legal-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.legal-table th,.legal-table td { padding:12px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-table th { background:rgba(255,255,255,.58); font-weight:500; }
.legal-placeholder { color:#8b3f30; font-weight:500; }
.legal-callout { padding:18px 20px; border-left:4px solid var(--green); background:rgba(255,255,255,.52); }
@media (max-width:700px) { .legal-header { align-items:flex-start; flex-direction:column; } .legal-header nav { justify-content:flex-start; } .legal-toc { grid-template-columns:1fr; } .legal-table { display:block; overflow-x:auto; } }
