.contact-page section{position:relative}

.contact-hero__inner{max-width:640px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-4)}

.contact-form__inner{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-4)}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.form-grid .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.form-actions{display:flex;flex-direction:column;gap:var(--space-3)}

.contact-direct__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}

.contact-hours__inner{max-width:600px}

.contact-access__grid{display:grid;grid-template-columns:40% 60%;gap:var(--space-5);align-items:start}
.contact-access__text{display:flex;flex-direction:column;gap:var(--space-3)}
.contact-access__map iframe{width:100%;height:100%;min-height:300px;border:0;border-radius:var(--radius-lg)}

.contact-policy__inner{max-width:700px}

.contact-faq__inner{max-width:700px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-3)}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-question{width:100%;text-align:left;padding:var(--space-3) 0;font-weight:600}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}
.faq-item.open .faq-answer{max-height:200px}

.contact-cta__inner{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-4)}

@media (max-width:900px){
.form-grid{grid-template-columns:1fr}
.contact-direct__grid{grid-template-columns:1fr}
.contact-access__grid{grid-template-columns:1fr}
}
