/* Shared page templates inherit the main site's identity and form controls. */
.page-hero { padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.page-hero .hero__title { margin: 0; max-width: 20ch; }
.page-hero__subtitle {
  margin-top: 1.4rem;
  font-size: clamp(1.375rem, 2.5vw, 2rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.018em;
  max-width: 34ch;
}
.page-hero__intro { margin-top: 2rem; }
.page-hero > .btn { margin-top: 2rem; }
/* Follow the reference's centered composition; controls use main.css exactly,
   including the same labels, underlines, spacing, and charcoal submit button. */
.domain-page .page-hero { text-align: center; padding-top: clamp(4rem, 7vw, 6rem); padding-bottom: 0; }
.domain-page .page-hero .hero__title { max-width: none; margin-inline: auto; }
.domain-page .page-hero__subtitle { max-width: none; margin-inline: auto; }
.domain-page .page-hero::after { content: ""; display: block; width: 3.75rem; border-top: 1px solid var(--silver); margin: clamp(2.25rem, 4vw, 3rem) auto 0; }
.domain-page .page-hero .btn-row { justify-content: center; }
.domain-inquiry { padding-top: clamp(2rem, 3.5vw, 2.75rem); padding-bottom: clamp(4rem, 7vw, 6rem); }
.domain-inquiry__intro { max-width: 40rem; margin-inline: auto; text-align: center; }
.domain-inquiry__intro p { font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1.5; }
.domain-inquiry .form-wrap { margin-inline: auto; }
.domain-form { margin-top: clamp(2.25rem, 4vw, 3rem); }
.domain-form .form__foot { justify-content: center; }
.domain-form .form__status:empty { display: none; }
.domain-form .form__status:not(:empty) { flex-basis: 100%; text-align: center; }
.domain-inquiry.section--dark { margin-top: 2.75rem; padding-top: 3rem; }
.page-section { padding-block: clamp(3rem, 6vw, 5rem); }
.page-section__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 3rem; }
.page-section__inner > .measure:only-child { grid-column: 1 / -1; }
.branded-page main { overflow-wrap: anywhere; }
.preview-banner { background: var(--off-white); padding: 0.75rem var(--gutter); font-size: 0.875rem; display: flex; justify-content: space-between; gap: 1rem; }
.preview-banner a { text-decoration: underline; }
@media (max-width: 760px) {
  .page-section__inner { grid-template-columns: minmax(0, 1fr); gap: 2.75rem; }
}
