.contact-page .grid{align-items:start}

.contact-hero .hero-text{grid-column:span 7}
.contact-hero .hero-cta{grid-column:span 5}
.contact-hero p{max-width:55ch}

.options-grid{grid-template-columns:repeat(3,1fr)}
.option{text-align:center}

.booking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
.booking-grid .full{grid-column:span 2}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-5)}

.faq-grid{grid-template-columns:repeat(2,1fr)}
.faq-item{border-bottom:1px solid var(--color-border-soft);padding-bottom:var(--space-3)}
.faq-q{width:100%;text-align:left;font-weight:600}
.faq-a{display:none;padding-top:var(--space-2)}

.narrow{max-width:600px;margin-inline:auto}

.contact-cta{background:var(--color-accent);color:var(--color-text-on-accent)}
.contact-cta .button{background:#fff;color:var(--color-accent)}

.footer-nav{grid-template-columns:repeat(2,1fr)}

@media(max-width:768px){
.contact-hero .hero-text,.contact-hero .hero-cta{grid-column:span 1}
.options-grid{grid-template-columns:1fr}
.booking-grid{grid-template-columns:1fr}
.steps{grid-template-columns:1fr}
.faq-grid{grid-template-columns:1fr}
.footer-nav{grid-template-columns:1fr}
}
