.demo-media-label{position:absolute;z-index:4;right:18px;bottom:18px;padding:7px 10px;border-radius:999px;background:rgba(18,28,21,.7);color:#fff;font:600 .65rem/1.2 system-ui;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(8px)}.demo-media-label.small{font-size:.58rem;right:10px;bottom:10px}.stay-media,.stay-row-media,.editorial-hero,.accommodation-hero{position:relative}.visual-story-grid{display:grid;grid-template-columns:1fr 1fr;background:#17231c}.visual-story-grid article{min-height:620px;position:relative;overflow:hidden;color:#fff}.visual-story-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visual-story-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,24,17,.78),rgba(13,24,17,.05) 65%)}.visual-story-grid article>div{position:absolute;z-index:2;left:clamp(24px,5vw,70px);right:clamp(24px,5vw,70px);bottom:clamp(35px,6vw,75px);max-width:620px}.visual-story-grid h2{font-size:clamp(2.4rem,4vw,4.8rem);letter-spacing:-.04em}.visual-story-grid p:not(.eyebrow){max-width:560px;color:rgba(255,255,255,.8)}.accommodation-highlights{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.accommodation-highlights span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.76rem;letter-spacing:.04em}.accommodation-subsection{margin-top:85px}.amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.amenity-grid article{padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.45);display:flex;flex-direction:column;gap:6px}.amenity-grid strong{font-family:var(--serif);font-size:1.2rem;font-weight:500}.amenity-grid span,.amenity-grid small{color:var(--muted)}.bed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bed-grid article{padding:18px 20px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:18px}.source-caveat{margin-top:45px;padding:20px 24px;border-left:3px solid var(--sage);background:rgba(255,255,255,.45)}.source-caveat p{margin:7px 0 0;color:var(--muted)}@media(max-width:850px){.visual-story-grid{grid-template-columns:1fr}.visual-story-grid article{min-height:500px}.amenity-grid,.bed-grid{grid-template-columns:1fr}.demo-media-label{right:10px;bottom:10px}}
.editorial-quote{margin:0;padding:0;max-width:900px}.editorial-quote p{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,5rem);line-height:1.08;letter-spacing:-.035em}.editorial-quote cite{display:block;margin-top:24px;font:700 .75rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.15em;color:var(--sage)}.editorial-feature-list{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}.editorial-feature-list li{padding:18px 0;border-bottom:1px solid var(--line);font-size:1.05rem}.editorial-faq{margin-top:32px;border-top:1px solid var(--line)}.editorial-faq details{border-bottom:1px solid var(--line);padding:20px 0}.editorial-faq summary{cursor:pointer;font-family:var(--serif);font-size:1.35rem;list-style:none}.editorial-faq summary::-webkit-details-marker{display:none}.editorial-faq summary:after{content:"+";float:right;font-family:var(--sans)}.editorial-faq details[open] summary:after{content:"−"}.editorial-faq details p{max-width:760px;color:var(--muted);margin:16px 0 0}
.events-hero{min-height:min(820px,92vh);position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end}.events-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.events-hero .hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,22,16,.86),rgba(12,22,16,.08) 72%)}.events-hero-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:190px 0 80px}.events-hero-copy h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.92;letter-spacing:-.055em;max-width:1000px}.events-hero-copy>p:not(.eyebrow){font-size:clamp(1.05rem,1.8vw,1.35rem);max-width:720px;color:rgba(255,255,255,.82);margin:24px 0 32px}.event-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-card{position:relative;min-height:520px;overflow:hidden;color:#fff;text-decoration:none}.event-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.event-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,22,16,.85),rgba(12,22,16,.04) 70%)}.event-card>div{position:absolute;z-index:2;left:32px;right:32px;bottom:30px}.event-card span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.event-card h3{font-size:clamp(2rem,3vw,3.4rem);margin:8px 0 10px;letter-spacing:-.04em}.event-card p{max-width:580px;color:rgba(255,255,255,.78)}.event-card b{position:absolute;right:0;bottom:0;font-size:1.5rem}.event-card:hover>img{transform:scale(1.035)}.event-proof-band{background:#19251e;color:#fff;padding:clamp(70px,10vw,135px) clamp(24px,8vw,110px)}.event-proof-band>div{max-width:1160px}.event-proof-band h2{font-size:clamp(2.4rem,5.5vw,5.8rem);letter-spacing:-.05em;line-height:1.02}.event-proof-band p:not(.eyebrow){max-width:720px;color:rgba(255,255,255,.7);margin-top:24px}.footer-contact{display:flex;flex-direction:column;gap:7px;margin-top:22px;font-style:normal;font-size:.86rem;color:rgba(255,255,255,.7)}.footer-contact a{color:inherit}.footer-socials{display:flex;gap:14px;margin-top:16px}.footer-socials a{font-size:.82rem}.events-intro .section-intro{margin-bottom:48px}@media(max-width:850px){.events-hero-copy{width:min(100% - 32px,1180px);padding-bottom:55px}.event-card-grid{grid-template-columns:1fr}.event-card{min-height:440px}.event-card>div{left:22px;right:22px;bottom:22px}}

.home-proof-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f3ea}.home-proof-strip>div{padding:clamp(30px,5vw,62px) clamp(18px,4vw,48px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.home-proof-strip>div:last-child{border-right:0}.home-proof-strip strong{font-family:var(--serif);font-size:clamp(2rem,4vw,4.4rem);font-weight:500;line-height:1}.home-proof-strip span{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.home-service-contact{display:grid;grid-template-columns:1fr 1fr}.home-info-card{min-height:430px;padding:clamp(44px,7vw,90px);display:flex;flex-direction:column;justify-content:flex-end;background:#eee8dc;color:var(--ink);text-decoration:none}.home-info-card.is-dark{background:#1a261f;color:#fff}.home-info-card>span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:15px}.home-info-card h2{font-size:clamp(2.4rem,4.2vw,4.8rem);letter-spacing:-.045em;line-height:1}.home-info-card p{max-width:580px;margin:20px 0;color:inherit;opacity:.72}.home-info-card b{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-top:10px}@media(max-width:850px){.home-proof-strip{grid-template-columns:1fr 1fr}.home-proof-strip>div:nth-child(2){border-right:0}.home-proof-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.home-service-contact{grid-template-columns:1fr}.home-info-card{min-height:360px}}

/* Couche de refonte - SEO, médias et commandes */
.translation-state{display:inline-flex;align-items:center;padding:.28rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700}.translation-state.is-complete{background:#edf5ed;color:#31543a}.translation-state.is-missing{background:#fff1e9;color:#8a4b24}.seo-audit-table .admin-table-row>span:last-child{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.media-usage-list{display:grid;gap:.65rem;padding:0;list-style:none}.media-usage-list li{display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(30,40,32,.1)}.media-usage-list li span{color:var(--muted,#6e746e);text-align:right}.danger-zone{border-color:rgba(150,45,35,.22)}.admin-inline-edit{margin-top:1.2rem;border-top:1px solid rgba(30,40,32,.1);padding-top:1rem}.admin-inline-edit summary,.admin-cancel-box summary{cursor:pointer;font-weight:700}.admin-inline-edit form{margin-top:1rem}
@media(max-width:700px){.seo-audit-table .admin-table-row>span:last-child{justify-content:flex-start}.media-usage-list li{display:block}.media-usage-list li span{display:block;text-align:left;margin-top:.2rem}}

.portal-product-details{margin:1rem 0;border-top:1px solid rgba(35,45,38,.12);border-bottom:1px solid rgba(35,45,38,.12);padding:.7rem 0}.portal-product-details summary{cursor:pointer;font-weight:700}.portal-product-long-description{padding:.65rem 0 0}.portal-product-long-description p{margin:.35rem 0}.portal-allergen-note{margin:.7rem 0 0;padding:.75rem .9rem;background:rgba(122,93,53,.08);border-radius:10px}.portal-allergen-note strong{display:block;margin-bottom:.25rem}.portal-allergen-note p{margin:0}.product-translation-fieldset{padding:1.1rem;border:1px solid rgba(35,45,38,.14);border-radius:14px}


.cms-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:28px}.cms-gallery figure{grid-column:span 4;margin:0;position:relative;overflow:hidden;border-radius:18px;background:#eee9df}.cms-gallery figure:nth-child(5n+1){grid-column:span 8}.cms-gallery img{display:block;width:100%;height:320px;object-fit:cover}.cms-gallery figcaption{padding:10px 12px;font-size:.84rem;color:#5a5f57}.portal-order-contact{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:14px}@media(max-width:780px){.cms-gallery figure,.cms-gallery figure:nth-child(5n+1){grid-column:1/-1}.cms-gallery img{height:240px}.portal-order-contact{flex-direction:column;align-items:stretch}.portal-order-contact .button,.portal-order-contact .text-link{text-align:center}}


.translation-compare-list{display:grid;gap:10px}.translation-compare-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr) minmax(0,1.4fr) auto;gap:14px;align-items:stretch;padding:14px;border:1px solid rgba(35,45,38,.12);border-radius:14px;text-decoration:none;color:inherit}.translation-item-name,.translation-language{display:flex;flex-direction:column;gap:5px}.translation-item-name small,.translation-language p{margin:0;color:#6b716a;font-size:.84rem}.translation-language{padding:10px 12px;border-radius:10px;background:rgba(35,45,38,.035)}.translation-language.is-missing{background:#fff7e8}.translation-language b{font-size:.78rem;letter-spacing:.04em}.translation-open{align-self:center;white-space:nowrap}@media(max-width:900px){.translation-compare-row{grid-template-columns:1fr}.translation-open{justify-self:start}}

/* SEO control: simple SERP preview without duplicating the editors. */
.seo-audit-list{display:grid;gap:1rem}.seo-audit-card{border:1px solid rgba(31,45,36,.14);border-radius:16px;padding:1rem;background:#fff}.seo-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.seo-audit-head>a{display:grid;gap:.2rem;color:inherit;text-decoration:none}.seo-audit-head small{color:#6f766f}.seo-serp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.seo-serp-preview{min-width:0;padding:.85rem 1rem;border-radius:12px;background:#f7f5f0}.seo-serp-preview small{display:block;color:#5f6d62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seo-serp-preview b{display:block;margin:.25rem 0;color:#214b8f;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seo-serp-preview p{margin:0;color:#444;line-height:1.4;font-size:.9rem}@media(max-width:760px){.seo-audit-head{display:grid}.seo-serp-grid{grid-template-columns:1fr}}

/* Lot hébergements - composition éditoriale et photos réelles de référence */
.accommodation-overview-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#1b271f;color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.accommodation-overview-band>div{min-height:150px;padding:28px 34px;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:flex-end}
.accommodation-overview-band>div:last-child{border-right:0}.accommodation-overview-band strong{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,4.8rem);font-weight:500;line-height:.9}.accommodation-overview-band strong small{font-size:.42em}.accommodation-overview-band span{margin-top:9px;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.65)}
.accommodation-story{align-items:start}.stay-facts-editorial{position:sticky;top:110px}.stay-facts-editorial>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:0 0 24px}
.accommodation-photo-story{display:grid;grid-template-columns:1.5fr .75fr .75fr;grid-template-rows:320px 320px;gap:14px;margin:clamp(60px,8vw,110px) 0}.accommodation-photo-story figure{margin:0;overflow:hidden;min-height:0;background:#ebe6dc}.accommodation-photo-story figure.is-large{grid-row:1/3}.accommodation-photo-story img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.accommodation-photo-story figure:hover img{transform:scale(1.02)}
.accommodation-amenities-section{padding-top:clamp(60px,8vw,110px);border-top:1px solid var(--line)}.amenity-groups{display:grid;gap:44px}.amenity-group h3{font-family:var(--serif);font-size:clamp(1.7rem,2.7vw,2.8rem);font-weight:500;margin:0 0 18px}.amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.amenity-grid article{position:relative;min-height:112px}.amenity-badge{display:inline-flex!important;width:max-content;padding:3px 7px;border-radius:999px;background:#e7efe8;color:#31543a;font-size:.66rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.sleeping-section{padding-top:clamp(60px,8vw,110px)}.sleeping-section .bed-grid article{min-height:96px;align-items:center}.sleeping-section .bed-grid article>div{display:grid;gap:4px}.sleeping-section .bed-grid small{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.accommodation-good-to-know{margin-top:70px}
@media(max-width:900px){.accommodation-overview-band{grid-template-columns:1fr 1fr}.accommodation-overview-band>div:nth-child(2){border-right:0}.accommodation-overview-band>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.stay-facts-editorial{position:static}.accommodation-photo-story{grid-template-columns:1fr 1fr;grid-template-rows:380px 240px}.accommodation-photo-story figure.is-large{grid-column:1/-1;grid-row:auto}.amenity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.accommodation-overview-band>div{min-height:118px;padding:22px}.accommodation-photo-story{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-24px;margin-right:-24px;padding:0 24px}.accommodation-photo-story figure,.accommodation-photo-story figure.is-large{min-width:84vw;height:360px;scroll-snap-align:start}.amenity-grid{grid-template-columns:1fr}.amenity-group{padding-top:8px}.bed-grid{grid-template-columns:1fr}}

/* Pages éditoriales : photos réelles du Domaine en préproduction. */
.content-visual-ribbon{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:12px;padding:12px;background:#18231d}.content-visual-ribbon figure{margin:0;min-height:300px;overflow:hidden}.content-visual-ribbon figure.is-wide{min-height:420px}.content-visual-ribbon img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.content-visual-ribbon figure:hover img{transform:scale(1.015)}
@media(max-width:850px){.content-visual-ribbon{grid-template-columns:1fr 1fr}.content-visual-ribbon figure.is-wide{grid-column:1/-1}.content-visual-ribbon figure{min-height:260px}.content-visual-ribbon figure.is-wide{min-height:380px}}
@media(max-width:620px){.content-visual-ribbon{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 18px}.content-visual-ribbon figure,.content-visual-ribbon figure.is-wide{min-width:84vw;height:330px;min-height:330px;scroll-snap-align:start}}

/* Passe éditoriale 0.9 — rythme public, accueil et comparaison des maisons. */
.public-site{background:#f6f2e9;color:var(--ink)}
.public-site .section{padding-top:clamp(72px,9vw,132px);padding-bottom:clamp(72px,9vw,132px)}
.public-site .eyebrow{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.public-site .section-intro h2,.home-opening-statement h2,.accommodations-index-intro h2{font-family:var(--serif);font-weight:500;letter-spacing:-.048em;line-height:.98}
.home-opening-statement{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr);gap:clamp(40px,8vw,130px);align-items:end;padding:clamp(76px,9vw,140px) max(24px,calc((100vw - 1180px)/2));background:#f6f2e9;border-bottom:1px solid var(--line)}
.home-opening-statement h2{font-size:clamp(3rem,6.2vw,6.9rem);margin:.2em 0 0;max-width:900px}
.home-opening-statement>p{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.75;color:var(--muted);margin:0 0 .5rem}
.home-stay-facts{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:16px}.home-stay-facts span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.home-estate-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);min-height:760px;background:#17231c;color:#fff}.home-estate-story figure{margin:0;min-height:600px;overflow:hidden}.home-estate-story figure img{width:100%;height:100%;display:block;object-fit:cover}.home-estate-story>div{padding:clamp(56px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.home-estate-story h2{font-size:clamp(3rem,5.5vw,6.1rem);font-weight:500;line-height:.95;letter-spacing:-.05em;margin:.15em 0 .35em}.home-estate-story>div>p:not(.eyebrow){font-size:1.05rem;line-height:1.75;color:rgba(255,255,255,.72);max-width:600px}.home-estate-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:42px 0}.home-estate-details span{display:flex;flex-direction:column;gap:7px;padding-top:14px;border-top:1px solid rgba(255,255,255,.24);font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.62)}.home-estate-details b{font-family:var(--serif);font-weight:500;font-size:2rem;letter-spacing:-.035em;color:#fff;text-transform:none}
.home-experiences{background:#eee8dc}.home-experience-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.home-experience-card{position:relative;min-height:560px;overflow:hidden;color:#fff}.home-experience-card.is-large{min-height:700px}.home-experience-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.home-experience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,21,15,.82),rgba(11,21,15,.04) 68%)}.home-experience-card>div{position:absolute;z-index:2;left:clamp(26px,4vw,60px);right:clamp(26px,4vw,60px);bottom:clamp(30px,5vw,58px)}.home-experience-card span{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase}.home-experience-card h3{font-family:var(--serif);font-weight:500;font-size:clamp(2.25rem,4vw,4.8rem);line-height:.98;letter-spacing:-.045em;margin:.28em 0}.home-experience-card:hover>img{transform:scale(1.025)}
.accommodations-index-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.accommodations-index-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.accommodations-index-hero .hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,22,16,.82),rgba(12,22,16,.1) 72%)}.accommodations-index-hero .editorial-hero-inner{position:relative;z-index:2;padding-bottom:clamp(55px,8vw,95px)}
.accommodations-index-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr);gap:clamp(40px,8vw,120px);padding:clamp(72px,8vw,120px) max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line)}.accommodations-index-intro h2{font-size:clamp(2.8rem,5.2vw,5.8rem);margin:.2em 0 0}.accommodations-index-intro>p{align-self:end;font-size:1.05rem;line-height:1.75;color:var(--muted)}
.stay-listing-editorial{display:grid;gap:clamp(70px,9vw,125px)}.stay-listing-editorial .stay-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(40px,7vw,100px);align-items:center}.stay-listing-editorial .stay-row.is-reverse .stay-row-media{order:2}.stay-listing-editorial .stay-row-media{min-height:620px;position:relative;overflow:hidden}.stay-listing-editorial .stay-row-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s ease}.stay-listing-editorial .stay-row-media:hover img{transform:scale(1.02)}.stay-row-index{position:absolute;left:20px;top:18px;width:52px;height:52px;border-radius:50%;background:rgba(18,30,22,.78);color:#fff;display:grid;place-items:center;font-size:.72rem;letter-spacing:.12em;backdrop-filter:blur(8px)}.stay-listing-editorial .stay-row-copy h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.7rem);line-height:.94;font-weight:500;letter-spacing:-.052em;margin:.12em 0 .32em}.stay-row-lead{font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:560px}.stay-comparison-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:36px 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.stay-comparison-facts>div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.stay-comparison-facts strong{font-family:var(--serif);font-size:2.2rem;font-weight:500;line-height:1}.stay-comparison-facts strong small{font-size:.48em}.stay-comparison-facts span{font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:5px}.accommodations-choice-band{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;background:#17231c;color:#fff;padding:clamp(70px,9vw,125px) max(24px,calc((100vw - 1180px)/2))}.accommodations-choice-band>div:first-child{max-width:880px}.accommodations-choice-band h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,5vw,5.6rem);line-height:.98;letter-spacing:-.045em;margin:.2em 0}.accommodations-choice-band p:not(.eyebrow){max-width:690px;color:rgba(255,255,255,.7);line-height:1.7}.accommodations-choice-band .actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:180px}
.site-footer{margin-top:0}.footer-main{padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(55px,7vw,90px)}

/* Portail : plus proche d'un carnet de séjour que d'une boutique classique. */
.portal-section-v5{scroll-margin-top:24px}.portal-product-card{border-radius:2px!important;box-shadow:none!important;border-color:rgba(35,45,38,.14)!important}.portal-product-media{background:#e9e3d7!important}.portal-product-heading h3{font-family:Georgia,serif;font-weight:500;letter-spacing:-.02em}.portal-product-heading strong{font-weight:600}.portal-filters button{border-radius:999px}.portal-practical-group{padding-top:12px}.portal-info-grid article{border-radius:2px!important}.portal-cart-card{position:sticky;top:18px}

@media(max-width:960px){
.home-opening-statement,.accommodations-index-intro{grid-template-columns:1fr;gap:28px}.home-estate-story{grid-template-columns:1fr}.home-estate-story figure{min-height:520px}.home-experience-grid{grid-template-columns:1fr}.home-experience-card,.home-experience-card.is-large{min-height:540px}.stay-listing-editorial .stay-row{grid-template-columns:1fr}.stay-listing-editorial .stay-row.is-reverse .stay-row-media{order:0}.stay-listing-editorial .stay-row-media{min-height:520px}.accommodations-choice-band{display:grid;gap:35px}.accommodations-choice-band .actions{flex-direction:row;flex-wrap:wrap}.portal-cart-card{position:static}
}
@media(max-width:620px){
.home-opening-statement{padding-left:24px;padding-right:24px}.home-opening-statement h2{font-size:clamp(2.7rem,14vw,4.5rem)}.home-estate-story figure{min-height:420px}.home-estate-story>div{padding:55px 24px}.home-estate-details{grid-template-columns:1fr 1fr}.home-experience-card,.home-experience-card.is-large{min-height:440px}.accommodations-index-hero{min-height:64vh}.accommodations-index-intro{padding-left:24px;padding-right:24px}.stay-listing-editorial .stay-row-media{min-height:420px}.stay-listing-editorial .stay-row-copy h2{font-size:clamp(2.8rem,13vw,4.3rem)}.accommodations-choice-band{padding-left:24px;padding-right:24px}.accommodations-choice-band .actions{flex-direction:column}.stay-comparison-facts{grid-template-columns:1fr 1fr}
}

/* Pages éditoriales contextuelles. */
.editorial-fact-strip,.discover-distance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f4efe5}.editorial-fact-strip>div,.discover-distance-strip>div{padding:clamp(28px,4vw,50px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.editorial-fact-strip>div:last-child,.discover-distance-strip>div:last-child{border-right:0}.editorial-fact-strip strong,.discover-distance-strip strong{font-family:var(--serif);font-size:clamp(2rem,4vw,4.4rem);font-weight:500;line-height:1}.editorial-fact-strip span,.discover-distance-strip span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.public-service-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1280px;margin:auto;padding:clamp(58px,7vw,95px) clamp(20px,4vw,54px);gap:1px;background:var(--line)}.public-service-showcase article{background:#f6f2e9;padding:clamp(30px,4vw,52px);min-height:310px;display:flex;flex-direction:column}.public-service-showcase article>span{font-size:.68rem;letter-spacing:.14em;color:var(--sage)}.public-service-showcase h2{font-family:var(--serif);font-size:clamp(2rem,3.3vw,3.7rem);font-weight:500;line-height:1;letter-spacing:-.04em;margin:auto 0 18px}.public-service-showcase p{color:var(--muted);line-height:1.7;margin:0}
.page-event-wedding .editorial-hero-inner,.page-event-private-hire .editorial-hero-inner,.page-event-receptions .editorial-hero-inner,.page-event-business .editorial-hero-inner,.page-event-enquiry .editorial-hero-inner{padding-bottom:clamp(65px,8vw,100px)}
@media(max-width:820px){.editorial-fact-strip,.discover-distance-strip{grid-template-columns:1fr 1fr}.editorial-fact-strip>div:nth-child(2),.discover-distance-strip>div:nth-child(2){border-right:0}.editorial-fact-strip>div:nth-child(-n+2),.discover-distance-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.public-service-showcase{grid-template-columns:1fr}.public-service-showcase article{min-height:240px}}

/* Crédits discrets pour les visuels libres des pages destination. */
.visual-credit{position:absolute;z-index:4;right:12px;bottom:10px;max-width:calc(100% - 24px);padding:6px 8px;background:rgba(12,22,16,.66);color:rgba(255,255,255,.78);font-size:.58rem;line-height:1.35;letter-spacing:.02em;backdrop-filter:blur(6px)}
.visual-credit a{color:inherit;text-decoration:none}.visual-credit-hero{right:18px;bottom:18px;text-decoration:none}.content-visual-ribbon figure{position:relative}
@media(max-width:620px){.visual-credit-hero{right:10px;bottom:10px}.visual-credit{font-size:.54rem}}

/* Services publics : exemples tarifés issus du catalogue actif. */
.public-bookable-services{max-width:1280px;margin:auto;padding:clamp(76px,9vw,130px) clamp(20px,4vw,54px)}
.public-bookable-services-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:clamp(35px,7vw,100px);align-items:end;margin-bottom:50px}.public-bookable-services-head h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.6rem);font-weight:500;line-height:.98;letter-spacing:-.045em;margin:.12em 0 0}.public-bookable-services-head>p{color:var(--muted);font-size:1.03rem;line-height:1.7;margin:0}
.public-bookable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.public-bookable-grid article{display:grid;grid-template-rows:320px 1fr;background:#f2ede3;border:1px solid var(--line)}.public-bookable-grid figure{margin:0;overflow:hidden}.public-bookable-grid figure img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.public-bookable-grid article:hover figure img{transform:scale(1.02)}.public-bookable-grid article>div{padding:28px}.public-bookable-grid article>div>span{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sage)}.public-bookable-grid h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);font-weight:500;line-height:1;letter-spacing:-.04em;margin:.25em 0}.public-bookable-grid p{color:var(--muted);line-height:1.65}.public-service-price{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.public-service-price strong{font-family:var(--serif);font-size:2.1rem;font-weight:500}
@media(max-width:850px){.public-bookable-services-head,.public-bookable-grid{grid-template-columns:1fr}.public-bookable-grid article{grid-template-rows:280px 1fr}}@media(max-width:560px){.public-service-price{align-items:flex-start;flex-direction:column}}

/* Contact : une page de destination à part entière, pas un formulaire isolé. */
.contact-hero,.booking-hero{min-height:68vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#d9d3c6;color:#fff}.contact-hero>img,.booking-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contact-hero .hero-shade,.booking-hero .hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,22,16,.78),rgba(12,22,16,.08) 75%)}.contact-hero-inner,.booking-hero-inner{position:relative;z-index:2;width:min(100%,1280px);margin:auto;padding:160px clamp(20px,4vw,54px) clamp(65px,8vw,105px)}.contact-hero h1,.booking-hero h1{font-family:var(--serif);font-size:clamp(3.8rem,8vw,8.4rem);font-weight:500;line-height:.92;letter-spacing:-.055em;max-width:1100px}.contact-hero .lead,.booking-hero-inner>p:not(.eyebrow){font-size:clamp(1.04rem,1.6vw,1.3rem);line-height:1.65;max-width:760px;margin:24px 0 0;color:rgba(255,255,255,.84)}
.contact-editorial{max-width:1280px;margin:auto;padding:clamp(75px,9vw,135px) clamp(20px,4vw,54px);display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(48px,8vw,120px);align-items:start}.contact-editorial-copy h2,.contact-form-heading h2{font-family:var(--serif);font-size:clamp(2.6rem,4.7vw,5.1rem);font-weight:500;line-height:.98;letter-spacing:-.045em;margin:.15em 0 .38em}.contact-editorial-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.75;color:var(--muted);max-width:610px}.contact-direct-grid{margin-top:42px;border-top:1px solid var(--line)}.contact-direct-grid>a{display:flex;flex-direction:column;gap:3px;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line)}.contact-direct-grid span{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.contact-direct-grid strong{font-weight:600;line-height:1.4}.contact-note{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.contact-note h3{font-size:1.65rem;margin-bottom:9px}.contact-note p{color:var(--muted)}.contact-form-editorial{padding:clamp(28px,4vw,50px);box-shadow:none;background:#f1ece2;border:0;gap:19px}.contact-form-heading{display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:start;margin-bottom:12px}.contact-form-heading>span,.booking-engine-label>span{width:42px;height:42px;border:1px solid #a8a195;border-radius:50%;display:grid;place-items:center;font-size:.68rem;letter-spacing:.1em}.contact-form-heading h2{font-size:clamp(2rem,3vw,3.3rem);margin:0}.contact-form-heading .eyebrow{margin:0 0 8px}.contact-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}.contact-form-actions p{font-size:.75rem;color:var(--muted);margin:0;max-width:310px}.contact-image-band{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);background:#17231c;color:#fff;min-height:560px}.contact-image-band figure{margin:0;min-height:560px;overflow:hidden}.contact-image-band figure img{width:100%;height:100%;object-fit:cover;display:block}.contact-image-band>div{padding:clamp(50px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.contact-image-band h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.7rem,4.6vw,5rem);line-height:.98;letter-spacing:-.04em;margin:.15em 0 .35em}.contact-image-band p:not(.eyebrow){color:rgba(255,255,255,.7);line-height:1.7;max-width:520px}

/* Réserver : contexte éditorial autour du moteur externe. */
.booking-confidence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);background:#f2ede3}.booking-confidence>div{padding:clamp(24px,3vw,42px);border-right:1px solid var(--line);display:flex;flex-direction:column}.booking-confidence>div:last-child{border-right:0}.booking-confidence strong{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.4rem);font-weight:500;line-height:1}.booking-confidence span{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:6px}.booking-editorial-wrap{max-width:1380px;margin:auto;padding:clamp(72px,9vw,130px) clamp(20px,4vw,54px);display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:clamp(45px,7vw,100px);align-items:start}.booking-editorial-copy{position:sticky;top:115px}.booking-editorial-copy h2{font-family:var(--serif);font-size:clamp(2.7rem,4.8vw,5.2rem);font-weight:500;line-height:.98;letter-spacing:-.045em;margin:.15em 0 .4em}.booking-editorial-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75;font-size:1.03rem}.booking-confidence-list{list-style:none;margin:34px 0;padding:0;border-top:1px solid var(--line)}.booking-confidence-list li{position:relative;padding:15px 0 15px 28px;border-bottom:1px solid var(--line);font-size:.88rem}.booking-confidence-list li:before{content:'✓';position:absolute;left:0;color:var(--sage);font-weight:800}.booking-engine-column{min-width:0}.booking-engine-label{display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:center;margin-bottom:18px}.booking-engine-label>div{display:flex;flex-direction:column}.booking-engine-label strong{font-family:var(--serif);font-size:1.45rem;font-weight:500}.booking-engine-label small{color:var(--muted)}.booking-box-refined{border:1px solid var(--line);background:#fff;overflow:hidden}.booking-fallback-panel{padding:clamp(40px,6vw,80px);text-align:center}.booking-fallback-panel p{max-width:580px;margin:0 auto 22px;color:var(--muted)}.booking-services-bridge{background:#526354;color:#fff;padding:clamp(65px,8vw,110px) max(clamp(20px,5vw,78px),calc((100vw - 1280px)/2 + 54px));display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.booking-services-bridge>div{max-width:830px}.booking-services-bridge h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,5.5rem);font-weight:500;line-height:.98;letter-spacing:-.045em;margin:.12em 0}.booking-services-bridge p:not(.eyebrow){color:rgba(255,255,255,.72);max-width:690px;line-height:1.7}
@media(max-width:950px){.contact-editorial,.booking-editorial-wrap{grid-template-columns:1fr}.booking-editorial-copy{position:static}.contact-image-band{grid-template-columns:1fr}.contact-image-band figure{min-height:430px}.booking-confidence{grid-template-columns:1fr 1fr}.booking-confidence>div:nth-child(2){border-right:0}.booking-confidence>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.booking-services-bridge{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.contact-hero,.booking-hero{min-height:62vh}.contact-hero-inner,.booking-hero-inner{padding-left:24px;padding-right:24px}.contact-editorial{padding-left:24px;padding-right:24px}.contact-form-editorial{margin-left:-4px;margin-right:-4px;padding:25px 20px}.contact-form-heading{grid-template-columns:1fr}.contact-form-heading>span{display:none}.contact-image-band figure{min-height:340px}.contact-image-band>div{padding:50px 24px}.booking-confidence{grid-template-columns:1fr 1fr}.booking-editorial-wrap{padding-left:24px;padding-right:24px}.booking-services-bridge{padding-left:24px;padding-right:24px}.booking-engine-label{grid-template-columns:1fr}.booking-engine-label>span{display:none}}

/* Portail séjour : accueil plus éditorial, sans perdre l'efficacité mobile. */
.portal-hero-editorial{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr)!important;grid-template-areas:"copy photo" "context photo" "shortcuts shortcuts";gap:0!important;padding:0!important;overflow:hidden;background:#17231c!important;color:#fff!important}.portal-hero-copy{grid-area:copy;padding:clamp(46px,7vw,90px) clamp(24px,5vw,70px) 28px}.portal-hero-copy h1{font-family:var(--serif);font-weight:500;font-size:clamp(3.2rem,6vw,6.7rem);line-height:.92;letter-spacing:-.052em;margin:.12em 0 .28em}.portal-hero-copy>p:not(.eyebrow){max-width:600px;color:rgba(255,255,255,.72);line-height:1.65}.portal-hero-photo{grid-area:photo;margin:0;min-height:610px;overflow:hidden}.portal-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.portal-hero-editorial .portal-stay-context{grid-area:context;margin:0 clamp(24px,5vw,70px) 48px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.17)!important;color:#fff!important;backdrop-filter:blur(10px)}.portal-hero-editorial .portal-stay-context p{color:rgba(255,255,255,.66)!important}.portal-hero-editorial .portal-stay-context select{background:#fff;color:var(--ink)}.portal-hero-editorial .portal-shortcuts{grid-area:shortcuts;margin:0!important;border-top:1px solid rgba(255,255,255,.15);background:#f5f1e8;color:var(--ink)}.portal-hero-editorial .portal-shortcuts a{border-color:var(--line)!important}.portal-hero-editorial .portal-shortcuts small{color:var(--muted)!important}
.portal-services-section{background:#eee8dc!important}.portal-product-grid{gap:18px!important}.portal-product-card{background:#fff!important}.portal-product-media img{width:100%;height:100%;object-fit:cover;display:block}.portal-product-actions{margin-top:auto}.portal-info-grid article{background:#fff!important;border:1px solid rgba(35,45,38,.12)!important}.portal-practical-group+.portal-practical-group{margin-top:42px}.portal-group-label{font-size:.67rem!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--sage)!important}.portal-checkout{background:#f7f4ed}.portal-customer-fields,.portal-cart-card{border-radius:2px!important;box-shadow:none!important}.portal-help-v5{border-radius:2px!important}
@media(max-width:900px){.portal-hero-editorial{grid-template-columns:1fr!important;grid-template-areas:"photo" "copy" "context" "shortcuts"}.portal-hero-photo{min-height:390px}.portal-hero-copy{padding-bottom:24px}.portal-hero-editorial .portal-stay-context{margin-bottom:35px!important}}
@media(max-width:620px){.portal-hero-editorial{margin:0!important;border-radius:0!important}.portal-hero-photo{min-height:290px}.portal-hero-copy{padding:36px 20px 20px}.portal-hero-copy h1{font-size:clamp(2.8rem,15vw,4.4rem)}.portal-hero-editorial .portal-stay-context{margin:0 16px 28px!important}.portal-hero-editorial .portal-shortcuts{grid-template-columns:1fr!important}.portal-hero-editorial .portal-shortcuts a{min-height:auto!important}.portal-help-v5{border-radius:0!important;margin-left:0!important;margin-right:0!important}}

/* Informations pratiques publiques des hébergements */
.accommodation-practical-public{margin-top:clamp(70px,9vw,120px);padding-top:clamp(42px,6vw,72px);border-top:1px solid var(--line)}
.accommodation-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.accommodation-practical-grid article{background:var(--paper);padding:clamp(22px,3vw,34px)}
.accommodation-practical-grid h3{font-size:clamp(1.35rem,2.2vw,1.9rem);margin-bottom:10px}
.accommodation-practical-grid p{margin:0;color:var(--muted)}
.accommodation-directions-link{margin-top:28px}
@media(max-width:720px){.accommodation-practical-grid{grid-template-columns:1fr}}

/* Accessibilité : réduction des animations et mouvements lorsque demandée par le système. */
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.home-experience-card:hover>img,.stay-listing-editorial .stay-row-media:hover img,.accommodation-photo-story figure:hover img,.content-visual-ribbon figure:hover img{transform:none!important}}

.translation-compare-row-five{grid-template-columns:minmax(150px,.8fr) repeat(3,minmax(170px,1fr));}
@media(max-width:1100px){.translation-compare-row-five{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.translation-compare-row-five{grid-template-columns:1fr;}}
