:root{
  --bg:#100F0D; --text:#ECEAE6; --muted:#A19C93; --faint:#857F75;
  --hairline:rgba(255,250,240,.09); --surface:rgba(255,250,240,.035);
  --accent:150,190,220; --font-voice:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
}
*{ box-sizing:border-box; }
html,body{ min-height:100%; }
body{
  margin:0; color:var(--text); background-color:var(--bg);
  background-image:radial-gradient(110% 82% at 50% 20%,rgba(255,246,232,.055),rgba(255,246,232,0) 48%),radial-gradient(150% 120% at 50% 50%,rgba(0,0,0,0) 52%,rgba(0,0,0,.42) 100%);
  background-attachment:fixed; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body::before{
  content:""; position:fixed; inset:0; z-index:2; pointer-events:none; opacity:.03; mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{ background:rgba(var(--accent),.22); color:var(--text); }
.page{ position:relative; z-index:1; min-height:100vh; display:flex; flex-direction:column; }
header{ display:flex; align-items:center; justify-content:space-between; padding:22px 28px; }
.brand{ display:flex; align-items:baseline; gap:9px; text-decoration:none; }
.brand .name{ color:var(--text); font-size:15px; font-weight:500; letter-spacing:-.01em; }
.tag,.mono{ font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace; }
.tag{ color:var(--faint); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
header nav{ display:flex; gap:18px; }
header nav a,.legal-links a{ color:var(--muted); text-decoration:none; transition:color .18s ease; }
header nav a{ font-size:13.5px; }
header nav a:hover,.legal-links a:hover{ color:var(--text); }
main{ flex:1; width:min(760px,100%); margin:0 auto; padding:70px 28px 90px; }
.eyebrow{ margin:0 0 14px; color:var(--faint); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
h1{ margin:0; font-family:var(--font-voice); font-size:clamp(40px,7vw,68px); line-height:1.03; font-weight:500; letter-spacing:-.018em; }
.lede{ margin:22px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.updated{ margin:14px 0 0; color:var(--faint); font-size:11px; letter-spacing:.04em; }
.policy{ margin-top:54px; }
.policy section{ padding:28px 0; border-top:1px solid var(--hairline); }
.policy h2{ margin:0 0 13px; font-family:var(--font-voice); font-size:25px; font-weight:500; letter-spacing:-.008em; }
.policy p,.policy li{ color:var(--muted); font-size:14.5px; line-height:1.72; }
.policy p{ margin:11px 0 0; }
.policy ul{ margin:12px 0 0; padding-left:21px; }
.policy li+li{ margin-top:7px; }
.policy strong{ color:var(--text); font-weight:500; }
.policy a{ color:rgb(var(--accent)); text-underline-offset:3px; }
.callout{ margin-top:18px!important; padding:16px 18px; border:1px solid var(--hairline); border-radius:12px; background:var(--surface); }
footer{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 28px; color:var(--faint); font-size:12px; }
.legal-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.legal-links a{ color:var(--faint); font-size:11.5px; }
:focus-visible{ outline:2px solid rgba(var(--accent),.55); outline-offset:3px; border-radius:8px; }
@media (max-width:620px){
  header{ padding:20px; }
  header nav{ gap:12px; }
  main{ padding:44px 20px 64px; }
  footer{ padding:20px; flex-direction:column; align-items:flex-start; }
  .legal-links{ justify-content:flex-start; }
}
