/* ==========================================================================
   RNS Email Verify — inner pages (contact, privacy, terms)
   Added on top of styles.css (the design's sheet, left unchanged). Uses only
   the design's tokens, so these pages match the home page.
   ========================================================================== */

/* Page header: the home hero's navy band, shorter */
.page-hero {
  background: var(--navy);
  color: var(--on-navy);
  padding-block: clamp(44px, 6vw, 80px);
}
.page-hero h1 { color: #fff; font-size: clamp(2.2rem, 4.6vw, 3.4rem); }
.page-hero__lead {
  margin-top: 18px;
  max-width: 40rem;
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--on-navy);
}

.muted { color: var(--ink-soft); }

/* Contact: form + details side by side */
.contact-grid {
  display: grid;
  gap: clamp(40px, 6vw, 72px);
  grid-template-columns: 1fr;
  align-items: start;
}
@media (min-width: 900px) {
  .contact-grid { grid-template-columns: 1.1fr 1fr; }
}
.contact-grid h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.contact-grid h2 + .muted { margin-top: 10px; margin-bottom: 26px; }

.form { display: grid; gap: 18px; }
.form__field { display: grid; gap: 6px; }
.form__field label { font-weight: 600; font-size: 0.98rem; }
.form__field input,
.form__field select,
.form__field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 14px;
  font: inherit;
  font-size: 1rem;
  color: var(--ink);
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-m);
}
.form__field textarea { resize: vertical; min-height: 140px; }
.form__field input::placeholder,
.form__field textarea::placeholder { color: #8791AE; }
.form__field input:focus,
.form__field select:focus,
.form__field textarea:focus { border-color: var(--cobalt); outline: none; box-shadow: 0 0 0 3px rgba(35, 72, 240, 0.15); }
.form__submit { width: 100%; }
.form__note { font-size: 0.9rem; color: var(--ink-soft); }

.card-stack { display: grid; gap: 14px; }
.card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px 22px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-l);
}
.card__icon { width: 1.5em; height: 1.5em; color: var(--cobalt); margin-top: 2px; }
.card h3 { font-size: 1.1rem; }
.card p { margin-top: 6px; color: var(--ink-soft); }
.card p a { font-weight: 600; }

/* Long-form legal text */
.prose { max-width: 46rem; }
.prose > * + * { margin-top: 16px; }
.prose h2 { margin-top: 44px; font-size: clamp(1.4rem, 2.2vw, 1.75rem); }
.prose h3 { margin-top: 28px; font-size: 1.15rem; }
.prose h2 + p, .prose h3 + p, .prose h2 + ul, .prose h3 + ul { margin-top: 10px; }
.prose p, .prose li { color: var(--ink-soft); }
.prose strong { color: var(--ink); }
.prose ul { padding-left: 1.3em; list-style: disc; }
.prose ul li + li { margin-top: 6px; }
.prose ul li::marker { color: var(--cobalt); }
