/* ============================================================
   CONTACT — page construite sur le kit de continuité.
   ============================================================ */
body.contact .ct-main{padding-top:clamp(30px,4vw,60px)}
body.contact .ct-side{display:flex;flex-direction:column;gap:26px}
body.contact .ct-side .d-2{margin-top:0}
body.contact .ct-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:12px;
}
body.contact .ct-chips{display:flex;flex-wrap:wrap;gap:8px}

/* ---- portrait détouré : colonne gauche, à hauteur du bloc + formulaire ---- */
body.contact .ct-grid{
  display:grid;grid-template-columns:minmax(240px,4fr) minmax(0,8fr);
  gap:clamp(28px,4vw,72px);align-items:start;
}
body.contact .ct-figure{
  /* ancree au bas de la section : le pied touche la bande navy suivante */
  align-self:end;
  margin:0 0 calc(-1 * var(--section));
  display:flex;justify-content:center;align-items:flex-end;
}
body.contact .ct-figure img{
  display:block;width:100%;height:auto;
  max-height:min(86svh,820px);
  object-fit:contain;object-position:bottom center;
}
body.contact .ct-right{display:flex;flex-direction:column;gap:clamp(30px,4vw,54px)}
body.contact .ct-right .ct-side{position:static}
@media(max-width:900px){
  body.contact .ct-grid{grid-template-columns:1fr;gap:22px}
  body.contact .ct-figure{max-width:min(340px,70%);margin-inline:auto;margin-bottom:calc(-1 * var(--section))}
  body.contact .ct-figure img{max-height:46svh}
}
