/* Page Contact — charte 2026. */
.hp-contact{color:var(--hp-ink)}
.hp-contact h1{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.035em;margin:16px 0 0;text-align:left}
.hp-contact h1 em{font-style:normal;color:var(--hp-brand)}
.hp-contact h2{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;text-align:left}
.hp-contact h3{text-align:left;text-shadow:none}
.hp-contact p{margin:0}
.hp-contact .hp-lead{font-size:18px;line-height:1.6;color:var(--hp-muted)}

.hp-ct-hero{background:linear-gradient(180deg,var(--hp-brand-soft) 0,#fff 100%);padding:64px 0 40px}
.hp-ct-hero .hp-lead{max-width:600px;margin-top:18px}

/* Cartes de coordonnées */
.hp-ct-cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.hp-ct-carte{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--hp-line);border-radius:22px;padding:22px;color:var(--hp-ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.hp-ct-carte:hover{border-color:var(--hp-brand);color:var(--hp-ink);box-shadow:0 20px 40px -28px rgba(20,26,107,.45)}
.hp-ct-carte .ic{width:48px;height:48px;border-radius:14px;background:var(--hp-brand-soft);color:var(--hp-brand);display:grid;place-items:center;font-size:21px;flex:none}
.hp-ct-carte small{display:block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hp-muted)}
.hp-ct-carte b{display:block;font-size:17px;font-weight:600;margin-top:2px;word-break:break-word}
.hp-ct-carte span{display:block;font-size:14px;color:var(--hp-muted);margin-top:2px}

/* Formulaire + colonne */
.hp-ct-main{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start;padding:24px 0 96px}
.hp-ct-form{background:#fff;border:1px solid var(--hp-line);border-radius:28px;padding:36px;box-shadow:0 30px 60px -40px rgba(12,14,51,.35);scroll-margin-top:100px}
.hp-ct-form .intro{color:var(--hp-muted);margin-bottom:24px}
.hp-ct-form .form-label .opt{font-weight:400;color:var(--hp-muted)}
.hp-ct-form textarea{min-height:170px;resize:vertical}
.hp-ct-form .compteur{font-size:12.5px;color:var(--hp-muted);text-align:right;margin-top:4px}
.hp-ct-form .pied{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.hp-ct-form .pied small{color:var(--hp-muted);font-size:13px;max-width:360px}
.hp-ct-piege{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.hp-ct-merci{text-align:center;padding:24px 8px}
.hp-ct-merci .ic{width:72px;height:72px;border-radius:50%;background:#eaf6f1;color:#13795b;display:grid;place-items:center;font-size:34px;margin:0 auto 18px}
.hp-ct-merci h2{text-align:center}
.hp-ct-merci p{color:var(--hp-muted);margin:8px auto 24px;max-width:440px}

.hp-ct-aside{display:grid;gap:16px;position:sticky;top:96px}
.hp-ct-bloc{background:#fff;border:1px solid var(--hp-line);border-radius:22px;padding:24px}
.hp-ct-bloc h3{font-size:17px;font-weight:600;margin:0 0 14px}
.hp-ct-liens{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.hp-ct-liens a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0 -12px;border-radius:12px;color:var(--hp-ink);text-decoration:none;font-weight:500;font-size:15px}
.hp-ct-liens a:hover{background:var(--hp-brand-soft);color:var(--hp-brand)}
.hp-ct-liens i{color:var(--hp-brand);font-size:18px}
.hp-ct-liens a span{margin-left:auto;color:var(--hp-muted)}
.hp-ct-carte-map{border-radius:22px;overflow:hidden;border:1px solid var(--hp-line);background:var(--hp-surface);aspect-ratio:4/3}
.hp-ct-carte-map iframe{width:100%;height:100%;border:0;display:block}
.hp-ct-reseaux{display:flex;gap:10px}
.hp-ct-reseaux a{width:44px;height:44px;border-radius:12px;border:1px solid var(--hp-line);display:grid;place-items:center;color:var(--hp-ink);font-size:18px}
.hp-ct-reseaux a:hover{border-color:var(--hp-brand);color:var(--hp-brand)}

@media (max-width:991.98px){
	.hp-ct-cartes{grid-template-columns:1fr}
	.hp-ct-main{grid-template-columns:1fr}.hp-ct-aside{position:static}
}
@media (max-width:575.98px){
	.hp-contact h1{font-size:36px}.hp-contact .hp-lead{font-size:16px}
	.hp-ct-hero{padding:40px 0 24px}
	.hp-ct-form{padding:22px;border-radius:22px}
}
