.contact-layout {
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:72px; align-items:start;
  margin-top:64px;
}
.contact-intro-label {
  font-family:var(--mono); font-size:10px; color:var(--em);
  letter-spacing:0.2em; text-transform:uppercase;
  display:flex; align-items:center; gap:8px; margin-bottom:16px;
}
.contact-intro-label::before { content:''; width:16px; height:2px; background:var(--em); border-radius:2px; }
.contact-intro-title { font-family:var(--serif); font-size:40px; font-weight:400; color:var(--forest); line-height:1.12; margin-bottom:16px; }
.contact-intro-title em { font-style:italic; color:var(--em); }
.contact-intro-sub { font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:40px; max-width:420px; }

.contact-detail { display:flex; flex-direction:column; gap:14px; margin-bottom:48px; }

/* Étapes réponse */
.contact-steps { margin-top:40px; display:flex; flex-direction:column; gap:20px; }
.contact-step { display:flex; gap:16px; align-items:flex-start; }
.contact-step-num {
  font-family:var(--mono); font-size:11px; color:var(--em);
  background:var(--em-l); width:28px; height:28px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.contact-step-content h4 { font-size:14px; font-weight:600; color:var(--forest); margin-bottom:2px; }
.contact-step-content p { font-size:13px; color:var(--muted); line-height:1.6; }

@media (max-width:1024px) {
  .contact-layout { grid-template-columns:1fr; gap:48px; }
}