.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:860px;}
.contact-infos{display:flex;flex-direction:column;gap:20px;}
.contact-block{background:var(--white);border:1px solid var(--rule);border-radius:14px;padding:24px 22px;display:flex;align-items:flex-start;gap:16px;}
.contact-icon{width:38px;height:38px;border-radius:9px;background:var(--blue-bg);border:1px solid var(--blue-bd);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:5px;}
.contact-val{font-size:14.5px;font-weight:500;color:var(--blue);text-decoration:none;}
.contact-val-txt{font-size:14.5px;font-weight:500;color:var(--ink);}
.contact-sub{font-size:12px;color:var(--ink-soft);margin-top:3px;font-weight:300;}
.contact-rgpd{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--sand);border-radius:10px;border:1px solid var(--rule);}
.contact-rgpd span{font-size:12px;color:var(--ink-soft);font-weight:300;}
.contact-form-col{}
.contact-form-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.contact-form-title span{flex:1;height:1px;background:var(--rule-s);display:block;}
/* ── Responsive mobile portrait ── */
@media (max-width: 680px) {
  /* Infos et formulaire l'un sous l'autre au lieu de 2 colonnes */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .contact-block { padding: 18px 16px; }
}
