/* Aloft — shared chrome for subpages (index.html is self-contained) */
:root {
  --canvas:#f1f3f6; --surface:#ffffff; --ink:#141821; --muted:#646c7a;
  --accent:#3f6be0; --accent-deep:#3159c4; --accent-soft:rgba(63,107,224,0.10);
  --line:#e6e9ef; --line-soft:rgba(20,24,33,0.07);
  --font:-apple-system,"SF Pro Display","SF Pro Text",system-ui,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(0.25,0.1,0.25,1);
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family:var(--font); background:var(--canvas); color:var(--ink);
  line-height:1.5; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
::selection { background:var(--accent-soft); }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }

.wrap { max-width:1120px; margin:0 auto; padding:0 28px; }

/* Nav */
.nav {
  position:sticky; top:0; z-index:50;
  background:rgba(241,243,246,.82); backdrop-filter:blur(18px) saturate(1.4); -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid var(--line-soft);
}
.nav-inner { display:flex; align-items:center; gap:32px; height:64px; }
.brand { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:600; letter-spacing:-.01em; }
.brand svg { width:26px; height:26px; }
.nav-links { display:flex; gap:26px; margin-left:auto; }
.nav-links a { font-size:14px; font-weight:500; color:var(--muted); transition:color .2s var(--ease); }
.nav-links a:hover { color:var(--ink); }
.nav-cta {
  background:var(--ink); color:#fff; font-size:13px; font-weight:600;
  padding:9px 18px; border-radius:14px; transition:transform .2s var(--ease), background .2s var(--ease);
}
.nav-cta:hover { background:#000; transform:translateY(-1px); }
@media (max-width:720px){ .nav-links { display:none; } .nav-cta { margin-left:auto; } }

/* Page scaffolding */
main { padding:72px 0 104px; }
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent-deep); background:var(--accent-soft);
  padding:7px 14px; border-radius:999px; margin-bottom:20px;
}
.eyebrow::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
h1 { font-size:clamp(34px, 4.6vw, 52px); font-weight:600; letter-spacing:-.03em; line-height:1.06; text-wrap:balance; margin-bottom:14px; }
.lede { font-size:18px; color:var(--muted); line-height:1.6; max-width:56ch; }
.updated { font-size:13px; color:var(--muted); margin:18px 0 0; }

/* Legal prose */
.prose { max-width:680px; margin-top:40px; }
.prose h2 { font-size:22px; font-weight:600; letter-spacing:-.02em; margin:40px 0 12px; }
.prose p { font-size:16px; color:#3c4250; line-height:1.7; margin-bottom:14px; }
.prose strong { color:var(--ink); }
.prose ul { margin:0 0 14px 0; padding-left:0; list-style:none; display:grid; gap:10px; }
.prose li { display:flex; gap:12px; font-size:16px; color:#3c4250; line-height:1.6; }
.prose li::before {
  content:""; flex-shrink:0; width:18px; height:18px; margin-top:4px; border-radius:50%;
  background:var(--accent-soft);
  background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"%3E%3Cpath d="M5 9.5l2.5 2.5L13 6.5" fill="none" stroke="%233f6be0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
}
.prose a { color:var(--accent); font-weight:500; }
.prose a:hover { text-decoration:underline; }

/* Two-column pages (contact, account deletion) */
.two-col { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,6vw,96px); align-items:start; margin-top:8px; }
@media (max-width:820px){ .two-col { grid-template-columns:1fr; } }
.cta-card {
  background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:36px 32px;
  box-shadow:0 1px 2px rgba(20,24,33,.04), 0 8px 24px rgba(20,24,33,.06);
}
.cta-card h2 { font-size:18px; font-weight:600; letter-spacing:-.015em; margin-bottom:8px; }
.cta-card p { font-size:14.5px; color:var(--muted); line-height:1.6; margin-bottom:20px; }
.btn-primary {
  display:inline-block; background:var(--accent); color:#fff; font-size:14px; font-weight:600;
  padding:12px 24px; border-radius:14px; transition:transform .2s var(--ease), background .2s var(--ease);
}
.btn-primary:hover { background:var(--accent-deep); transform:translateY(-1px); }
.cta-email { display:block; margin-top:14px; font-size:14px; color:var(--accent); font-weight:500; }
.cta-email:hover { text-decoration:underline; }
.steps { counter-reset:step; display:grid; gap:14px; margin:24px 0 8px; padding:0; list-style:none; }
.steps li { display:flex; gap:14px; font-size:15.5px; color:#3c4250; line-height:1.55; }
.steps li::before {
  counter-increment:step; content:counter(step);
  flex-shrink:0; width:26px; height:26px; border-radius:50%;
  background:var(--accent-soft); color:var(--accent);
  font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; margin-top:1px;
}

/* Footer */
footer { background:var(--surface); border-top:1px solid var(--line); padding:48px 0 36px; }
.foot-top { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; flex-wrap:wrap; margin-bottom:36px; }
.foot-brand .brand { margin-bottom:8px; }
.foot-tag { font-size:14px; color:var(--accent); font-weight:600; }
.foot-links { display:flex; gap:56px; flex-wrap:wrap; }
.foot-col { display:grid; gap:10px; }
.foot-col span { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.foot-col a { font-size:14px; color:var(--ink); opacity:.75; transition:opacity .2s; }
.foot-col a:hover { opacity:1; }
.foot-bottom {
  border-top:1px solid var(--line); padding-top:22px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12.5px; color:var(--muted);
}
