.contact-page{overflow:hidden}

.contact-hero-inner{position:relative;display:flex;justify-content:center}
.hero-panel{max-width:600px;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}
.hero-text{max-width:60ch;margin-inline:auto}
.hero-actions{justify-content:center}
.hero-shapes{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}

.types-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.option-card{cursor:pointer;transition:transform .15s}
.option-card:hover{transform:translateY(-4px)}
.option-card.active{background:var(--color-decor-yellow)}

.form-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-5)}
.form-panel{display:flex;flex-direction:column;gap:var(--space-3)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.form-field{display:flex;flex-direction:column;gap:var(--space-1)}
.form-field.full{grid-column:1/-1}
.contact-form input,.contact-form textarea,.contact-form select{border:var(--border);padding:var(--space-2);background:#fff}
.form-note{font-size:var(--text-sm)}

.process-grid{margin-top:var(--space-4)}
.process-note{margin-top:var(--space-3);font-weight:bold}

.faq-container{max-width:700px;margin-inline:auto}
.faq-item{border:var(--border);margin-bottom:var(--space-3);background:#fff}
.faq-question{width:100%;text-align:left;padding:var(--space-3);font-family:var(--font-heading)}
.faq-answer{display:none;padding:var(--space-3)}

.vibe-panel{max-width:800px;margin-inline:auto}

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

@media(max-width:900px){
.types-grid{grid-template-columns:1fr}
.form-layout{grid-template-columns:1fr}
.form-grid{grid-template-columns:1fr}
}
