.iz-contact-v2 { padding: var(--iz-section-y, 6rem) 0; background: #f4f7fc; }
.iz-contact-v2 > .container { max-width: 1220px; margin-inline: auto; }
.iz-contact-v2__grid { width:100%; margin:0 auto; display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); overflow: hidden; border: 1px solid #dfe6f2; border-radius: 26px; background: #fff; box-shadow: 0 28px 80px rgba(8,18,37,.11); }
.iz-contact-v2__aside { position: relative; overflow: hidden; padding: clamp(34px,4vw,58px); color: #fff; background: radial-gradient(circle at 8% 95%,rgba(21,87,255,.28),transparent 28%),linear-gradient(145deg,#081225,#101d35); }
.iz-contact-v2__aside::after { content:''; position:absolute; width:280px; height:280px; right:-160px; top:-140px; border:1px solid rgba(157,181,255,.2); border-radius:50%; }
.iz-contact-v2__kicker { display:inline-flex; align-items:center; gap:8px; color:#9db5ff; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.iz-contact-v2__aside h2 { max-width:430px; margin:16px 0; color:#fff; font:750 clamp(2rem,3.5vw,3.25rem)/1.08 'Space Grotesk',sans-serif; letter-spacing:-.05em; }
.iz-contact-v2__intro { margin:0; color:#c3cee0; font-size:.92rem; line-height:1.8; }
.iz-contact-v2__availability { display:flex; align-items:center; gap:9px; margin:25px 0 32px; color:#dce6f7; font-size:.78rem; font-weight:700; }
.iz-contact-v2__availability i { color:#53d78f; font-size:.55rem; }
.iz-contact-v2__details { display:grid; gap:11px; }
.iz-contact-v2__detail { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:13px; padding:13px; border:1px solid rgba(157,181,255,.13); border-radius:13px; background:rgba(255,255,255,.045); }
.iz-contact-v2__detail > i { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#fff; background:#1557ff; }
.iz-contact-v2__detail span,.iz-contact-v2__detail strong { display:block; }
.iz-contact-v2__detail span { color:#8f9db3; font-size:.66rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.iz-contact-v2__detail strong,.iz-contact-v2__detail a { margin-top:2px; color:#f5f8ff; font-size:.82rem; text-decoration:none; }
/* La colonne sombre est plus haute que le formulaire : sans ce centrage,
   le formulaire reste collé en haut et laisse un grand vide en bas. */
.iz-contact-v2__form-wrap { display:flex; flex-direction:column; justify-content:center; padding: clamp(30px,4vw,48px); }
.iz-contact-v2__form-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.iz-contact-v2__form-heading h2 { margin:0 0 7px; color:#081225; font-size:clamp(1.65rem,2.8vw,2.35rem); letter-spacing:-.04em; }
.iz-contact-v2__form-heading p { margin:0; color:#657187; font-size:.84rem; }
.iz-contact-v2__step { flex:0 0 auto; padding:7px 10px; border-radius:999px; color:#1557ff; background:rgba(21,87,255,.08); font-size:.68rem; font-weight:800; }
.iz-contact-v2__form { display:grid; gap:16px; }
.iz-contact-v2__row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.iz-contact-v2__field label { display:block; margin-bottom:7px; color:#26334a; font-size:.76rem; font-weight:750; }
.iz-contact-v2__field label span { color:#1557ff; }
.iz-contact-v2__control { position:relative; }
.iz-contact-v2__control i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#8b96a8; font-size:.8rem; }
.iz-contact-v2__control .form-control { min-height:50px; padding-left:42px; border:1px solid #dce4f0; border-radius:10px; background:#f9fbfe; }
.iz-contact-v2__field textarea.form-control { min-height:120px; resize:vertical; border:1px solid #dce4f0; border-radius:10px; background:#f9fbfe; }
.iz-contact-v2__control .form-control:focus,.iz-contact-v2__field textarea.form-control:focus { border-color:#1557ff; background:#fff; box-shadow:0 0 0 4px rgba(21,87,255,.1); }
.iz-contact-v2__footer { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:2px; padding-top:16px; border-top:1px solid #e5eaf2; }
/* #727e91 ne donnait que 4,11:1 sur blanc, sous le seuil AA de 4,5:1 pour ce
   corps de texte (0,7rem). Le token muted est a 4,83:1. */
.iz-contact-v2__privacy { max-width:380px; margin:0; color:var(--iz-text-muted); font-size:.7rem; line-height:1.6; }
.iz-contact-v2__privacy a { color:#1557ff; font-weight:700; }
.iz-contact-v2__submit { flex:0 0 auto; }
.iz-contact-v2 .alert { margin-bottom:24px; }
@media(max-width:991px){.iz-contact-v2__grid{grid-template-columns:1fr}.iz-contact-v2__aside{padding:42px}.iz-contact-v2__details{grid-template-columns:repeat(3,1fr)}.iz-contact-v2__detail{grid-template-columns:1fr}.iz-contact-v2__detail>i{margin-bottom:3px}}
@media(max-width:700px){.iz-contact-v2__aside,.iz-contact-v2__form-wrap{padding:30px 22px}.iz-contact-v2__details,.iz-contact-v2__row{grid-template-columns:1fr}.iz-contact-v2__detail{grid-template-columns:42px 1fr}.iz-contact-v2__form-heading{display:block}.iz-contact-v2__step{display:inline-block;margin-top:12px}.iz-contact-v2__footer{align-items:stretch;flex-direction:column}.iz-contact-v2__submit{width:100%}}
