:root {
  --coral: #ff5757;
  --coral-600: #ec5a51;
  --pink: #ff66c4;
  --ink-950: #121214;
  --ink-900: #1b1b1f;
  --ink-600: #55555f;
  --ink-500: #6e6e7a;
  --ink-400: #9494a0;
  --ink-100: #f2f2f5;
  --white: #ffffff;
  --cloud: #fff6f4;
  --border-subtle: var(--ink-100);
  --font: "Afacad Flux", ui-sans-serif, system-ui, sans-serif;
  --grad-brand: linear-gradient(100deg, var(--coral) 0%, var(--pink) 100%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 18px;
  letter-spacing: -0.02em;
  line-height: 1.6;
  color: var(--ink-600);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ink-900); text-decoration: none; }
a:hover { color: var(--coral-600); }
img { display: block; max-width: 100%; }

.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.narrow { max-width: 760px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.site-header .wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 24px;
}
.logo img { height: 55px; width: auto; display: block; }
nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px;
  font-size: 15px;
  font-weight: 500;
}
nav a { color: var(--ink-600); }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--ink-900);
  color: var(--white);
  font-weight: 600;
  font-size: 13px;
}
.btn:hover { background: #000; color: var(--white); }

.hero {
  background: radial-gradient(120% 90% at 50% 0%, var(--cloud) 0%, var(--white) 60%);
  padding: 72px 0 40px;
}
.eyebrow {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--coral-600);
}
h1 {
  margin: 0;
  font-weight: 800;
  font-size: clamp(40px, 5.5vw, 62px);
  letter-spacing: -0.02em;
  line-height: 1.08;
  color: var(--ink-900);
}
.lede {
  margin: 16px 0 0;
  max-width: 560px;
  color: var(--ink-500);
}
.updated { margin: 12px 0 0; font-size: 14px; color: var(--ink-400); }

.legal {
  padding: 24px 0 96px;
}
.legal h2 {
  margin: 40px 0 12px;
  font-size: 29px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink-900);
}
.legal h3 {
  margin: 28px 0 8px;
  font-size: 20px;
  font-weight: 650;
  color: var(--ink-900);
}
.legal p, .legal li { margin: 0 0 12px; }
.legal ul { padding-left: 1.2em; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }

.site-footer {
  background: var(--ink-950);
  color: rgba(255,255,255,0.55);
  font-size: 14px;
}
.site-footer .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 36px 24px;
}
.site-footer img { height: 26px; width: auto; }
.foot-links { display: flex; flex-wrap: wrap; gap: 20px; }
.foot-links a { color: rgba(255,255,255,0.7); }
.brand { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
