/* Moments — legal pages (Privacy, Terms). Long-form, readable, Warm Keepsake.
   Content is generated from the app's constants/legal.ts (single source of truth):
   if that file changes, re-export privacy.html + terms.html from it. No inline
   styles/scripts here, so the pages stay clean under the site's locked CSP. */
:root{
  --cream:#FEF9ED; --surface:#FFFFFF; --ink:#2E2823; --ink-soft:#3D352E;
  --ink2:#6F6253; --terra:#B05C42; --terra-deep:#7F4230; --border:#EBE1CC;
}
*{margin:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Be Vietnam Pro',system-ui,-apple-system,sans-serif;
  color:var(--ink-soft); line-height:1.7; -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(120% 80% at 88% -10%, #FFFDF7 0%, rgba(255,253,247,0) 55%),
    radial-gradient(110% 70% at -8% 108%, #FBF3E0 0%, rgba(251,243,224,0) 50%),
    var(--cream);
}

.legal-topbar{ max-width:860px; margin:0 auto; padding:24px clamp(20px,5vw,40px) 0; }
.legal-back{
  display:inline-flex; align-items:center; gap:9px; text-decoration:none;
  font-weight:500; font-size:.95rem; color:var(--terra-deep);
}
.legal-back:hover{ color:var(--terra); }
.legal-back .logo-mark{ display:block; }

main.legal{
  max-width:760px; margin:22px auto 0;
  padding:clamp(28px,5vw,52px) clamp(22px,5vw,56px);
  background:var(--surface); border:1px solid var(--border); border-radius:20px;
  box-shadow:0 14px 40px rgba(74,66,58,.07);
}
.legal-stamp{
  display:inline-block; font-family:'Courier Prime',monospace; font-size:12px;
  letter-spacing:2.5px; text-transform:uppercase; color:var(--terra-deep);
}
main.legal h1{
  font-family:'Literata',serif; font-weight:600; color:var(--ink);
  font-size:clamp(1.9rem,4.5vw,2.5rem); line-height:1.12; letter-spacing:-.4px;
  margin:10px 0 6px;
}
.legal-updated{
  font-family:'Courier Prime',monospace; font-size:12.5px; letter-spacing:1px;
  color:var(--ink2);
}
main.legal .intro p{ margin-top:18px; font-size:1.06rem; color:var(--ink-soft); }
main.legal h2{
  font-family:'Literata',serif; font-weight:600; color:var(--ink);
  font-size:1.28rem; line-height:1.25; margin:34px 0 0;
}
main.legal section p{ margin-top:14px; }
main.legal a{ color:var(--terra-deep); text-decoration:underline; text-underline-offset:2px; }
main.legal a:hover{ color:var(--terra); }

.legal-foot{
  max-width:760px; margin:30px auto 60px; padding:0 clamp(22px,5vw,56px);
  display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; justify-content:space-between;
}
.legal-foot nav{ display:flex; gap:18px; flex-wrap:wrap; }
.legal-foot a{ color:var(--terra-deep); text-decoration:none; font-weight:500; font-size:.95rem; }
.legal-foot a:hover{ text-decoration:underline; }
.legal-foot .copy{ font-family:'Courier Prime',monospace; font-size:12px; color:var(--ink2); letter-spacing:.3px; }

:focus-visible{ outline:2px solid var(--terra); outline-offset:3px; border-radius:4px; }
