.contact-title { padding:30px 12px; margin:0 auto 35px; text-align:center; }
.contact-title h1 { margin:0 0 32px; font-size:2.6em; font-weight:200; line-height:44px; letter-spacing:-.05em; text-transform:uppercase; }
.contact-content { padding-bottom:8px; margin-bottom:8px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; margin-inline:-12px; }
.contact-intro,.contact-details { padding:24px; }
.contact-intro { background:var(--beige); align-content:center; }
.contact-intro p { text-align:justify; }
.contact-intro li { margin-bottom:8px; }
.contact-intro ul { margin-bottom:20px; }
.contact-details { display:flex; flex-direction:column; background:var(--paper); text-align:center; }
.contact-details img { width:77px; height:auto; padding-bottom:24px; margin:auto; }
.contact-phone { font-size:2.3em; color:var(--ink); }
.contact-call-note { font-size:.8em; }
.contact-address { font-size:1.2em; color:var(--ink); }
.contact-form-panel { padding:24px; margin-bottom:24px; }
.contact-form-panel h2 { margin:8px 0 0; font-size:1.2em; font-weight:700; line-height:42px; letter-spacing:-.05em; }
.contact-form { margin-top:0; }
.form-names { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.form-group { margin-bottom:16px; }
.form-group label { display:inline-block; font-size:.9em; margin-bottom:4px; }
.form-group input:not([type=submit]),.form-group textarea { display:block; width:100%; padding:8px 12px; font-size:1em; line-height:1.85; border:1px solid rgba(0,0,0,.09); border-radius:4px; color:#212529; background:white; }
.form-group input::placeholder,.form-group textarea::placeholder { color:#bdbdbd; opacity:1; }
.form-group textarea { resize:vertical; }
.contact-submit { padding:12.8px 24px; font-size:.8em; line-height:1.5; font-weight:600; text-transform:uppercase; border:1px solid var(--beige); border-radius:4px; background:var(--beige); color:#777; cursor:pointer; }
.contact-submit:hover { background:#e9dbce; }
.contact-submit:disabled { opacity:.65; cursor:wait; }
.contact-alert { padding:16px; margin:24px 0 16px; border:1px solid transparent; border-radius:4px; }
.contact-form-success { color:#0f5132; background:#d1e7dd; border-color:#badbcc; }
.contact-form-error { color:#842029; background:#f8d7da; border-color:#f5c2c7; }
.contact-photo { margin:0 0 40px; }
.contact-photo img { max-width:100%; height:auto; }
.contact-content hr { border:0; height:1px; background:rgba(0,0,0,.06); margin:48px 0; }
/* Le footer historique est précédé d'un espace blanc de 48 px. */
.contact-content { margin-bottom:48px; }
@media(max-width:991.98px) { .contact-grid,.form-names { grid-template-columns:1fr; } .form-names { gap:0; } .contact-address { font-size:1em; } }
@media(max-width:767.98px) { .contact-address { font-size:.9em; } }
@media(max-width:575.98px) { .contact-address { font-size:.8em; } .contact-form-panel h2 { line-height:40px; } .form-group label { line-height:25px; } }
