/*
 * The public pages: landing, FAQ, submitting, privacy, terms.
 *
 * Same tokens as the application, wider measure. These pages are read rather than used, and the
 * admin screens' narrow column is wrong for prose — but the typography has to match, because
 * somebody who signs up should not feel they have arrived somewhere else.
 */

.site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  border-bottom: var(--border);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-nav a {
  color: var(--ink-muted);
  text-decoration: none;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: var(--ink);
}

.site-nav__spacer {
  flex: 1;
}

.prose {
  max-width: var(--measure);
  margin: 0 auto;
  padding: var(--space-6) var(--space-4) var(--space-7);
}

.prose h2 {
  font-family: var(--font-editorial);
  font-size: var(--text-xl);
  margin: var(--space-6) 0 var(--space-3);
}

.prose h3 {
  font-family: var(--font-editorial);
  font-size: var(--text-lg);
  margin: var(--space-5) 0 var(--space-2);
}

.prose p,
.prose li {
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--ink-body);
}

.prose ul,
.prose ol {
  padding-left: var(--space-5);
}

.prose li {
  margin-bottom: var(--space-2);
}

.prose a {
  color: var(--accent);
}

/* ---------------------------------------------------------------- hero */

.hero {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-7) var(--space-4) var(--space-6);
  text-align: center;
}

.hero__eyebrow {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: var(--space-3);
}

.hero__title {
  font-family: var(--font-editorial);
  font-size: var(--text-masthead);
  line-height: 1.15;
  margin: 0 0 var(--space-4);
  color: var(--ink);
}

.hero__lede {
  font-size: var(--text-lg);
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0 auto var(--space-5);
  max-width: 34em;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  align-items: center;
}

/* ---------------------------------------------------------------- sections */

.band {
  border-top: var(--border);
  background: var(--surface);
}

.band--plain {
  background: transparent;
}

.band__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: var(--space-7) var(--space-4);
}

.band__title {
  font-family: var(--font-editorial);
  font-size: var(--text-xl);
  text-align: center;
  margin: 0 0 var(--space-5);
}

.columns {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.column h3 {
  font-family: var(--font-editorial);
  font-size: var(--text-lg);
  margin: 0 0 var(--space-2);
}

.column p {
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0;
}

/* ---------------------------------------------------------------- price */

.price {
  text-align: center;
}

.price__amount {
  font-family: var(--font-editorial);
  font-size: var(--text-masthead);
  color: var(--ink);
}

.price__period {
  font-size: var(--text-base);
  color: var(--ink-muted);
}

.price__note {
  margin-top: var(--space-3);
  font-size: var(--text-base);
  color: var(--ink-body);
}

/* ---------------------------------------------------------------- faq */

.faq__question {
  font-family: var(--font-editorial);
  font-size: var(--text-lg);
  margin: var(--space-6) 0 var(--space-2);
  color: var(--ink);
}

.faq__answer {
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
}

/* ---------------------------------------------------------------- footer */

.site-footer {
  border-top: var(--border);
  padding: var(--space-6) var(--space-4);
  text-align: center;
  font-size: var(--text-sm);
  color: var(--ink-muted);
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  margin-bottom: var(--space-3);
}

.site-footer a {
  color: var(--ink-muted);
}

.site-footer address {
  font-style: normal;
  margin-top: var(--space-2);
}
