.contact-page-grid{
  display:grid;
  grid-template-columns:minmax(260px,.70fr) minmax(0,1.30fr);
  gap:34px;
  align-items:start;
  margin-top:38px;
}
.contact-copy{max-width:620px;margin:0 0 22px;color:#55657d}
.contact-details{display:grid;gap:15px}
.contact-item{display:grid;grid-template-columns:44px 1fr;gap:15px;align-items:start;padding:19px 20px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 12px 32px rgba(23,54,101,.06)}
.contact-icon{width:44px;height:44px;border-radius:14px;background:var(--soft);color:var(--blue2);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}
.contact-item small{display:block;margin-bottom:5px;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--blue)}
.contact-item strong{display:block;font-size:17px;line-height:1.45;color:var(--navy)}
.contact-item a{color:var(--navy);text-decoration:none}.contact-item a:hover{color:var(--blue)}
.contact-form-card{padding:28px 30px 30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 46px rgba(23,54,101,.09)}
.contact-form-card h2{margin-bottom:8px}.form-help{margin:0 0 20px;color:#6b7688;font-size:13px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-field{display:flex;flex-direction:column;gap:7px}.form-field-full{grid-column:1/-1}
.form-field>span{font-size:12px;font-weight:800;color:var(--navy)}
.form-field input,.form-field select,.form-field textarea{width:100%;box-sizing:border-box;border:1px solid #cfd9e7;border-radius:13px;background:#fbfcfe;color:var(--navy);font:inherit;padding:12px 13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.form-field textarea{resize:vertical;min-height:150px}.form-field select{appearance:auto}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(51,98,176,.12)}
.form-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0 20px;font-size:12px;line-height:1.55;color:#59667a}.form-consent input{margin-top:3px;flex:0 0 auto}.form-consent a{text-decoration:underline}
.form-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-submit-row .btn{border:0;cursor:pointer}.form-submit-row .btn[disabled]{opacity:.6;cursor:wait}
.contact-form-status{font-size:13px;font-weight:700;line-height:1.45;min-height:20px}.contact-form-status.is-success{color:#21723a}.contact-form-status.is-error{color:#b42318}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-map{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#eef3f9;box-shadow:0 20px 52px rgba(23,54,101,.10);position:relative}
.contact-map-wide{margin-top:34px;min-height:360px}.contact-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
.contact-map-link{position:absolute;right:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.96);color:var(--navy);font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(15,37,68,.16)}
.contact-intro{max-width:760px}.expostat-map-marker{position:absolute;z-index:3;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-100%);pointer-events:none;border-radius:50%;background:#fff;padding:2px;box-shadow:0 7px 18px rgba(15,37,68,.28)}
.expostat-map-marker img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
body.contact-page .reveal,body.contact-page .reveal-soft,body.contact-page .reveal-group,body.contact-page .reveal-group>*{opacity:1!important;transform:none!important;transition:none!important}
body.contact-page main section{opacity:1!important;visibility:visible!important;transform:none!important}body.contact-page .pagehero .shell,body.contact-page .hero-card{opacity:1!important;transform:none!important;animation:none!important}
@media(max-width:900px){.contact-page-grid{grid-template-columns:1fr}.contact-map-wide,.contact-map iframe{min-height:330px}}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.contact-form-card{padding:22px 18px}.contact-item{grid-template-columns:38px 1fr;padding:16px}.contact-icon{width:38px;height:38px;border-radius:12px}.expostat-map-marker{width:42px;height:42px}}

/* V40.2 — contact sans carte */
.contact-page-grid{align-items:stretch}
.contact-form-card{height:100%;box-sizing:border-box}
.contact-map,.contact-map-wide{display:none!important}
