*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f9f9f9;font-family:Arial,sans-serif}main{max-width:1440px;margin:auto}.artboard{position:relative;width:100%;line-height:0}.layout{width:100%;height:auto;display:block}.hotspot{position:absolute;display:block;cursor:pointer;z-index:5}.hotspot:focus-visible{outline:3px solid #79b638;background:#ffffff33}.anchor{position:absolute;left:0}.mobile-nav{display:none}@media(max-width:700px){.mobile-nav{position:sticky;bottom:0;z-index:20;background:#fff;display:flex;align-items:center;gap:16px;overflow-x:auto;padding:14px 16px;box-shadow:0 -2px 12px #0003;white-space:nowrap}.mobile-nav a{font-size:12px;text-decoration:none;color:#4872b2;font-weight:700}}
/* Le carrousel se superpose uniquement au rectangle vert vide du PSD original. */
.photo-carousel{position:absolute;left:14.55%;top:21.63%;width:70.9%;height:11.52%;overflow:hidden;z-index:4;background:#85b539;line-height:normal;outline-offset:3px}
.carousel-track,.carousel-slide{position:absolute;inset:0}
.carousel-slide{opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease}
.carousel-slide.is-active{opacity:1;visibility:visible}
.carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;width:44px;height:56px;background:#0008;color:white;font-size:26px;cursor:pointer;z-index:3}
.carousel-prev{left:0}.carousel-next{right:0}
.carousel-arrow:focus-visible,.carousel-dot:focus-visible{outline:3px solid white;outline-offset:2px}
.carousel-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:7px;flex-wrap:wrap;max-width:88%;z-index:3}
.carousel-dot{border:1px solid #fff;background:#0006;border-radius:50%;width:10px;height:10px;padding:0;cursor:pointer}
.carousel-dot.is-active{background:white}
.carousel-count{position:absolute;top:10px;right:10px;background:#0008;padding:5px 9px;color:white;border-radius:3px;font:12px Arial,sans-serif}
@media(max-width:650px){.carousel-arrow{width:27px;height:36px;font-size:18px}.carousel-dots{bottom:3px;gap:3px}.carousel-dot{width:5px;height:5px}.carousel-count{font-size:9px;top:3px;right:3px;padding:2px 3px}}
@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none}}

/* Champs fonctionnels disposés sur les emplacements du visuel Photoshop. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form{position:absolute;z-index:8;left:10.49%;top:94.24%;width:79.17%;height:1.09%;display:grid;grid-template-columns:263fr 264fr 263fr 258fr;gap:2.54%;align-items:stretch;line-height:normal}
.contact-form input:not([name=site_web]),.contact-form textarea,.contact-form button{min-width:0;width:100%;height:100%;margin:0;padding:0 10%;border:1px solid #a8bcdb;border-radius:3px;font:clamp(8px,1.10vw,16px) Arial,sans-serif;line-height:1.2;outline-offset:2px}
.contact-form input:not([name=site_web]),.contact-form textarea{color:#fff;background:#6386bd;box-shadow:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#fff;opacity:1}
.contact-form textarea{resize:none;padding-top:5.5%;padding-bottom:0;overflow:auto}
.contact-form button{border:0;background:#87b938;color:#fff;cursor:pointer;box-shadow:0 3px 5px #24497655;text-align:center;padding:0}
.contact-form button:hover{background:#79a92d}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.spam-trap{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}
.contact-status{position:absolute;z-index:9;left:10.49%;top:95.40%;width:79.17%;background:#fff;color:#163d6b;font:clamp(11px,1.1vw,15px) Arial,sans-serif;padding:8px 12px;line-height:1.4;border-radius:4px}
.contact-status[hidden]{display:none}

/* Credits visibles sous la maquette, sur toutes les pages */
.site-credit{box-sizing:border-box;width:100%;padding:16px 20px;background:#fff;color:#464646;text-align:center;font:400 13px/1.55 Arial,Helvetica,sans-serif}.site-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.site-credit a:hover,.site-credit a:focus-visible{color:#77b43b}
