@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--olive:#414a32;--olive2:#4d583b;--cream:#f4f1e9;--sage:#c8cbb8;--line:rgba(244,241,233,.24);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--olive);color:var(--cream);font-family:var(--sans);font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:22px;background:rgba(65,74,50,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-tree{font:40px var(--serif);color:var(--sage)}.brand-name{font:12px/1.12 var(--serif);letter-spacing:.12em}.brand-name i{font-size:17px;letter-spacing:0}.brand-name small{display:block;font:8px var(--sans);letter-spacing:.34em;margin-top:5px;color:var(--sage)}.main-nav{display:flex;gap:clamp(10px,1.4vw,22px)}.main-nav a,.header-book{font-size:9px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.main-nav a{padding:10px 0;border-bottom:1px solid transparent}.main-nav a:hover{border-color:var(--cream)}.header-book{background:var(--cream);color:var(--olive);padding:15px 18px}.header-book span{margin-left:10px}.menu-toggle{display:none}.hero{height:min(680px,72vw);min-height:480px;position:relative;overflow:hidden;background:#68705a}.hero>img{filter:brightness(.68)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,25,17,.52),transparent 78%)}.hero-content{position:absolute;left:9vw;bottom:13%;max-width:760px}.kicker{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#d0d2c2;font-weight:500}.kicker.light{color:#fff}.hero h1{font:400 clamp(54px,8vw,110px)/.95 var(--serif);letter-spacing:-.03em;margin:22px 0}.hero-tagline{font:italic clamp(18px,2.2vw,26px) var(--serif)}.underlink{display:inline-block;border-bottom:1px solid var(--sage);padding:0 0 10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:20px}.underlink span{margin-left:20px}.hero-index{position:absolute;right:4vw;bottom:26px;font-size:8px;letter-spacing:.18em}.section-wrap{padding:100px 8vw;background:var(--olive)}.section-label{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.22em;color:#d0d2c2;text-transform:uppercase;margin-bottom:48px}.section-label span{font:italic 18px var(--serif);color:var(--sage)}.section-label i{height:1px;width:44px;background:#929983}.opening-grid,.perche-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.opening-copy,.perche-copy{max-width:510px}.opening h2,.editorial-copy h2,.rooms-heading h2,.garden-panel h2,.perche-copy h2,.practical-grid h2,.booking-inner h2{font:400 clamp(38px,4.6vw,64px)/1.08 var(--serif);letter-spacing:-.025em;margin:20px 0 26px}.opening h2 em,.editorial-copy h2 em,.rooms-heading h2 em,.perche-copy h2 em,.practical-grid h2 em{color:var(--sage)}.opening-copy p:not(.kicker),.editorial-copy p:not(.kicker),.perche-copy p:not(.kicker),.practical-grid p:not(.kicker){font:15px/1.85 var(--serif);color:#e0e1d7}.opening-copy .lead{font-size:17px!important;color:#fff!important}.image-frame{margin:0;min-width:0}.image-frame img{height:100%;max-height:100%}.image-frame figcaption{font-size:8px;letter-spacing:.16em;color:#d0d2c2;margin-top:11px}.opening-image{height:450px}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-top:80px;padding:25px 0}.facts div{padding:0 25px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.facts div:first-child{padding-left:0}.facts div:last-child{border:0}.facts strong{font:34px var(--serif);color:var(--sage)}.facts span,.nearby span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#d0d2c2}.editorial-section,.practical-section{background:var(--olive2)}.editorial-section .section-wrap,.practical-section .section-wrap{background:transparent}.editorial-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px 8vw;align-items:center}.editorial-copy{max-width:440px}.large-image{height:470px}.small-image{width:65%;height:250px;grid-column:1;grid-row:2;margin-left:8%}.detail-strip{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:55px;padding-top:20px;font-size:8px;letter-spacing:.14em;color:#d0d2c2}.rooms-heading{display:flex;align-items:end;justify-content:space-between;gap:10%;margin-bottom:40px}.rooms-heading>p{max-width:310px;font:15px/1.8 var(--serif);color:#e0e1d7}.room-gallery{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px;align-items:end}.room-gallery figure{height:280px}.room-gallery .room-main{height:390px}.room-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 7vw;margin-top:50px;border-top:1px solid var(--line)}.room-list>div{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.room-list span{font:italic 15px var(--serif);color:var(--sage)}.room-list p{font:13px/1.65 var(--serif);color:#e0e1d7;margin:0}.room-list b{font-weight:500;color:#fff}.garden-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px;background:#333b2b}.garden-photo{min-height:600px}.garden-panel{padding:75px clamp(35px,7vw,100px);align-self:center}.light-label{color:#d5d7c7}.garden-panel h2 em,.booking-inner h2 em{color:var(--sage)}.garden-panel>p:not(.kicker){font:15px/1.85 var(--serif);color:#e1e1d7}.garden-panel ul{list-style:none;padding:10px 0 0;margin:0}.garden-panel li{padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.garden-panel li:before{content:'—';margin-right:12px;color:var(--sage)}.season-note{font-size:8px!important;letter-spacing:.18em;margin-top:28px}.meadow-image{height:390px}.horse-image{grid-column:1;height:250px;width:80%;margin-left:10%}.nearby{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:60px;padding-top:24px}.nearby div{display:flex;flex-direction:column;gap:8px}.nearby b{font:28px var(--serif);color:var(--sage)}.practical-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.practical-details>div{display:grid;grid-template-columns:42px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}.practical-details>div:first-child{border-top:1px solid var(--line)}.practical-details span{font:italic 16px var(--serif);color:var(--sage)}.practical-details p{font:14px/1.7 var(--serif);color:#e0e1d7;margin:0}.practical-details b{color:#fff}.booking-section{background:#333b2b;color:#fff;padding:100px 8vw;text-align:center}.booking-inner{max-width:730px;margin:auto}.booking-inner h2{font-size:clamp(42px,5.5vw,72px)}.booking-inner>p:not(.kicker){font:16px/1.8 var(--serif);color:#e0e0d7;max-width:590px;margin:0 auto}.booking-note{display:flex;justify-content:center;gap:30px;margin:32px 0 20px;font-size:8px;letter-spacing:.16em;color:#d2d4c7}.booking-note span+span{border-left:1px solid #8b907d;padding-left:30px}.booking-integration{font:12px/1.7 var(--sans)!important;color:#bfc3b3!important}.booking-contact{display:inline-block;margin-top:28px;border:1px solid rgba(255,255,255,.55);padding:16px 22px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.site-footer{padding:35px 8vw;background:#333b2b;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font:13px/1.2 var(--serif);letter-spacing:.12em}.footer-brand i{font-size:17px}.site-footer p{font:italic 14px var(--serif);color:#d0d2c2}.site-footer>span,.back-top{font-size:8px;letter-spacing:.16em;color:#d0d2c2}.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.site-header{height:72px;padding:0 5vw}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}.menu-toggle span{width:22px;height:1px;background:#fff}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--olive);padding:20px 7vw 28px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.hero{height:75vh;min-height:500px}.hero-content{left:7vw;right:7vw}.section-wrap{padding:75px 7vw}.opening-grid,.perche-grid,.practical-grid{grid-template-columns:1fr;gap:30px}.opening-image{height:350px}.editorial-grid{grid-template-columns:1fr;gap:28px}.large-image{height:350px}.small-image{grid-column:auto;grid-row:auto;width:72%;height:220px;margin:0}.rooms-heading{display:block}.room-gallery{grid-template-columns:1fr 1fr}.room-gallery .room-main{grid-column:1/-1;height:350px}.room-gallery figure{height:220px}.garden-section{grid-template-columns:1fr}.garden-photo{height:340px;min-height:340px}.garden-panel{padding:60px 8vw}.nearby{grid-template-columns:repeat(2,1fr);gap:22px}.site-footer{flex-wrap:wrap}.site-footer p{width:100%;order:3}}@media(max-width:520px){.brand-tree{font-size:32px}.brand-name{font-size:9px}.brand-name i{font-size:15px}.header-book{padding:12px 10px;font-size:8px}.hero h1{font-size:53px}.section-wrap{padding:62px 6vw}.opening h2,.editorial-copy h2,.rooms-heading h2,.garden-panel h2,.perche-copy h2,.practical-grid h2{font-size:39px}.facts{grid-template-columns:1fr 1fr;row-gap:20px}.facts div:nth-child(2){border:0}.facts div:nth-child(3){padding-left:0}.detail-strip{flex-direction:column;gap:12px}.room-gallery{gap:12px}.room-gallery .room-main{height:270px}.room-gallery figure{height:170px}.room-list{grid-template-columns:1fr}.garden-photo{height:270px;min-height:270px}.booking-section{padding:70px 7vw}.booking-note{flex-direction:column;gap:12px}.booking-note span+span{border:0;padding:0}}

