/* ─────────────────────────────────────────────────────────────
   ALLSTREET — Legal pages (Privacy / Terms)
   Shares the launch-site type system and palette.
   ───────────────────────────────────────────────────────────── */
:root{
  --bg:#f6f1e8;
  --bg-2:#efe8d9;
  --paper:#ffffff;
  --ink:#0e0d0b;
  --sage:#4a7c59;
  --terra:#c8632a;
  --text:#1c1c1a;
  --muted:#6b6964;
  --muted-2:#9b9892;
  --line:rgba(28,28,26,.08);
  --line-2:rgba(28,28,26,.14);
  --sh-1:0 1px 2px rgba(14,13,11,.04),0 2px 8px rgba(14,13,11,.04);
  --f-display:"Fraunces",ui-serif,Georgia,serif;
  --f-body:"Inter",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --nav-h:68px;
  --max:1240px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-padding-top:90px}
body{
  font-family:var(--f-body);
  background:var(--bg);
  color:var(--text);
  font-size:16px;line-height:1.6;
  overflow-x:hidden;
  font-feature-settings:"ss01","cv11";
}
::selection{background:var(--sage);color:#fff}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
a{color:inherit;text-decoration:none}

.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
@media(max-width:760px){.wrap{padding:0 22px}}

/* ── Nav ───────────────────────────────────────────────── */
nav.top{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;padding:0 32px;
  background:rgba(246,241,232,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-name{font-family:var(--f-display);font-weight:600;font-size:24px;letter-spacing:-.02em;color:var(--ink)}
.nav-right{display:flex;align-items:center;gap:8px}
.nav-back{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;font-size:14px;color:var(--muted);border-radius:8px;transition:.18s var(--ease-out)}
.nav-back:hover{color:var(--ink);background:rgba(28,28,26,.04)}
.nav-back svg{width:14px;height:14px}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:100px;
  font-size:14px;font-weight:500;letter-spacing:-.005em;border:1px solid transparent;
  transition:transform .2s var(--ease-out),background .2s,box-shadow .2s;
}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.btn .arr{width:14px;height:14px;transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
@media(max-width:560px){.nav-back span{display:none}nav.top{padding:0 20px}}

/* ── Header ────────────────────────────────────────────── */
.legal-hero{
  padding-top:calc(var(--nav-h) + 72px);padding-bottom:8px;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 60% 50% at 90% 0%, rgba(200,99,42,.08), transparent 60%),
    radial-gradient(ellipse 55% 50% at 0% 100%, rgba(74,124,89,.08), transparent 60%),
    var(--bg);
}
@media(max-width:760px){.legal-hero{padding-top:calc(var(--nav-h) + 44px)}}
.legal-eyebrow{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px;margin-bottom:20px}
.legal-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--sage)}
.legal-hero h1{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(42px,6.5vw,76px);line-height:1;letter-spacing:-.035em;color:var(--ink);
  font-variation-settings:"SOFT" 30,"WONK" 0;
}
.legal-hero h1 i{font-style:italic;color:var(--sage);font-variation-settings:"SOFT" 100,"WONK" 1}
.legal-dates{margin-top:22px;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.legal-dates span{color:var(--muted-2)}

/* Cross-link tabs */
.legal-tabs{display:flex;gap:8px;margin-top:32px}
.legal-tabs a{
  padding:9px 16px;border-radius:100px;font-size:13.5px;font-weight:500;
  border:1px solid var(--line-2);color:var(--muted);background:var(--paper);transition:.18s var(--ease-out);
}
.legal-tabs a:hover{color:var(--ink);border-color:var(--ink)}
.legal-tabs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ── Notice callout ────────────────────────────────────── */
.legal-body{padding:48px 0 100px}
@media(max-width:760px){.legal-body{padding:36px 0 72px}}
.legal-doc{max-width:760px}
.legal-notice{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--terra);
  border-radius:14px;padding:18px 20px;margin-bottom:44px;box-shadow:var(--sh-1);
}
.legal-notice .ic{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:rgba(200,99,42,.10);color:var(--terra);display:grid;place-items:center;margin-top:1px}
.legal-notice .ic svg{width:16px;height:16px}
.legal-notice .t{font-size:14.5px;line-height:1.55;color:var(--muted)}
.legal-notice .t strong{color:var(--ink);font-weight:600}

/* ── Article ───────────────────────────────────────────── */
.legal-doc section{padding-top:36px;border-top:1px solid var(--line);margin-top:36px}
.legal-doc section:first-of-type{border-top:none;margin-top:0;padding-top:0}
.legal-doc h2{
  font-family:var(--f-display);font-weight:500;font-size:clamp(24px,3vw,32px);
  letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin-bottom:16px;text-wrap:balance;
}
.legal-doc p{font-size:16.5px;line-height:1.7;color:var(--muted);margin-bottom:14px;text-wrap:pretty;max-width:68ch}
.legal-doc p:last-child{margin-bottom:0}
.legal-doc p strong{color:var(--ink);font-weight:600}
.legal-doc a.inline{color:var(--sage);font-weight:500;border-bottom:1px solid rgba(74,124,89,.3);transition:.18s}
.legal-doc a.inline:hover{color:#3d6b4b;border-bottom-color:var(--sage)}

/* ── Footer ────────────────────────────────────────────── */
footer{background:var(--ink);color:#dcdad4;padding:72px 0 32px;margin-top:0}
footer .ft-grid{max-width:var(--max);margin:0 auto;padding:0 32px 44px;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:48px;border-bottom:1px solid rgba(255,255,255,.08)}
@media(max-width:760px){footer .ft-grid{grid-template-columns:1fr 1fr;gap:32px;padding:0 22px 32px}}
footer h5{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9b9892;margin-bottom:18px;font-weight:500;font-family:var(--f-mono)}
footer ul{list-style:none;display:flex;flex-direction:column;gap:11px}
footer a{font-size:14px;color:#dcdad4;transition:color .18s}
footer a:hover{color:#fff}
footer .ft-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
footer .ft-brand .brand-mark{width:48px;height:48px}
footer .ft-brand .brand-mark img{filter:invert(1) brightness(1.6)}
footer .ft-brand .brand-name{color:#fff;font-size:26px}
footer .ft-tag{font-size:14px;color:#9b9892;max-width:340px;line-height:1.55}
footer .ft-bottom{max-width:var(--max);margin:0 auto;padding:24px 32px 0;display:flex;justify-content:space-between;font-size:12px;color:#7c7a75;flex-wrap:wrap;gap:12px;font-family:var(--f-mono);letter-spacing:.04em}
@media(max-width:760px){footer .ft-bottom{padding:24px 22px 0}}

@media(max-width:480px){
  :root{--nav-h:60px}
  .legal-doc h2{font-size:22px}
  .legal-doc p{font-size:15.5px}
}
