.contact-page section{position:relative;}

.contact-hero{
min-height:80vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
border-bottom:1px solid var(--color-border-grid);
}
.hero-container{max-width:800px;margin-inline:auto;}
.hero-text{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;}

.contact-paths .cards{margin-top:var(--space-4);}
.path-card{cursor:pointer;text-align:center;transition:all var(--transition-fast);}
.path-card:hover{box-shadow:0 0 10px var(--color-surface-glow);border-color:var(--color-accent);}

.contact-form-section .form-grid{
display:grid;
grid-template-columns:40% 60%;
gap:var(--space-5);
align-items:start;
}
.form-text{max-width:520px;}
.contact-form{display:flex;flex-direction:column;gap:var(--space-3);}
.form-group{display:flex;flex-direction:column;gap:var(--space-2);}
.form-status{min-height:1.2rem;font-size:var(--fs-5);}

.contact-why .why-grid{gap:var(--space-5);text-align:center;}
.why-block{max-width:500px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-3);}

.process-grid{text-align:center;}
.process-step{display:flex;flex-direction:column;gap:var(--space-3);}

.faq-container{max-width:700px;}
.faq-item{border-bottom:1px solid var(--color-border-grid);}
.faq-question{width:100%;text-align:left;padding:var(--space-3) 0;cursor:pointer;color:var(--color-text-meta);}
.faq-answer{display:none;padding-bottom:var(--space-3);}
.faq-item.active .faq-answer{display:block;}

.contact-cta{text-align:center;border-top:1px solid var(--color-border-grid);}
.cta-container{max-width:700px;margin-inline:auto;}
.cta-box{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;}

.contact-footer-nav{border-top:1px solid var(--color-border-grid);}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);}
.footer-grid ul{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);}

@media (max-width:768px){
.contact-form-section .form-grid{grid-template-columns:1fr;}
.footer-grid{grid-template-columns:1fr;}
.hero-text{gap:var(--space-3);}
}