/* V4 — accents éditoriaux inspirés des maisons de vacances de caractère */
.hero-bottomline{position:absolute;left:8vw;right:8vw;bottom:0;display:flex;justify-content:space-between;gap:18px;padding:17px 0;border-top:1px solid rgba(255,255,255,.42);color:#fff;font-size:8px;letter-spacing:.17em}
.love-section{background:#f1efe7;color:#343b2c}
.love-section .section-label{color:#737966}.love-section .section-label span{color:#414a32}
.love-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}
.love-heading h2,.experiences-head h2{font:400 clamp(38px,4.7vw,62px)/1.05 var(--serif);margin:12px 0 0;letter-spacing:-.025em}
.love-heading h2 em,.experiences-head h2 em{color:#65704f}
.love-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c8bc;border-bottom:1px solid #c9c8bc}
.love-grid article{padding:25px 24px 30px 0;border-right:1px solid #c9c8bc;margin-right:24px}
.love-grid article:last-child{border:0;margin:0}
.love-grid article>span{font:italic 16px var(--serif);color:#7b826b}
.love-grid h3{font:400 21px var(--serif);margin:24px 0 10px}
.love-grid p{font:13px/1.75 var(--serif);color:#666b5d;margin:0}
.experiences-section{background:#f1efe7;color:#343b2c}
.experiences-section .section-label{color:#737966}.experiences-section .section-label span{color:#414a32}
.experiences-head{display:flex;justify-content:space-between;align-items:end;gap:9vw;margin-bottom:45px}
.experiences-head>p{max-width:370px;font:15px/1.8 var(--serif);color:#666b5d}
.experience-columns{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.experience-label{display:block;padding:0 0 16px;border-bottom:1px solid #c9c8bc;font-size:9px;letter-spacing:.18em;color:#777d68}
.experience-column ul{list-style:none;padding:0;margin:0}
.experience-column li{padding:19px 0;border-bottom:1px solid #d8d5ca}
.experience-column b{display:block;font:400 18px var(--serif);margin-bottom:6px}
.experience-column small{display:block;font:12px/1.7 var(--sans);color:#6c7064}
@media(max-width:820px){.hero-bottomline{left:7vw;right:7vw;flex-wrap:wrap;justify-content:flex-start;column-gap:22px;row-gap:9px}.love-heading,.experiences-head{display:block}.love-grid{grid-template-columns:1fr 1fr}.love-grid article:nth-child(2){border-right:0;margin-right:0}.love-grid article:nth-child(3){padding-left:0}.experience-columns{gap:35px}}
@media(max-width:520px){.hero-bottomline{font-size:7px;bottom:0;padding:13px 0}.love-grid{grid-template-columns:1fr}.love-grid article{border-right:0;border-bottom:1px solid #c9c8bc;margin:0;padding:20px 0}.love-grid article:last-child{border-bottom:0}.experience-columns{grid-template-columns:1fr;gap:35px}}

/* V5 — architecture de contenu calquée sur la séquence du Moulin & Co */
.hero{height:min(720px,76vw);min-height:520px}
.hero-content{left:8vw;bottom:17%}
.hero h1{font-size:clamp(58px,8.5vw,116px)}
.hero-facts{position:absolute;left:8vw;right:8vw;bottom:0;display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid rgba(255,255,255,.5);color:#fff;font-size:9px;letter-spacing:.17em}
.intro{display:grid;grid-template-columns:.95fr 1.05fr;gap:8vw;align-items:center;padding-top:105px;padding-bottom:85px}
.intro-copy{max-width:550px}.intro h2,.rooms-intro h2,.activities h2,.access h2{font:400 clamp(40px,5vw,66px)/1.06 var(--serif);letter-spacing:-.025em;margin:18px 0 26px}
.intro h2 em{color:#c8cbb8}.intro-copy p:not(.kicker){font:15px/1.85 var(--serif);color:#e0e1d7}.intro-copy .lead{font-size:17px!important;color:#f4f1e9!important}
.intro-image{height:480px;margin:0}.intro-image img{width:100%;height:100%;object-fit:cover}
.photo-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:8px;padding:0 3vw 90px;background:#414a32}
.photo-gallery figure{height:260px;margin:0;overflow:hidden}.photo-gallery figure:nth-child(2),.photo-gallery figure:nth-child(4){height:210px;margin-top:50px}
.photo-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}.photo-gallery figure:hover img{transform:scale(1.035)}
.love-section{background:#f2f0e8;color:#303629;padding-top:80px;padding-bottom:90px}
.love-section .kicker{color:#727965}.love-section h2{font:400 clamp(38px,4.5vw,58px) var(--serif);margin:14px 0 35px}
.love-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c8bc;border-bottom:1px solid #c9c8bc}
.love-list>div{display:flex;gap:16px;padding:23px 18px 23px 0;margin-right:18px;border-right:1px solid #c9c8bc}
.love-list>div:last-child{border:0;margin:0}.love-list span{font:italic 16px var(--serif);color:#828873}.love-list p{font:13px/1.7 var(--serif);color:#666b5d;margin:0}.love-list b{font-weight:500;color:#303629}
.rooms-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:end;padding-bottom:55px}
.rooms-intro h2{margin-bottom:0}.rooms-intro>div:last-child{max-width:620px}.rooms-intro p:not(.kicker){font:15px/1.8 var(--serif);color:#e0e1d7}
.room-details{padding:0 8vw 100px}
.room-row{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;padding:34px 0;border-top:1px solid rgba(244,241,233,.25)}
.room-row img{width:100%;height:360px;object-fit:cover}.room-row>div{max-width:440px}.room-row h3{font:400 clamp(30px,3.5vw,44px) var(--serif);margin:15px 0}.room-row p:not(.kicker){font:15px/1.8 var(--serif);color:#e0e1d7}.room-row span{display:block;margin-top:24px;font-size:8px;letter-spacing:.17em;color:#c8cbb8}
.room-row.reverse img{order:2}.room-row.reverse>div{order:1}
.activities{background:#f2f0e8;color:#303629;padding-top:95px;padding-bottom:95px}
.activities .kicker,.access .kicker{color:#737966}.activities h2,.access h2{margin-top:14px}
.activity-columns{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:42px}
.activity-columns h3,.amenities h3,.for-who h3,.access-grid h3{font:400 28px var(--serif);margin:0 0 20px}
.activity-columns ul{list-style:none;padding:0;margin:0;border-top:1px solid #c9c8bc}
.activity-columns li{padding:18px 0;border-bottom:1px solid #d8d5ca}
.activity-columns li b{display:block;font:400 18px var(--serif);margin-bottom:5px}
.activity-columns li span{display:block;font:12px/1.7 var(--sans);color:#6c7064}
.amenities{margin-top:75px}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c8bc}
.amenity-grid span{padding:14px 12px 14px 0;border-bottom:1px solid #d8d5ca;font:13px var(--serif);color:#555b4c}
.for-who{margin-top:60px;padding:28px 0;border-top:1px solid #c9c8bc;border-bottom:1px solid #c9c8bc;display:grid;grid-template-columns:.4fr 1.6fr;gap:30px;align-items:center}
.for-who h3{margin:0}.for-who p{font:16px/1.8 var(--serif);color:#626858;margin:0}
.access{background:#414a32;padding-top:95px;padding-bottom:100px}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:40px}
.access-grid h3{padding-bottom:18px;border-bottom:1px solid rgba(244,241,233,.25)}
.access-item{padding:15px 0;border-bottom:1px solid rgba(244,241,233,.2)}
.access-item b{font:400 17px var(--serif)}.access-item p,.access-grid>div>p:not(.kicker){font:14px/1.8 var(--serif);color:#e0e1d7}
.text-cta{display:inline-block;margin-top:20px;padding-bottom:8px;border-bottom:1px solid #c8cbb8;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.booking-section{padding-top:100px;padding-bottom:105px}
.site-footer{background:#333b2b}
@media(max-width:820px){
 .hero-facts{left:7vw;right:7vw;flex-wrap:wrap;justify-content:flex-start;column-gap:25px;row-gap:10px}
 .intro,.rooms-intro,.access-grid{grid-template-columns:1fr;gap:32px}
 .intro-image{height:340px}
 .photo-gallery{grid-template-columns:1fr 1fr;padding:0 5vw 65px}
 .photo-gallery figure,.photo-gallery figure:nth-child(2),.photo-gallery figure:nth-child(4){height:220px;margin:0}
 .love-list{grid-template-columns:1fr 1fr}.love-list>div:nth-child(2){border-right:0;margin:0}.love-list>div:nth-child(3){padding-left:0}
 .room-details{padding:0 7vw 70px}.room-row{gap:35px}.room-row img{height:280px}
 .activity-columns{gap:35px}.amenity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .hero{min-height:550px;height:80vh}.hero h1{font-size:52px}
 .hero-facts{font-size:7px;bottom:0;gap:9px 17px;padding:13px 0}
 .intro,.rooms-intro,.activities,.access{padding-top:65px;padding-bottom:65px}
 .intro-image{height:270px}
 .photo-gallery{gap:6px;padding:0 4vw 55px}.photo-gallery figure,.photo-gallery figure:nth-child(2),.photo-gallery figure:nth-child(4){height:155px}
 .love-list{grid-template-columns:1fr}.love-list>div{border-right:0;border-bottom:1px solid #c9c8bc;margin:0;padding:18px 0}
 .room-row,.room-row.reverse{grid-template-columns:1fr;gap:18px;padding:25px 0}.room-row img{height:240px;order:0}.room-row>div,.room-row.reverse>div{order:1}
 .activity-columns{grid-template-columns:1fr;gap:35px}.amenity-grid{grid-template-columns:1fr 1fr}
 .for-who{grid-template-columns:1fr;gap:10px}.access-grid{gap:45px}
}

/* V6 — galerie photo horizontale et rubrique dédiée aux extérieurs */
.photo-gallery-section{background:#414a32;padding:0 0 78px}
.gallery-heading{display:flex;justify-content:space-between;align-items:center;padding:0 8vw 18px;color:#d9dccd;font-size:9px;letter-spacing:.18em}
.gallery-controls{display:flex;gap:8px}
.gallery-controls button{width:38px;height:38px;border:1px solid rgba(244,241,233,.45);border-radius:50%;background:transparent;color:#f4f1e9;font-size:18px;cursor:pointer;transition:background .2s,color .2s}
.gallery-controls button:hover{background:#f4f1e9;color:#414a32}
.photo-gallery{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:0 8vw 12px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#a5a78d transparent}
.photo-gallery figure{flex:0 0 clamp(250px,34vw,470px);height:300px;margin:0;overflow:hidden;scroll-snap-align:start}
.photo-gallery figure:nth-child(2),.photo-gallery figure:nth-child(4){height:300px;margin-top:0}
.photo-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.photo-gallery figure:hover img{transform:scale(1.035)}
.gallery-hint{padding:15px 8vw 0;text-align:right;color:#c9cebb;font-size:8px;letter-spacing:.16em}
.gallery-hint span{margin-left:10px}
.exteriors{background:#4d583b;color:#f4f1e9}
.exteriors-heading{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:end;margin-bottom:42px}
.exteriors-heading h2{font:400 clamp(40px,5vw,66px)/1.05 var(--serif);margin:16px 0 0}
.exteriors-heading h2 em{color:#c8cbb8}
.exteriors-heading>p{font:15px/1.85 var(--serif);color:#e0e1d7;max-width:480px}
.exteriors-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:230px 230px;gap:16px}
.exteriors-gallery figure{margin:0;min-width:0}
.exteriors-gallery img{width:100%;height:100%;object-fit:cover}
.exteriors-gallery .exterior-main{grid-row:1/3;height:476px}
.exteriors-gallery figcaption{font-size:8px;letter-spacing:.15em;color:#d0d2c2;padding-top:10px}
.exterior-features{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;border-top:1px solid rgba(244,241,233,.28);margin-top:35px;padding-top:18px;color:#e0e1d7;font-size:8px;letter-spacing:.15em}
@media(max-width:820px){
 .gallery-heading{padding-left:7vw;padding-right:7vw}
 .photo-gallery{padding-left:7vw;padding-right:7vw}
 .gallery-hint{padding-left:7vw;padding-right:7vw}
 .exteriors-heading{grid-template-columns:1fr;gap:18px}
 .exteriors-gallery{grid-template-rows:200px 200px}
 .exteriors-gallery .exterior-main{height:416px}
}
@media(max-width:520px){
 .photo-gallery figure{flex-basis:78vw;height:230px}
 .exteriors-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 150px;gap:10px}
 .exteriors-gallery .exterior-main{grid-column:1/-1;grid-row:auto;height:220px}
 .exteriors-gallery figure:not(.exterior-main){height:150px}
 .exterior-features{justify-content:flex-start;line-height:1.7}
}

/* Sections distinctes : extérieurs et piscine */
.pool-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;background:#eeece3;color:#414a32;padding-top:110px;padding-bottom:110px}
.pool-copy h2{font:400 clamp(40px,5vw,66px)/1.05 var(--serif);margin:16px 0 24px}
.pool-copy h2 em{color:#899078}
.pool-copy>p:not(.kicker){max-width:440px;font:15px/1.85 var(--serif);color:#626858}
.pool-copy .pool-lead{font-size:18px!important;color:#414a32!important}
.pool-image{height:490px;margin:0;overflow:hidden}
.pool-image img{width:100%;height:100%;object-fit:cover}
.pool-facts{display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid #c9c9bb;margin-top:32px;padding-top:18px;color:#687056;font-size:8px;letter-spacing:.15em}
@media(max-width:820px){.pool-section{grid-template-columns:1fr;gap:30px;padding-top:75px;padding-bottom:75px}.pool-image{height:380px}}
@media(max-width:520px){.pool-image{height:270px}.pool-facts{line-height:1.7}}

/* V8 — alternance éditoriale des fonds et bandeau de navigation beige */
:root{
  --sand:#d9d1c0;
  --sand-deep:#cec4b0;
  --ink:#343b2b;
  --ink-soft:#505644;
  --line-dark:rgba(52,59,43,.22);
}
.site-header{
  background:rgba(217,209,192,.97);
  color:var(--ink);
  border-bottom:1px solid rgba(52,59,43,.18);
  box-shadow:0 2px 14px rgba(34,38,27,.06);
}
.brand-tree,.brand-name small{color:var(--olive)}
.main-nav a:hover{border-color:var(--olive)}
.header-book{background:var(--olive);color:var(--cream)}
.menu-toggle span{background:var(--olive)}

/* Alternance des grandes sections : beige / vert / beige / vert... */
.intro.section-wrap,
.love-section.section-wrap,
.room-details,
.pool-section.section-wrap,
.access.section-wrap{
  background:var(--sand);
  color:var(--ink);
}
.photo-gallery-section,
.rooms-intro.section-wrap,
.exteriors.section-wrap,
.activities.section-wrap{
  background:var(--olive);
  color:var(--cream);
}
.room-details{background:var(--sand)}

/* Typographie et séparateurs adaptés aux pages beige */
.intro .kicker,.love-section .kicker,.room-details .kicker,
.pool-section .kicker,.access .kicker{color:var(--ink-soft)}
.intro h2,.love-section h2,.room-details h3,.pool-section h2,
.access h2,.access-grid h3{color:var(--ink)}
.intro p:not(.kicker),.love-section p,.room-details p,
.pool-section p:not(.kicker),.access p{color:var(--ink-soft)}
.love-list>div,.room-list>div,.access-item{border-color:var(--line-dark)}
.love-list span,.room-details .room-row span,.pool-facts span{color:var(--ink-soft)}
.love-list b,.room-details b{color:var(--ink)}
.pool-copy h2 em{color:#747b60}
.pool-facts{border-color:var(--line-dark)}
.access-grid>div{border-color:var(--line-dark)}
.access .text-cta{color:var(--ink);border-color:var(--ink)}

/* Les zones vertes conservent une typographie ivoire */
.rooms-intro,.exteriors,.activities{color:var(--cream)}
.rooms-intro h2,.exteriors h2,.activities h2,.activities h3{color:var(--cream)}
.rooms-intro p,.exteriors p,.activities p,.activities li span{color:#e0e1d7}
.exterior-features span,.amenity-grid span{border-color:rgba(244,241,233,.25)}

@media(max-width:900px){
  .main-nav{background:var(--sand);color:var(--ink)}
  .main-nav a:hover{border-color:var(--ink)}
}

/* V9 — trois grands visuels par espace et typographie sombre sur les fonds beiges */
.intro.section-wrap{display:block}
.intro-copy{max-width:900px;margin:0 auto 48px}
.intro-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.intro-photo-grid figure{height:clamp(260px,31vw,430px);margin:0;overflow:hidden}
.intro-photo-grid img{width:100%;height:100%;object-fit:cover}
.intro h2 em{color:var(--ink)}
.room-details .room-row{color:var(--ink)}
.room-details .room-row h3{color:var(--ink)}
.room-details .room-row p:not(.kicker){color:var(--ink-soft)}
.room-details .room-row .kicker{color:var(--ink-soft)}
.room-details .room-row span{color:var(--ink-soft)}
.pool-copy h2 em{color:var(--ink-soft)}
.exteriors-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:16px;margin-top:38px}
.exteriors-gallery figure,.exteriors-gallery .exterior-main{height:clamp(260px,30vw,410px);grid-row:auto;min-width:0}
.exteriors-gallery figcaption{color:#e0e1d7}
.exterior-gallery-more{margin:55px -8vw 0;padding:38px 0 24px;background:rgba(0,0,0,.08)}
.exterior-gallery-more .gallery-heading{padding-inline:8vw}
.exterior-photo-gallery{padding-bottom:12px}
.exterior-gallery-more .gallery-hint{padding-inline:8vw}
@media(max-width:900px){
 .intro-photo-grid{grid-template-columns:1fr 1fr}
 .intro-photo-grid figure{height:280px}
 .intro-photo-grid figure:first-child{grid-column:1/-1;height:350px}
 .exteriors-gallery{grid-template-columns:1fr 1fr}
 .exteriors-gallery figure:last-child{grid-column:1/-1;height:300px}
 .exterior-gallery-more{margin-left:-7vw;margin-right:-7vw}
}
@media(max-width:520px){
 .intro-photo-grid{grid-template-columns:1fr;gap:10px}
 .intro-photo-grid figure,.intro-photo-grid figure:first-child{grid-column:auto;height:240px}
 .exteriors-gallery{grid-template-columns:1fr;gap:18px}
 .exteriors-gallery figure,.exteriors-gallery figure:last-child{grid-column:auto;height:250px}
 .exterior-gallery-more{margin-left:-6vw;margin-right:-6vw}
}


/* Outil de modification directe des textes */
.edit-toggle{border:1px solid rgba(52,68,47,.38);background:transparent;color:var(--olive,#35452f);padding:10px 13px;font:500 10px/1.2 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.edit-toggle:hover{background:rgba(52,68,47,.08)}
.editing-texts .text-editable{outline:1px dashed rgba(125,105,65,.75);outline-offset:4px;cursor:text;min-width:12px}
.editing-texts .text-editable:focus{outline:2px solid #a8874d;background:rgba(255,255,255,.22)}
.edit-notice{position:fixed;z-index:1001;left:50%;bottom:18px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 18px;background:#35452f;color:#f5f0e5;font:12px/1.5 'DM Sans',sans-serif;box-shadow:0 5px 24px rgba(0,0,0,.18);text-align:center}
@media(max-width:900px){.edit-toggle{font-size:9px;padding:9px 10px}.site-header{gap:10px}}
@media(max-width:600px){.edit-toggle{position:absolute;right:64px;top:19px;padding:8px 9px;font-size:8px}}

/* V11 — export des textes modifiés */
.edit-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.export-texts{border:1px solid rgba(52,68,47,.38);background:var(--olive);color:var(--cream);padding:10px 13px;font:500 10px/1.2 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.export-texts:hover{background:var(--olive2)}
@media(max-width:900px){.edit-tools{gap:5px}.export-texts{font-size:9px;padding:9px 8px}}
@media(max-width:600px){.edit-tools{position:absolute;right:64px;top:19px}.edit-toggle,.export-texts{position:static;padding:8px 7px;font-size:7px}.header-book{display:none}}


/* V14 — harmonisation des textes sur fonds beiges */
.intro.section-wrap, .love-section.section-wrap, .room-details,
.pool-section.section-wrap, .access.section-wrap, .living-spaces.section-wrap {
  color: var(--ink);
}
.intro h2, .intro h3, .intro p, .intro .kicker,
.love-section h2, .love-section h3, .love-section p, .love-section .kicker,
.room-details h2, .room-details h3, .room-details p, .room-details span, .room-details .kicker,
.pool-section h2, .pool-section h3, .pool-section p, .pool-section span, .pool-section .kicker,
.access h2, .access h3, .access p, .access span, .access a, .access .kicker,
.living-spaces h2, .living-spaces h3, .living-spaces p, .living-spaces span, .living-spaces .kicker {
  color: var(--ink);
}
.intro .lead, .intro-copy .lead, .pool-section .pool-lead { color: var(--ink) !important; }
.room-details .room-row p:not(.kicker), .access-item p, .access-grid>div>p:not(.kicker) { color: var(--ink-soft); }

/* V14 — présentation détaillée des pièces à vivre */
.living-spaces { background: var(--sand); color: var(--ink); }
.living-heading { max-width: 850px; margin: 0 auto 52px; }
.living-heading h2 { font: 400 clamp(38px,4.6vw,62px)/1.08 var(--serif); margin: 14px 0 18px; }
.living-heading>p:last-child { max-width: 560px; font: 16px/1.8 var(--serif); color: var(--ink-soft); }
.living-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 54px 28px; align-items: start; }
.living-card { min-width: 0; }
.living-card-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(25px,5vw,72px); align-items: center; }
.living-card-reverse { grid-template-columns: .85fr 1.15fr; }
.living-card-reverse figure { order: 2; }
.living-card figure { margin: 0; height: clamp(250px,34vw,440px); overflow: hidden; }
.living-card-wide figure { height: clamp(300px,38vw,490px); }
.living-card img { width: 100%; height: 100%; object-fit: cover; }
.living-card>div { padding: 8px 4px; }
.living-card>div>span { font-size: 9px; letter-spacing: .18em; color: var(--ink-soft); }
.living-card h3 { font: 400 clamp(29px,3vw,40px)/1.15 var(--serif); margin: 13px 0 12px; }
.living-card p { max-width: 460px; font: 15px/1.85 var(--serif); color: var(--ink-soft); margin: 0; }
@media(max-width:760px) {
 .living-grid { grid-template-columns: 1fr; gap: 38px; }
 .living-card-wide, .living-card-reverse { grid-column: auto; grid-template-columns: 1fr; gap: 18px; }
 .living-card-reverse figure { order: 0; }
 .living-card figure, .living-card-wide figure { height: 280px; }
 .living-heading { margin-bottom: 35px; }
}


/* V15 — galerie intérieure après les espaces de vie et présentations en quinconce */
.living-grid { grid-template-columns: 1fr; gap: 58px; }
.living-card, .living-card-wide, .living-card-reverse {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: center;
}
.living-card:nth-child(even) { grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr); }
.living-card:nth-child(even) figure { order: 2; }
.living-card:nth-child(even)>div { order: 1; }
.living-card figure, .living-card-wide figure { height: clamp(280px, 36vw, 450px); }
.room-details { padding-top: 12px; }
.room-row, .room-row.reverse {
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  gap: clamp(28px, 6vw, 90px);
  padding: 48px 0;
  border-top: 1px solid var(--line-dark);
}
.room-row:nth-child(even) { grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr); }
.room-row:nth-child(even) img { order: 2; }
.room-row:nth-child(even)>div { order: 1; }
.room-row img { height: clamp(280px, 34vw, 420px); }
.photo-gallery-section { padding-top: 38px; }
.gallery-heading { color: var(--cream); }
@media(max-width:760px) {
  .living-card, .living-card-wide, .living-card-reverse,
  .living-card:nth-child(even), .room-row, .room-row.reverse,
  .room-row:nth-child(even) { grid-template-columns: 1fr; gap: 18px; }
  .living-card:nth-child(even) figure, .living-card:nth-child(even)>div,
  .room-row:nth-child(even) img, .room-row:nth-child(even)>div { order: initial; }
  .living-card figure, .living-card-wide figure { height: 280px; }
  .room-row img { height: 260px; }
  .room-details { padding-inline: 7vw; }
}


/* V17 — photos sélectionnées par espace, chambres, extérieurs et piscine ; architecture V16 conservée */
.living-card-media, .room-media { min-width: 0; }
.living-card-media > figure, .room-media > figure { margin: 0; height: auto; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sand); }
.living-card-media > figure img, .room-media > figure img { width: 100%; height: 100%; display: block; object-fit: cover; }
.living-card-thumbs, .room-thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.living-card-thumbs:empty, .room-thumbs:empty { display: none; }
.living-card-thumbs figure, .room-thumbs figure { margin: 0; height: clamp(115px, 13vw, 175px); overflow: hidden; background: var(--sand); }
.living-card-thumbs figure img, .room-thumbs figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.room-media .room-thumbs figure:only-child { grid-column: 1 / -1; }
.pool-gallery-more { background: #eeece3; color: var(--ink); padding: 38px 0 56px; }
.pool-gallery-more .gallery-heading { color: var(--ink); padding-inline: 8vw; }
.pool-gallery-more .gallery-controls button { color: var(--ink); border-color: var(--line-dark); }
.pool-gallery-more .photo-gallery { padding-bottom: 12px; }
.pool-gallery-more .gallery-hint { padding-inline: 8vw; color: var(--ink-soft); }
@media(max-width:760px) {
  .living-card-media > figure, .room-media > figure { aspect-ratio: 4 / 5; }
  .living-card-thumbs figure, .room-thumbs figure { height: 145px; }
  .pool-gallery-more .gallery-heading, .pool-gallery-more .gallery-hint { padding-inline: 7vw; }
}
@media(max-width:520px) {
  .living-card-thumbs figure, .room-thumbs figure { height: 118px; }
}

/* V17 — ensure the stagger alternates complete photo/text columns */
.living-card > .living-card-media { padding: 0; }
.living-card:nth-child(even) > .living-card-media { order: 2; }
.living-card:nth-child(even) > div:not(.living-card-media) { order: 1; }
.room-row > .room-media { max-width: none; }
.room-row:nth-child(even) > .room-media { order: 2; }
.room-row:nth-child(even) > div:not(.room-media) { order: 1; }
@media(max-width:760px) {
  .living-card:nth-child(even) > .living-card-media,
  .living-card:nth-child(even) > div:not(.living-card-media),
  .room-row:nth-child(even) > .room-media,
  .room-row:nth-child(even) > div:not(.room-media) { order: initial; }
}


/* V18 — carrousels individuels pour les espaces de vie et les chambres */
.mini-carousel{width:69%;margin-inline:auto;min-width:0;position:relative;}
.mini-carousel-controls{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;pointer-events:none;}
.mini-carousel-controls button{appearance:none;box-sizing:border-box;width:32px;height:32px;flex:0 0 32px;padding:0;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid rgba(65,74,50,.18);border-radius:50%;background:rgba(244,241,233,.96);backdrop-filter:blur(8px);color:var(--olive);font-size:0;line-height:1;cursor:pointer;pointer-events:auto;transition:background .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease;box-shadow:0 4px 14px rgba(24,29,19,.16),inset 0 1px 0 rgba(255,255,255,.85);}
.mini-carousel-controls button::before{content:"";position:absolute;left:50%;top:50%;display:block;width:6px;height:6px;margin:0;border-top:1.2px solid currentColor;border-right:1.2px solid currentColor;transform-origin:center;}
.mini-carousel-controls .mini-prev::before{transform:translate(-35%,-50%) rotate(-135deg);}
.mini-carousel-controls .mini-next::before{transform:translate(-65%,-50%) rotate(45deg);}
.mini-carousel-controls button:hover{background:#fff;border-color:rgba(65,74,50,.36);transform:scale(1.05);box-shadow:0 7px 18px rgba(24,29,19,.2);}
.mini-carousel-controls button:focus-visible{outline:2px solid var(--sage);outline-offset:3px;}
@media(hover:none){.mini-carousel-controls{padding-inline:12px}.mini-carousel-controls button{background:rgba(244,241,233,.88);}}
.mini-carousel-track{display:flex;gap:0;overflow-x:hidden;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0;}
.mini-carousel-track::-webkit-scrollbar{display:none;}
.mini-carousel-track figure{flex:0 0 100%;width:100%;aspect-ratio:4/5;height:auto!important;margin:0;overflow:hidden;scroll-snap-align:start;background:var(--sand);}
.mini-carousel-track img{display:block;width:100%;height:100%;object-fit:cover;}
.room-carousel .mini-carousel-track figure{aspect-ratio:4/5;}
.living-carousel .mini-carousel-track figure{aspect-ratio:4/5;}
.pool-carousel{height:368px;}
.pool-carousel .mini-carousel-track,.pool-carousel .mini-carousel-track figure{height:100%;}
.pool-carousel .mini-carousel-track figure{aspect-ratio:auto;}
.pool-carousel .mini-carousel-track img{object-fit:cover;}
@media(max-width:820px){.pool-carousel{height:285px;}}
@media(max-width:760px){.mini-carousel{width:72%}.mini-carousel-controls{padding:0 10px}.mini-carousel-controls button{width:28px;height:28px;flex-basis:28px}.mini-carousel-track figure{aspect-ratio:4/5;}}
@media(max-width:520px){.pool-carousel{height:203px;}}

/* Calendrier de disponibilités RentalBeam */
.availability-calendar{max-width:980px;margin:42px auto 34px;padding:30px;background:var(--cream);color:var(--olive);text-align:left;border:1px solid rgba(65,74,50,.18)}
.availability-calendar h3{font:400 clamp(25px,3vw,34px)/1.15 var(--serif);margin:0 0 10px;text-align:center}
.availability-help{font:13px/1.7 var(--sans)!important;color:#626a55!important;text-align:center;margin:0 auto 24px!important;max-width:650px}
.availability-calendar .rentalbeam-calendar-frame{display:block;width:100%;height:1700px;border:0;background:var(--cream)}
@media(max-width:600px){.availability-calendar{padding:18px 12px;margin:30px -3vw 26px}.availability-calendar .rentalbeam-calendar-frame{height:1700px}}
