/* Landing page only; shared tokens, fonts and footer come from legal.css.
   External (not inline) so the Content-Security-Policy needs no 'unsafe-inline'. */
body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.landing {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 64px 24px;
  background: radial-gradient(ellipse at 50% 40%, var(--bg-raised) 0%, var(--bg) 70%);
}
.landing h1 {
  font-family: var(--serif); font-weight: 400; font-size: 72px; line-height: 1;
  color: var(--heading); letter-spacing: .01em;
}
.landing p { margin-top: 18px; max-width: 380px; font-size: 18px; line-height: 1.6; color: var(--muted); }
.cta {
  margin-top: 36px; display: inline-block; padding: 14px 30px; border-radius: 999px;
  background: var(--orchid); color: #f4f0f8; font-size: 16px; font-weight: 500; text-decoration: none;
}
.cta:hover { color: #fff; background: #9d7fc0; }
@media (max-width: 600px) {
  .landing h1 { font-size: 56px; }
  .landing p { font-size: 17px; }
  .footer-inner { align-items: center; text-align: center; }
}
