:root{--ink:#1d302b;--muted:#6d7972;--forest:#203b32;--forest-deep:#182d27;--sage:#dce5dc;--cream:#f6f4ed;--paper:#fbfaf6;--sand:#d9c9a7;--line:#e2e4dc;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 56px));margin-inline:auto}.section-pad{padding:110px 0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;background:#fff;padding:12px;z-index:9999}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,250,246,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(29,48,43,.08)}.header-inner{width:min(1320px,calc(100% - 56px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border:1px solid #b6c3b7;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:15px;letter-spacing:-1px;color:var(--forest)}.brand-name{font-family:var(--serif);font-size:19px;line-height:1.05;letter-spacing:-.4px}.brand-name span{font-style:italic}.brand-name small{display:block;font-family:var(--sans);font-size:9px;text-transform:uppercase;letter-spacing:2.4px;color:var(--muted);margin-top:6px}.primary-navigation{display:flex;align-items:center;gap:34px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.primary-navigation>a:not(.nav-cta){color:#53625a;transition:color .2s}.primary-navigation>a:hover{color:#9c8153}.nav-cta{background:var(--forest);color:#fff;padding:14px 20px;transition:background .2s}.nav-cta:hover,.button-dark:hover{background:#34584b;color:#fff}.nav-toggle{display:none;background:none;border:0;padding:8px}
.hero{min-height:min(730px,calc(100vh - 82px));position:relative;display:flex;align-items:center;color:#fff;background:#334d42;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center 54%;z-index:-2;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,29,25,.76) 0%,rgba(13,29,25,.49) 45%,rgba(13,29,25,.10) 100%),linear-gradient(0deg,rgba(13,29,25,.28),transparent 42%);z-index:-1}.hero-content{padding-top:85px;padding-bottom:110px}.eyebrow{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:#8a7653;margin:0 0 22px;display:flex;align-items:center;gap:10px}.eyebrow span{display:inline-block;width:26px;height:1px;background:currentColor}.eyebrow-light{color:#e1d2af}.hero h1,.inner-hero h1{font-family:var(--serif);font-size:clamp(52px,7.3vw,92px);font-weight:400;letter-spacing:-.045em;line-height:.99;margin:0;max-width:850px}.hero h1 em,.intro-grid h2 em,.section-heading h2 em,.whole-villa-content h2 em,.gallery-copy h2 em,.booking-intro h2 em{font-weight:400;color:#d8c49d}.hero-lead{font-size:17px;line-height:1.7;color:rgba(255,255,255,.88);max-width:500px;margin:28px 0 32px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:16px 21px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;border:1px solid transparent;transition:all .2s;cursor:pointer}.button span{font-size:17px;line-height:1}.button-light{background:var(--paper);color:var(--forest)}.button-light:hover{background:#e6dbc4}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.text-link-light{color:#fff}.hero-caption{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:min(var(--wrap),calc(100% - 56px));display:flex;justify-content:space-between;color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.intro-section{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 2.2fr .7fr;gap:35px;align-items:start}.intro-grid>.eyebrow{padding-top:16px}.intro-grid h2,.section-heading h2,.gallery-copy h2,.booking-intro h2{font-family:var(--serif);font-size:clamp(40px,5.2vw,62px);font-weight:400;letter-spacing:-.045em;line-height:1.04;margin:0 0 28px}.intro-grid h2 em,.section-heading h2 em,.gallery-copy h2 em{color:#9b8054}.intro-copy{max-width:650px;font-size:17px;color:#5f6b64;line-height:1.85;margin:0}.intro-note{align-self:center;display:flex;align-items:center;gap:14px;color:#69776e;font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:.08em;border-left:1px solid #c9d1c7;padding-left:24px}.note-number{font-family:var(--serif);font-size:52px;color:var(--forest);line-height:1}
.apartments-section{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.section-heading h2{margin:0}.section-heading>p{max-width:340px;color:var(--muted);font-size:14px;margin:0 0 7px}.apartment-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.apartment-card{position:relative;min-height:375px;padding:32px 34px 34px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.apartment-card:first-child{border-left:1px solid var(--line)}.apartment-card-featured{background:var(--cream)}.apartment-index{font-size:10px;letter-spacing:.14em;color:#8d7958;text-transform:uppercase}.apartment-index span{padding:0 5px;color:#c2b28e}.apartment-icon{width:42px;height:42px;border-radius:50%;border:1px solid #d8ddcf;display:grid;place-items:center;font-family:var(--serif);color:#829184;font-size:13px;margin:30px 0 21px}.apartment-card h3{font-family:var(--serif);font-size:31px;line-height:1.08;font-weight:400;letter-spacing:-.03em;margin:0 0 15px}.capacity{margin:0;color:#67756d;font-size:13px}.capacity strong{color:var(--forest);font-size:15px}.card-description{font-size:13px;color:#7a847d;max-width:250px;margin:17px 0 25px}.card-link{margin-top:auto;padding-top:15px;border-top:1px solid #dfe3da;width:100%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--forest)}.card-link span{font-size:16px}.small-note{font-size:11px;color:#8a928b;margin:17px 0 0}
.whole-villa-section{display:grid;grid-template-columns:1.05fr .95fr;background:var(--forest);color:#fff;min-height:510px}.whole-villa-image{min-height:510px;overflow:hidden}.whole-villa-image img{width:100%;height:100%;object-fit:cover;object-position:center}.whole-villa-content{padding:85px clamp(40px,7vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.whole-villa-content h2{font-family:var(--serif);font-size:clamp(42px,5vw,65px);line-height:1.02;letter-spacing:-.04em;font-weight:400;margin:0 0 25px}.whole-villa-content h2 em{color:#d8c49d}.whole-villa-content>p:not(.eyebrow){color:rgba(255,255,255,.76);max-width:420px;font-size:14px;line-height:1.85;margin:0 0 32px}.button-outline-light{border-color:rgba(255,255,255,.54);color:#fff}.button-outline-light:hover{background:#fff;color:var(--forest)}
.gallery-teaser{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:center}.gallery-copy h2{margin-bottom:23px}.gallery-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:360px;margin:0 0 30px}.button-dark{background:var(--forest);color:#fff}.gallery-photo{position:relative;display:block;min-height:440px;overflow:hidden;background:#d9dfd6}.gallery-photo img{width:100%;height:440px;object-fit:cover;transition:transform .6s}.gallery-photo:hover img{transform:scale(1.035)}.photo-label{position:absolute;left:22px;bottom:22px;background:var(--paper);color:var(--forest);padding:13px 17px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.photo-label b{margin-left:25px;font-size:15px}
.booking-section{background:var(--forest-deep);color:#fff}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px;align-items:start}.booking-intro h2{font-size:clamp(43px,5.5vw,66px);margin-bottom:25px}.booking-intro h2 em{color:#d8c49d}.booking-intro>p:not(.eyebrow){max-width:400px;color:rgba(255,255,255,.7);font-size:14px;line-height:1.9}.booking-contact{margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:4px}.booking-contact span{font-size:10px;color:#c9cdbf;text-transform:uppercase;letter-spacing:.15em}.booking-contact a{font-family:var(--serif);font-size:21px;color:#e6d7b7}.booking-form{background:var(--paper);color:var(--ink);padding:38px 42px}.form-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}.form-heading span{font-family:var(--serif);font-size:25px}.form-heading small{font-size:9px;color:#929a92}.booking-form label{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#59675e;margin:17px 0 7px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;background:#fff;border:1px solid #dfe3db;border-radius:0;padding:12px 13px;font-size:13px;color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#829584;box-shadow:0 0 0 2px rgba(130,149,132,.15)}.booking-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-submit{margin-top:22px;width:100%;border:0}.form-privacy,.form-feedback{font-size:10px;line-height:1.5;color:#858e86;margin:12px 0 0}.form-feedback{color:#34584b;font-weight:700}
.site-footer{background:#142720;color:#fff;padding:58px 0 0}.footer-main{width:min(var(--wrap),calc(100% - 56px));margin:auto;display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:50px;padding-bottom:48px}.footer-brand{font-family:var(--serif);font-size:27px}.footer-main p{color:rgba(255,255,255,.55);font-size:12px;max-width:290px;margin:10px 0}.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:12px;color:rgba(255,255,255,.67)}.footer-links strong,.footer-contact strong{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#d9c8a3;margin-bottom:6px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);width:min(var(--wrap),calc(100% - 56px));margin:auto;padding:19px 0;display:flex;justify-content:space-between;color:rgba(255,255,255,.48);font-size:10px;letter-spacing:.06em}
.inner-hero{background:var(--cream);padding:90px 0 78px}.inner-hero h1{font-size:clamp(48px,6vw,76px);color:var(--forest)}.inner-hero-lead{font-size:15px;color:var(--muted);max-width:550px;margin:19px 0 0}.page-content{background:var(--paper)}.content-wrap{max-width:1050px}.wordpress-content{color:#59675e}.wordpress-content h2,.wordpress-content h3{font-family:var(--serif);font-weight:400;color:var(--forest);line-height:1.15}.wordpress-content h2{font-size:clamp(30px,4vw,46px);margin:42px 0 22px}.wordpress-content h3{font-size:30px;margin:35px 0 15px}.wordpress-content p{max-width:800px}.wordpress-content img{height:auto;max-width:100%;border-radius:2px}.wordpress-content figure{margin:28px 0}.wordpress-content iframe,.wordpress-content video,.wordpress-content embed{max-width:100%}.wordpress-content iframe{width:100%;aspect-ratio:16/9;height:auto}.wordpress-content .wp-block-embed,.wordpress-content .wp-block-video{max-width:900px;margin:28px 0}.wordpress-content .wp-block-gallery{gap:18px}.wordpress-content .wp-block-image img{width:auto}.wordpress-content .wp-block-columns{gap:28px}.gallery-page-cta{margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}.gallery-page .wordpress-content{max-width:100%}.gallery-page .wordpress-content>*{max-width:100%}
@media(max-width:900px){.primary-navigation{gap:18px;font-size:10px}.intro-grid{grid-template-columns:.7fr 2fr}.intro-note{grid-column:2;margin-top:5px}.gallery-grid,.booking-grid{gap:45px}.whole-villa-content{padding:65px 45px}.apartment-card{padding:28px 24px}.booking-form{padding:30px}}
@media(max-width:700px){.wrap,.header-inner,.footer-main,.footer-bottom,.hero-caption{width:calc(100% - 36px)}.header-inner{height:72px}.brand-name{font-size:17px}.brand-mark{width:38px;height:38px}.nav-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer}.nav-toggle>span:not(.screen-reader-text){height:1px;width:24px;background:var(--forest);display:block}.primary-navigation{position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:0 22px;display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;transition:max-height .28s,padding .28s;border-bottom:0}.primary-navigation.is-open{max-height:340px;padding:13px 22px 22px;border-bottom:1px solid var(--line)}.primary-navigation>a:not(.nav-cta){padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.nav-cta{margin-top:16px;text-align:center}.hero{min-height:690px;min-height:calc(100svh - 72px);background-position:center}.hero:before{background-position:55% center}.hero-shade{background:linear-gradient(90deg,rgba(13,29,25,.72),rgba(13,29,25,.27)),linear-gradient(0deg,rgba(13,29,25,.35),transparent 60%)}.hero-content{padding-top:70px;padding-bottom:90px}.hero h1{font-size:clamp(49px,13vw,70px)}.hero-lead{font-size:15px;max-width:390px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-caption{bottom:20px}.section-pad{padding:75px 0}.intro-grid{display:block}.intro-grid>.eyebrow{margin-bottom:18px}.intro-grid h2,.section-heading h2,.gallery-copy h2{font-size:45px}.intro-copy{font-size:15px}.intro-note{margin-top:30px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:18px}.apartment-grid{grid-template-columns:1fr}.apartment-card,.apartment-card:first-child{border:0;border-bottom:1px solid var(--line);min-height:0;padding:27px 24px}.apartment-card:first-child{border-top:1px solid var(--line)}.apartment-icon{margin:21px 0 15px}.apartment-card h3{font-size:30px}.card-description{margin-bottom:22px}.whole-villa-section{grid-template-columns:1fr}.whole-villa-image{min-height:300px;height:300px}.whole-villa-content{padding:55px 25px 65px}.whole-villa-content h2{font-size:51px}.gallery-grid{grid-template-columns:1fr;gap:32px}.gallery-photo,.gallery-photo img{min-height:300px;height:300px}.booking-grid{grid-template-columns:1fr;gap:40px}.booking-intro h2{font-size:50px}.booking-contact{margin-top:30px}.booking-form{padding:25px 20px}.form-heading{display:block}.form-heading small{display:block;margin-top:5px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{font-size:9px}.inner-hero{padding:68px 0 55px}.inner-hero h1{font-size:49px}.page-content{padding:55px 0}.wordpress-content h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Version 3 — galerie de l'annonce et détails confirmés */
.hero-airbnb{min-height:min(760px,calc(100vh - 82px));background:#344b43}
.fact-strip{background:var(--forest);color:#fff;border-top:1px solid rgba(255,255,255,.13)}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0}
.fact-grid>div{display:flex;align-items:center;gap:15px;padding:2px 25px;border-right:1px solid rgba(255,255,255,.2)}
.fact-grid>div:first-child{padding-left:0}.fact-grid>div:last-child{border-right:0}
.fact-grid strong{font-family:var(--serif);font-weight:400;font-size:34px;color:#e5d5b4;line-height:1}
.fact-grid span{font-size:10px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.airbnb-gallery-section{background:var(--paper)}
.airbnb-photo-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:220px 220px;gap:12px}
.airbnb-photo{display:block;overflow:hidden;background:#e6e7e0;min-width:0;min-height:0}
.airbnb-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.airbnb-photo:hover img{transform:scale(1.035)}
.airbnb-photo-1{grid-row:1 / span 2}
.airbnb-photo-2{grid-column:2;grid-row:1}
.airbnb-photo-3{grid-column:3;grid-row:1}
.airbnb-photo-4{grid-column:2;grid-row:2}
.airbnb-photo-5{grid-column:3;grid-row:2}
.photo-source-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:18px;font-size:11px;color:var(--muted)}
.photo-source-row a{color:var(--forest);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.amenities-section{background:var(--cream)}
.amenities-heading{margin-bottom:38px}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce1d8;border-left:1px solid #dce1d8}
.amenity-item{display:flex;gap:18px;align-items:flex-start;padding:27px 25px;min-height:130px;border-right:1px solid #dce1d8;border-bottom:1px solid #dce1d8}
.amenity-item>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #c9d2c8;border-radius:50%;font-family:var(--serif);font-size:21px;color:#8a7653}
.amenity-item strong{display:block;font-family:var(--serif);font-size:19px;font-weight:400;color:var(--forest);line-height:1.25}
.amenity-item p{font-size:12px;color:var(--muted);line-height:1.65;margin:7px 0 0}
.airbnb-contact-link{font-family:var(--sans)!important;font-size:10px!important;letter-spacing:.09em;text-transform:uppercase;margin-top:12px;color:#fff!important}
@media(max-width:900px){.fact-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}.fact-grid>div:nth-child(2){border-right:0}.fact-grid>div:nth-child(3){padding-left:0}.airbnb-photo-grid{grid-template-rows:190px 190px}.amenity-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.fact-grid{padding:20px 0}.fact-grid>div{padding:0 12px;gap:10px}.fact-grid>div:nth-child(odd){padding-left:0}.fact-grid strong{font-size:28px}.fact-grid span{font-size:8px}.airbnb-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 125px 125px;gap:8px}.airbnb-photo-1{grid-column:1 / span 2;grid-row:1}.airbnb-photo-2{grid-column:1;grid-row:2}.airbnb-photo-3{grid-column:2;grid-row:2}.airbnb-photo-4{grid-column:1;grid-row:3}.airbnb-photo-5{grid-column:2;grid-row:3}.photo-source-row{align-items:flex-start;flex-direction:column;gap:8px}.amenity-grid{grid-template-columns:1fr}.amenity-item{min-height:unset;padding:20px}}
