.contact-page{}

.contact-hero-inner{
  display:flex;
  justify-content:center;
}
.contact-hero-text{
  max-width:560px;
  text-align:center;
}

.contact-types-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-5);
}
.contact-card{
  padding:var(--space-5);
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  min-width:0;
  transition:all .25s ease;
}
.contact-card:hover{
  box-shadow:0 0 0 1px rgba(231,200,115,0.4),0 8px 32px rgba(255,223,163,0.12);
}

.contact-process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-5);
}
.process-step{
  position:relative;
  padding-left:var(--space-4);
  min-width:0;
}
.process-step::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--color-border-gold);
}

.contact-form-wrapper{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-5);
}
.contact-form-intro{
  max-width:600px;
  text-align:center;
}
.contact-form{
  width:100%;
  max-width:600px;
  padding:var(--space-5);
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-4);
}
.form-group.full{
  grid-column:1 / -1;
}
.form-actions{
  display:flex;
  justify-content:center;
}

.contact-custom-inner{
  display:flex;
  justify-content:center;
}
.contact-custom-text{
  max-width:700px;
  text-align:center;
}

.contact-confidentiality-inner{
  display:flex;
  justify-content:center;
}
.contact-confidentiality-text{
  max-width:600px;
  text-align:center;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.faq-item{
  border:1px solid var(--color-divider);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.faq-question{
  width:100%;
  text-align:left;
  padding:var(--space-3);
}
.faq-answer{
  display:none;
  padding:var(--space-3);
}
.faq-item.active .faq-answer{
  display:block;
}

.contact-cta-inner{
  display:flex;
  justify-content:center;
}
.contact-cta-box{
  max-width:500px;
  text-align:center;
  padding:var(--space-5);
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}

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