body.contact-page { background: #f7f9f6; }
/* The explicit grid layout must not override the consent panel's hidden state. */
.contact-map .map-consent-message[hidden],
.contact-map.map-active .map-consent-message { display: none; }
.contact-main { max-width: 1180px; margin: auto; padding: 76px 7vw 90px; }
.contact-heading { max-width: 600px; margin-bottom: 42px; }.contact-heading h1 { font: 700 61px/.98 Outfit; letter-spacing: -2.7px; margin: 0; }.contact-heading h1 em, .contact-details h2 em { font-weight: 500; }.contact-heading>p:last-child { color:#5c6862;line-height:1.65;font-size:15px;max-width:500px;margin:21px 0 0; }
.contact-layout { display:grid;grid-template-columns:1.25fr .75fr;gap:24px; }.contact-form,.contact-details { background:#fff;padding:30px;border:1px solid #e2e8e4;border-radius:14px; }.contact-form { display:grid;gap:12px; }.contact-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px; }.contact-field { min-width:0; }.contact-field-message { grid-column:1 / -1; }.contact-form label { display:grid;gap:5px;font-size:11px;font-weight:700; }.contact-form input,.contact-form select,.contact-form textarea { width:100%;min-width:0;font:14px 'DM Sans';border:1px solid #dce4df;border-radius:5px;padding:10px;background:#fff;resize:vertical; }.contact-form input,.contact-form select { height:42px; }.contact-form textarea { min-height:106px; }.contact-form-actions { display:flex;align-items:center;justify-content:space-between;gap:18px; }.contact-form .button { flex:none;min-height:42px;color:#062526; }.form-privacy { max-width:255px;color:#7a8580;font-size:10px;line-height:1.45;margin:0;text-align:right; }.form-feedback { margin:0!important;min-height:0!important; }.form-feedback:empty { display:none; }
.contact-details { background:#102527;color:white; }.contact-details .eyebrow { color:#d3dfda; }.contact-details h2 { font:600 37px/.99 Outfit;letter-spacing:-1.7px;margin:0; }.details-list { margin-top:34px; }.details-list>div { padding:14px 0;border-top:1px solid #3d504f; }.details-list b { font:700 10px Outfit;letter-spacing:1px;text-transform:uppercase;color:#ffdd50; }.details-list p { margin:5px 0 0;color:#e1e8e3;font-size:13px;line-height:1.55; }.details-list a:hover { color:#ffdd50; }.siret { border-top:1px solid #3d504f;margin:12px 0 0;padding-top:16px;color:#a7b9b2;font-size:10px; }
.contact-map-section{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;margin-top:24px}.contact-map,.google-reviews{min-height:345px;border:1px solid #e2e8e4}.contact-map{position:relative;background:#fff;overflow:hidden}.contact-map iframe{width:100%;height:100%;min-height:345px;border:0;display:block}.map-consent-message{position:absolute;inset:0;display:grid;place-items:center;padding:28px;text-align:center;background:linear-gradient(135deg,#f5faf7,#eef4f1)}.map-consent-message>div{display:grid;justify-items:center;gap:11px;max-width:280px}.map-consent-message strong{font:600 21px Outfit,sans-serif}.map-consent-message p{margin:0;color:#5c6a64;font-size:12px;line-height:1.55}.map-consent-message a{color:#087f7d;font-weight:700;text-decoration:underline}.map-consent-button{border:0;background:#0bb8bc;color:#062526;padding:10px 14px;font:700 12px 'DM Sans',sans-serif;cursor:pointer}.google-reviews{padding:36px;background:#fff}.google-reviews h2{font:600 37px/.99 Outfit;letter-spacing:-1.7px;margin:0}.google-reviews h2 em{font-weight:500}.google-reviews>p:not(.eyebrow){color:#60706a;font-size:13px;line-height:1.6;margin:20px 0 24px}.google-reviews>div{display:grid;justify-items:start;gap:15px}.google-reviews .button{color:#062526}.google-review-link{border-bottom:1px solid #102527;padding-bottom:5px;font-size:12px;font-weight:700}.google-review-link span{font-size:16px;margin-left:6px}@media(max-width:760px){.contact-map-section{grid-template-columns:1fr}.contact-map,.google-reviews{min-height:280px}.contact-map iframe{min-height:280px}}
.tiktok-link{padding:9px 12px;border:1px solid #102527;background:#102527;color:#fff;font-size:11px;font-weight:700}.tiktok-link span{font-size:15px;margin-left:7px}.tiktok-link:hover{background:#06bbb9;border-color:#06bbb9;color:#062526}
.contact-success-modal[hidden]{display:none}.contact-success-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:rgba(16,37,39,.7)}.contact-success-box{position:relative;width:min(420px,100%);padding:34px;background:#fff;border-radius:16px;box-shadow:0 22px 55px rgba(0,0,0,.22)}.contact-success-box .eyebrow{margin-bottom:15px}.contact-success-box h2{margin:0;font:600 39px/.98 Outfit,sans-serif;letter-spacing:-1.8px}.contact-success-box h2 em{font-weight:500}.contact-success-box>p:not(.eyebrow){margin:17px 0 24px;color:#5c6a64;font-size:14px;line-height:1.55}.contact-success-box .button{color:#062526}.contact-success-close{position:absolute;top:11px;right:12px;border:0;background:transparent;color:#4b5a54;font-size:26px;cursor:pointer}
@media(max-width:760px){.contact-main{padding:38px 5vw 54px}.contact-heading{margin-bottom:28px}.contact-heading h1{font-size:48px}.contact-layout{grid-template-columns:1fr;gap:15px}.contact-form,.contact-details{padding:18px;border-radius:14px}.contact-form{gap:10px}.contact-form-grid{grid-template-columns:1fr;gap:10px}.contact-field-message{grid-column:auto}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;padding:10px}.contact-form input,.contact-form select{height:43px}.contact-form textarea{min-height:94px}.contact-form-actions{align-items:stretch;flex-direction:column;gap:8px}.contact-form .button{width:100%;justify-content:space-between}.form-privacy{max-width:none;text-align:left;font-size:9px}.contact-map-section{gap:15px;margin-top:15px}.contact-map,.google-reviews{border-radius:14px}.google-reviews{padding:25px}.google-reviews h2{font-size:34px}.contact-success-box{padding:29px 23px}.contact-success-box h2{font-size:35px}}@media(max-width:430px){.contact-heading h1{font-size:42px}}
.contact-copy{display:flex!important;align-items:center!important;gap:8px!important;color:#50625e;font-size:11px!important;font-weight:500!important;line-height:1.35}.contact-copy input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;accent-color:#0bb8bc}.contact-copy span{display:block}

@media (max-width: 600px) {
  .contact-main { width: min(430px, 100%); padding: 27px 14px 42px; }
  .contact-heading { margin-bottom: 20px; }
  .contact-heading h1 { font-size: clamp(38px, 11.5vw, 47px); letter-spacing: -1.8px; }
  .contact-heading > p:last-child { margin-top: 13px; font-size: 13px; line-height: 1.5; }
  .contact-layout { gap: 12px; }
  .contact-form, .contact-details { padding: 15px; border-radius: 12px; }
  .contact-form { gap: 9px; }
  .contact-form-grid { gap: 9px; }
  .contact-form input, .contact-form select { height: 41px; }
  .contact-form textarea { min-height: 84px; }
  .contact-form .button { min-height: 42px; padding: 12px 15px; }
  .contact-details h2 { font-size: 30px; }
  .details-list { margin-top: 22px; }
  .details-list > div { padding: 11px 0; }
  .contact-map-section { gap: 12px; margin-top: 12px; }
  .contact-map, .google-reviews { min-height: 235px; border-radius: 12px; }
  .contact-map iframe { min-height: 235px; }
  .google-reviews { padding: 18px; }
  .google-reviews h2 { font-size: 29px; }
  .contact-success-box { padding: 25px 20px; }
  .contact-success-box h2 { font-size: 31px; }
}
