.contact-page { background:#fff; color:#282925; font-family:'DM Sans',sans-serif; overflow-x:clip; }
.contact-page .mega-menu { max-width:100vw; }
.contact-page .mobile-menu:not(.open) { visibility:hidden; }
.contact-page .contact-v2 { max-width:1160px; padding:100px 28px 70px; }
.contact-v2__intro { text-align:left; margin-bottom:30px; }
.contact-eyebrow { display:block; margin-bottom:14px; color:#767b76; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.contact-v2__intro h1 { font-family:'DM Serif Display',serif; font-size:clamp(30px,3vw,40px); font-weight:400; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:36px; align-items:start; }
.contact-v2 .contact-form-content { padding:30px; border:1px solid #e7e9ee; background:rgb(248 249 252 / 1); border-radius:6px; }
.contact-v2 #contactForm { margin:0; }
.contact-v2 .fieldset { padding:0; border:0; margin:0; min-width:0; }
.contact-v2 .fieldset h3 { font-family:'DM Serif Display',serif; font-size:23px; font-weight:400; text-transform:lowercase; }
.contact-v2 .form-group { display:block; width:100%; text-align:left; }
.contact-v2 .form-list li { list-style:none; }
.contact-v2 .fields { gap:16px; }
.contact-v2 label { text-align:left; font-size:13px; color:#555e57; }
.contact-v2 .input-box { width:100%; }
.contact-v2 .form-control { display:block; box-sizing:border-box; width:100%; padding:12px 14px; background:#fff; color:#252925; border:1px solid #dfe2e8; border-radius:4px; font-size:16px; }
.contact-v2 .form-control:focus { outline:2px solid #707d72; outline-offset:2px; }
.contact-v2 textarea[readonly] { color:#69716a; }
.contact-v2 .buttons-set { margin-top:24px!important; text-align:left; }
.contact-v2 .btn-home.btn-rose { min-height:48px; border-radius:4px; background:#242821; }
.contact-v2 button:disabled { opacity:.55; cursor:wait; }
.contact-v2 #success,.contact-v2 #erreure { padding:14px; margin:0 0 20px; font-size:14px; line-height:1.6; border-radius:4px; }
.contact-v2 #success { color:#255438; background:#eaf4ec; }
.contact-v2 #erreure { color:#802d28; background:#fbeeed; }
.contact-v2 [hidden] { display:none!important; }
.contact-information { padding:26px; border-top:2px solid #e5e8ed; color:#636c64; font-size:14px; line-height:1.9; }
.contact-information p { font-size:14px!important; margin:0 0 24px!important; text-align:left!important; }
.contact-information a { color:#344638!important; text-underline-offset:3px; overflow-wrap:anywhere; }
@media(max-width:800px) { .contact-layout { grid-template-columns:1fr; gap:28px; } .contact-page .contact-v2 { padding:110px 18px 45px; } .contact-information { padding:20px 4px; } }
@media(max-width:400px) { .contact-v2 .contact-form-content { padding:16px 12px; } .contact-v2 .g-recaptcha { transform:scale(.88); transform-origin:left top; margin-bottom:-9px; } .contact-v2 .fields { grid-template-columns:1fr; gap:0; } .contact-v2 button[type=submit] { width:100%; } }
.contact-v2 label.required::after { content:' *'; color:inherit; }
.contact-v2 .contact-field-error { display:block; color:#c62828; font-size:13px; line-height:1.5; margin:6px 0 0; }
.contact-v2 .form-control[aria-invalid="true"] { border-color:#c62828; }
.contact-captcha-status { color:#c62828; font-size:13px; line-height:1.5; margin-top:10px; }
