/* Shared chrome for the standalone legal pages (privacy.html, terms.html).
   Token values mirror the inline block in index.html — keep them in step. */
:root {
  --green-900:#082e25;
  --green-800:#0b3b30;
  --green:#147c64;
  --mint:#7cf0c6;
  --mint-2:#a9f7db;
  --cream:#f3efe3;
  --cream-2:#e7e0cd;
  --ink:#0c1512;
  --sans: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  --wrap:1160px;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--green-900); color:var(--cream); font-family:var(--sans); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.wrap { max-width:var(--wrap); margin:0 auto; padding-inline:24px; }
a { color:inherit; text-decoration:none; }
p { margin:0; }
h1,h2,h3 { margin:0; font-weight:800; letter-spacing:-0.03em; line-height:1.02; text-wrap:balance; }
.eyebrow { font-family:var(--mono); font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--green); margin:0; }

.btn { display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:15px; padding:15px 28px; border-radius:50px; border:2px solid transparent; cursor:pointer; transition:transform .16s ease, background .16s, color .16s, border-color .16s; }
.btn-mint { background:var(--mint); color:var(--green-900); }
.btn-mint:hover { transform:translateY(-2px); background:var(--mint-2); }
.nav .btn { font-size:13px; padding:9px 18px; border-width:1px; }
@media (prefers-reduced-motion: reduce){ .btn:hover{ transform:none; } }

header.nav { position:sticky; top:0; z-index:60; background:color-mix(in srgb, var(--green-900) 82%, transparent); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.08); }
.nav-in { display:flex; align-items:center; justify-content:space-between; height:70px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:19px; letter-spacing:-0.02em; }
.brand svg { color:var(--mint); }
.nav-links { display:flex; gap:32px; }
.nav-links a { font-size:15px; color:rgba(243,239,227,.72); font-weight:500; }
.nav-links a:hover { color:var(--mint); }
@media (max-width:880px){ .nav-links{ display:none; } }

/* the policy itself sits on cream, like the legal band on the home page */
.band-cream { background:var(--cream); color:var(--ink); padding-block:clamp(56px,8vw,96px); }
.legal { max-width:760px; margin:0 auto; }
.legal .updated { font-family:var(--mono); font-size:12px; letter-spacing:0.04em; color:#8a8272; margin-top:14px; }
.legal h1 { font-size:clamp(30px,4vw,44px); margin-top:14px; }
.legal-body { margin-top:30px; display:flex; flex-direction:column; gap:26px; }
.legal-body h2 { font-size:16px; font-weight:800; color:var(--green); letter-spacing:0; }
.legal-body p { margin-top:8px; font-size:15.5px; color:#4c4638; line-height:1.7; }
.legal-body ul { margin:12px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:9px; }
.legal-body li { font-size:15px; color:#4c4638; line-height:1.65; }
.legal-body a { color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.legal-body code { font-family:var(--mono); font-size:13px; background:#eae2d0; padding:2px 6px; border-radius:5px; }
.legal-other { max-width:760px; margin:38px auto 0; padding-top:22px; border-top:1px solid var(--cream-2); font-size:15px; color:#4c4638; }
.legal-other a { color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:2px; }

footer { background:var(--green-900); color:var(--cream); padding-block:56px 40px; border-top:1px solid rgba(255,255,255,.08); }
.foot-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px; }
.foot h4 { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--mint); margin:0 0 14px; }
.foot a { display:block; color:rgba(243,239,227,.7); font-size:15px; padding:5px 0; }
.foot a:hover { color:var(--mint); }
.foot .about { color:rgba(243,239,227,.7); font-size:15px; max-width:26ch; margin-top:12px; }
.foot-bottom { margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:var(--mono); font-size:12px; color:rgba(243,239,227,.5); }
@media (max-width:760px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
