:root{
  --green:#0B7A2E;
  --green-dark:#055E22;
  --mustard:#4ED01E;
  --cream:#F7FAF4;
  --charcoal:#1F2A22;
  --sage:#E6F4E1;
  --line:#D9E5D2;
  --muted:#7E8878;
  --muted-dark:#5B6657;
  --white:#FFFFFF;
  --radius-md: 16px;
  --shadow-card: 0 10px 30px -12px rgba(31,42,34,0.18);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Hind', sans-serif;
  background:var(--cream);
  color:var(--charcoal);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--green); text-decoration:none;}
a:hover{ text-decoration:underline; }
:focus-visible{ outline:2.5px solid var(--green); outline-offset:3px; border-radius:4px; }

.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

h1,h2,h3,.display{
  font-family:'Fraunces', serif;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--charcoal);
}

/* ---------- NAV ---------- */
header.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(247,250,244,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px;
}
.logo{
  display:flex; align-items:center; gap:9px;
  font-family:'Fraunces', serif; font-weight:700; font-size:22px;
  color:var(--charcoal); text-decoration:none;
}
.logo .dot{
  width:11px; height:11px; border-radius:50%;
  background:var(--mustard);
  box-shadow:0 0 0 4px var(--sage);
}
nav.nav-links{ display:flex; align-items:center; gap:34px; }
nav.nav-links a{
  font-size:15px; font-weight:600; color:var(--muted-dark);
  transition:color .18s ease; text-decoration:none;
}
nav.nav-links a:hover{ color:var(--green); text-decoration:none; }
.badge-soon{
  font-size:11px; font-weight:700; letter-spacing:.04em;
  background:var(--sage); color:var(--green);
  padding:6px 11px; border-radius:100px;
  border:1px solid var(--line);
  white-space:nowrap;
}

/* ---------- LEGAL CONTENT ---------- */
.legal-hero{
  padding:64px 0 32px; border-bottom:1px solid var(--line);
}
.legal-hero .eyebrow{
  font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--green); display:inline-flex; align-items:center; gap:8px;
}
.legal-hero .eyebrow::before{ content:""; width:16px; height:1px; background:var(--green); display:inline-block; }
.legal-hero h1{ font-size:clamp(30px,4vw,44px); margin-top:16px; }
.legal-hero .updated{ margin-top:12px; font-size:14px; color:var(--muted); }

.legal-body{ padding:52px 0 96px; max-width:760px; }
.legal-body h2{
  font-size:22px; margin-top:44px; margin-bottom:14px;
}
.legal-body h2:first-child{ margin-top:0; }
.legal-body p{ font-size:15.5px; color:var(--muted-dark); margin-bottom:14px; }
.legal-body ul{ list-style:none; margin-bottom:14px; }
.legal-body ul li{
  font-size:15.5px; color:var(--muted-dark); padding-left:22px; position:relative; margin-bottom:8px;
}
.legal-body ul li::before{
  content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--mustard);
}
.legal-body table{ width:100%; border-collapse:collapse; margin:18px 0 24px; font-size:14.5px; }
.legal-body th, .legal-body td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); }
.legal-body th{ color:var(--charcoal); font-weight:700; background:var(--sage); }
.legal-body td{ color:var(--muted-dark); }
.legal-note{
  background:var(--sage); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:18px 20px; font-size:14.5px; color:var(--muted-dark); margin:24px 0;
}
.legal-note strong{ color:var(--charcoal); }
.toc{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:22px 24px; margin-top:28px;
}
.toc h3{ font-family:'Hind',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:12px; }
.toc ol{ padding-left:18px; }
.toc li{ font-size:14.5px; margin-bottom:7px; }
.toc a{ color:var(--charcoal); font-weight:600; text-decoration:none; }
.toc a:hover{ color:var(--green); text-decoration:underline; }

/* ---------- FOOTER ---------- */
footer{ border-top:1px solid var(--line); padding-top:44px; margin-top:20px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:44px; }
.footer-logo{ font-family:'Fraunces',serif; font-weight:700; font-size:22px; display:flex; align-items:center; gap:9px; }
.footer-tag{ color:var(--muted-dark); font-size:14px; margin-top:12px; max-width:280px; }
.footer-col h4{ font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:16px; }
.footer-col a{ display:block; font-size:14.5px; color:var(--muted-dark); padding:6px 0; text-decoration:none; }
.footer-col a:hover{ color:var(--green); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--line); padding:22px 0; font-size:13px; color:var(--muted);
  flex-wrap:wrap; gap:10px;
}

@media (max-width: 900px){
  nav.nav-links{ display:none; }
  .footer-grid{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width: 560px){
  .wrap{ padding:0 18px; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

.logo-img{ width:36px; height:36px; border-radius:10px; flex-shrink:0; box-shadow:0 4px 12px -4px rgba(5,94,34,.45); }

a.badge-soon{ text-decoration:none; }
a.badge-soon:hover{ background:var(--green); color:#fff; }
