*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--olive:#59624a;--deep:#394233;--cream:#f8f4ec;--terra:#b86f4b;--ink:#35352e;--sand:#e9dfcf}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300;line-height:1.7}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.section{padding:120px 0}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:11px;font-weight:600;margin:0 0 20px;color:#e6d4c3}.terraText{color:var(--terra)}h1,h2,h3,.footbrand{font-family:"Italiana",serif;font-weight:400;line-height:1.03;margin:0}h1{font-size:clamp(68px,9vw,138px);color:white;letter-spacing:-.04em}h2{font-size:clamp(44px,5vw,76px);color:var(--deep);letter-spacing:-.03em}h3{font-size:31px}i{font-weight:400}.lead{font-size:19px}.btn{display:inline-block;padding:14px 25px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600}.cream{background:var(--cream);color:var(--deep)}.terra{background:var(--terra);color:#fff}header{position:fixed;z-index:50;top:0;left:0;right:0;height:90px;padding:0 42px;display:grid;grid-template-columns:220px 1fr 120px;align-items:center;color:#fff;transition:.35s}header.scrolled{height:72px;background:#f8f4ecf2;color:var(--deep);backdrop-filter:blur(12px);box-shadow:0 1px #0001}.brand b{font-family:"Italiana";font-size:25px;font-weight:400}.brand small{display:block;font-size:7px;letter-spacing:.22em}.brand{line-height:1}header nav{display:flex;justify-content:center;gap:32px}header nav a{font-size:10px;text-transform:uppercase;letter-spacing:.14em}#burger{display:none;background:none;border:0;color:inherit;font-size:25px}#mobile{display:none}.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden}.heroMosaic{position:absolute;inset:0;display:grid;grid-template-columns:1.55fr .65fr;grid-template-rows:1fr 1fr;gap:3px;background:#273126}.heroMosaic img:first-child{grid-row:1/3}.heroMosaic img{object-fit:cover}.heroMosaic img:first-child{object-position:center 55%}.heroMosaic img:nth-child(2){object-position:center 48%}.heroMosaic img:nth-child(3){object-position:center 45%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#20281eaa,#20281e35)}.heroText{position:relative;z-index:2;margin-left:max(7vw,55px)}.heroText h1 i{font-size:.7em}.tagline{font-family:"Italiana";font-size:27px;color:white;line-height:1.35}.actions{display:flex;gap:25px;align-items:center;color:white;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.facts{position:absolute;z-index:2;right:45px;bottom:35px;color:white;text-transform:uppercase;letter-spacing:.17em;font-size:9px}.two{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.copy h2{margin-bottom:30px}.copy p{max-width:530px}.under{display:inline-block;margin-top:15px;border-bottom:1px solid #999;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.collage{height:650px;position:relative;padding-left:65px;padding-bottom:70px}.collage .big{width:82%;margin-left:auto}.collage .small{position:absolute;left:0;bottom:0;width:46%;height:260px;border:10px solid var(--cream)}.collage span{position:absolute;right:-15px;bottom:35px;width:145px;height:145px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;text-align:center;font-family:"Italiana";font-size:19px}.quote{padding:110px 25px;background:var(--deep);color:#ddd9cf;text-align:center}.quote h2{color:white}.quote>p:last-child{max-width:620px;margin:28px auto 0;font-size:18px}.head{display:flex;align-items:end;justify-content:space-between;margin-bottom:70px}.head>p{max-width:350px}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9bfaf}.features article{padding:35px 40px 15px 0;margin-right:40px;border-right:1px solid #c9bfaf}.features article:last-child{border:0;margin:0}.features b{color:var(--terra);font-size:10px}.features h3{margin:22px 0 12px}.gallery{background:var(--sand)}.center{text-align:center;margin-bottom:65px}.photos{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:350px 350px;gap:20px}.photos figure{margin:0;position:relative;overflow:hidden}.photos .tall{grid-row:1/3}.photos img{transition:.7s}.photos figure:hover img{transform:scale(1.025)}figcaption{position:absolute;bottom:15px;left:15px;background:#f8f4ecdd;padding:7px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.escape{min-height:720px;position:relative;background:#e9dfcf;padding:70px 6vw}.stay-grid{height:580px;display:grid;grid-template-columns:1.5fr .7fr;grid-template-rows:1fr 1fr;gap:14px;margin-left:23%;overflow:hidden}.stay-grid .stay-main{grid-row:1/3}.stay-grid img{object-fit:cover}.stay-focus .card{z-index:3;box-shadow:0 20px 60px #42372b1c}.card{position:absolute;left:9%;top:50%;transform:translateY(-50%);width:390px;padding:55px;background:#f5ede0}.card h2{font-size:64px}.animals{background:#fffaf3}.animalPics{height:650px;position:relative}.animalPics .dog{position:absolute;left:0;top:0;width:68%;height:88%}.animalPics .goat{position:absolute;right:0;bottom:0;width:48%;height:46%;border:10px solid #fffaf3}.notice{margin-top:30px;border-top:1px solid #ccc;padding-top:20px;font-size:13px}.amenities{background:var(--olive);color:white;text-align:center;padding:85px 0}.amenity{display:grid;grid-template-columns:repeat(6,1fr);margin:35px 0}.amenity div{padding:20px 8px;border-right:1px solid #ffffff2c}.amenity div:last-child{border:0}.amenity b{display:block;font-family:"Italiana";font-size:31px;font-weight:400}.amenity span{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.amenities>div>p:last-child{font-size:11px;opacity:.7}.location address{font-style:normal;border-left:2px solid var(--terra);padding-left:18px;margin-top:30px}.mapbox{height:590px;position:relative;background:#ddd4c5;padding:12px}.mapbox iframe{width:100%;height:100%;border:0;filter:saturate(.78) contrast(.95)}.map-link{display:inline-block;margin-top:28px;background:var(--terra);color:#fff;padding:13px 19px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600}.booking{height:650px;position:relative;display:grid;place-items:center;text-align:center;color:white;overflow:hidden}.bookingGallery{position:absolute;inset:0;display:grid;grid-template-columns:1.35fr .75fr .75fr;gap:3px;background:#222}.bookingGallery img{object-fit:cover}.bookingGallery img:first-child{object-position:center}.bookingGallery img:nth-child(2){object-position:center}.bookingGallery img:nth-child(3){object-position:center}.booking .shade{background:#263023aa}.booking>div:last-child{position:relative;max-width:650px;padding:25px}.booking h2{color:white;font-size:76px}.booking .btn{margin-top:15px}footer{background:#292d27;color:#ddd8ce;padding:75px 0 25px}.foot{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:70px}.footbrand{font-size:38px}.foot b{display:block;color:#c78e6d;text-transform:uppercase;letter-spacing:.15em;font-size:9px;margin-bottom:12px}.foot a,.foot p{display:block;font-size:12px;margin:7px 0;color:#bbbdb6}.bottom{border-top:1px solid #ffffff1c;margin-top:50px;padding-top:20px;font-size:9px;color:#888}.reveal{opacity:0;transform:translateY(25px);transition:.8s}.reveal.on{opacity:1;transform:none}@media(max-width:850px){.wrap{width:calc(100% - 36px)}.section{padding:80px 0}header{height:72px;padding:0 18px;grid-template-columns:1fr 44px}header nav,.desktop{display:none}#burger{display:block}#mobile{position:fixed;z-index:45;inset:0;background:var(--deep);padding:110px 25px 30px;flex-direction:column}#mobile.open{display:flex}#mobile a{color:white;font-family:"Italiana";font-size:37px;padding:9px 0;border-bottom:1px solid #ffffff22}.hero{min-height:680px}.heroMosaic{grid-template-columns:1fr;grid-template-rows:1fr}.heroMosaic img:first-child{grid-row:auto}.heroMosaic img:not(:first-child){display:none}.heroText{margin:0 22px 80px}.heroText h1{font-size:67px}.tagline{font-size:20px}.actions{align-items:flex-start;flex-direction:column;gap:10px}.facts{left:22px;right:auto;bottom:25px;font-size:8px}.two{grid-template-columns:1fr;gap:55px}.collage{height:500px;padding-left:30px;padding-bottom:55px}.collage .small{height:180px}.collage span{width:105px;height:105px;right:0}.head{display:block}.head>p{margin-top:25px}.features{grid-template-columns:1fr}.features article{border-right:0;border-bottom:1px solid #c9bfaf;margin:0}.photos{grid-template-columns:1fr;grid-template-rows:430px 300px 300px}.photos .tall{grid-row:auto}.escape{height:700px}.card{left:18px;right:18px;bottom:25px;top:auto;transform:none;width:auto;padding:38px}.card h2{font-size:50px}.animalPics{height:500px}.amenity{grid-template-columns:repeat(2,1fr)}.amenity div:nth-child(2n){border-right:0}.mapbox{height:430px}.stay-grid{height:560px;margin-left:0;grid-template-columns:1fr;grid-template-rows:1fr}.stay-grid .stay-main{grid-row:auto}.stay-grid img:not(.stay-main){display:none}.stay-focus{padding:50px 18px 260px}.stay-focus .card{bottom:35px}.booking h2{font-size:54px}.foot{grid-template-columns:1fr;gap:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}/* V3 — composition plus épurée et priorité aux extérieurs */
.heroMosaic{display:block;background:#273126}.heroMosaic img:first-child{width:100%;height:100%;object-position:center 52%}.hero .shade{background:linear-gradient(90deg,#20281ed1 0%,#20281e78 36%,#20281e1f 72%)}
.outdoor-focus{min-height:780px;padding:70px 6vw;background:#e9dfcf}.pool-grid{height:640px;display:grid;grid-template-columns:1.55fr .65fr;grid-template-rows:1fr 1fr;gap:14px;margin-left:23%;overflow:hidden}.pool-grid .pool-main{grid-row:1/3}.pool-grid img{object-fit:cover}.outdoor-focus .card{z-index:3;box-shadow:0 20px 60px #42372b1c;width:430px}.outdoor-focus .card h2{font-size:58px}.included{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;margin:22px 0 5px;font-size:12px}.included span{border-bottom:1px solid #d8cbb9;padding:5px 0}.animal-grid{height:610px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}.animal-grid img{position:static!important;width:100%!important;height:100%!important;border:0!important;object-fit:cover}.animal-grid img:first-child{object-position:center 68%}.animal-grid img:nth-child(2){object-position:center 50%}.animal-grid img:nth-child(3){object-position:center 50%}.animal-grid img:nth-child(4){object-position:center 50%}
.copy strong{font-weight:500}.bookingGallery{grid-template-columns:1.35fr .8fr .65fr}.bookingGallery img:first-child{object-position:center 55%}.bookingGallery img:nth-child(2){object-position:center 55%}
@media(max-width:850px){.pool-grid{height:570px;margin-left:0;grid-template-columns:1fr;grid-template-rows:1fr}.pool-grid .pool-main{grid-row:auto}.pool-grid img:not(.pool-main){display:none}.outdoor-focus{padding:50px 18px 330px}.outdoor-focus .card{bottom:35px;width:auto}.included{grid-template-columns:1fr 1fr}.animal-grid{height:520px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}}

/* V4 — hero éditorial, images nettes et sections mieux séparées */
.hero{height:auto;min-height:760px;padding:105px 0 55px;background:var(--cream);align-items:stretch}
.heroMosaic{position:absolute;inset:105px 5.5vw 55px 39%;display:grid;grid-template-columns:1.42fr .72fr;grid-template-rows:1fr 1fr;gap:12px;background:transparent;overflow:hidden}
.heroMosaic img{display:block;width:100%;height:100%;object-fit:cover;min-width:0;min-height:0}
.heroMosaic .heroPool{grid-row:1/3;object-position:center 52%}
.heroMosaic .heroInside{object-position:center 52%}
.heroMosaic .heroTerrace{object-position:center 52%}
.hero .shade{inset:105px 5.5vw 55px 39%;background:linear-gradient(90deg,#2630233b,#26302305 55%);pointer-events:none}
.heroText{align-self:center;margin-left:max(7vw,55px);max-width:500px;color:var(--deep)}
.heroText h1{color:var(--deep);font-size:clamp(70px,8vw,124px)}
.heroText .eyebrow{color:var(--terra)}
.heroText .tagline{color:var(--ink)}
.heroText .actions{color:var(--deep)}
.heroText .cream{background:var(--deep);color:#fff}
.hero .facts{right:7vw;bottom:70px;background:#f8f4eceb;color:var(--deep);padding:8px 12px}

.animals{overflow:hidden}
.animals .two{align-items:center}
.animal-grid{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:250px 250px;gap:12px}
.animal-grid img{height:250px!important;min-height:0;object-fit:cover}
.amenities{position:relative;z-index:2;clear:both}

@media(max-width:1050px) and (min-width:851px){
  .heroMosaic{left:43%}
  .heroText{max-width:390px;margin-left:5vw}
  .heroText h1{font-size:78px}
}
@media(max-width:850px){
  .hero{min-height:790px;padding:88px 18px 30px;display:block}
  .heroMosaic{position:relative;inset:auto;height:455px;display:grid;grid-template-columns:1.35fr .75fr;grid-template-rows:1fr 1fr;gap:8px;margin:0}
  .heroMosaic .heroPool{grid-row:1/3}
  .heroMosaic img:not(:first-child){display:block}
  .hero .shade{display:none}
  .heroText{margin:26px 4px 45px;max-width:none}
  .heroText h1{font-size:62px}
  .heroText h1 br{display:none}
  .tagline{font-size:19px}
  .hero .facts{position:static;display:inline-block;margin-left:4px;background:transparent;padding:0;color:var(--deep)}
  .animal-grid{height:auto;grid-template-rows:190px 190px}
  .animal-grid img{height:190px!important}
}

/* =========================================================
   V6 — reproduction fidèle de la maquette validée
   ========================================================= */
:root{--cream:#f7f1e6;--paper:#fbf7ef;--terra:#c8794d;--deep:#344032;--olive:#59654c;--sand:#e8ddca;--line:#d8cdbb}
body{background:var(--paper)}
.wrap{width:min(1280px,calc(100% - 96px))}
.section{padding:150px 0}

/* Header crème, lisible dès le premier pixel */
header,header.scrolled{height:82px;background:rgba(248,244,236,.97);color:var(--deep);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(52,64,50,.10);padding:0 46px}
header.scrolled{height:72px}.brand b{font-size:28px}.brand small{font-size:7px;letter-spacing:.25em;margin-top:3px}header nav{gap:38px}header nav a{font-size:9px;font-weight:500}.btn.terra{padding:15px 26px}

/* Hero : une grande photo forte, pas un collage tassé */
.hero{height:690px;min-height:690px;padding:82px 0 0;background:var(--deep);display:flex;align-items:center}
.heroMosaic{position:absolute;inset:82px 0 0;display:block;background:#263023}
.heroMosaic .heroPool{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.heroMosaic .heroInside,.heroMosaic .heroTerrace{display:none}
.hero .shade{inset:82px 0 0;background:linear-gradient(90deg,rgba(29,36,27,.82) 0%,rgba(29,36,27,.58) 28%,rgba(29,36,27,.12) 63%,rgba(29,36,27,.18) 100%)}
.heroText{margin:0 0 0 max(8vw,90px);max-width:800px;color:#fff;align-self:center}
.heroText h1{font-size:clamp(80px,7.4vw,118px);color:#fff;line-height:.9;letter-spacing:-.045em}.heroText h1 i{font-size:.68em}.heroText .eyebrow{color:#fff;margin-bottom:18px}.heroText .tagline{color:#fff;font-size:26px;line-height:1.28;margin:24px 0 13px}.heroText .tagline:after{content:"À Grans, un lieu pensé pour ralentir, respirer et profiter pleinement du Sud.";display:block;font-family:"DM Sans",sans-serif;font-size:14px;line-height:1.6;margin-top:16px;max-width:390px}.heroText .actions{color:#fff;margin-top:22px}.heroText .cream{background:var(--terra);color:#fff}.heroText .actions>a:last-child{border:1px solid rgba(255,255,255,.7);padding:13px 20px}.heroSignature{position:absolute;z-index:3;right:7.5vw;top:44%;color:#fff;font-family:"Italiana",serif;font-size:29px;line-height:1.05;transform:rotate(-4deg);text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.3)}.heroSignature i{font-size:1.15em}

/* Bandeau pictos sous hero */
.quickfacts{background:#f4ead9;border-bottom:1px solid var(--line);position:relative;z-index:4}.quickgrid{display:grid;grid-template-columns:repeat(5,1fr);min-height:105px;align-items:center}.quickgrid>div{display:flex;align-items:center;justify-content:center;gap:15px;padding:18px 24px;border-right:1px solid #d6c9b6}.quickgrid>div:last-child{border:0}.quickgrid b{font-family:"Italiana",serif;font-size:29px;font-weight:400;color:var(--deep);line-height:1}.quickgrid span{display:flex;flex-direction:column;line-height:1.25}.quickgrid strong{font-size:12px;font-weight:500;color:var(--deep)}.quickgrid small{font-size:9px;color:#766f63;margin-top:5px}

/* Rythme éditorial plus aéré */
.intro{position:relative;background:var(--paper)}.intro:before,.gallery:after,.animals:after{content:"";position:absolute;width:150px;height:230px;opacity:.11;pointer-events:none;background:repeating-linear-gradient(65deg,transparent 0 15px,var(--deep) 16px 17px,transparent 18px 28px);border-radius:50%}.intro:before{left:2%;bottom:6%;transform:rotate(-18deg)}
.two{gap:130px}.copy p{max-width:560px}.copy h2{margin-bottom:38px}.lead{font-size:18px;line-height:1.75}.collage{height:620px;padding-left:0;padding-bottom:0;display:grid;grid-template-columns:1.55fr .8fr;grid-template-rows:1fr 1fr;gap:14px}.collage .big{width:100%;height:100%;grid-row:1/3;margin:0}.collage .small{position:static;width:100%;height:100%;border:0;grid-column:2}.collage:after{content:"";grid-column:2;grid-row:2;background:url('images/chambre-bois.webp') center/cover no-repeat}.collage span{right:-32px;bottom:45px;width:125px;height:125px;font-size:18px}
.quote{padding:140px 25px}.head{margin-bottom:85px}.features article{padding-top:45px;padding-bottom:35px}.gallery{padding-top:155px;padding-bottom:165px;position:relative}.center{margin-bottom:80px}.photos{grid-template-rows:390px 390px;gap:18px}

/* Piscine : grande respiration et vraie vedette */
.outdoor-focus{min-height:900px;padding:120px 6vw;background:var(--sand)}.pool-grid{height:660px;margin-left:19%;grid-template-columns:1.65fr .7fr;gap:16px}.outdoor-focus .card{left:7%;width:420px;padding:58px 48px;box-shadow:0 25px 70px rgba(67,55,43,.11)}.outdoor-focus .card h2{font-size:62px}.included{margin-top:28px}

/* Animaux : trois photos, jamais la vedette du site */
.animals{padding-top:165px;padding-bottom:165px;position:relative}.animals .two{grid-template-columns:1.05fr .95fr}.animal-grid{height:560px;display:grid;grid-template-columns:1.25fr .8fr;grid-template-rows:1fr 1fr;gap:14px}.animal-grid img{height:100%!important;object-fit:cover}.animal-grid img:first-child{grid-row:1/3;object-position:center 65%}.animal-grid img:nth-child(2){grid-column:2;grid-row:1;object-position:center 55%}.animal-grid img:nth-child(3){grid-column:2;grid-row:2;object-position:center 55%}.legacy-amenities{display:none}

/* Carte / localisation : rupture visuelle */
.location{gap:90px}.mapbox{height:610px;padding:0;background:var(--sand);box-shadow:18px 18px 0 var(--sand)}.mapbox iframe{filter:saturate(.72) contrast(.96)}

/* CTA final */
.booking{height:700px;margin-top:40px}.bookingGallery{grid-template-columns:1.65fr .7fr .7fr;gap:5px}.booking .shade{background:linear-gradient(90deg,rgba(37,48,34,.75),rgba(37,48,34,.48))}.booking h2{font-size:82px}

@media(max-width:1050px) and (min-width:851px){.wrap{width:calc(100% - 60px)}header nav{gap:20px}.heroText{margin-left:55px}.heroSignature{right:4vw}.quickgrid>div{padding:15px 10px}.two{gap:70px}.pool-grid{margin-left:13%}}
@media(max-width:850px){
 .wrap{width:calc(100% - 36px)}.section{padding:95px 0}header,header.scrolled{height:72px;padding:0 18px}.brand b{font-size:25px}
 .hero{height:auto;min-height:720px;padding:72px 0 0;display:block}.heroMosaic{inset:72px 0 0}.heroMosaic .heroPool{object-position:58% center}.hero .shade{inset:72px 0 0;background:linear-gradient(90deg,rgba(28,35,26,.79),rgba(28,35,26,.25))}.heroText{position:absolute;left:22px;right:22px;bottom:72px;margin:0;z-index:3}.heroText h1{font-size:64px}.heroText .tagline{font-size:21px}.heroText .tagline:after{font-size:12px;max-width:310px}.heroText .actions{flex-direction:row;flex-wrap:wrap;gap:10px}.heroSignature{display:none}
 .quickgrid{grid-template-columns:1fr 1fr;min-height:0;padding:10px 0}.quickgrid>div{justify-content:flex-start;min-height:78px;padding:14px 12px;border-bottom:1px solid #d6c9b6}.quickgrid>div:nth-child(2n){border-right:0}.quickgrid>div:last-child{grid-column:1/3;border-bottom:0}.quickgrid b{font-size:24px}
 .two{gap:60px}.collage{height:520px;grid-template-columns:1.4fr .8fr}.collage span{right:-5px;bottom:25px;width:100px;height:100px;font-size:15px}.quote{padding:95px 22px}.gallery{padding:100px 0}.photos{grid-template-rows:430px 290px 290px}
 .outdoor-focus{min-height:0;padding:65px 18px 90px}.pool-grid{height:520px;margin:0;display:block}.pool-grid .pool-main{display:block;width:100%;height:100%;object-position:center}.pool-grid img:not(.pool-main){display:none}.outdoor-focus .card{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:calc(100% - 28px);margin:-70px auto 0;padding:38px 30px}.outdoor-focus .card h2{font-size:49px}
 .animals{padding:100px 0}.animals .two{grid-template-columns:1fr}.animal-grid{height:500px;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr}.animal-grid img{height:100%!important}.location{gap:55px}.mapbox{height:430px;box-shadow:9px 9px 0 var(--sand)}.booking{height:610px}.bookingGallery{display:block}.bookingGallery img:first-child{display:block;width:100%;height:100%}.bookingGallery img:not(:first-child){display:none}.booking h2{font-size:55px}
}
@media(max-width:520px){.heroText h1{font-size:55px}.heroText .tagline:after{display:none}.heroText .actions>a{font-size:8px;padding:12px 14px}.collage{height:430px}.animal-grid{height:430px}.quickgrid strong{font-size:11px}.quickgrid small{font-size:8px}}

/* =========================================================
   V6.1 — rapprochement maquette / corrections 02-10-2026
   ========================================================= */
/* Header clair, découpé et lisible dès le premier écran */
header,header.scrolled{height:86px;padding:0 40px 0 42px;background:rgba(248,244,236,.97);color:var(--deep);box-shadow:0 1px 0 rgba(52,64,50,.10);backdrop-filter:blur(12px);grid-template-columns:245px 1fr 150px}
header.scrolled{height:76px}
header:before{content:"";position:absolute;left:0;top:0;width:315px;height:100%;background:#f8f4ec;z-index:-1;clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}
.brand b{font-size:30px}.brand small{font-size:7.5px;letter-spacing:.26em}
header nav{gap:42px}header nav a{font-family:"DM Sans",sans-serif;font-size:11.5px;font-weight:500;letter-spacing:.12em;transition:color .2s}header nav a:hover{color:var(--terra)}
.reserveBtn{display:flex;align-items:center;justify-content:center;gap:9px;padding:16px 22px;border-radius:2px;font-size:10.5px}.calendarIcon{font-size:0;width:17px;height:16px;border:1.5px solid currentColor;border-radius:2px;position:relative;display:inline-block}.calendarIcon:before{content:"";position:absolute;left:2px;right:2px;top:4px;border-top:1.5px solid currentColor}.calendarIcon:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;left:6px;top:8px}

/* Hero : démarre sous le header, sans chevauchement */
.hero{height:700px;min-height:700px;padding:86px 0 0}.heroMosaic{inset:86px 0 0}.hero .shade{inset:86px 0 0}.heroText{margin-left:max(8vw,105px)}

/* Bandeau équipements : plus présent et pictos homogènes */
.quickfacts{background:#f2e8d8;border-bottom:1px solid rgba(57,66,51,.12)}
.quickgrid{min-height:96px;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch}
.quickgrid>div{display:flex;align-items:center;justify-content:center;gap:15px;padding:18px 20px;border-right:1px solid rgba(57,66,51,.16)}.quickgrid>div:last-child{border-right:0}
.quickgrid .qicon{width:35px;min-width:35px;text-align:center;font-size:29px;line-height:1;color:var(--deep);font-family:Georgia,serif;font-weight:400}.quickgrid .poolIcon{font-size:36px;transform:translateY(-2px)}
.quickgrid span{display:flex;flex-direction:column;line-height:1.25}.quickgrid strong{font-size:13px;font-weight:600;color:var(--ink)}.quickgrid small{font-size:9.5px;color:#777166;margin-top:5px}

/* Plus d'air entre les blocs */
.section{padding:145px 0}.intro{padding-top:150px;padding-bottom:160px}.intro .two{gap:120px}

/* Intro : exactement deux photos, composition plus nette */
.collage{height:610px;padding:0;display:grid;grid-template-columns:1.45fr .75fr;gap:16px}.collage .big{width:100%;height:100%;margin:0;object-position:center 55%;border-radius:2px}.collage .small{position:static;width:100%;height:100%;border:0;object-position:center 58%;border-radius:2px}.collage span{right:-24px;bottom:32px;width:124px;height:124px;font-size:17px;box-shadow:0 12px 35px rgba(73,52,36,.12)}

/* Ancienne citation supprimée : la rupture verte est désormais le bloc confort */
.comfortBand{background:var(--deep);color:#f5f0e8;padding:125px 0}.comfortBand h2,.comfortBand h3{color:#fff}.comfortBand .head{margin-bottom:70px}.comfortBand .head>p{color:#ddd7cc}.comfortBand .eyebrow{color:#dba483}.comfortBand .features{border-top-color:rgba(255,255,255,.28)}.comfortBand .features article{border-right-color:rgba(255,255,255,.20)}.comfortBand .features b{color:#dba483}.comfortBand .features p{color:#ddd7cc}

/* Galerie : un peu plus respirante */
.gallery{padding-top:150px;padding-bottom:165px}.photos{gap:18px}

/* Piscine : la 3e photo reste entière et la carte reste dans SON bloc */
.outdoor-focus{min-height:850px;padding:95px 6vw 110px;overflow:hidden}.pool-grid{height:645px;margin-left:24%;grid-template-columns:1.5fr .68fr;grid-template-rows:1.25fr .75fr;gap:14px}.pool-grid img{object-fit:cover}.pool-grid .pool-main{object-position:center 55%}.pool-grid img:nth-child(2){object-position:center 48%}.pool-grid img:nth-child(3){object-position:center 68%}.outdoor-focus .card{top:50%;left:7%;transform:translateY(-50%);width:420px;max-height:calc(100% - 120px);padding:48px 44px;overflow:auto}

/* Animaux : séparation franche, aucune intrusion de la carte précédente */
.animals{position:relative;z-index:2;padding-top:165px;padding-bottom:165px;background:#fffaf3}.animals .two{gap:105px}.animal-grid{height:540px}.animal-grid img:first-child{object-position:center 58%}.animal-grid img:nth-child(2){object-position:center 48%}.animal-grid img:nth-child(3){object-position:center 55%}

/* Localisation */
#alentours{padding-top:155px;padding-bottom:165px}.location h2{font-size:clamp(48px,4.7vw,72px)}

@media(max-width:1050px) and (min-width:851px){header,header.scrolled{padding-left:28px;padding-right:28px;grid-template-columns:205px 1fr 130px}header:before{width:250px}header nav{gap:20px}header nav a{font-size:10px}.quickgrid>div{padding:16px 9px;gap:9px}.quickgrid .qicon{font-size:24px}.quickgrid strong{font-size:11px}.intro .two{gap:65px}.collage{height:540px}.outdoor-focus .card{left:4%;width:370px}.pool-grid{margin-left:20%}}
@media(max-width:850px){header,header.scrolled{height:72px;padding:0 18px;grid-template-columns:1fr 44px}header:before{width:190px}.hero{padding-top:72px;min-height:720px}.heroMosaic,.hero .shade{inset:72px 0 0}.quickgrid{grid-template-columns:1fr 1fr;min-height:0}.quickgrid>div{justify-content:flex-start;min-height:78px;padding:15px 18px}.quickgrid>div:nth-child(2n){border-right:0}.quickgrid>div:last-child{grid-column:1/3;border-top:1px solid rgba(57,66,51,.12)}.section,.intro{padding:95px 0}.collage{height:470px;grid-template-columns:1.3fr .7fr}.collage span{right:-5px}.comfortBand{padding:90px 0}.outdoor-focus{min-height:auto;padding:70px 18px 85px;overflow:visible}.pool-grid{height:520px;margin:0;grid-template-columns:1.35fr .75fr;grid-template-rows:1fr 1fr}.outdoor-focus .card{position:relative;left:auto;top:auto;transform:none;width:calc(100% - 24px);max-height:none;margin:-70px auto 0;padding:38px;overflow:visible}.animals{padding-top:105px}.animal-grid{height:500px}}
@media(max-width:520px){.quickgrid{grid-template-columns:1fr}.quickgrid>div,.quickgrid>div:last-child{grid-column:auto;border-right:0;border-bottom:1px solid rgba(57,66,51,.12)}.quickgrid .qicon{font-size:25px}.quickgrid strong{font-size:12px}.collage{height:560px;grid-template-columns:1fr;grid-template-rows:1.2fr .8fr}.collage span{width:92px;height:92px;font-size:13px}.pool-grid{height:470px;grid-template-columns:1fr}.pool-grid .pool-main{grid-row:1/3}.pool-grid img:not(.pool-main){display:none}}

/* =========================================================
   V6.2 — compositions photo plus vivantes
   ========================================================= */

/* Piscine : grande image + photo verticale + carte photo inclinée en surimpression */
.outdoor-focus{overflow:visible}
.pool-grid{
  position:relative;
  overflow:visible;
  grid-template-columns:1.55fr .70fr;
  grid-template-rows:1fr;
  gap:16px;
  padding-bottom:34px;
}
.pool-grid .pool-main{
  grid-column:1;
  grid-row:1;
  height:100%;
  object-fit:cover;
  object-position:center 55%;
}
.pool-grid img:nth-child(2){
  grid-column:2;
  grid-row:1;
  height:88%;
  align-self:start;
  object-fit:cover;
  object-position:center center;
}
.pool-grid img:nth-child(3){
  position:absolute;
  z-index:4;
  width:34%;
  height:31%;
  right:-2.2%;
  bottom:-1%;
  object-fit:cover;
  object-position:center 58%;
  border:9px solid var(--sand);
  box-shadow:0 20px 42px rgba(50,43,35,.18);
  transform:rotate(-2.3deg);
}

/* Compagnons : collage en quinconce, moins "grille catalogue" */
.animals .two{align-items:center}
.animal-grid{
  position:relative;
  display:block;
  height:590px;
  overflow:visible;
}
.animal-grid img{
  position:absolute!important;
  display:block;
  object-fit:cover;
  box-shadow:0 18px 42px rgba(57,66,51,.10);
}
.animal-grid img:first-child{
  left:0;
  top:52px;
  width:58%!important;
  height:455px!important;
  z-index:2;
  object-position:center 58%;
}
.animal-grid img:nth-child(2){
  right:3%;
  top:0;
  width:42%!important;
  height:265px!important;
  z-index:3;
  object-position:center 48%;
}
.animal-grid img:nth-child(3){
  right:-2%;
  bottom:4px;
  width:47%!important;
  height:270px!important;
  z-index:1;
  object-position:center 55%;
}
.animal-grid:after{
  content:"";
  position:absolute;
  left:51%;
  top:38%;
  width:72px;
  height:72px;
  border:1px solid rgba(184,111,75,.45);
  border-radius:50%;
  z-index:5;
  pointer-events:none;
}

@media(max-width:1050px) and (min-width:851px){
  .pool-grid{margin-left:19%;grid-template-columns:1.5fr .72fr}
  .pool-grid img:nth-child(3){width:36%;height:29%;right:-1%}
  .animal-grid{height:540px}
  .animal-grid img:first-child{height:420px!important}
  .animal-grid img:nth-child(2){height:240px!important}
  .animal-grid img:nth-child(3){height:245px!important}
}

@media(max-width:850px){
  .pool-grid{display:grid;height:500px;grid-template-columns:1fr .55fr;grid-template-rows:1fr;padding-bottom:34px;overflow:visible}
  .pool-grid .pool-main{display:block;grid-column:1/3;grid-row:1;width:100%;height:100%}
  .pool-grid img:nth-child(2){display:none}
  .pool-grid img:nth-child(3){display:block;right:10px;bottom:-30px;width:42%;height:36%;border-width:7px}
  .animal-grid{height:520px}
  .animal-grid img:first-child{left:0;top:45px;width:62%!important;height:400px!important}
  .animal-grid img:nth-child(2){right:0;top:0;width:43%!important;height:225px!important}
  .animal-grid img:nth-child(3){right:2%;bottom:0;width:46%!important;height:235px!important}
}

@media(max-width:520px){
  .pool-grid{height:440px;display:block;padding-bottom:40px}
  .pool-grid .pool-main{display:block;width:100%;height:100%}
  .pool-grid img:nth-child(2){display:none}
  .pool-grid img:nth-child(3){display:block;width:48%;height:34%;right:-2px;bottom:-22px}
  .animal-grid{height:610px}
  .animal-grid img:first-child{left:0;top:0;width:78%!important;height:340px!important}
  .animal-grid img:nth-child(2){right:0;top:285px;width:55%!important;height:205px!important;z-index:3}
  .animal-grid img:nth-child(3){left:7%;right:auto;bottom:0;width:58%!important;height:190px!important;z-index:4}
  .animal-grid:after{display:none}
}

/* =========================================================
   V6.3 — correctifs MOBILE robustes
   Objectif : aucun chevauchement / aucune coupe parasite
   ========================================================= */
@media (max-width:850px){
  /* Header : logo + burger uniquement. Le CTA reste dans la page. */
  header,header.scrolled{
    height:72px!important;
    padding:0 18px!important;
    grid-template-columns:1fr 46px!important;
    background:#f8f4ec!important;
    color:var(--deep)!important;
  }
  header:before{width:175px!important}
  header nav{display:none!important}
  header .reserveBtn,header .desktop{display:none!important}
  #burger{display:block!important;grid-column:2;justify-self:end;font-size:23px;line-height:1}
  .brand{grid-column:1;justify-self:start}

  /* Hero mobile : photo puis cartouche vert. Plus aucun texte posé à cheval. */
  .hero{
    height:auto!important;
    min-height:0!important;
    padding:72px 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:var(--deep)!important;
  }
  .heroMosaic{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:390px!important;
    flex:0 0 390px!important;
    display:block!important;
  }
  .heroMosaic .heroPool,.heroMosaic img:first-child{
    display:block!important;width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:center 55%!important;
  }
  .heroMosaic img:not(:first-child){display:none!important}
  .hero .shade{display:none!important}
  .heroText{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:34px 24px 38px!important;
    background:var(--deep)!important;
    color:#fff!important;
  }
  .heroText .eyebrow{margin-bottom:12px!important;color:#eadfd2!important}
  .heroText h1{font-size:56px!important;line-height:.94!important;color:#fff!important;margin:0!important}
  .heroText h1 br{display:block!important}
  .heroText .tagline{font-size:20px!important;line-height:1.3!important;margin:18px 0 0!important;color:#fff!important}
  .heroText .tagline:after{display:block!important;font-size:12px!important;line-height:1.55!important;margin-top:12px!important;max-width:320px!important}
  .heroText .actions{margin-top:22px!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important}
  .heroText .actions>a{font-size:8px!important;padding:12px 14px!important}
  .heroSignature,.hero .facts{display:none!important}

  /* Blocs : espace vertical franc pour éviter les collisions. */
  .quickfacts{position:relative!important;z-index:1!important}
  .section,.intro{padding-top:90px!important;padding-bottom:90px!important}
  .two{gap:55px!important}

  /* Intro : 2 photos lisibles, sans pastille hors cadre. */
  .collage{height:470px!important;display:grid!important;grid-template-columns:1.25fr .75fr!important;grid-template-rows:1fr!important;gap:10px!important;overflow:visible!important}
  .collage .big,.collage .small{position:static!important;width:100%!important;height:100%!important;object-fit:cover!important;border:0!important;margin:0!important}
  .collage span{right:8px!important;bottom:-26px!important;width:88px!important;height:88px!important;font-size:13px!important;z-index:4!important}

  /* Piscine : 2 images seulement sur mobile, composition stable. */
  .outdoor-focus{padding:70px 18px 90px!important;overflow:hidden!important}
  .pool-grid{height:470px!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:1fr .48fr!important;grid-template-rows:1fr!important;gap:9px!important;overflow:hidden!important}
  .pool-grid .pool-main{position:static!important;display:block!important;grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 55%!important}
  .pool-grid img:nth-child(2){position:static!important;display:block!important;grid-column:2!important;grid-row:1!important;width:100%!important;height:82%!important;align-self:end!important;object-fit:cover!important;border:0!important;box-shadow:none!important;transform:none!important}
  .pool-grid img:nth-child(3){display:none!important}
  .outdoor-focus .card{position:relative!important;inset:auto!important;transform:none!important;width:calc(100% - 20px)!important;max-height:none!important;margin:-42px auto 0!important;padding:34px 28px!important;overflow:visible!important;z-index:5!important}

  /* Animaux : quinconce contrôlé dans son propre espace. */
  .animals{padding:95px 0 105px!important;overflow:hidden!important}
  .animals .two{display:grid!important;grid-template-columns:1fr!important;gap:52px!important}
  .animal-grid{order:2!important;position:relative!important;height:500px!important;width:100%!important;overflow:hidden!important}
  .animal-grid img:first-child{left:0!important;top:42px!important;width:62%!important;height:385px!important}
  .animal-grid img:nth-child(2){right:0!important;top:0!important;width:43%!important;height:215px!important}
  .animal-grid img:nth-child(3){right:2%!important;bottom:8px!important;left:auto!important;width:47%!important;height:225px!important}
  .animal-grid:after{display:none!important}

  .location{gap:45px!important}.mapbox{height:380px!important}
}

@media (max-width:520px){
  .heroMosaic{height:330px!important;flex-basis:330px!important}
  .heroText{padding:30px 20px 34px!important}
  .heroText h1{font-size:50px!important}
  .heroText .tagline{font-size:18px!important}
  .heroText .tagline:after{display:block!important}
  .quickgrid{grid-template-columns:1fr!important}
  .quickgrid>div,.quickgrid>div:last-child{grid-column:auto!important;min-height:70px!important}
  .collage{height:400px!important;grid-template-columns:1.2fr .8fr!important;grid-template-rows:1fr!important}
  .collage span{width:78px!important;height:78px!important;font-size:12px!important;bottom:-20px!important}
  .pool-grid{height:390px!important;grid-template-columns:1fr .44fr!important}
  .outdoor-focus .card h2{font-size:44px!important}
  .animal-grid{height:470px!important}
  .animal-grid img:first-child{top:35px!important;width:65%!important;height:350px!important}
  .animal-grid img:nth-child(2){width:44%!important;height:190px!important}
  .animal-grid img:nth-child(3){width:48%!important;height:205px!important}
  .booking{height:560px!important}
}

/* =========================================================
   V6.4 — mobile: cadres photos + correction hauteur piscine
   ========================================================= */
@media (max-width:850px){
  /* IMPORTANT : une ancienne règle imposait height:700px à .escape.
     La carte piscine sortait donc du bloc et chevauchait "Nos compagnons". */
  .escape.outdoor-focus{
    height:auto!important;
    min-height:0!important;
    padding-bottom:92px!important;
    overflow:visible!important;
  }
  .outdoor-focus .card{
    position:relative!important;
    margin:-34px auto 0!important;
    width:calc(100% - 22px)!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* Les trois compagnons deviennent de petites photos encadrées,
     façon tableaux / tirages posés en quinconce. */
  .animal-grid{overflow:visible!important;margin-top:4px!important}
  .animal-grid img{
    border:7px solid #f8f4ec!important;
    box-shadow:0 14px 32px rgba(49,45,37,.16)!important;
    background:#f8f4ec!important;
  }
}

@media (max-width:520px){
  .escape.outdoor-focus{padding:54px 18px 82px!important}
  .pool-grid{height:360px!important}
  .outdoor-focus .card{
    margin:-24px auto 0!important;
    width:calc(100% - 18px)!important;
    padding:30px 27px 32px!important;
  }
  .outdoor-focus .card h2{font-size:43px!important;line-height:1.04!important}
  .outdoor-focus .card p{font-size:14px!important;line-height:1.75!important}
  .included{grid-template-columns:1fr!important;gap:3px!important}

  .animals{padding-top:86px!important}
  .animal-grid{height:490px!important;width:calc(100% - 6px)!important;margin:0 auto!important}
  .animal-grid img:first-child{left:0!important;top:35px!important;width:66%!important;height:350px!important}
  .animal-grid img:nth-child(2){right:0!important;top:0!important;width:45%!important;height:195px!important}
  .animal-grid img:nth-child(3){right:1%!important;bottom:0!important;width:50%!important;height:210px!important}
}


/* =========================================================
   V6.5 — piscine 2 photos + cadres compagnons tous écrans
   ========================================================= */

/* Piscine : seulement 2 photos. La photo latérale prend toute la hauteur. */
.pool-grid{
  display:grid!important;
  grid-template-columns:1.55fr .70fr!important;
  grid-template-rows:1fr!important;
  gap:16px!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
.pool-grid .pool-main{
  position:static!important;
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  align-self:stretch!important;
  object-fit:cover!important;
  transform:none!important;
  border:0!important;
  box-shadow:none!important;
}
.pool-grid img:nth-child(2){
  position:static!important;
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  align-self:stretch!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Compagnons : cadre photo visible sur desktop, tablette et mobile. */
.animal-grid img{
  box-sizing:border-box!important;
  border:9px solid #f8f4ec!important;
  background:#f8f4ec!important;
  box-shadow:0 16px 36px rgba(49,45,37,.15)!important;
}

@media(max-width:1050px) and (min-width:851px){
  .pool-grid{grid-template-columns:1.5fr .72fr!important}
}

@media(max-width:850px){
  .pool-grid{
    height:500px!important;
    grid-template-columns:1fr .55fr!important;
    grid-template-rows:1fr!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .pool-grid .pool-main{
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    height:100%!important;
  }
  .pool-grid img:nth-child(2){
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    height:100%!important;
    min-height:100%!important;
  }
  .animal-grid img{border-width:7px!important}
}

@media(max-width:520px){
  .pool-grid{
    height:360px!important;
    display:grid!important;
    grid-template-columns:1fr .44fr!important;
    grid-template-rows:1fr!important;
    padding:0!important;
  }
  .pool-grid .pool-main,
  .pool-grid img:nth-child(2){height:100%!important;min-height:100%!important}
  .animal-grid img{border-width:6px!important}
}

/* =========================================================
   V6.6 — formulaire de contact + 4e photo compagnons
   ========================================================= */
.contactBooking{height:auto;min-height:760px;padding:95px 0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.contactBooking .bookingGallery,.contactBooking .shade{position:absolute;inset:0}
.contactBooking .bookingGallery{display:grid;height:100%}
.contactBooking .contactWrap{position:relative;z-index:3;width:min(1120px,calc(100% - 64px));display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:center;color:#fff}
.contactBooking .contactIntro h2{color:#fff;font-size:clamp(54px,5.6vw,82px);margin-bottom:24px}
.contactBooking .contactIntro>p:last-child{max-width:430px;font-size:16px;line-height:1.75;color:rgba(255,255,255,.88)}
.contactForm{background:rgba(248,244,236,.96);padding:42px;color:var(--deep);box-shadow:0 24px 70px rgba(20,28,18,.22);backdrop-filter:blur(5px)}
.contactForm .formRow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contactForm label{display:block;margin-bottom:17px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.15em}
.contactForm input,.contactForm textarea{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid #bdb4a5;background:transparent;color:var(--ink);font:400 14px "DM Sans",sans-serif;padding:10px 2px 11px;outline:none;border-radius:0}
.contactForm textarea{resize:vertical;min-height:105px}
.contactForm input:focus,.contactForm textarea:focus{border-bottom-color:var(--terra)}
.contactForm input::placeholder,.contactForm textarea::placeholder{color:#9d9588}
.contactSubmit{border:0;background:var(--terra);color:#fff;cursor:pointer;margin-top:8px}

/* Nouvelle photo coucher de soleil intégrée au collage des compagnons. */
.animal-grid img:nth-child(4){position:absolute!important;left:5%!important;bottom:-18px!important;width:35%!important;height:185px!important;z-index:5!important;object-position:center 58%!important;transform:rotate(-1.5deg)!important}

@media(max-width:850px){
  .contactBooking{min-height:0;padding:80px 0}
  .contactBooking .contactWrap{width:calc(100% - 36px);grid-template-columns:1fr;gap:38px}
  .contactBooking .contactIntro{text-align:center;max-width:600px;margin:auto}
  .contactBooking .contactIntro>p:last-child{margin-left:auto;margin-right:auto}
  .contactForm{padding:32px 28px}
  .animal-grid img:nth-child(4){left:5%!important;bottom:-5px!important;width:37%!important;height:155px!important}
}
@media(max-width:520px){
  .contactBooking{padding:70px 0}
  .contactBooking .contactWrap{width:calc(100% - 28px);gap:28px}
  .contactBooking .contactIntro h2{font-size:50px}
  .contactForm{padding:27px 22px}
  .contactForm .formRow{grid-template-columns:1fr;gap:0}
  .contactSubmit{width:100%}
  .animal-grid img:nth-child(4){left:4%!important;bottom:-2px!important;width:40%!important;height:145px!important}
}

/* =========================================================
   V6.8 — formulaire intégré au bloc contact
   ========================================================= */
.contactBooking{
  height:auto!important;
  min-height:760px!important;
  padding:78px 0 58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.contactBooking .contactWrap{
  position:relative!important;
  z-index:3!important;
  width:min(1220px,calc(100% - 64px))!important;
  display:flex!important;
  flex-direction:column!important;
  gap:38px!important;
  align-items:stretch!important;
}
.contactBooking .contactIntro{
  text-align:center!important;
  max-width:760px!important;
  margin:0 auto!important;
}
.contactBooking .contactIntro h2{
  margin-bottom:18px!important;
}
.contactBooking .contactIntro>p:last-child{
  max-width:650px!important;
  margin:0 auto!important;
}
.contactBooking .contactForm{
  width:100%!important;
  background:rgba(255,255,255,.86)!important;
  padding:30px 38px 28px!important;
  box-shadow:0 18px 55px rgba(20,28,18,.16)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
.contactBooking .contactForm .formRow{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:28px!important;
}
.contactBooking .contactForm textarea{
  min-height:82px!important;
}
.contactBooking .contactSubmit{
  display:block!important;
  margin:5px 0 0 auto!important;
  background:var(--terra)!important;
  color:#fff!important;
}
@media(min-width:851px){
  .contactBooking .contactForm{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    column-gap:28px!important;
    align-items:end!important;
  }
  .contactBooking .contactForm>.formRow{grid-column:1 / -1!important;grid-template-columns:1fr 1fr!important}
  .contactBooking .contactForm>label{grid-column:1 / 2!important;margin-bottom:0!important}
  .contactBooking .contactSubmit{grid-column:2 / 3!important;align-self:end!important;margin:0 0 1px auto!important;min-width:230px!important}
}
@media(max-width:850px){
  .contactBooking{padding:68px 0 42px!important;min-height:0!important}
  .contactBooking .contactWrap{width:calc(100% - 36px)!important;gap:30px!important}
  .contactBooking .contactForm{padding:28px 25px!important}
}
@media(max-width:560px){
  .contactBooking{padding:58px 0 28px!important}
  .contactBooking .contactWrap{width:calc(100% - 24px)!important}
  .contactBooking .contactForm{padding:24px 20px!important;background:rgba(255,255,255,.89)!important}
  .contactBooking .contactForm .formRow{grid-template-columns:1fr!important;gap:0!important}
  .contactBooking .contactSubmit{width:100%!important;text-align:center!important}
}

/* =========================================================
   V6.9 — Autour de L'Orée + équipements extérieurs
   ========================================================= */
.surroundings{background:var(--cream)}
.surroundingsHead{max-width:800px;margin:0 auto 65px;text-align:center}
.surroundingsHead .lead{max-width:760px;margin:25px auto 0}
.nearbyGrid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #cfc5b5;border-bottom:1px solid #cfc5b5;margin-bottom:115px}
.nearbyGrid article{grid-column:span 2;padding:36px 34px 38px 0;margin-right:34px;border-right:1px solid #cfc5b5}
.nearbyGrid article:nth-child(3){border-right:0;margin-right:0}
.nearbyGrid article:nth-child(4){grid-column:2/span 2;border-top:1px solid #cfc5b5;margin-top:0}
.nearbyGrid article:nth-child(5){grid-column:4/span 2;border-top:1px solid #cfc5b5;border-right:0;margin-right:0}
.nearbyGrid span{display:block;color:var(--terra);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.nearbyGrid h3{font-size:29px;margin-bottom:12px;color:var(--deep)}
.nearbyGrid p{font-size:14px;line-height:1.75;margin:0;color:#5e5b53}
.locationBelow{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:90px}
.locationBelow .copy p{max-width:540px}
@media(max-width:850px){
 .surroundingsHead{margin-bottom:45px;text-align:left}
 .nearbyGrid{display:block;margin-bottom:75px;border-bottom:0}
 .nearbyGrid article,.nearbyGrid article:nth-child(3),.nearbyGrid article:nth-child(4),.nearbyGrid article:nth-child(5){padding:26px 0;margin:0;border-right:0;border-top:0;border-bottom:1px solid #cfc5b5}
 .locationBelow{grid-template-columns:1fr;gap:45px}
}

/* V7.1 — galerie complète en overlay, sans modifier la section validée */
.outdoor-focus .card{overflow:visible!important;max-height:none!important}
.nearbyGrid h3{font-family:"DM Sans",sans-serif!important;font-size:25px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:-.02em!important}
.galleryMore{text-align:center;margin-top:34px}.galleryOpenBtn{border:0;border-bottom:1px solid #999;background:none;cursor:pointer;color:var(--deep);padding:0 0 5px;font-family:inherit}
.galleryModal{position:fixed;z-index:1000;inset:0;background:rgba(248,244,236,.985);overflow-y:auto;overscroll-behavior:contain;padding:36px max(28px,4vw) 70px;opacity:0;visibility:hidden;transition:.25s}.galleryModal.open{opacity:1;visibility:visible}.galleryModalTop{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto 26px}.galleryModalTop strong{display:block;font-family:"Italiana",serif;font-size:42px;font-weight:400;color:var(--deep);line-height:1}.galleryModalTop .eyebrow{margin-bottom:8px}.galleryClose,.lightboxClose{border:0;background:none;font:300 44px/1 "DM Sans";cursor:pointer;color:var(--deep)}.galleryFilters{max-width:1400px;margin:0 auto 34px;display:flex;gap:8px;flex-wrap:wrap}.galleryFilters button{border:1px solid #cfc5b5;background:transparent;padding:10px 16px;text-transform:uppercase;letter-spacing:.12em;font:600 9px "DM Sans";color:var(--deep);cursor:pointer}.galleryFilters button.active{background:var(--deep);color:#fff;border-color:var(--deep)}.galleryGrid{max-width:1400px;margin:auto;columns:4 260px;column-gap:14px}.galleryItem{display:block;width:100%;margin:0 0 14px;border:0;padding:0;background:none;cursor:zoom-in;break-inside:avoid;overflow:hidden}.galleryItem img{width:100%;height:auto;display:block;transition:transform .4s}.galleryItem:hover img{transform:scale(1.018)}.galleryItem.hidden{display:none}.lightbox{position:fixed;z-index:1100;inset:0;background:rgba(22,25,21,.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.2s;touch-action:pan-y}.lightbox.open{opacity:1;visibility:visible}.lightbox img{width:auto;height:auto;max-width:calc(100vw - 150px);max-height:calc(100vh - 90px);object-fit:contain}.lightboxClose{position:absolute;right:25px;top:18px;color:#fff;z-index:2}.lightboxPrev,.lightboxNext{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.09);color:#fff;width:52px;height:70px;font-size:42px;cursor:pointer}.lightboxPrev{left:20px}.lightboxNext{right:20px}.lightboxCount{position:absolute;bottom:18px;color:#fff;font-size:11px;letter-spacing:.12em}.galleryModalOpen{overflow:hidden}
@media(max-width:850px){.galleryModal{padding:22px 16px 55px}.galleryModalTop{margin-bottom:20px}.galleryModalTop strong{font-size:31px}.galleryClose{font-size:38px}.galleryFilters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:7px;margin-bottom:22px;scrollbar-width:none}.galleryFilters::-webkit-scrollbar{display:none}.galleryFilters button{white-space:nowrap}.galleryGrid{columns:2 135px;column-gap:8px}.galleryItem{margin-bottom:8px}.lightbox img{max-width:100vw;max-height:82vh}.lightboxPrev,.lightboxNext{width:42px;height:58px;background:rgba(0,0,0,.22);font-size:34px}.lightboxPrev{left:5px}.lightboxNext{right:5px}.lightboxClose{right:12px;top:12px}.nearbyGrid h3{font-size:23px!important}}


/* V7.3 — Mentions légales & Confidentialité */
.bottom a{color:inherit;text-decoration:none}.bottom a:hover{text-decoration:underline}
.legalPage{background:var(--cream)}.legalMain{padding:155px 0 95px}.legalWrap{width:min(900px,calc(100% - 48px));margin:0 auto}.legalWrap>h1{font-family:"Italiana",serif;font-size:clamp(48px,7vw,82px);font-weight:400;line-height:.98;color:var(--deep);margin:16px 0 30px}.legalWrap>h1 i{font-weight:400}.legalIntro{font-size:18px;line-height:1.75;max-width:780px;margin-bottom:65px;color:#555248}.legalWrap section{padding:34px 0;border-top:1px solid #d6cdbf}.legalWrap section h2{font-family:"DM Sans",sans-serif;font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 18px;color:var(--deep)}.legalWrap section h3{font-family:"DM Sans",sans-serif;font-size:18px;font-weight:500;margin:0 0 12px;color:var(--deep)}.legalWrap section p{font-size:15px;line-height:1.8;max-width:820px;margin:0 0 14px;color:#555248}.legalWrap section a{color:var(--deep);text-underline-offset:3px}.matomoOptout{margin-top:25px;padding:26px 28px;background:#fff;border-left:3px solid var(--terra)}.matomoOptout .btn{border:0;cursor:pointer;margin:5px 0 15px}.matomoOptout .optoutNote{font-size:12px;margin-bottom:0;color:#777268}.legalBack{margin-top:38px}@media(max-width:850px){.legalMain{padding:115px 0 65px}.legalWrap{width:calc(100% - 36px)}.legalIntro{margin-bottom:45px}.legalWrap section{padding:28px 0}.matomoOptout{padding:22px 20px}}
