/* Manggis Garden 0.5.1 — Jardin secret. Palette et habillage centralisés ici. */
:root{--paper:#f7f0df;--white:#fffbf2;--ink:#153e34;--muted:#53665a;--line:#c8c9ad;--sand:#e9eacb;--accent:#8c3e5c;--gold:#deb766;--forest:#123e34;--jade:#317562;--plum:#642e4d;--coral:#e9a18a;--moss:#829359;--atun-yellow:#f1cd4b;--atun-yellow-soft:#fff3c8;--atun-yellow-ink:#765719}
body{background:var(--paper);background-image:radial-gradient(ellipse at 100% 15%,#c0c58a12,transparent 60%)}
::selection{background:#e9a18a;color:#153e34}
.eyebrow{color:var(--plum);letter-spacing:2px;font-size:11px}
.btn{border-radius:3px 18px 3px 18px;background:var(--plum);border-color:var(--plum);color:var(--white);min-height:46px}
.btn:hover{background:#4c2039}
.btn-cream{background:var(--coral);border-color:var(--coral);color:#253d30}
.btn-cream:hover{background:#f0b59e}
.btn-outline{background:transparent;color:var(--plum)}
.btn-outline:hover{color:var(--white)}
.text-link{border-bottom-color:var(--plum);color:var(--plum)}
.header{height:94px;background:#123e34f5;color:var(--paper);border-bottom:1px solid #dec79245}
.header .brand{color:var(--paper)}
.brand{font-family:var(--serif);font-size:22px;letter-spacing:-.3px;gap:13px;line-height:1.15}
.brand small{font-family:var(--sans);font-size:8px;letter-spacing:2px;margin-top:8px}
.brand-mark{display:grid;place-items:center;width:49px;height:49px;border:1px solid currentColor;border-radius:50% 50% 8px 50%;color:var(--gold);font-size:31px;padding:0;letter-spacing:-7px;padding-right:7px;transform:rotate(-8deg);flex:0 0 49px}
.brand-mark>span{position:static;font-size:inherit;letter-spacing:inherit}
.brand-mark::after{content:"";position:absolute;width:10px;height:5px;border:1px solid currentColor;border-radius:100% 0;right:1px;top:-4px;transform:rotate(-20deg)}
.header .btn-small{background:var(--coral);color:#253d30;border-color:var(--coral)}
.nav a:hover{color:var(--coral)}
.menu-toggle span{background:var(--paper)}
.language-picker summary{background:#fffbf2;border-color:#d8caa8;border-radius:4px 12px 4px 12px}
.language-options{background:var(--white);border-color:var(--line);color:var(--ink)}
.language-picker[open] summary{outline:2px solid var(--coral);outline-offset:2px}
.header a:focus-visible,.header button:focus-visible{outline-color:var(--coral)}
.hero{background:var(--forest);color:var(--paper);height:auto;min-height:710px;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-3;background-image:linear-gradient(90deg,#123e34d9,#123e34f2 64%,#123e34),url('forest-garden.webp');background-size:cover;background-position:left bottom;opacity:.6}
.hero-img{inset:40px 5% 75px auto;width:43%;height:calc(100% - 115px);object-position:center;z-index:-2;border:1px solid #d5bd835e;border-radius:47% 47% 3px 3px;box-shadow:15px 15px 0 #3175624d}
.hero-shade{inset:auto 3.5% 60px auto;width:43%;height:calc(100% - 115px);border:1px solid #d5bd8350;border-radius:47% 47% 3px 3px;background:none;z-index:-3}
.hero-copy{padding:100px 4% 132px 7.5%;width:55%;max-width:920px;position:relative}
.hero h1{font-size:clamp(52px,5.8vw,88px);line-height:1.04;letter-spacing:-2.4px;margin-bottom:30px;max-width:610px}
.hero h1 em{color:var(--coral)}
.hero .eyebrow{color:var(--gold);display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:2px}
.hero .eyebrow::before{content:"";width:21px;height:21px;flex:0 0 21px;border:1px solid var(--gold);border-radius:50% 0;transform:rotate(-25deg)}
.hero-desc{font-size:15px;max-width:435px;line-height:1.9;color:#eee7d3;margin-bottom:30px}
.hero-bottom{left:7.5%;right:5%;bottom:22px;padding-top:17px;border-top-color:#d5bd8345;font-size:10px;color:#ead8b0}
.hero-bottom>span{max-width:65%;letter-spacing:1.3px}
.heritage-ribbon{height:16px;border-block:3px solid #642e4d;background-color:#deb766;background-image:repeating-linear-gradient(45deg,transparent 0 7px,#642e4d80 7px 8px,transparent 8px 16px),repeating-linear-gradient(-45deg,transparent 0 7px,#31756280 7px 8px,transparent 8px 16px)}
.intro{gap:95px;padding-top:118px;padding-bottom:118px}
.intro-copy{position:relative}
.intro-copy::before{content:"✳";display:block;font-size:49px;line-height:1;color:#b65169;margin-bottom:24px;font-family:Georgia,serif}
.intro h2{font-size:clamp(38px,3.8vw,60px)}
.intro h2 em{color:var(--plum)}
.intro .lead{font-size:19px;line-height:1.65}
.intro-copy>p:not(.eyebrow):not(.lead){font-size:14px;line-height:1.9}
.intro-photo{position:relative;padding:14px;background:#e0e4c6;border:1px solid #9ca77b;border-radius:48% 48% 3px 3px;transform:none;margin:0}
.intro-photo img{height:480px;border-radius:47% 47% 2px 2px}
.intro-photo figcaption{padding:0 5px 4px;text-align:center;color:#425743;font-size:11px;line-height:1.5}
.numbers{border-top-color:#a3aa7c;gap:36px;margin-top:30px}
.numbers strong{color:var(--plum);font-size:43px}
.numbers span{font-size:11px}
.bali-retreat{position:relative;background:var(--forest);color:var(--paper);padding:88px 0 60px;overflow:hidden;border-bottom:6px solid var(--atun-yellow)}
.bali-retreat::after{content:"";position:absolute;width:300px;height:300px;right:-170px;top:-180px;border:1px solid #deb76666;border-radius:50%;box-shadow:0 0 0 24px #deb76614,0 0 0 48px #deb7660a;pointer-events:none}
.retreat-layout{display:grid;grid-template-columns:.9fr .9fr 1.4fr;gap:clamp(28px,3.4vw,52px);align-items:center}
.retreat-art{position:relative;min-width:0;padding:12px;border:1px solid var(--atun-yellow);border-radius:48% 48% 4px 4px}
.retreat-art img{width:100%;height:565px;object-fit:cover;object-position:52% center;border-radius:47% 47% 2px 2px}
.retreat-art::after{content:"✳";display:grid;place-items:center;position:absolute;right:-29px;bottom:44px;width:72px;height:72px;font-family:Georgia,serif;font-size:50px;line-height:1;background:var(--atun-yellow);color:var(--forest);border-radius:50%;border:7px solid var(--forest)}
.retreat-copy{min-width:0}
.retreat-copy .eyebrow{color:var(--atun-yellow)}
.retreat-copy h2{font-size:clamp(38px,3.8vw,59px);line-height:1.14;letter-spacing:-1.3px;margin-bottom:27px}
.retreat-copy h2 em{color:var(--atun-yellow)}
.retreat-copy>p:last-child{color:#e4e4cd;font-size:15px;line-height:1.9;max-width:445px}
.retreat-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:65px;padding-top:32px;border-top:1px solid #bec5944d;counter-reset:values}
.retreat-value{min-width:0;counter-increment:values}
.retreat-value::before{content:"0" counter(values);display:block;color:var(--gold);font-family:var(--serif);font-size:26px;margin-bottom:12px}
.retreat-value:nth-child(2)::before{color:var(--atun-yellow)}
.retreat-value:nth-child(3)::before{color:var(--atun-yellow)}
.retreat-value h3{font-size:25px;line-height:1.3;margin-bottom:12px;letter-spacing:-.3px}
.retreat-value p{font-size:13px;line-height:1.85;color:#d0d6bf;max-width:335px}
.stay{background:#e9eacb;position:relative}
.stay h2 em,.experiences h2 em,.gallery h2 em,.location-section h2 em{color:var(--plum)}
.section-heading>p{line-height:1.9}
.filters{border-bottom-color:#a8b18b;gap:30px}
.filters button{font-size:13px;color:#4c604e}
.filters button.active{color:var(--plum);border-bottom-color:var(--plum)}
.rooms{gap:30px;align-items:start;grid-template-columns:repeat(4,minmax(0,1fr))}.room:nth-child(4){padding-top:34px}.room:nth-child(4) .room-image{border-radius:4px 4px 46% 4px}
.room:nth-child(2){padding-top:46px}
.room:nth-child(3){padding-top:15px}
.room-image{border-radius:46% 46% 3px 3px;height:335px;border:1px solid #87926f}
.room:nth-child(2) .room-image{border-radius:4px 4px 100px 4px}
.room:nth-child(3) .room-image{border-radius:100px 4px 4px 4px}
.room-image>span{background:var(--paper);border-radius:2px;font-size:11px;max-width:calc(100% - 30px)}
.room-meta{color:#5c614a;margin-top:23px;gap:12px;line-height:1.7}
.room h3{font-size:28px;color:var(--plum)}
.room p{min-height:0;margin-bottom:19px}
.stay .small-note{color:#52604b;font-size:12px}
.experiences{position:relative}
.experience-layout{gap:70px;align-items:start}
.experience-list{border-top:1px solid #b8bd9b}
.experience-list>button{padding:27px 0;border-bottom-color:#b8bd9b}
.experience-list>button[aria-selected=true]{color:var(--plum)}
.experience-list small{color:#5a6a57;font-size:12px}
.exp-number{color:#866349;font-size:12px}
.exp-arrow{border-color:#bcb295;flex:0 0 34px;width:34px;height:34px}
.experience-list>button[aria-selected=true] .exp-arrow{background:var(--plum);border-color:var(--plum)}
.experience-panel{background:#eee0d8;border-radius:3px 60px 3px 3px;overflow:hidden;border:1px solid #d1b8af}
.experience-panel>img{height:315px}
.experience-content{padding:32px 35px}
.experience-content .eyebrow{color:var(--plum);font-size:10px}
.experience-content h3{color:var(--plum);font-size:34px}
.experience-content>p{color:#5d5b52;font-size:14px;line-height:1.85}
.table-section{background:var(--plum);border-block:8px solid var(--atun-yellow)}
.table-copy h2 em{color:var(--atun-yellow)}
.table-copy .eyebrow{color:var(--atun-yellow)}
.table-copy>p:not(.eyebrow),.work-note p{color:#f0dfdf}
.work-note{border-top-color:#e4b9b957}
.work-note>span{color:var(--coral)}
.table-copy .light-link{color:var(--paper);border-color:var(--atun-yellow)}
.table-copy::after{content:"";display:block;width:66px;height:12px;border-block:1px solid var(--atun-yellow);margin-top:35px}
.gallery-grid{gap:22px;grid-template-columns:1.1fr 1fr}
.gallery-grid .gallery-main{height:555px;border-radius:48% 48% 3px 3px}
.gallery-grid button{height:266px;border-radius:3px 55px 3px 3px}
.gallery-grid button:nth-child(3){border-radius:3px 3px 55px 3px}
.gallery-hint{color:#53665a}
.location-content{border-bottom-color:#b1b994}
.booking{background:#dce3bd;border-top:1px solid #a3b482;position:relative;isolation:isolate}
.booking::before{content:"";position:absolute;z-index:-1;inset:0;background-image:url('bali-retreat.webp');background-size:660px auto;background-position:-190px 100%;background-repeat:no-repeat;opacity:.17;pointer-events:none}
.booking-layout{gap:74px;grid-template-columns:.9fr 1.1fr}
.booking h2{font-size:clamp(38px,4vw,60px)}
.booking h2 em{color:var(--plum)}
.booking-layout>div>p{font-size:15px;line-height:1.9;max-width:415px}
.booking-note p{color:#425740;font-size:12px}
#stay-form{background:#fffbf2;padding:32px 34px;border:1px solid #aab48b;border-radius:3px 55px 3px 3px;box-shadow:10px 10px 0 #a8b78a40}
input[type=date],select,textarea{background:#f8f4e8;border-color:#b1b698;border-radius:2px}
.interests input{accent-color:var(--plum)}
.form-footnote{color:#59644f;font-size:11px}
.footer{border-top:0;padding-top:54px;padding-bottom:28px}
.footer .brand-mark{color:var(--plum)}
.footer p{font-size:12px}
.footer-bottom{border-color:#b9b99c;font-size:10px}
.footer-links a:hover{color:var(--plum)}
.room-dialog{border-radius:3px 40px 3px 3px}
.room-carousel{position:sticky;top:0;align-self:start;min-width:0;min-height:520px;height:min(90svh,720px);max-height:720px;overflow:hidden;background:#e4dfd2}
.room-carousel>img{width:100%;height:100%;min-height:520px;object-fit:cover;transition:opacity .24s ease}
.room-carousel>img.is-changing{opacity:.35}
.room-carousel-controls[hidden]{display:none}
.room-carousel-controls{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff}
.room-carousel-controls::before{content:"";position:absolute;inset:-8px -8px;background:linear-gradient(transparent,#10231dcc);z-index:0;pointer-events:none}
.room-carousel-controls>*{z-index:1}
.room-carousel-arrow,.room-carousel-pause{display:grid;place-items:center;border:1px solid #ffffff9c;background:#143d35c9;color:white;border-radius:50%;width:38px;height:38px;padding:0;font-size:19px;line-height:1}
.room-carousel-pause{font-size:14px}
#room-carousel-counter{min-width:48px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:1px}
@media(max-width:680px){.room-carousel{position:relative;height:230px;max-height:230px;min-height:0}.room-carousel>img{height:230px;min-height:0}.room-carousel-controls{bottom:11px;left:12px;right:12px;gap:10px}.room-carousel-arrow,.room-carousel-pause{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.room-carousel>img{transition:none}}
.skip:focus{z-index:100;background:var(--paper);color:var(--ink);padding:10px}
@media(min-width:1600px){.hero{min-height:800px}.hero-copy{padding-top:130px}.hero h1{font-size:94px}}
@media(max-width:1300px){.header .btn-small{display:none}}
@media(max-width:1150px){.brand{font-size:20px}.header{gap:18px}.brand-mark{width:43px;height:43px;flex-basis:43px;font-size:29px}.hero-copy{padding-left:5%;padding-right:3%;width:55%}.hero h1{font-size:clamp(49px,5.6vw,66px)}.hero-desc{font-size:14px}.hero-bottom{left:5%}.intro{gap:56px}.retreat-layout{gap:50px}.retreat-art img{height:510px}.experience-layout{gap:40px}.room-image{height:290px}.room h3{font-size:25px}.booking-layout{gap:40px}#stay-form{padding:28px}.numbers{gap:24px}}
@media(max-width:1100px){.nav{top:94px;background:var(--forest);border-bottom-color:#d5bd8350}.hero{min-height:680px}.hero-copy{padding-top:85px}}
@media(max-width:900px){.header{height:80px}.nav{top:80px}.hero{min-height:630px}.hero-copy{padding-top:68px;padding-bottom:115px}.hero h1{font-size:clamp(44px,6vw,57px);letter-spacing:-1.5px}.hero-desc{font-size:13px}.hero-img{right:4%;width:42%;inset-block:40px 75px}.hero .btn{font-size:12px;padding:14px 17px;gap:18px}.hero-bottom>span{max-width:65%}.intro{padding-top:80px;padding-bottom:80px;gap:45px;grid-template-columns:1fr 1fr}.intro h2{font-size:39px}.intro-photo img{height:405px}.intro .lead{font-size:17px}.numbers{gap:20px;flex-wrap:wrap}.numbers strong{font-size:35px}.numbers span{max-width:75px;font-size:10px}.retreat-layout{gap:38px;grid-template-columns:1fr 1fr}.retreat-art img{height:440px}.retreat-copy h2{font-size:39px}.retreat-copy>p:last-child{font-size:14px}.retreat-values{gap:24px;margin-top:45px}.retreat-value h3{font-size:22px}.room-image{height:245px}.room-meta{display:block;font-size:10px}.room h3{font-size:24px}.rooms{gap:22px}.experience-content{padding:26px}.experience-content h3{font-size:29px}.experience-panel>img{height:280px}.gallery-grid .gallery-main{height:488px}.gallery-grid button{height:233px}.booking-layout{grid-template-columns:1fr;gap:38px}.booking-layout>div{max-width:630px}.booking-layout>div>p{max-width:540px}#stay-form{max-width:700px;width:100%}.booking::before{background-position:-140px 0;opacity:.1}}
@media(max-width:680px){.header{height:80px;padding:0 18px;gap:10px}.nav{top:80px}.brand{font-size:18px;gap:10px;letter-spacing:-.4px}.brand small{font-size:7px;letter-spacing:1.6px;margin-top:6px}.brand-mark{width:37px;height:40px;flex-basis:37px;font-size:26px;letter-spacing:-6px}.header-actions{gap:8px}.language-picker summary{width:42px}.menu-toggle{width:32px;padding:5px}.hero{min-height:0;max-height:none;display:flex;flex-direction:column;padding-bottom:80px}.hero-copy{order:0;width:100%;max-width:620px;padding:50px 26px 34px}.hero h1{font-size:clamp(48px,12vw,68px);line-height:1.06;margin-bottom:23px;letter-spacing:-1.5px}.hero-desc{font-size:14px;max-width:470px;margin-bottom:25px;line-height:1.8}.hero .eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:20px}.hero-img{position:relative;order:1;inset:auto;z-index:0;width:calc(100% - 52px);height:330px;margin:0 26px;object-position:50% 55%;border-radius:45% 45% 3px 3px;box-shadow:9px 9px 0 #31756266}.hero-shade{display:none}.hero::before{background-position:left top;background-size:auto 100%}.hero-bottom{bottom:20px;left:26px;right:26px;gap:15px;padding-top:13px;font-size:9px;line-height:1.6}.hero-bottom>span{max-width:67%;letter-spacing:.5px}.hero-bottom a{gap:8px;white-space:nowrap}.heritage-ribbon{height:13px;border-block-width:2px}.intro{grid-template-columns:1fr;padding-top:65px;padding-bottom:68px;gap:42px}.intro-copy::before{font-size:40px;margin-bottom:19px}.intro h2{font-size:39px}.intro .lead{font-size:18px}.intro-copy>p:not(.eyebrow):not(.lead){font-size:14px}.numbers{justify-content:space-between;gap:20px;flex-wrap:nowrap}.numbers span{max-width:90px;font-size:10px}.intro-photo{max-width:430px;margin:auto;transform:none;padding:11px}.intro-photo img{height:390px}.bali-retreat{padding:55px 0 44px}.retreat-layout{grid-template-columns:1fr;gap:38px}.retreat-art{max-width:430px;width:100%;margin:auto;padding:10px}.retreat-art img{height:420px}.retreat-art::after{right:-17px;bottom:25px;width:59px;height:59px;font-size:38px}.retreat-copy h2{font-size:40px;line-height:1.15;letter-spacing:-1px}.retreat-copy>p:last-child{font-size:14px;max-width:none}.retreat-values{grid-template-columns:1fr;gap:26px;margin-top:35px;padding-top:25px}.retreat-value{position:relative;padding-left:47px}.retreat-value::before{position:absolute;left:0;top:0;font-size:23px}.retreat-value h3{font-size:25px;margin-bottom:8px}.retreat-value p{max-width:none;font-size:13px}.section-heading h2{font-size:38px}.filters{gap:23px}.filters button{font-size:12px;flex-shrink:0}.rooms{gap:38px}.room:nth-child(2),.room:nth-child(3){padding-top:0}.room-image{height:350px}.room h3{font-size:29px}.room-meta{display:flex;font-size:10px}.experience-layout{gap:25px}.experience-list>button{padding:22px 0}.experience-list strong{font-size:25px}.experience-content{padding:26px}.experience-panel>img{height:280px}.table-copy{padding:48px 26px 52px}.table-copy h2{font-size:43px}.gallery-grid{gap:12px;grid-template-columns:1fr 1fr}.gallery-grid .gallery-main{height:380px}.gallery-grid button{height:180px;border-radius:3px 35px 3px 3px}.location-content h2{font-size:38px}.booking h2{font-size:39px}.booking-layout{gap:32px}.booking-layout>div>p{font-size:14px}#stay-form{padding:25px 19px;border-radius:3px 35px 3px 3px;box-shadow:6px 6px 0 #a8b78a40}.booking .wrap{padding-inline:22px}.form-row{gap:12px}.footer-links{gap:17px;font-size:12px}.footer-bottom{line-height:1.8}.footer .brand{font-size:21px}}
@media(max-width:360px){.brand{font-size:16px}.brand small{letter-spacing:1px}.header{padding-inline:12px}.brand-mark{width:31px;flex-basis:31px;height:35px;font-size:23px}.hero h1{font-size:46px}.hero-bottom>span{max-width:58%}.hero-img{height:290px}.intro-photo img{height:335px}.retreat-art img{height:350px}.room-image{height:310px}.form-row{grid-template-columns:1fr;gap:0}.numbers{gap:12px}}
html:lang(ja) .hero h1,html:lang(ko) .hero h1{font-size:clamp(36px,4.2vw,60px);letter-spacing:0;line-height:1.4}
html:lang(ja) .retreat-copy h2,html:lang(ko) .retreat-copy h2{font-size:clamp(32px,3vw,45px);letter-spacing:0;line-height:1.4}
@media(max-width:680px){html:lang(ja) .hero h1,html:lang(ko) .hero h1{font-size:clamp(33px,8vw,46px)}}
@media(prefers-reduced-motion:reduce){.intro-photo{transform:none}}

/* Atun : jaune soleil pour les pratiques de bien-être, sur ordinateur et mobile.
   aria-labelledby suit déjà l'onglet actif : aucun texte ni comportement à modifier. */
#tab-yoga,#tab-sound{border-left:3px solid var(--atun-yellow);padding-left:16px;padding-right:12px}
#tab-yoga:hover,#tab-sound:hover{background:#fff8df}
#tab-yoga[aria-selected=true],#tab-sound[aria-selected=true]{background:var(--atun-yellow-soft)}
#tab-yoga .exp-number,#tab-sound .exp-number{color:var(--atun-yellow-ink)}
#tab-yoga[aria-selected=true] .exp-arrow,#tab-sound[aria-selected=true] .exp-arrow{background:var(--atun-yellow);border-color:var(--atun-yellow);color:var(--forest)}
.experience-panel[aria-labelledby="tab-yoga"],.experience-panel[aria-labelledby="tab-sound"]{background:var(--atun-yellow-soft);border-color:#b99733}
.experience-panel[aria-labelledby="tab-yoga"] .eyebrow,.experience-panel[aria-labelledby="tab-sound"] .eyebrow{color:var(--atun-yellow-ink)}


/* Avis Google : cartes droites, rotation douce avec pause, images facultatives. */
.reviews-section{background:#e9eacb;border-top:1px solid #bdc2a1;color:var(--forest)}
.reviews-heading h2{max-width:720px}
.reviews-heading .eyebrow{color:var(--plum)}
.reviews-section>.wrap{max-width:1600px}
.reviews-track{--review-columns:min(5,var(--review-count,5));--review-gap:16px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--review-columns) - 1)*var(--review-gap))/var(--review-columns));gap:var(--review-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;list-style:none;margin:0;padding:8px 0 20px;scrollbar-width:thin;scrollbar-color:#829359 #e9eacb}
.reviews-track:focus-visible{outline:3px solid var(--plum);outline-offset:6px}
.review-card{min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;scroll-margin-inline:0;background:#fffaf0;border:1px solid #bcc1a0;border-top:4px solid var(--atun-yellow);border-radius:4px 28px 4px 4px;padding:22px 18px;transform:none}
.review-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.review-stars{color:#876000;font-size:17px;letter-spacing:1px;white-space:nowrap;line-height:1.2}
.review-source{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--forest)}
.review-card blockquote{margin:27px 0 30px;flex:1}
.review-card blockquote p{font:400 21px/1.4 var(--serif);color:var(--forest);overflow-wrap:anywhere}
.review-card blockquote p::before{content:'“';color:var(--plum)}
.review-card blockquote p::after{content:'”';color:var(--plum)}
.review-person{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.review-person strong{font-size:14px;color:var(--forest);overflow-wrap:anywhere}
.review-person time{font-size:12px;color:#5d5b52}
.review-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px;padding-top:17px;border-top:1px solid #d7d6c1}
.review-bottom>span{font-size:11px;color:#5d5b52}
.review-bottom .text-link{font-size:12px;gap:0;color:var(--plum);border-color:var(--plum)}
.reviews-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:22px}
.reviews-controls{display:flex;gap:18px;align-items:center}
.reviews-controls[hidden]{display:none}
.reviews-controls button{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid var(--forest);border-radius:50%;background:transparent;color:var(--forest);font-size:25px;line-height:1}
.reviews-controls button:hover:not(:disabled){background:var(--forest);color:var(--atun-yellow)}
.reviews-controls button:disabled{opacity:.35;cursor:default}
.reviews-position{font-size:12px;min-width:56px;text-align:center;color:var(--forest)}
.reviews-all{margin-left:auto}
@media(max-width:1199px){.reviews-track{--review-columns:min(3,var(--review-count,3))}}
@media(max-width:899px){.reviews-track{--review-columns:min(2,var(--review-count,2))}}
@media(max-width:680px){.reviews-track{--review-columns:1;--review-gap:18px}.review-card{padding:25px 22px;border-top-right-radius:32px}.review-card blockquote p{font-size:26px}.reviews-footer{gap:22px}.reviews-all{margin-left:0;font-size:12px}.reviews-heading h2{font-size:38px}}

/* Sans JavaScript, la liste reste défilable nativement. */
.reviews-track.reviews-enhanced{overflow-x:hidden;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y}
[data-review-clone]{pointer-events:none}
.review-person{flex-direction:row;align-items:center;gap:10px}
.review-person-text{min-width:0;display:flex;flex-direction:column;gap:5px}
.review-avatar{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#e9eacb;color:var(--forest);font:600 18px var(--sans)}
.review-avatar img{width:100%;height:100%;object-fit:cover}
.review-photo{display:block;margin-top:20px;overflow:hidden;border-radius:3px 20px 3px 3px;aspect-ratio:16/10;background:#e9eacb}
.review-photo img{width:100%;height:100%;object-fit:cover;display:block}
.reviews-controls{gap:12px;flex-wrap:wrap}
.reviews-controls button:focus-visible,.review-photo:focus-visible{outline:3px solid var(--plum);outline-offset:4px}
.reviews-controls .review-toggle{font-size:18px;background:var(--forest);color:var(--atun-yellow)}

.reviews-translation-note{font-size:12px;line-height:1.7;color:#536047;max-width:760px;margin:18px 0 0}

/* Logo officiel fourni par Bruno : visible en en-tête et en pied de page. */
.brand{gap:0}
.brand-logo{display:block;width:220px;height:auto;max-height:78px;object-fit:contain;background:transparent;padding:0;border-radius:0}
.footer .brand-logo{width:230px;max-height:none}
@media(max-width:1150px){.brand-logo{width:190px;max-height:68px}.footer .brand-logo{width:210px}}
@media(max-width:680px){.brand-logo{width:155px;max-height:58px}.footer .brand-logo{width:205px}}
@media(max-width:360px){.brand-logo{width:130px;max-height:49px}}


/* Logo flottant prominent, au-dessus du contenu qui defile. */
.header{position:fixed;inset:0 0 auto;height:160px;padding:10px 28px;align-items:flex-start;justify-content:space-between;gap:20px;background:transparent;border:0;backdrop-filter:none;pointer-events:none}
.header>*{pointer-events:auto}
.header .brand{align-self:flex-start;flex:0 0 auto;margin:0}
.header .brand-logo{width:440px;max-height:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.72))}
.header .nav,.header .header-actions{margin-top:18px;padding:8px 12px;border-radius:28px;background:rgba(18,62,52,.78);backdrop-filter:blur(8px);box-shadow:0 3px 14px rgba(0,0,0,.16)}
.header .nav{gap:20px;flex:0 1 auto}
.header .header-actions{gap:12px;flex:0 0 auto}
@media(max-width:1250px){.header{padding-inline:20px;gap:12px}.header .brand-logo{width:min(38vw,380px)}.header .nav{gap:14px;font-size:11px}.header .header-actions{gap:8px}}
@media(max-width:850px) and (min-width:681px){.header .brand-logo{width:300px}.header .nav{gap:10px;font-size:10px}.header .header-actions .btn{display:none}}
@media(max-width:680px){.header{height:154px;padding:7px 12px;align-items:flex-start}.header .brand-logo{width:min(78vw,300px);max-height:none}.header .nav{display:none}.header .header-actions{position:absolute;right:12px;top:111px;margin:0;padding:5px 8px;gap:8px}.header .header-actions .btn{display:none}.header .language-picker summary{width:42px}}
@media(max-width:380px){.header .brand-logo{width:270px}.header .header-actions{top:111px}}


/* Logo place dans la zone d accueil pour ne pas recouvrir les textes des sections. */
.header{position:absolute;inset:0 0 auto;height:160px;padding:10px 28px;align-items:flex-start;background:transparent;border:0;backdrop-filter:none}
.header .brand-art{display:block;flex:0 0 auto}
.hero-copy{padding-top:220px}
@media(max-width:1250px){.header .brand-logo{width:min(38vw,380px)}.hero-copy{padding-top:205px}}
@media(max-width:850px) and (min-width:681px){.header .brand-logo{width:300px}.header .nav{gap:10px;font-size:10px}}
@media(max-width:680px){.header{position:absolute;height:154px;padding:7px 12px}.header .brand-logo{width:min(78vw,300px);max-height:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.24))}.hero-copy{padding-top:170px}}
@media(max-width:380px){.header .brand-logo{width:270px}.hero-copy{padding-top:160px}}

/* Logo dans la zone image de l accueil; navigation conservee en haut. */
.header{position:fixed;inset:0 0 auto;height:94px;padding:0 28px;justify-content:flex-end;background:transparent;border:0;backdrop-filter:none}
.header .brand{display:none}
.header .nav,.header .header-actions{margin-top:18px;padding:8px 12px;border-radius:28px;background:rgba(18,62,52,.78);backdrop-filter:blur(8px);box-shadow:0 3px 14px rgba(0,0,0,.16)}
.hero-brand{position:absolute;left:28px;top:10px;z-index:3;display:block;width:440px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.72))}
.hero-brand .brand-art{display:block}
.hero-brand .brand-logo{width:100%;height:auto;max-height:none}
.hero-copy{padding-top:220px}
@media(max-width:1250px){.header{padding-inline:20px}.hero-brand{left:20px;width:min(38vw,380px)}.hero-copy{padding-top:205px}}
@media(max-width:850px) and (min-width:681px){.hero-brand{width:300px}.header .nav{gap:10px;font-size:10px}.header .header-actions .btn{display:none}}
@media(max-width:680px){.header{height:80px;padding:0 12px}.header .nav{display:none}.header .header-actions{position:fixed;right:12px;top:112px;margin:0;padding:5px 8px;gap:8px}.header .header-actions .btn{display:none}.hero-brand{left:12px;top:7px;width:min(78vw,300px);filter:drop-shadow(0 2px 4px rgba(0,0,0,.24))}.hero-copy{padding-top:170px}}
@media(max-width:380px){.hero-brand{width:270px}.hero-copy{padding-top:160px}}

/* Logo centre et agrandi sur l accueil, sur un halo sable doux. */
.hero-brand{position:absolute;left:50%;top:66px;transform:translateX(-50%);z-index:3;display:block;width:min(760px,80vw);filter:none}
.hero-brand::before{content:"";position:absolute;z-index:-1;inset:-18px -44px;border-radius:50%;background:radial-gradient(ellipse,rgba(248,246,239,.94) 0%,rgba(248,246,239,.86) 58%,rgba(248,246,239,0) 100%);pointer-events:none}
.hero-brand .brand-logo{display:block;width:100%;height:auto;max-height:none}
.hero-copy{padding-top:340px}
@media(max-width:1250px){.hero-brand{width:min(760px,80vw)}.hero-copy{padding-top:320px}}
@media(max-width:850px) and (min-width:681px){.hero-brand{top:66px;width:min(76vw,640px)}.hero-copy{padding-top:300px}}
@media(max-width:680px){.hero-brand{top:9px;width:min(88vw,480px)}.hero-brand::before{inset:-10px -18px;background:radial-gradient(ellipse,rgba(248,246,239,.98) 0%,rgba(248,246,239,.9) 68%,rgba(248,246,239,0) 100%)}.hero-copy{padding-top:205px}}
@media(max-width:380px){.hero-brand{width:min(88vw,320px)}.hero-copy{padding-top:190px}}

/* Reserve un espace clair pour le grand logo; la photo commence en dessous. */
.hero{background:var(--paper)}
.hero-brand{top:34px}
.hero-img{inset:320px 0 0;width:100%;height:calc(100% - 320px)}
.hero-shade{top:320px}
@media(max-width:850px) and (min-width:681px){.hero-brand{top:28px}.hero-img{inset:270px 4% 0 auto;width:42%;height:calc(100% - 270px)}.hero-shade{top:270px}}
@media(max-width:680px){.hero{background:var(--paper)}.hero-brand{top:9px}.hero-img{position:relative;inset:auto;width:calc(100% - 52px);height:330px;margin:0 26px}.hero-shade{display:none}}

/* Fond vert d origine, logo transparent et photo reduite sur la droite. */
.hero{background:var(--forest)}
.hero-brand::before{display:none}
.hero-brand{top:34px}
.hero-img{inset:320px 4% 80px auto;width:38%;height:calc(100% - 400px);object-fit:cover;border-radius:42% 42% 3px 3px;box-shadow:12px 14px 0 rgba(222,183,102,.24)}
.hero-shade{display:none}
.hero-copy{width:50%;max-width:760px;padding:340px 0 110px 8%}
@media(max-width:1250px){.hero-copy{padding-top:320px}}
@media(max-width:850px) and (min-width:681px){.hero-brand{top:34px;width:min(76vw,640px)}.hero-img{inset:280px 4% 65px auto;width:40%;height:calc(100% - 345px)}.hero-copy{width:52%;padding-top:300px}}
@media(max-width:680px){.hero{background:var(--forest)}.hero-copy{width:100%;max-width:620px;padding:205px 26px 34px}.hero-img{position:relative;inset:auto;width:58%;height:220px;margin:12px 22px 0 auto;border-radius:44% 44% 3px 3px;box-shadow:8px 9px 0 rgba(222,183,102,.24)}.hero-shade{display:none}}
@media(max-width:380px){.hero-copy{padding-top:190px}.hero-img{width:62%;height:200px}}

/* Keep the centered logo below the fixed navigation and above the side photo. */
.hero-brand{top:72px}
.hero-img{inset:350px 4% 80px auto;height:calc(100% - 430px)}
.hero-copy{padding-top:370px}
@media(max-width:1250px){.hero-copy{padding-top:350px}}
@media(max-width:850px) and (min-width:681px){.hero-brand{top:72px}.hero-img{inset:320px 4% 65px auto;height:calc(100% - 385px)}.hero-copy{padding-top:335px}}
@media(max-width:680px){.hero-brand{top:9px}.hero-img{inset:auto;height:220px}}


/* Photo de couverture elargie vers la gauche, logo et texte conserves. */
.hero-img{inset:350px 0 80px 40%;width:60%;height:calc(100% - 430px)}
@media(max-width:850px) and (min-width:681px){.hero-img{inset:320px 0 65px 48%;width:52%;height:calc(100% - 385px)}}

/* Preserve the full combined photo on the retreat section. */
.retreat-art--combined img{height:auto;aspect-ratio:2420 / 1600;object-position:center}
@media(max-width:1150px){.retreat-layout{grid-template-columns:.85fr 1.15fr;gap:38px}.retreat-art--original{grid-column:1;grid-row:1 / 3}.retreat-copy{grid-column:2;grid-row:1}.retreat-art--combined{grid-column:2;grid-row:2}}
@media(max-width:680px){.retreat-art--original,.retreat-copy,.retreat-art--combined{grid-column:auto;grid-row:auto}.retreat-art--original{order:1}.retreat-copy{order:2}.retreat-art--combined{order:3}}
@media(max-width:900px){.retreat-layout{grid-template-columns:1fr;gap:38px}.retreat-art--original,.retreat-copy,.retreat-art--combined{grid-column:auto;grid-row:auto}.retreat-art--original{order:1}.retreat-copy{order:2}.retreat-art--combined{order:3}}

@media(max-width:1150px){.rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.rooms{grid-template-columns:1fr}}

/* Encadre le descriptif des hebergements pour le faire ressortir sans nuire a la lecture. */
.stay .section-heading > p[data-t="stayDesc"] {
  position: relative;
  flex: 0 1 680px;
  width: min(100%, 680px);
  max-width: 680px;
  margin: 0;
  padding: 25px 30px;
  color: #173f36;
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.85;
  background: rgba(255, 254, 251, .88);
  border: 1px solid rgba(36, 62, 53, .62);
  border-radius: 3px 28px 3px 28px;
  box-shadow: 6px 6px 0 rgba(183, 110, 76, .34), inset 0 0 0 4px rgba(183, 110, 76, .1);
}

/* Une grande vue à gauche, deux vues empilées à droite. */
#galerie.gallery.section.wrap { max-width: 1720px; padding-inline: clamp(24px, 3.2vw, 58px); }
.gallery-hint { display: flex; align-items: center; gap: 16px; font-size: 11px; color: var(--muted); }
#gallery-counter { color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: .12em; }
.gallery-grid--auto { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); aspect-ratio: 2.05 / 1; align-items: stretch; gap: clamp(10px, 1.25vw, 18px); }
.gallery-grid--auto .gallery-frame { display: block; position: relative; width: 100%; height: 100%; min-width: 0; margin: 0; aspect-ratio: auto; overflow: hidden; background: var(--sand); }
.gallery-grid--auto .gallery-main { grid-column: 1; grid-row: 1 / span 2; height: 100%; }
.gallery-grid--auto .gallery-frame--two { grid-column: 2; grid-row: 1; }
.gallery-grid--auto .gallery-frame--three { grid-column: 2; grid-row: 2; }
.gallery-grid--auto .gallery-frame img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .48s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.gallery-grid--auto .gallery-frame.is-changing img { opacity: 0; transform: scale(1.025); }
.gallery-frame--one { border-radius: 46% 46% 2px 2px / 24% 24% 2px 2px; }
.gallery-frame--two { border-radius: 2px 22% 2px 2px; }
.gallery-frame--three { border-radius: 2px 2px 24% 2px; }
@media (prefers-reduced-motion: reduce) {
  .gallery-grid--auto .gallery-frame img { transition: none; }
}
@media (max-width: 680px) {
  .gallery-hint { margin-top: 14px; }
  .gallery-grid--auto { grid-template-columns: 1fr !important; grid-template-rows: auto; aspect-ratio: auto; gap: 12px; }
  .gallery-grid--auto .gallery-frame { grid-column: auto; grid-row: auto; width: 100%; height: auto; aspect-ratio: var(--photo-ratio, 1.333); }
}
.stay .section-heading > p[data-t="stayDesc"]::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(183, 110, 76, .42);
  border-radius: 2px 21px 2px 21px;
  pointer-events: none;
}
.stay .section-heading > p[data-t="stayDesc"]::after {
  content: "✳";
  position: absolute;
  top: -13px;
  left: 23px;
  padding: 0 8px;
  color: #9c553f;
  background: var(--sand);
  font-size: 18px;
  line-height: 1.3;
}
@media (max-width: 900px) {
  .stay .section-heading > p[data-t="stayDesc"] {
    width: 100%;
    max-width: 100%;
    margin-top: 22px;
    padding: 24px 26px;
  }
}
@media (max-width: 680px) {
  .stay .section-heading > p[data-t="stayDesc"] {
    padding: 22px 22px;
    font-size: 14px;
  }
}
