:root { --forest:#103e30; --ink:#172720; --muted:#617068; --paper:#fffdf8; --cream:#f4f0e6; --gold:#b48a46; --line:#dce3dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font:16px/1.7 Inter,Arial,sans-serif; }
a { color:var(--forest); }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:18px max(20px,calc((100vw - 1160px)/2)); background:var(--forest); color:#fff; }
.legal-brand { display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; font-family:Georgia,serif; font-size:1.08rem; }
.legal-brand img { width:42px; height:42px; object-fit:contain; }
.legal-header nav { display:flex; flex-wrap:wrap; gap:16px; }
.legal-header nav a { color:#fff; text-decoration:none; font-weight:700; }
.legal-shell { display:grid; grid-template-columns:240px minmax(0,780px); gap:42px; max-width:1100px; margin:44px auto; padding:0 22px 70px; }
.legal-index { align-self:start; position:sticky; top:22px; padding:20px; border:1px solid var(--line); background:#fff; }
.legal-index strong { display:block; margin-bottom:10px; color:var(--forest); font-family:Georgia,serif; font-size:1.2rem; }
.legal-index a { display:block; padding:8px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.legal-index a[aria-current="page"] { color:#8b6428; font-weight:800; }
.legal-document { padding:clamp(26px,5vw,58px); border:1px solid var(--line); background:var(--paper); box-shadow:0 20px 60px rgba(16,62,48,.08); }
.legal-eyebrow { margin:0 0 8px; color:#8b6428; font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.legal-document h1,.legal-document h2 { color:var(--forest); font-family:Georgia,serif; line-height:1.12; }
.legal-document h1 { margin:0; font-size:clamp(2.5rem,6vw,4.6rem); }
.legal-document h2 { margin:38px 0 10px; font-size:1.65rem; }
.legal-updated { margin:12px 0 28px; color:var(--muted); font-size:.92rem; }
.legal-summary { padding:18px 20px; border-left:4px solid var(--gold); background:#f2f5ef; }
.legal-document li { margin:.5rem 0; }
.legal-note { padding:14px 16px; border:1px solid #dccba8; background:#fff8e9; }
.legal-footer { padding:28px 22px 72px; background:#0a3328; color:#fff; text-align:center; }
.legal-footer a,.legal-footer button { color:#fff; }
.legal-footer p { margin:12px 0 0; }
@media (max-width:780px) { .legal-header { align-items:flex-start; flex-direction:column; } .legal-shell { grid-template-columns:1fr; margin-top:24px; } .legal-index { position:static; } }

