/* Full-viewport centering for the landing card */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Extends .card from tokens.css */
.landing-card {
  max-width: 480px;
  width: 90%;
  text-align: center;
  padding: var(--s-7);
}

.landing-card h1 {
  font: var(--t-h1);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--s-2);
}

.landing-card > p {
  color: var(--fg-2);
  margin-bottom: var(--s-5);
}

.landing-input {
  width: 100%;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-2);
  border: 1px solid var(--line-2);
  background: var(--bg-0);
  color: var(--fg-1);
  font: var(--t-body);
  margin-bottom: var(--s-3);
  outline: none;
}

.landing-input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.btn-primary {
  width: 100%;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-2);
  border: none;
  background: var(--accent);
  color: var(--accent-ink);
  font: 600 1rem/1 var(--font-sans);
  cursor: pointer;
  transition: background var(--d-1) var(--ease), transform var(--d-1) var(--ease);
}

.btn-primary:hover  { background: var(--accent-dim); }
.btn-primary:active { transform: translateY(1px); }

.landing-ad {
  margin-top: var(--s-5);
}

.landing-back {
  display: inline-block;
  margin-top: var(--s-4);
  color: var(--fg-2);
  text-decoration: none;
  font: var(--t-body-sm);
  transition: color var(--d-1) var(--ease);
}

.landing-back:hover { color: var(--fg-1); }

.landing-consent {
  margin-top: var(--s-4);
  color: var(--fg-3);
  font: var(--t-body-xs);
}

/* Shared footer */
.site-footer {
  margin-top: var(--s-5);
  text-align: center;
  font: var(--t-body-sm);
}

.site-footer a {
  color: var(--fg-2);
  text-decoration: none;
  transition: color var(--d-1) var(--ease);
}

.site-footer a:hover { color: var(--fg-1); }

/* Privacy (long-form content) page: top-aligned, readable measure */
body.privacy-body {
  justify-content: flex-start;
  padding: var(--s-7) var(--s-4);
}

.privacy-card {
  max-width: 720px;
  width: 100%;
  text-align: left;
  padding: var(--s-7);
}

.privacy-card h1 {
  font: var(--t-h1);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--s-2);
}

.privacy-card h2 {
  font: var(--t-h3);
  margin-top: var(--s-5);
  margin-bottom: var(--s-2);
}

.privacy-card p {
  color: var(--fg-2);
  margin-bottom: var(--s-3);
}

.privacy-card a { color: var(--fg-1); }

.privacy-updated {
  color: var(--fg-3) !important;
  font: var(--t-body-sm);
  margin-bottom: var(--s-5);
}
