/* =========================================================
   KITTREDGE VENTURE GROUP · Legal pages (privacy.html, terms.html)
   Tokens, buttons, and footer mirror index.html; keep them in sync.
   ========================================================= */
:root{
  --brand-navy:#00142D;
  --navy:#0E1A2C;
  --navy-2:#14243B;
  --navy-3:#08111E;
  --navy-line:#26364F;
  --gold:#A9771F;
  --gold-bright:#D4AA5C;
  --champagne:#D8C59A;
  --cream:#F5F3EE;
  --cream-2:#ECE6D8;
  --cream-line:#DCD3C0;
  --ink:#00142D;
  --ink-dim:rgba(0,20,45,.70);
  --ink-faint:rgba(0,20,45,.58);
  --cream-dim:rgba(245,243,238,.72);
  --cream-faint:rgba(245,243,238,.40);

  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --maxw:1200px;
  --gutter:clamp(16px, 4vw, 32px);
  --radius:4px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2{font-family:var(--serif);font-weight:600;margin:0;line-height:1.02;letter-spacing:-.01em;font-variant-numeric:lining-nums}
p{margin:0}
em.accent{font-style:italic;color:var(--gold-bright);font-weight:500}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font:600 12px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-bright);margin-bottom:22px;
}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor;opacity:.8}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  padding:18px 26px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.btn .arrow{transition:transform .25s var(--ease)}
@media (hover:hover){.btn:hover .arrow{transform:translateX(4px)}}
.btn-gold{background:var(--gold-bright);color:var(--brand-navy)}
.btn-gold:hover{background:var(--champagne)}

/* =========================================================
   HEADER BAND (navy)
   ========================================================= */
.legal-hero{
  position:relative;overflow:hidden;color:var(--cream);
  padding:22px 0 clamp(96px,11vw,150px);
  background:
    radial-gradient(1100px 600px at 78% 0%, rgba(212,170,92,.10), transparent 60%),
    radial-gradient(900px 700px at 10% 120%, rgba(0,20,45,.9), transparent 70%),
    var(--navy);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand img{height:54px;width:auto}
.nav-actions{display:flex;align-items:center;gap:28px}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 13px/1 var(--sans);letter-spacing:.08em;text-decoration:none;color:var(--cream-dim);transition:color .2s}
.back:hover{color:var(--gold-bright)}
.back svg{transform:scaleX(-1)}
.nav-cta{padding:14px 20px;font-size:12px}
.legal-title{position:relative;z-index:2;margin-top:clamp(56px,8vw,96px)}
.legal-title h1{font-size:clamp(52px,7.4vw,96px);line-height:.96}
.legal-title .meta{margin-top:24px;font:600 12px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim)}
.hills{position:absolute;left:0;right:0;bottom:0;height:clamp(64px,8vw,120px);z-index:1;pointer-events:none}
.hills svg{width:100%;height:100%;display:block}
.hills path{fill:none;stroke:var(--gold-bright);stroke-linecap:round;vector-effect:non-scaling-stroke}
.hills .ridge{stroke-width:2;opacity:.75}
.hills .ghost{stroke-width:1;opacity:.14}
@media (max-width:599px){.nav-cta{display:none}}
@media (max-width:380px){.brand img{height:44px}}

/* =========================================================
   DOCUMENT (cream)
   ========================================================= */
.legal{padding:clamp(56px,8vw,104px) 0 clamp(72px,10vw,128px)}
.legal-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start}

.toc{position:sticky;top:32px;max-height:calc(100vh - 64px);overflow-y:auto;padding-right:8px}
.toc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.toc summary::-webkit-details-marker{display:none}
.toc summary .plus{flex:none;width:30px;height:30px;border:1px solid var(--cream-line);border-radius:50%;display:grid;place-items:center;transition:transform .3s var(--ease)}
.toc[open] summary .plus{transform:rotate(45deg)}
.toc ol{list-style:none;margin:12px 0 0;padding:0;border-left:1px solid var(--cream-line)}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:1px solid transparent;font-size:13px;line-height:1.4;color:var(--ink-dim);text-decoration:none;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--brand-navy);border-left-color:var(--gold)}

.doc{max-width:720px;font-size:16px;color:rgba(0,20,45,.82)}
.doc .intro p{font-size:17px;color:var(--ink-dim)}
.doc p + p,.doc p + ul,.doc ul + p{margin-top:16px}
.doc section{padding-top:44px;margin-top:44px;border-top:1px solid var(--cream-line);scroll-margin-top:16px}
.doc h2{font-size:clamp(28px,3vw,34px);color:var(--brand-navy);margin-bottom:18px;line-height:1.1}
.doc h2 .n{color:var(--gold);font-style:italic;font-weight:500;margin-right:6px}
.doc strong{color:var(--ink);font-weight:600}
.doc ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.doc li{position:relative;padding-left:22px}
.doc li::before{content:"";position:absolute;left:0;top:.85em;width:10px;height:1px;background:var(--gold)}
.doc a{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.doc a:hover{color:var(--brand-navy)}

.contact-card{margin-top:20px;background:#fff;border:1px solid var(--cream-line);border-left:2px solid var(--gold);border-radius:var(--radius);padding:24px 28px;display:grid;gap:4px}
.contact-card .org{font:600 24px/1.2 var(--serif);color:var(--brand-navy);margin-bottom:4px}
.contact-card small{display:inline-block;min-width:72px;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}

@media (max-width:980px){
  .legal-grid{grid-template-columns:1fr;gap:40px}
  .toc{position:static;max-height:none;overflow:visible;padding:4px 20px 4px;background:#fff;border:1px solid var(--cream-line);border-radius:var(--radius)}
  .toc ol{margin:4px 0 16px}
  .toc a{padding:10px 0 10px 16px}
}
@media (min-width:981px){.toc summary{pointer-events:none}.toc summary .plus{display:none}}
@media (max-width:480px){.contact-card{padding:20px}}

/* =========================================================
   FOOTER (same as index.html)
   ========================================================= */
.site-footer{background:var(--navy-3);color:var(--cream);padding:80px 0 32px;border-top:1px solid var(--navy-line)}
.foot-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr 1.4fr;gap:48px}
.foot-brand img{width:220px;height:auto}
.foot-brand p{margin-top:22px;font:italic 500 21px/1.35 var(--serif);color:var(--champagne);max-width:300px}
.site-footer h4{font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);margin:8px 0 8px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.site-footer li a,.site-footer li{font-size:14px;color:var(--cream-dim);text-decoration:none;overflow-wrap:anywhere}
.site-footer li{padding:12px 0;line-height:20px}
.site-footer li a{display:inline-block;padding:12px 0;margin:-12px 0}
.site-footer li a:hover{color:var(--cream)}
.foot-bottom{margin-top:64px;padding-top:24px;border-top:1px solid var(--navy-line);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:12px;color:var(--cream-faint)}
.foot-bottom a{display:inline-block;padding:8px 2px;color:var(--cream-faint);text-decoration:none}
.foot-bottom a:hover,.foot-bottom a[aria-current="page"]{color:var(--cream)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr 1.5fr;gap:40px 32px}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid > div:last-child{grid-column:1/-1}}
