.contact-page section { position: relative; }

.contact-hero { text-align: center; }
.hero-container { display: flex; justify-content: center; }
.hero-panel { max-width: 600px; display: flex; flex-direction: column; gap: var(--space-2); align-items: center; text-align: center; }
.cta-group { display: flex; gap: var(--space-2); flex-wrap: wrap; justify-content: center; }

.contact-form-section { background: var(--color-surface-dark); }
.form-container { max-width: 700px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-3); }
.form-intro { max-width: 650px; }
.enquiry-form { display: flex; flex-direction: column; gap: var(--space-2); }
.input-fields { display: flex; flex-direction: column; gap: var(--space-2); }
.submit-button { align-self: flex-start; }
.submission-note { font-size: var(--fs-6); max-width: 600px; }

.enquiry-types .card-grid { align-items: stretch; }
.enquiry-types .card { height: 100%; }

.booking-cta { text-align: center; }
.cta-container { max-width: 500px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-2); align-items: center; }

.expectations .text-block { max-width: 650px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-2); }

.alt-links .link-group { display: flex; justify-content: center; gap: var(--space-3); flex-wrap: wrap; }
.alt-links a { position: relative; }
.alt-links a:hover { text-decoration: underline; text-decoration-color: var(--color-accent); }

.reassurance .text-block { max-width: 500px; margin-inline: auto; text-align: center; }

.footer-cta { text-align: center; }
.footer-cta .container { display: flex; flex-direction: column; gap: var(--space-2); align-items: center; }

@media (max-width: 768px) {
  .submit-button { width: 100%; }
}