/* base.css */
:root{--green:#2e5e4e;--dark:#233f32;--deep:#172f27;--sage:#789567;--lime:#cfc58b;--paper:#f8f7f2;--cream:#ecebdc;--ink:#293e31;--muted:#656756;--line:#d6dbce;--white:#fff;--font:'europa','DM Sans',sans-serif;--display:'europa','Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}figure{margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.09;letter-spacing:-.055em}h1{font-size:clamp(3.3rem,6.5vw,6.6rem)}h2{font-size:clamp(2.25rem,4.3vw,4.25rem)}h3{font-size:clamp(1.45rem,2.2vw,2.15rem);letter-spacing:-.04em}p+p{margin-top:1em}button{color:inherit}::selection{background:var(--lime);color:var(--dark)}:focus-visible{outline:3px solid #b0bd72;outline-offset:5px}.skip{position:fixed;top:-90px;z-index:100;background:#fff;padding:15px}.skip:focus{top:8px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:650;letter-spacing:.18em;line-height:1.5;display:block;margin-bottom:24px}.muted{color:var(--muted)}.small{font-size:14px;line-height:1.55}.wrap{max-width:1440px;margin:auto;padding:0 5.5%}.section{padding:105px 0}.section.tight{padding:65px 0}.section-head{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:46px}.section-head h2{max-width:730px}.section-head p{max-width:350px}.section-head .text-link{flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 26px;min-height:54px;background:var(--green);color:white;border:1px solid var(--green);border-radius:0;font-size:14px;font-weight:600;letter-spacing:.01em;transition:background .2s,transform .2s}.btn:hover{background:var(--dark);transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.light{background:var(--lime);border-color:var(--lime);color:var(--dark)}.btn.light:hover{background:#e7ebcf}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.btn.outline:hover{background:#ffffff14}.btn.small-btn{min-height:42px;padding:10px 18px}.btns{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:32px}.arrow{font-size:20px;line-height:1}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:14px;font-weight:600;border-bottom:1px solid;padding-bottom:7px}.text-link:hover{gap:38px}.prototype-bar{height:29px;background:var(--deep);color:#e2e8d7;display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;letter-spacing:.06em}.prototype-bar button{background:none;border:0;color:inherit;text-decoration:underline;font-size:11px;padding:0}.header{height:94px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.logo{display:flex;align-items:center;gap:11px;flex-shrink:0}.logo-img{width:168px;height:65px;object-fit:contain}.logo-type{font-family:Georgia,serif;font-size:34px;line-height:1;letter-spacing:.03em}.logo-type small{font-family:var(--font);display:block;font-size:9px;letter-spacing:.34em;text-transform:uppercase;margin-top:7px}.nav{display:flex;gap:26px;align-items:center;font-size:14px}.nav a{padding:8px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a.active{border-color:var(--green)}.header-actions{display:flex;align-items:center;gap:20px;font-size:14px}.menu-button{display:none;background:transparent;border:1px solid var(--line);width:46px;height:46px;font-size:23px}.mobile-nav{display:none}.hero{position:relative;min-height:670px;height:calc(100svh - 123px);max-height:950px;color:white;background:var(--dark);display:flex;align-items:end}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,18,.55),rgba(6,27,18,.06) 85%),linear-gradient(0deg,rgba(6,27,18,.62),transparent 80%)}.hero-content{position:relative;z-index:1;width:100%;padding:88px 6%;display:flex;align-items:end;justify-content:space-between;gap:40px}.hero h1{max-width:870px}.hero .eyebrow{color:#edf0da}.hero-copy{max-width:470px;margin-top:26px;font-size:18px;line-height:1.65}.hero-side{max-width:205px;flex-shrink:0;border-top:1px solid #ffffff70;padding-top:18px;font-size:14px;line-height:1.6}.hero-side a{margin-top:18px;font-size:12px}.hero.home-hero h1{max-width:790px}.hero.home-hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.hero-label{position:absolute;top:30px;right:4%;z-index:2;font-size:12px;letter-spacing:.08em}.facts-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:26px 5.5%;background:var(--cream);gap:20px}.facts-strip div{font-size:13px;border-right:1px solid #c3cbb8;display:flex;gap:12px;align-items:center;justify-content:center}.facts-strip div:last-child{border:0}.facts-strip b{font-size:17px;font-weight:500}.intro{display:grid;grid-template-columns:1fr 1.5fr;gap:10%;padding:120px 0}.intro h2{max-width:780px}.intro p{margin-top:28px;max-width:660px;font-size:19px;color:var(--muted)}.intro .eyebrow{padding-top:13px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.stay-card .card-image{aspect-ratio:4/4.7;overflow:hidden;position:relative;background:var(--cream)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.stay-card:hover img{transform:scale(1.035)}.card-number{position:absolute;left:20px;top:17px;color:white;font-size:12px}.stay-card h3{margin-top:25px}.stay-card p{font-size:16px;color:var(--muted);margin:15px 0 20px;max-width:360px}.stay-card .price{font-size:13px;display:block;margin:17px 0;color:var(--ink)}.stay-card .text-link{width:100%;justify-content:space-between}.dark-section{background:var(--dark);color:var(--paper)}.dark-section .muted,.dark-section p{color:#d0dacb}.dark-section .eyebrow{color:var(--lime)}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split-image{width:100%;height:620px;object-fit:cover}.split-copy p{margin-top:25px;max-width:550px}.split-copy h2{max-width:590px}.split.reverse .split-copy{order:-1}.mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.mini-facts div{border-top:1px solid #ffffff40;padding-top:14px;font-size:13px}.mini-facts b{display:block;color:white;font-size:18px;font-weight:500}.image-caption{font-size:12px;margin-top:13px;color:var(--muted);display:flex;justify-content:space-between}.duo{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start}.duo figure:nth-child(2){margin-top:150px}.duo img{width:100%;object-fit:cover;aspect-ratio:4/5}.duo figure:nth-child(2) img{aspect-ratio:1}.duo h3{margin:24px 0 14px}.duo p{color:var(--muted);font-size:16px;max-width:500px}.wide-photo{height:560px;position:relative;overflow:hidden}.wide-photo img{width:100%;height:100%;object-fit:cover}.wide-photo figcaption{position:absolute;left:5.5%;bottom:35px;color:white;font-size:14px;text-shadow:0 1px 7px #000}.editorial-quote{text-align:center;max-width:900px;margin:auto;padding:110px 30px}.editorial-quote h2{line-height:1.24}.editorial-quote p{margin-top:25px;color:var(--muted)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.room-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.room-card .meta{margin:19px 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.room-card h3{margin-bottom:15px}.room-card p{font-size:15px;color:var(--muted)}.room-card .room-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:13px;gap:10px}.cta-band{background:var(--lime);padding:76px 0}.cta-band .wrap{display:flex;gap:60px;justify-content:space-between;align-items:center}.cta-band h2{max-width:680px}.cta-band p{max-width:530px;margin-top:20px}.cta-band .btn{flex-shrink:0}.footer{background:var(--deep);color:var(--paper);padding:80px 0 24px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.35fr;gap:45px}.footer .logo-type{font-size:44px}.footer .eyebrow{color:#a8b99d;font-size:11px;margin-bottom:21px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14px}.footer a:hover{text-decoration:underline}.footer p{font-size:14px;color:#c6d1c3}.newsletter{display:flex;margin-top:20px;border-bottom:1px solid #83967f}.newsletter input{background:none;border:0;padding:12px 0;color:white;min-width:0;width:100%;font-size:14px}.newsletter button{background:none;color:var(--lime);border:0;font-size:24px;width:40px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:65px;padding-top:23px;font-size:11px;color:#bccbb8;display:flex;justify-content:space-between;gap:25px}.page-hero{padding:85px 0 75px}.page-hero h1{max-width:1050px;font-size:clamp(3.2rem,6vw,6rem)}.page-hero .lead{max-width:640px;margin-top:30px;font-size:19px;color:var(--muted)}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:32px}.breadcrumb a{text-decoration:underline}.page-hero.hero-split{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;padding:0;gap:0}.hero-split .hero-text{padding:75px 10%}.hero-split h1{font-size:clamp(3.2rem,5.6vw,5.8rem)}.hero-split>img{height:640px;width:100%;object-fit:cover}.hero-split .lead{font-size:17px}.subnav{display:flex;gap:32px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 5.5%;font-size:14px;white-space:nowrap}.subnav a:hover{text-decoration:underline}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-item{border-top:1px solid var(--line);padding:26px 0}.detail-item h3{font-size:23px;letter-spacing:-.035em;margin-bottom:15px}.detail-item p{font-size:16px;color:var(--muted)}.features-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:0;list-style:none}.features-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.features-list li:before{content:'+';margin-right:16px;color:var(--sage)}.rates{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.rate{padding:30px;border:1px solid var(--line)}.rate strong{font-weight:500;font-size:34px;display:block;letter-spacing:-.05em;line-height:1.2}.rate span{font-size:14px}.rate .eyebrow{margin-bottom:12px}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:12%}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:23px 36px 23px 0;font-size:18px;position:relative}.faq-list summary:after{content:'+';position:absolute;right:3px;font-size:24px;top:17px}.faq-list details[open] summary:after{content:'−'}.faq-list summary::-webkit-details-marker{display:none}.faq-list details>div{padding:0 35px 23px 0;color:var(--muted);font-size:16px}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:9%}.sticky-card{align-self:start;position:sticky;top:120px;background:var(--cream);padding:38px}.sticky-card h3{font-size:28px}.sticky-card p{font-size:15px;margin-top:17px}.sticky-card .btn{width:100%}.booking-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0}.booking-facts strong{display:block;font-size:18px;font-weight:500}.booking-facts span{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #b6c0b0;border-radius:0;background:var(--paper);color:var(--ink);padding:12px 13px;min-height:50px;font-size:16px}.field textarea{min-height:125px;resize:vertical}.field small{font-size:12px;color:var(--muted)}.field-error{color:#9a3525;font-size:14px}.form-note{background:#eef0e6;padding:15px 18px;font-size:14px;margin:22px 0;border-left:3px solid var(--sage)}.form-actions{margin-top:24px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.form-actions .small{max-width:340px}.booking-search{background:var(--cream);padding:30px;display:grid;grid-template-columns:1.2fr 1fr 1fr .75fr auto;gap:15px;align-items:end;margin:0 0 35px}.booking-search .btn{min-height:50px;padding:13px 20px}.results-summary{font-size:14px;margin:25px 0;padding:18px 0;border-bottom:1px solid var(--line)}.result-card{display:grid;grid-template-columns:240px 1fr auto;gap:30px;padding:26px 0;border-bottom:1px solid var(--line);align-items:center}.result-card>img{width:240px;height:185px;object-fit:cover}.result-card h3{margin-bottom:15px}.result-card p{max-width:450px;font-size:15px;color:var(--muted)}.result-side{text-align:right;display:grid;justify-items:end;gap:15px}.result-side .small{max-width:185px}.result-side .amount{font-size:24px}.pill{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:var(--cream);padding:6px 10px}.gallery-grid{columns:3;column-gap:24px}.gallery-item{margin-bottom:24px;break-inside:avoid;background:transparent;border:0;text-align:left;padding:0;width:100%}.gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-item:nth-child(3n) img{aspect-ratio:4/3}.gallery-item span{font-size:13px;display:block;margin-top:10px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.filter-bar button{padding:10px 20px;border:1px solid var(--line);background:none;font-size:14px}.filter-bar button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 28px}.journal-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.journal-card .eyebrow{margin:20px 0 12px;font-size:11px}.journal-card h3{font-size:26px;line-height:1.2}.journal-card p{font-size:15px;margin:17px 0;color:var(--muted)}.article{max-width:740px;margin:auto;padding:60px 28px 100px}.article .lead{font-size:23px;line-height:1.6;margin-bottom:55px}.article h2{font-size:32px;line-height:1.2;margin:48px 0 22px;letter-spacing:-.04em}.article p{line-height:1.85;margin-bottom:20px}.article ul{padding-left:24px}.article li{margin-bottom:12px}.article .article-note{font-size:14px;background:var(--cream);padding:25px;margin-top:40px}.modal-backdrop{position:fixed;inset:0;background:#081d17bf;z-index:90;display:flex;align-items:center;justify-content:center;padding:30px;overflow:auto}.modal{background:var(--paper);max-width:720px;width:100%;max-height:90svh;overflow:auto;padding:45px;position:relative;box-shadow:0 15px 70px #0004}.modal.large{max-width:1100px}.modal h2{font-size:35px;max-width:580px}.modal .close{position:absolute;right:12px;top:12px;width:36px;height:36px;background:none;border:1px solid var(--line);font-size:23px}.modal img{max-height:70vh;object-fit:contain;margin:20px auto 0}.modal p{margin-top:20px}.page-directory{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.page-directory a{font-size:14px;padding:9px;border-bottom:1px solid var(--line)}.page-directory a:hover{background:var(--cream)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--deep);color:white;font-size:14px;padding:15px 22px;max-width:90vw;z-index:120;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.step-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:25px}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.summary-line.total{font-size:22px;font-weight:500;margin-top:10px}.empty-state{padding:50px;background:var(--cream);margin:25px 0}.empty-state h3{margin-bottom:20px}.rooming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.rooming-grid h3{font-size:22px;margin-bottom:17px}.rooming-grid p{font-size:15px;color:var(--muted)}.rooming-grid a{display:block;font-size:14px;padding:9px 0;border-bottom:1px solid var(--line)}.rooming-grid a:hover{text-decoration:underline}.route-list{list-style:none;padding:0}.route-list li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:20px}.route-list strong{font-size:25px;font-weight:500}.route-list p{font-size:15px;color:var(--muted)}.note-panel{background:var(--cream);padding:35px;margin-top:30px}.note-panel h3{font-size:24px;margin-bottom:18px}.note-panel p{font-size:15px}.room-extra{margin-top:55px}.room-extra h3{margin-bottom:23px}.simple-sections{display:grid;grid-template-columns:1fr 1fr;gap:55px 65px}.simple-sections h3{margin-bottom:20px}.simple-sections p{font-size:17px;color:var(--muted)}.legal p{font-size:16px}.back-link{font-size:13px;margin-top:25px;text-decoration:underline;display:inline-block}.room-photograph-label{font-size:12px;color:var(--muted);padding-top:10px}
@media(min-width:1700px){.hero-content{padding-left:max(6%,calc((100vw - 1440px)/2))}.hero h1{font-size:105px}}
@media(max-width:1150px){.nav{gap:17px;font-size:13px}.header-actions>.text-link{display:none}.header{gap:15px}.logo-img{width:140px}.header .btn{padding:13px 19px}.hero-side{display:none}.split-image{height:550px}.section{padding:85px 0}.footer-top{grid-template-columns:1fr 1fr;gap:45px 70px}.booking-search{grid-template-columns:1fr 1fr 1fr}.booking-search .btn{grid-column:2/4}.result-card{grid-template-columns:190px 1fr}.result-card>img{width:190px;height:170px}.result-side{grid-column:2;grid-row:2;display:flex;justify-content:space-between;align-items:center;text-align:left}.gallery-grid{columns:2}.hero-split>img{height:600px}.hero-split .hero-text{padding:60px 9%}}
@media(max-width:800px){body{font-size:16px}.header{height:77px;padding:0 5%;gap:15px}.nav{display:none}.menu-button{display:block}.header-actions{gap:12px}.header-actions .btn{font-size:12px;padding:11px 13px;min-height:44px}.logo-img{width:128px;height:52px}.logo-type{font-size:29px}.prototype-bar{font-size:10px;height:28px}.prototype-bar button{font-size:10px}.mobile-nav.open{display:grid;position:fixed;inset:105px 0 0;z-index:29;background:var(--paper);padding:25px 7% 70px;align-content:start;gap:4px;overflow:auto}.mobile-nav a{font-size:25px;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--display)}.mobile-nav a.small{font-size:16px}.hero{min-height:620px;height:calc(100svh - 105px);max-height:820px}.hero-content{padding:70px 7% 62px}.hero h1{font-size:clamp(3rem,9vw,4.9rem)}.hero-copy{font-size:16px;max-width:430px}.hero .eyebrow{font-size:11px;margin-bottom:22px}.hero:after{background:linear-gradient(0deg,#061b13bc,rgba(6,27,18,.08))}.hero-label{font-size:10px;right:7%;top:22px}.wrap{padding:0 7%}.facts-strip{grid-template-columns:1fr 1fr;padding:22px 7%;gap:18px}.facts-strip div{font-size:11px;justify-content:start;gap:8px}.facts-strip b{font-size:14px}.facts-strip div:nth-child(2){border:0}.section{padding:68px 0}.section.tight{padding:45px 0}.intro{grid-template-columns:1fr;padding:65px 0;gap:10px}.intro .eyebrow{padding:0;margin-bottom:15px}.intro p{font-size:17px}.section-head{display:block;margin-bottom:32px}.section-head p,.section-head .text-link{margin-top:25px}.three-grid{grid-template-columns:1fr;gap:45px}.stay-card .card-image{aspect-ratio:4/3}.stay-card p{max-width:none}.stay-card h3{font-size:30px}.split{grid-template-columns:1fr;gap:38px}.split-image{height:460px}.split.reverse .split-copy{order:initial}.split-copy h2{max-width:600px}.split-copy p{font-size:17px}.duo{gap:25px}.duo figure:nth-child(2){margin-top:100px}.duo h3{font-size:23px}.duo p{font-size:15px}.wide-photo{height:400px}.room-grid{grid-template-columns:1fr;gap:38px}.room-card h3{font-size:30px}.room-card img{aspect-ratio:4/3}.room-card p{font-size:16px}.cta-band{padding:60px 0}.cta-band .wrap{display:block}.cta-band .btn{margin-top:30px}.footer-top{gap:45px 35px}.footer{padding-top:60px}.footer-bottom{flex-wrap:wrap;margin-top:40px}.footer-bottom span{width:100%}.page-hero{padding:55px 0}.page-hero h1{font-size:clamp(3rem,9vw,4.8rem)}.page-hero .lead{font-size:17px;margin-top:23px}.page-hero.hero-split{display:flex;flex-direction:column}.hero-split .hero-text{padding:50px 7%}.hero-split>img{height:420px}.hero-split h1{font-size:clamp(3rem,9vw,4.8rem)}.faq-layout,.two-col{grid-template-columns:1fr;gap:38px}.faq-list summary{font-size:17px}.sticky-card{position:static;padding:28px}.booking-search{grid-template-columns:1fr 1fr;padding:22px;gap:17px}.booking-search>.field:first-child{grid-column:1/-1}.booking-search .btn{grid-column:auto}.booking-search .field{font-size:13px}.result-card{grid-template-columns:1fr;gap:20px}.result-card>img{width:100%;height:auto;aspect-ratio:4/3}.result-side{grid-column:1;grid-row:auto;flex-wrap:wrap}.journal-grid{grid-template-columns:1fr 1fr;gap:40px 24px}.journal-card h3{font-size:23px}.gallery-grid{column-gap:16px}.gallery-item{margin-bottom:20px}.rooming-grid{grid-template-columns:1fr 1fr}.simple-sections{gap:35px}.modal{padding:40px 25px}.modal-backdrop{padding:14px}.modal h2{font-size:30px}.detail-grid{gap:18px}.detail-item h3{font-size:22px}.rates{gap:15px}.rate{padding:25px 19px}.rate strong{font-size:29px}.eyebrow{margin-bottom:18px}.editorial-quote{padding:65px 20px}.subnav{gap:25px;padding-left:7%;font-size:13px}}
@media(max-width:480px){.header-actions .btn{display:none}.hero h1{font-size:3.25rem}.hero-content{padding-bottom:45px}.hero .btn{font-size:13px;padding:15px 18px}.hero .btns{gap:10px;margin-top:26px}.hero-copy{line-height:1.5}.hero-label{display:none}.hero{min-height:610px}.facts-strip b{font-size:13px}.facts-strip div{font-size:11px}.duo{grid-template-columns:1fr;gap:38px}.duo figure:nth-child(2){margin-top:0}.duo img,.duo figure:nth-child(2) img{aspect-ratio:4/3}.split-image{height:360px}.detail-grid,.simple-sections,.rates{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:35px 22px}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:1/-1}.footer .logo-type{font-size:40px}.footer ul{font-size:14px}.footer-top>div:first-child p{max-width:250px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.gallery-grid{columns:1}.gallery-item img{aspect-ratio:4/3}.journal-grid{grid-template-columns:1fr}.journal-card h3{font-size:28px}.rooming-grid{grid-template-columns:1fr}.rooming-grid h3{font-size:26px}.page-directory{grid-template-columns:1fr}.features-list{grid-template-columns:1fr}.booking-search .btn{font-size:12px;padding:13px 10px}.booking-facts{gap:12px}.booking-facts strong{font-size:16px}.cta-band h2{font-size:38px}.page-hero h1,.hero-split h1{font-size:3.2rem}.hero-split>img{height:330px}.wide-photo{height:330px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.brand-mark{height:57px;width:64px;object-fit:contain}.footer .brand-mark{filter:brightness(0) invert(1);opacity:.8}.footer-directory{border:0;background:none;padding:0;font-size:11px;color:inherit;text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.dark-section .image-caption{color:#d0dacb}.dark-section .detail-item{border-color:#ffffff35}.dark-section .features-list li{border-color:#ffffff35}.dark-section .features-list li:before{color:var(--lime)}.stay-card .price{min-height:43px}.result-side .amount{white-space:nowrap}
@media(max-width:1150px){.brand-mark{height:49px;width:51px}.header .logo-type{font-size:29px}.header .logo-type small{font-size:8px}.header .logo{gap:6px}}
@media(max-width:800px){.brand-mark{height:45px;width:48px}.header .logo-type{font-size:28px}.footer .brand-mark{height:62px;width:70px}}
.brand-symbol{display:block;width:46px;height:32px;overflow:hidden;flex-shrink:0}.brand-symbol .brand-mark{width:59px;height:auto;max-width:none;transform:translate(-6px,-1px);filter:brightness(0);opacity:.73}.footer .brand-symbol .brand-mark{filter:brightness(0) invert(1)}.hero{min-height:600px}.hero-content{padding-top:65px;padding-bottom:65px}.hero-copy{max-width:480px}
@media(max-width:800px){.brand-symbol{width:38px;height:28px}.brand-symbol .brand-mark{width:50px;transform:translate(-6px,-1px)}.hero-content{padding-top:60px;padding-bottom:55px}.hero{min-height:610px}}
.brand-symbol{height:24px}.stay-card{display:flex;flex-direction:column}.stay-card p{flex:1}.stay-card .card-image{flex-shrink:0}.stay-card .price{min-height:43px}.stay-card .text-link{margin-top:auto}
@media(max-width:800px){.brand-symbol{height:20px}}
@media(max-width:480px){.hero .btns{display:grid;grid-template-columns:1fr}.hero .btns .btn{justify-content:space-between}.hero h1{font-size:3.05rem}.hero-content{padding-bottom:35px}}
.field,.field input,.field select,.field textarea{min-width:0;max-width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.booking-search{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-search input[type=date]{font-size:14px;padding:12px 8px}.booking-search .btn{gap:8px}}
@media(max-width:480px){.form-grid{grid-template-columns:minmax(0,1fr)}}

/* Original logo artwork with exact background removal through SVG compositing. */
.synergy-logo{display:block;width:205px;height:auto;max-width:none}.footer .synergy-logo{width:245px}.footer-top>div:first-child{min-width:0}
@media(max-width:1150px){.synergy-logo{width:175px}}
@media(max-width:800px){.synergy-logo{width:165px}.footer .synergy-logo{width:220px}}

/* design.css */
:root{--paper:#fafaf7;--cream:#eeeade;--ink:#253c32;--dark:#253c32;--deep:#192f27;--muted:#667168;--line:#dce0d7;--font:'Instrument Sans',sans-serif;--display:'Instrument Serif',Georgia,serif}
html{scroll-padding-top:110px}body{font-size:17px}h1,h2,h3{font-weight:400;letter-spacing:-.035em}h2{font-size:clamp(2.9rem,5.5vw,5.8rem);line-height:1.04}h3{font-size:clamp(2rem,3vw,3rem)}h1 em,h2 em{font-weight:400}a,button{-webkit-tap-highlight-color:transparent}.eyebrow{font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:.12em}.wrap{max-width:1520px;padding-inline:clamp(20px,5vw,80px)}.section{padding-block:clamp(64px,8vw,128px)}.section-head{align-items:start}.section-head>.eyebrow{margin-top:12px;min-width:180px}.section-head h2{max-width:780px}.btn{border-radius:999px;padding:10px 12px 10px 23px;min-height:48px;font-size:14px;font-weight:500;gap:22px}.btn .arrow{display:flex;justify-content:center;align-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff20}.btn.light{color:var(--ink);background:var(--paper);border-color:var(--paper)}.btn.light .arrow{background:#dfe5dc}.text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:22px}.text-link .arrow{border:1px solid currentColor;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.prototype-bar{background:#e9ecdf;color:#314437;min-height:34px;gap:16px;font-size:12px;letter-spacing:.06em}.prototype-bar a{text-decoration:underline;text-underline-offset:3px}.header{position:sticky;top:0;z-index:30;background:#fafaf7ed;backdrop-filter:blur(16px);height:90px;border-bottom:1px solid #253c3214;padding-inline:clamp(20px,4vw,64px)}.header .synergy-logo{width:180px}.nav{gap:22px}.nav a{font-size:14px}.header-actions{gap:20px}.header-actions>.text-link{display:none}.header-actions .btn{white-space:nowrap}.mobile-nav{top:90px;max-height:calc(100svh - 90px);overflow:auto;background:var(--paper)}
.editorial-hero{position:relative;min-height:680px;height:calc(100svh - 140px);max-height:1050px;margin:0 16px;isolation:isolate;color:white;border-radius:20px;overflow:hidden;background:var(--deep)}.editorial-landscape{position:absolute;inset:0;z-index:-1}.editorial-landscape>img{height:100%;width:100%;object-fit:cover;object-position:center 56%;animation:arrive 7s ease-out both}.editorial-landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10261e35,#10261e65 55%,#10261e99)}.editorial-title{min-height:inherit;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:64px 24px 108px}.editorial-title .eyebrow{margin-bottom:24px}.editorial-title h1{font-size:clamp(4rem,7.6vw,8.3rem);line-height:.98;max-width:1100px;text-wrap:balance}.hero-bottom{display:flex;flex-direction:column;align-items:center;gap:28px;margin-top:30px}.hero-bottom p{font-size:18px;line-height:1.6;max-width:600px}.hero-bottom .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.hero-bottom .arrow{background:#e2e6da}.editorial-landscape figcaption{position:absolute;z-index:2;bottom:26px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.04em}.editorial-landscape figcaption>a{font-size:24px;min-width:44px;min-height:44px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center}.frame-corner{position:absolute;z-index:2;width:25px;height:25px;opacity:.6}.corner-tl{top:24px;left:24px;border-left:1px solid white;border-top:1px solid white}.corner-br{bottom:24px;right:24px;display:none}.manifesto{display:grid;grid-template-columns:1fr 2.1fr;gap:60px;padding-block:120px}.manifesto>div:first-child{padding-top:15px}.manifesto h2{font-size:clamp(2.9rem,4.9vw,5.3rem)}.manifesto p{max-width:640px;margin:30px 0 20px;color:var(--muted);font-size:18px}.ways-section{padding:100px 0 115px;background:#edf0e8}.ways-section .section-head{justify-content:space-between;margin-bottom:64px}.editorial-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.way-photo{display:block;position:relative;overflow:hidden;border-radius:14px;aspect-ratio:.88;background:var(--cream)}.way-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.way-photo>span{position:absolute;top:18px;left:18px;border:1px solid #ffffff80;border-radius:100px;background:#1b352960;color:white;padding:7px 12px;font-size:12px}.editorial-way h3{margin:25px 0 15px}.editorial-way p{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:20px;max-width:390px}.immersive-panel{position:relative;min-height:760px;display:flex;align-items:center;color:white;isolation:isolate;overflow:hidden;margin:16px;border-radius:20px;background:var(--deep)}.immersive-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.immersive-panel:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0f251ce0,#0f251c77 56%,#0f251c10)}.immersive-copy{padding:85px 6%;max-width:770px}.immersive-copy h2{font-size:clamp(3.5rem,6.7vw,7.4rem)}.immersive-copy p{margin:30px 0;max-width:445px;font-size:18px}.immersive-foot{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:12px}.life-section{padding-block:120px}.life-grid{display:grid;grid-template-columns:1.22fr 1fr;gap:7%;align-items:start}.life-grid figure:last-child{margin-top:140px}.life-grid img{width:100%;aspect-ratio:1.14;object-fit:cover;border-radius:14px}.life-grid figure:last-child img{aspect-ratio:.92}.life-grid figcaption{padding-top:23px}.life-grid figcaption>span{font-size:12px;letter-spacing:.09em;color:var(--muted)}.life-grid h3{margin-top:12px}.life-grid p{font-size:16px;margin-top:12px;max-width:380px;color:var(--muted)}.life-link{margin-top:40px}.coast-section{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding:70px 6%;background:#e8ecdf}.coast-section figure img{width:100%;aspect-ratio:.91;object-fit:cover;border-radius:16px}.coast-section h2{font-size:clamp(3.1rem,5.4vw,5.6rem)}.coast-section p{margin:28px 0 22px;max-width:450px;color:#546254}.coast-facts{display:flex;gap:55px;margin-top:46px;padding-top:25px;border-top:1px solid #253c3230}.coast-facts span{display:flex;flex-direction:column;font-size:13px}.coast-facts strong{font:40px var(--display);font-weight:400}.faq-layout>.faq-list{min-width:0}.faq-layout>div>.text-link{margin-top:25px}.faq-list summary{font-size:18px}.faq-list details{border-color:var(--line)}.cta-band{background:#eee9da;padding:100px 0}.cta-band h2{font-size:clamp(3.6rem,6vw,6.4rem);max-width:850px}.cta-band .wrap{align-items:center}.footer{border-radius:20px 20px 0 0;padding-top:85px;background:var(--deep)}.footer p,.footer a,.footer li{font-size:14px}.footer .synergy-logo{width:230px}.footer-top{gap:35px}.footer-bottom{font-size:12px}.page-hero h1{font-size:clamp(3.3rem,6.5vw,7rem)}.page-hero{padding-block:80px}.hero-split{margin:0 16px;border-radius:20px;overflow:hidden;background:#e9ecdf}.hero-split>img{border-radius:0}.hero:not(.hero-split){margin:0 16px;border-radius:20px;overflow:hidden;min-height:620px}.hero h1{font-size:clamp(3.6rem,6.8vw,7rem)}.hero-content{padding:75px 6%}.split-image,.room-card img,.journal-card img,.duo img,.wide-photo img,.gallery-item img{border-radius:14px}.room-card,.journal-card{min-width:0}.room-card h3,.journal-card h3{font-size:2.3rem}.facts-strip{background:transparent;border-bottom:1px solid var(--line);padding-block:35px}.facts-strip b{font-family:var(--display);font-weight:400;font-size:44px}.facts-strip span{font-size:13px}.subnav{background:#fafaf7ed;backdrop-filter:blur(12px)}.sticky-card,.note-panel{border-radius:16px}.detail-item h3{font-size:2rem}.rate strong{font-family:var(--display);font-weight:400}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}.reveal.is-visible{opacity:1;transform:none}.reveal:focus-within{opacity:1;transform:none}.btn{transition:background .25s,transform .25s}.btn:active{transform:scale(.98)}
@keyframes arrive{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(hover:hover) and (pointer:fine){.way-photo:hover img{transform:scale(1.045)}.text-link:hover .arrow{transform:rotate(45deg)}.text-link .arrow{transition:transform .3s}}
@media(min-width:1500px){.editorial-hero{min-height:760px}}
@media(max-width:1100px){.nav{display:none}.menu-button{display:block}.header-actions>.btn{display:inline-flex}.manifesto{gap:35px;grid-template-columns:1fr 2fr}.editorial-ways{gap:20px}.editorial-way h3{font-size:2.2rem}.hero-side{display:none}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.immersive-panel{min-height:650px}}
@media(max-width:760px){.header{height:78px}.header .synergy-logo{width:155px}.header-actions{gap:13px}.header-actions>.btn{font-size:12px;padding:8px 12px;min-height:42px}.header-actions>.btn .arrow{display:none}.mobile-nav{top:78px}.prototype-bar{font-size:10px;min-height:32px;gap:9px;padding-inline:12px}.editorial-hero{margin:0 10px;border-radius:14px;min-height:650px;height:calc(100svh - 124px);max-height:none}.editorial-title{padding:64px 20px 100px}.editorial-title h1{font-size:clamp(3.1rem,9.2vw,4.5rem)}.editorial-title .eyebrow{font-size:11px}.hero-bottom{margin-top:27px;gap:24px}.hero-bottom p{font-size:16px;max-width:420px}.hero-bottom p br{display:none}.editorial-landscape>img{object-position:58% center}.editorial-landscape figcaption{left:20px;right:20px;bottom:20px;font-size:10px;gap:20px}.editorial-landscape figcaption>span:nth-child(2){display:none}.manifesto{grid-template-columns:1fr;gap:32px;padding-block:75px}.manifesto>div:first-child{padding:0}.manifesto .eyebrow{margin-bottom:9px}.manifesto h2 br{display:none}.manifesto p{font-size:17px;margin-top:24px}.ways-section{padding-block:70px}.section-head{flex-direction:column;gap:20px;margin-bottom:35px}.section-head .eyebrow{margin:0}.editorial-ways{grid-template-columns:1fr;gap:48px}.editorial-way{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.editorial-way h3{margin-top:0}.editorial-way p{font-size:15px}.way-photo{aspect-ratio:.8}.way-photo>span{font-size:10px;left:10px;top:10px}.immersive-panel{margin:10px;min-height:640px;border-radius:14px}.immersive-copy{padding:75px 7% 105px}.immersive-copy h2{font-size:clamp(3.1rem,9vw,4.5rem)}.immersive-copy p{font-size:16px}.immersive-foot{font-size:10px;gap:20px}.immersive-foot span:last-child{display:none}.life-section{padding-block:70px}.life-grid{gap:25px}.life-grid figure:last-child{margin-top:80px}.life-grid h3{font-size:2rem}.life-grid p{font-size:15px}.life-grid figcaption>span{font-size:10px}.coast-section{grid-template-columns:1fr;padding:45px 20px 60px;gap:40px}.coast-section figure img{aspect-ratio:1.3}.coast-section p{max-width:100%}.coast-facts{margin-top:32px}.cta-band{padding:70px 0}.cta-band .wrap{align-items:start}.footer{padding-top:65px}.footer-top{gap:40px 25px}.footer .synergy-logo{width:190px}.page-hero{padding-block:50px}.hero-split{margin:0 10px}.hero:not(.hero-split){margin:0 10px;border-radius:14px;min-height:620px}.hero h1{font-size:clamp(3rem,9vw,4.8rem)}.hero-content{padding:65px 7%}.facts-strip{padding:25px 20px}.facts-strip b{font-size:36px}.faq-layout{gap:35px}.subnav{top:78px}.btn{max-width:100%}.section-head p{max-width:none}.footer-bottom{gap:18px}}
@media(max-width:480px){.editorial-title h1{font-size:clamp(2.8rem,10vw,3.9rem)}.editorial-title{padding-inline:15px}.editorial-hero{min-height:600px}.editorial-way{grid-template-columns:1fr;gap:22px}.way-photo{aspect-ratio:1.08}.editorial-way h3{font-size:2.5rem}.editorial-way p{font-size:16px}.life-grid{grid-template-columns:1fr;gap:45px}.life-grid figure:last-child{margin-top:0}.life-grid figure:last-child img{aspect-ratio:1.14}.life-grid h3{font-size:2.4rem}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:1/-1}.header-actions>.btn{display:none}.hero .btns{align-items:start}.hero .btn{font-size:13px}.editorial-title .eyebrow{font-size:10px;letter-spacing:.08em}.coast-facts{gap:40px}}
@media(pointer:coarse){.editorial-landscape>img{animation:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Motion direction: word reveals, moving contact sheet, gentle scroll depth. */
.word-heading .motion-word{display:inline-block;opacity:0;transform:translateY(32px) rotate(2deg);filter:blur(7px);transition:opacity .9s ease,transform 1.05s cubic-bezier(.16,1,.3,1),filter .9s ease;transition-delay:calc(var(--word)*65ms)}.word-heading.motion-visible .motion-word{opacity:1;transform:none;filter:blur(0)}.reading-word{transition:opacity .45s ease}.editorial-landscape>img{animation:none;transform:translateY(var(--drift,0px)) scale(1.12);height:100%}.immersive-image{transform:translateY(var(--drift,0px)) scale(1.12)}.photo-unveil img{clip-path:inset(12% 0 12% 0 round 50%);transform:scale(.94);transition:clip-path 1.5s cubic-bezier(.2,.65,.2,1),transform 1.5s cubic-bezier(.2,.65,.2,1)}.photo-unveil.motion-visible img{clip-path:inset(0 round 14px);transform:scale(1)}.photo-film{padding:5px 0 100px;overflow:hidden}.film-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.film-heading .eyebrow{margin:0}.film-controls{display:flex;gap:8px;align-items:center}.film-controls button{border:1px solid var(--line);border-radius:999px;background:transparent;min-width:44px;min-height:44px;font-size:16px}.film-controls [data-film=pause]{font-size:12px;padding-inline:15px}.film-window{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a5b39c transparent;padding:25px 0 35px;perspective:1400px;cursor:grab}.film-window:active{cursor:grabbing}.film-track{display:flex;gap:26px;width:max-content;padding-inline:5vw;align-items:center}.film-frame{width:clamp(240px,30vw,470px);transform:rotate(-2deg);flex-shrink:0;transition:transform .6s ease}.film-frame:nth-child(even){transform:rotate(2deg) translateY(13px)}.film-frame img{width:100%;aspect-ratio:1.18;object-fit:cover;border-radius:15px}.film-frame figcaption{display:flex;gap:25px;margin-top:16px;font:24px var(--display)}.film-frame figcaption span{font:11px var(--font);padding-top:6px;color:var(--muted)}.film-window:focus-visible{outline-offset:-5px}.editorial-title .eyebrow{animation:soft-arrival 1s both}.hero-bottom{animation:soft-arrival 1.2s .35s both}.mobile-nav.open{animation:menu-arrival .5s cubic-bezier(.16,1,.3,1) both}.mobile-nav.open a{animation:soft-arrival .6s both}.mobile-nav.open a:nth-child(2){animation-delay:.04s}.mobile-nav.open a:nth-child(3){animation-delay:.08s}.mobile-nav.open a:nth-child(4){animation-delay:.12s}.mobile-nav.open a:nth-child(5){animation-delay:.16s}@keyframes soft-arrival{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes menu-arrival{from{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}
@media(hover:hover) and (pointer:fine){.film-frame:hover{transform:rotate(0) translateY(-5px)}.btn:hover .arrow{transform:rotate(45deg);background:#ffffff40}.btn .arrow{transition:transform .4s,background .4s}.btn.light:hover .arrow{background:#cbd5c4}}
@media(max-width:760px){.photo-film{padding-bottom:65px}.film-heading{align-items:start;gap:18px}.film-heading .eyebrow{max-width:145px;font-size:11px}.film-controls{gap:5px}.film-controls [data-film=pause]{font-size:11px;padding-inline:10px}.film-track{gap:18px}.film-frame{width:72vw}.film-frame figcaption{font-size:22px}.word-heading .motion-word{transform:translateY(20px);transition-delay:calc(var(--word)*45ms)}}
@media(prefers-reduced-motion:reduce){.word-heading .motion-word{opacity:1;transform:none;filter:none}.reading-word{opacity:1!important}.photo-unveil img{clip-path:none;transform:none}.editorial-landscape>img,.immersive-image{transform:none}.film-frame,.film-frame:nth-child(even){transform:none}.hero-bottom,.editorial-title .eyebrow{animation:none}.film-controls [data-film=pause]{display:none}}
.editorial-title .motion-word{animation:hero-word 1.15s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(100ms + var(--word)*80ms)}@keyframes hero-word{from{opacity:0;filter:blur(9px);transform:translateY(30px)}to{opacity:1;filter:blur(0);transform:none}}
/* Spatial ribbon: a continuous curved horizon, with native touch scrolling. */
.photo-film{background:#e9ecdf;padding:85px 0 50px;position:relative;isolation:isolate}.photo-film:before{content:'';position:absolute;z-index:-1;inset:15% 0 0;background:radial-gradient(ellipse at 50% 70%,#fafbf480,transparent 65%);pointer-events:none}.film-heading{align-items:end;margin-bottom:0}.film-heading h2{font-size:clamp(3.8rem,6.3vw,6.8rem);line-height:.99}.film-heading .eyebrow{margin-bottom:23px}.film-controls{padding-bottom:8px}.film-controls button{border-color:#aebca8;background:#ffffff30}.film-window{position:relative;width:100%;padding:50px 0 145px;perspective:1200px;perspective-origin:50% 45%;scrollbar-width:none;overflow-y:hidden;touch-action:pan-x pan-y;user-select:none;cursor:grab}.film-window::-webkit-scrollbar{display:none}.film-track{gap:30px;padding:0;align-items:start;transform-style:preserve-3d}.film-frame,.film-frame:nth-child(even){position:relative;width:clamp(270px,29vw,510px);transform:translate3d(0,var(--bend-y,0px),var(--bend-z,0px)) rotateY(var(--bend-angle,0deg)) rotateZ(var(--bend-roll,0deg));transform-origin:center;transition:none;backface-visibility:hidden;border-radius:10px;overflow:hidden;background:var(--deep);box-shadow:0 25px 35px -23px #172f2745}.film-frame img{width:100%;aspect-ratio:.86;border-radius:0;object-fit:cover;transform:scale(1.12) translateX(var(--image-shift,0%));pointer-events:none}.film-frame:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#10281d99);pointer-events:none}.film-frame figcaption{position:absolute;inset:auto 25px 22px;z-index:1;color:white;display:flex;gap:14px;align-items:center;font-size:clamp(23px,2vw,34px);margin:0}.film-frame figcaption span{font:11px var(--font);color:#ffffffe0;padding:0}.ribbon-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:-35px;position:relative;z-index:2}.ribbon-bottom>span{font-size:12px;letter-spacing:.06em;color:#56684e}.ribbon-bottom>span>span{margin-left:15px;font-size:22px}.film-window.is-dragging{cursor:grabbing}.film-window.is-dragging .film-frame{filter:saturate(1.1)}
@media(hover:hover) and (pointer:fine){.film-frame:hover{transform:translate3d(0,var(--bend-y,0px),var(--bend-z,0px)) rotateY(var(--bend-angle,0deg)) rotateZ(var(--bend-roll,0deg))}.film-controls button:hover{background:var(--deep);color:white}}
@media(min-width:1700px){.film-window{perspective:1700px}}
@media(max-width:760px){.photo-film{padding:60px 0 35px}.film-heading{align-items:start;gap:20px}.film-heading h2{font-size:clamp(3rem,8vw,4rem)}.film-heading .eyebrow{max-width:none;font-size:10px;margin-bottom:17px}.film-controls{flex-wrap:wrap;max-width:130px;justify-content:end;padding-top:5px}.film-controls [data-film=pause]{order:3;min-width:100px}.film-window{padding:40px 0 95px;perspective:800px}.film-track{gap:20px}.film-frame,.film-frame:nth-child(even){width:67vw;max-width:390px}.film-frame img{aspect-ratio:.84}.film-frame figcaption{inset:auto 18px 20px;font-size:25px}.ribbon-bottom{margin-top:-20px}.ribbon-bottom .text-link{font-size:12px;gap:12px}.ribbon-bottom>span{font-size:10px}.ribbon-bottom>span>span{margin-left:5px}}
@media(prefers-reduced-motion:reduce){.film-frame,.film-frame:nth-child(even),.film-frame:hover{transform:none}.film-frame img{transform:none}.film-track{padding-inline:5vw}.film-window{padding-bottom:55px}.ribbon-bottom{margin-top:0}}
/* Clear offers, documented room galleries, and guest stories. */
#ways{scroll-margin-top:100px}.ways-section{padding-block:85px}.ways-section .section-head{align-items:end}.ways-section .section-head p{max-width:360px;font-size:17px;color:var(--muted)}.editorial-way{display:flex;flex-direction:column;align-items:stretch}.editorial-way .way-photo{aspect-ratio:1.23;width:100%}.offer-copy{display:flex;flex-direction:column;flex:1}.offer-type{font:600 15px var(--font);display:block;margin:25px 0 14px}.editorial-way .offer-copy h3{font-size:clamp(2rem,2.7vw,3rem);margin:0 0 18px}.offer-copy>p{font-size:16px;margin-bottom:20px}.offer-details{list-style:none;padding:0;margin:auto 0 20px;border-top:1px solid var(--line)}.offer-details li{font-size:13px;line-height:1.5;padding:10px 0;border-bottom:1px solid var(--line)}.offer-copy>.text-link{align-self:start;font-size:14px}.hospitality-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:28px;align-items:start}.hospitality-grid figure:nth-child(2){padding-top:70px}.hospitality-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}.hospitality-grid figure:first-child img{aspect-ratio:.95}.hospitality-grid h3{font-size:2.4rem;margin:22px 0 12px}.hospitality-grid p{font-size:16px;color:var(--muted)}.river-story{background:var(--deep);color:var(--paper);padding-bottom:75px}.river-photo{height:clamp(320px,48vw,690px);overflow:hidden}.river-photo img{width:100%;height:100%;object-fit:cover;object-position:center 65%}.river-story-copy{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;padding-top:65px}.river-story-copy h2{font-size:clamp(3rem,4.8vw,5rem)}.river-story-copy p{font-size:17px;margin-top:35px;margin-bottom:20px;color:#dce4d8}.guest-layout{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(35px,8vw,120px);max-width:1160px;margin:auto;align-items:start}.guest-video video{width:100%;aspect-ratio:9/16;background:var(--deep);border-radius:15px;display:block}.guest-video figcaption{font-size:13px;margin-top:14px;color:var(--muted)}.testimonial-intro h3{font-size:2.7rem;margin-bottom:18px}.testimonial-intro>p{color:var(--muted);font-size:16px}.review-stack blockquote{margin:30px 0 0;padding:25px 0 0;border-top:1px solid var(--line)}.review-stack blockquote>p{font:clamp(1.6rem,2.5vw,2.2rem)/1.15 var(--display)}.review-stack blockquote footer{font:14px var(--font);margin-top:16px}.review-stack blockquote footer span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.review-source{display:inline-block;font-size:12px;color:var(--muted);margin-top:24px;text-decoration:underline}.room-photo-set{padding-top:35px;padding-bottom:60px}.room-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.room-photo-grid button{padding:0;border:0;background:transparent;text-align:left}.room-photo-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:12px}.room-photo-grid span{display:block;font-size:13px;color:var(--muted);margin-top:10px}.room-photo-set>.small{margin-bottom:25px;max-width:800px}.casita-index{margin-top:70px}.casita-index>h3{margin-bottom:15px}.casita-index>p{max-width:750px;margin-bottom:30px;color:var(--muted)}.casita-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.casita-index-grid details{border-bottom:1px solid var(--line);padding-bottom:16px}.casita-index-grid summary{cursor:pointer;list-style:none}.casita-index-grid summary>img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:12px}.casita-index-grid summary>span{display:flex;justify-content:space-between;font:1.7rem var(--display);margin-top:14px}.casita-index-grid .room-photo-grid{grid-template-columns:1fr;gap:15px;margin-top:22px}.guest-voices .section-head{align-items:end}.gallery-grid img{aspect-ratio:1.2;object-fit:cover}.gallery-item{min-width:0}.gallery-item span{font-size:13px}.nav{gap:16px}.nav a{font-size:13px}
@media(max-width:900px){.hospitality-grid{grid-template-columns:1fr 1fr}.hospitality-grid figure:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.hospitality-grid figure:nth-child(2){padding-top:45px}.guest-layout{grid-template-columns:300px 1fr;gap:35px}.casita-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-details li{font-size:12px}}
@media(max-width:760px){.ways-section{padding-block:60px}.ways-section .section-head{align-items:start}.editorial-way{display:grid;grid-template-columns:1fr 1.1fr;gap:25px;align-items:start}.editorial-way .way-photo{aspect-ratio:.85}.offer-type{margin-top:0;font-size:14px}.offer-copy>p{font-size:15px}.offer-details{margin-top:0}.offer-details li{font-size:13px}.offer-copy>.text-link{font-size:13px}.river-story-copy{grid-template-columns:1fr;gap:15px;padding-top:40px}.river-story-copy p{margin-top:0}.river-story{padding-bottom:50px}.guest-layout{grid-template-columns:1fr;gap:35px}.guest-video{max-width:330px;width:100%;margin-inline:auto}.guest-voices .section-head{align-items:start}.hospitality-grid h3{font-size:2rem}.hospitality-grid p{font-size:15px}.room-photo-grid{gap:18px}.room-photo-set{padding-bottom:35px}.room-photo-grid span{font-size:12px}.casita-index-grid{gap:25px 18px}.testimonial-intro h3{font-size:2.5rem}}
@media(max-width:480px){.editorial-way{display:flex}.editorial-way .way-photo{aspect-ratio:1.22}.offer-type{margin-top:0}.editorial-way .offer-copy h3{font-size:2.5rem}.offer-copy>p{font-size:16px}.hospitality-grid{grid-template-columns:1fr;gap:40px}.hospitality-grid figure:nth-child(2){padding-top:0}.hospitality-grid figure:last-child{display:block}.hospitality-grid img,.hospitality-grid figure:first-child img{aspect-ratio:1.25}.room-photo-grid{grid-template-columns:1fr}.casita-index-grid{grid-template-columns:1fr}.river-photo{height:330px}}
.acro-story{background:#eeeade}.acro-story-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}.acro-story-grid figure:nth-child(2){padding-top:75px}.acro-story-grid img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:15px}.acro-story-grid figcaption{font:clamp(1.8rem,2.5vw,2.6rem) var(--display);margin-top:20px}.acro-note{font-size:13px;color:var(--muted);max-width:680px;margin-top:32px}.retreat-food-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:80px}.retreat-food-gallery img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:15px}.retreat-food-gallery figcaption{font-size:14px;color:var(--muted);margin-top:12px}.editorial-landscape>img{object-position:center 58%}@media(max-width:760px){.acro-story-grid{grid-template-columns:1fr;gap:35px}.acro-story-grid figure:nth-child(2){padding-top:0}.acro-story-grid img{object-fit:contain}.retreat-food-gallery{gap:20px;padding-bottom:45px}.retreat-food-gallery img{aspect-ratio:1}.editorial-landscape>img{object-position:35% center}}@media(max-width:480px){.retreat-food-gallery{grid-template-columns:1fr}.retreat-food-gallery img{aspect-ratio:1.4}}
/* A photographic room atlas, with one space in focus at a time. */
.stay-explorer{background:#e9eddf;overflow:hidden}.stay-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.stay-heading h2{font-size:clamp(3.8rem,7vw,7.5rem);margin-top:22px;line-height:.94}.stay-intro{max-width:310px;padding-bottom:7px}.stay-intro>p{font:clamp(1.8rem,2.6vw,2.5rem)/1.13 var(--display);margin-bottom:20px}.stay-intro>span{font-size:15px;line-height:1.65;display:block}.stay-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:clamp(28px,5vw,80px);align-items:start}.stay-scenes{min-width:0}.stay-scene[hidden]{display:none}.stay-photograph{position:relative;aspect-ratio:1.27;border-radius:140px 16px 16px 16px;isolation:isolate;background:#d7ddcd}.stay-photograph>img{width:100%;height:100%;object-fit:cover;border-radius:inherit;animation:stay-arrive .85s cubic-bezier(.2,.7,.3,1) both}.stay-photo-label{position:absolute;left:28px;bottom:25px;background:#193126dd;color:#fff;padding:8px 15px;border-radius:24px;font-size:14px}.stay-inset{position:absolute;right:24px;bottom:-28px;width:29%;border:6px solid #fafaf7;border-radius:9px;background:#fafaf7;transform:rotate(5deg);box-shadow:0 12px 30px #1c332a25;cursor:zoom-in;transition:transform .35s;color:var(--ink);padding:0}.stay-inset img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:4px}.stay-inset>span{font:12px/1.5 var(--font);display:block;padding:7px 2px}.stay-inset:hover,.stay-inset:focus-visible{transform:rotate(0) translateY(-5px)}.stay-story{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;padding-top:53px;animation:stay-copy .5s ease both}.stay-scene-number{font:clamp(3rem,5vw,5rem)/1 var(--display);color:#6d7c63}.stay-story h3{font-size:clamp(2.2rem,3.3vw,3.6rem);line-height:1.03}.stay-story p{font-size:16px;line-height:1.65;margin-top:16px}.stay-room-links{margin-top:23px}.stay-room-links>a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #253c3230;padding:15px 0;align-items:center}.stay-room-links strong{font-size:16px;font-weight:500;display:block}.stay-room-links a>span>span{display:block;font-size:14px;margin-top:5px}.stay-room-links a>span:last-child{font-size:26px}.stay-story .stay-note{font-size:14px;color:#52624e}.stay-selector>.eyebrow{display:block;margin-bottom:24px;font-size:12px}.stay-selector [role=tab]{position:relative;width:100%;display:flex;align-items:center;text-align:left;gap:14px;padding:20px 8px;border:0;border-top:1px solid #253c3233;background:transparent;color:var(--ink);cursor:pointer;transition:background .3s,padding .3s}.stay-selector [role=tab]:last-child{border-bottom:1px solid #253c3233}.stay-selector [role=tab][aria-selected=true]{background:#dce3d0;padding-inline:14px}.stay-selector [role=tab]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.stay-tab-number{font-size:12px;color:#586c56}.stay-selector [role=tab]>img{width:60px;height:68px;object-fit:cover;border-radius:30px 30px 5px 5px;transition:border-radius .4s,transform .4s;flex-shrink:0}.stay-selector [aria-selected=true]>img{border-radius:6px;transform:rotate(-5deg)}.stay-tab-name{font:clamp(1.5rem,2vw,2rem)/1.1 var(--display);flex:1}.stay-tab-name small{display:block;font:13px/1.4 var(--font);margin-top:9px;color:#52624e}.stay-tab-arrow{font-size:22px;opacity:.4;transition:transform .3s}.stay-selector [aria-selected=true] .stay-tab-arrow{opacity:1;transform:rotate(45deg)}.stay-selector-note{font:2rem/1.15 var(--display);margin:32px 8px 0;color:#5c6d55}@keyframes stay-arrive{from{opacity:.3;clip-path:inset(0 12% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes stay-copy{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.stay-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:24px}.stay-selector [role=tab]{gap:10px;padding-block:16px}.stay-selector [role=tab]>img{width:44px;height:54px}.stay-tab-number{display:none}.stay-photograph{border-top-left-radius:90px}.stay-story{gap:14px}.stay-scene-number{font-size:3rem}}
@media(max-width:680px){.stay-heading{display:block;margin-bottom:30px}.stay-heading h2{font-size:clamp(3.6rem,12vw,5rem)}.stay-intro{max-width:100%;margin-top:25px}.stay-intro>p{display:none}.stay-layout{display:flex;flex-direction:column;gap:28px}.stay-selector{order:-1;width:100%}.stay-selector>.eyebrow{margin-bottom:15px}.stay-selector [role=tablist]{display:flex;overflow-x:auto;gap:9px;padding:4px 2px 12px;scrollbar-width:thin}.stay-selector [role=tab]{width:180px;flex-shrink:0;border:1px solid #253c3230!important;border-radius:10px;padding:12px!important;align-items:center}.stay-tab-name{font-size:1.45rem}.stay-tab-arrow,.stay-selector-note{display:none}.stay-tab-name small{font-size:12px;margin-top:6px}.stay-selector [role=tab]>img{width:40px;height:52px}.stay-photograph{aspect-ratio:1.06;border-top-left-radius:90px}.stay-inset{right:18px;width:30%}.stay-photo-label{left:16px;bottom:18px;font-size:12px;max-width:60%}.stay-story{padding-top:45px}.stay-story h3{font-size:2.4rem}.stay-scene-number{font-size:2.7rem}.stay-selector [role=tab]:focus-visible{outline-offset:-3px}}
/* Slow photographic transitions, with the message held steady. */
.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 2s ease;overflow:hidden}.hero-slide.is-active{opacity:1}.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.035)}.hero-slide.is-active>img{animation:hero-drift 11s ease-out both}.hero-slide:nth-child(2)>img{transform-origin:35% 60%}.hero-slide:nth-child(3)>img{transform-origin:70% 55%}.hero-slides.is-paused img{animation-play-state:paused}.hero-motion-controls{display:flex;align-items:center;gap:16px}.hero-motion-controls button,.hero-motion-controls a{background:#1c332a40;color:#fff;border:1px solid #ffffff80;border-radius:24px;padding:10px 16px;font:13px var(--font);min-height:44px}.hero-motion-controls a{font-size:22px;padding:4px 15px}.editorial-landscape figcaption{align-items:center}.welcome-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.welcome-layout h2{margin-top:24px}.welcome-layout p{margin-top:25px;font-size:17px;line-height:1.7;max-width:530px}.welcome-layout .text-link{margin-top:25px}.welcome-photos{position:relative;padding:0 15% 24% 0}.welcome-photos figure:first-child img{width:100%;aspect-ratio:.85;object-fit:cover;border-radius:180px 180px 12px 12px}.welcome-photos figure:last-child{position:absolute;width:67%;right:0;bottom:0;transform:rotate(-5deg);border:8px solid var(--paper);border-radius:12px}.welcome-photos figure:last-child img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:7px}.included-story{background:#e9eddf}.included-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.included-photo{position:sticky;top:130px;border-radius:180px 15px 15px 15px;overflow:hidden;min-height:580px}.included-photo img{width:100%;height:640px;object-fit:cover}.included-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#152e22cc)}.included-photo figcaption{position:absolute;bottom:35px;left:35px;z-index:1;font:clamp(2.5rem,4vw,4.5rem)/1 var(--display);color:#fff}.included-list article{display:flex;gap:24px;border-top:1px solid #253c3230;padding:26px 0}.included-list article>span{font:16px var(--font);padding-top:9px;color:#67745c}.included-list h3{font-size:clamp(1.9rem,2.6vw,2.8rem);line-height:1.1}.included-list p{font-size:16px;line-height:1.7;margin-top:12px}.room-gallery-link{border:0;background:none;padding:0 0 15px;color:var(--ink);font:14px var(--font);text-decoration:underline;text-underline-offset:4px;min-height:44px;cursor:pointer}.room-gallery-dialog{width:min(1200px,96vw)!important;max-width:1200px!important;padding:clamp(24px,5vw,60px)!important}.room-gallery-intro{padding-right:24px;margin-bottom:32px}.room-gallery-intro h2{margin:15px 0}.room-gallery-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:30px}.room-gallery-mosaic figure:first-child{grid-column:1/-1}.room-gallery-mosaic img{width:100%;height:auto;border-radius:12px}.room-gallery-mosaic figcaption{font-size:14px;line-height:1.5;margin-top:10px;color:var(--muted)}.retreat-planner{background:#eeeade}.week-offer{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:40px 0}.week-offer>div{padding-block:25px;border-top:1px solid #253c3230}.night-price{display:flex;align-items:center;gap:25px;font:clamp(4rem,7vw,7rem)/1 var(--display);margin:18px 0}.night-price>span{font:16px/1.6 var(--font)}.week-offer p:not(.night-price){max-width:530px;font-size:16px;line-height:1.6;margin-top:18px}.free-host{display:inline-block;border-radius:30px;background:#d8e1cb;padding:8px 16px;font-size:14px;margin-bottom:18px}.week-offer h3{font-size:clamp(2rem,3vw,3rem)}.retreat-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.retreat-calendar>div{padding:23px 14px;background:#e0e6d4;border-radius:8px;display:flex;flex-direction:column;gap:18px;opacity:1}.retreat-calendar>div:last-child{background:#f9f8f2}.retreat-calendar span{font-size:14px}.retreat-calendar strong{font:clamp(1.7rem,2.7vw,3rem) var(--display)}.retreat-calendar small{font-size:12px}.calendar-visible>div{animation:calendar-day .6s calc(var(--day)*.13s) both}.calendar-note{font-size:14px;margin-top:16px;line-height:1.6}.profit-planner{margin-top:65px;display:grid;grid-template-columns:1.1fr 1fr;background:var(--paper);border-radius:18px;overflow:hidden}.planner-controls,.planner-result{padding:clamp(25px,4vw,60px)}.planner-controls>p{font-size:16px;line-height:1.65;margin-top:20px}.ticket-label{margin-top:34px;display:flex;gap:12px;justify-content:space-between;align-items:center}.ticket-label>label{font-size:15px;max-width:160px}.ticket-label>span{display:flex;align-items:center;gap:5px}.ticket-label input{width:130px!important;font-size:23px!important}.planner-controls input:not([type=range]),.planner-controls select{border:1px solid #bfc8b9;background:#fff;color:var(--ink);border-radius:7px;padding:12px;width:100%;min-width:0;font:16px var(--font)}.planner-controls input[type=range]{width:100%;margin-top:24px;accent-color:var(--ink);min-height:30px;cursor:pointer}.slider-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:28px}.planner-fields label{font-size:14px;display:flex;flex-direction:column;gap:10px;justify-content:end}.planner-fields label:nth-child(n+3){grid-column:1/-1}.planner-controls .planner-hint{font-size:13px;color:var(--muted)}.planner-result{background:var(--deep);color:#fff}.planner-result dl{margin-top:30px}.planner-result dl>div{display:flex;gap:15px;justify-content:space-between;padding:19px 0;border-bottom:1px solid #ffffff30;font-size:15px}.planner-result dt small{display:block;font-size:12px;margin-top:8px;color:#d6dece}.planner-result dd{white-space:nowrap;margin:0}.profit-total{padding-top:38px}.profit-total>span{display:block;font-size:15px}.profit-total strong{display:block;font:clamp(2.6rem,4.3vw,4.8rem)/1.1 var(--display);margin:14px 0;overflow-wrap:anywhere}.profit-total small{font-size:14px}.planner-result>p{font-size:14px;line-height:1.7;margin-top:25px}.planner-result .planner-disclaimer{font-size:12px;color:#d5dece}.planner-result .btn{margin-top:25px}#planner-error{color:#993e2b;font-size:14px}.costa-gallery{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;margin-bottom:25px}.costa-gallery figure:first-child{grid-row:span 2}.costa-gallery img{width:100%;aspect-ratio:1.8;object-fit:cover;border-radius:14px}.costa-gallery figure:first-child img{height:calc(100% - 35px);min-height:400px;aspect-ratio:auto;object-position:center;border-radius:150px 14px 14px 14px}.costa-gallery figcaption{font-size:14px;line-height:1.6;padding-top:10px}@keyframes hero-drift{from{transform:scale(1.035)}to{transform:scale(1.13)}}@keyframes calendar-day{from{transform:translateY(18px);background:#c0cfac}to{transform:none}}
@media(max-width:900px){.welcome-layout{gap:5%}.included-layout{gap:30px}.included-photo img{height:560px}.profit-planner{grid-template-columns:1fr 1fr}.planner-controls,.planner-result{padding:28px}.retreat-calendar>div{padding:18px 8px}.retreat-calendar span{font-size:12px}.stay-inset>span{font-size:11px}}
@media(max-width:680px){.welcome-layout,.included-layout,.week-offer,.profit-planner{grid-template-columns:1fr}.welcome-photos{max-width:470px;margin-bottom:35px}.welcome-layout h2 br:last-of-type{display:none}.included-photo{position:relative;top:auto;min-height:0;border-top-left-radius:110px}.included-photo img{height:auto;aspect-ratio:1.2}.included-photo figcaption{font-size:2.6rem;bottom:25px;left:25px}.included-list article{padding:23px 0;gap:17px}.week-offer{gap:15px}.retreat-calendar{overflow-x:auto;grid-template-columns:repeat(7,100px);padding-bottom:10px}.retreat-calendar span{font-size:14px}.retreat-calendar>div{padding:18px 12px}.retreat-calendar strong{font-size:2rem}.profit-planner{margin-top:35px}.planner-fields{gap:20px 14px}.room-gallery-mosaic{grid-template-columns:1fr;gap:25px}.costa-gallery{grid-template-columns:1fr;gap:28px}.costa-gallery figure:first-child{grid-row:auto}.costa-gallery figure:first-child img{min-height:0;height:auto;aspect-ratio:1.1;border-top-left-radius:100px}.editorial-landscape figcaption{gap:12px;left:18px;right:18px}.editorial-landscape figcaption>span:first-child{max-width:140px;font-size:10px;line-height:1.5}.hero-motion-controls{gap:8px}.hero-motion-controls button{padding:8px 10px;font-size:11px}.hero-motion-controls a{display:none}.hero-slide:first-child img{object-position:40% center}.planner-result .btn{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide img{animation:none!important;transform:none}.calendar-visible>div{animation:none!important}}
/* A full portrait gives this quieter moment its own presence. */
.presence-story{background:#192f27;color:#f4f2e8;margin:16px;border-radius:20px}.presence-story .welcome-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:8%;align-items:center}.presence-photo{min-width:0}.presence-photo a{display:block;position:relative;width:100%;padding:0;border:0;background:none;color:white;cursor:pointer;border-radius:180px 180px 12px 12px;overflow:hidden}.presence-photo img{width:100%;height:auto;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}.presence-photo a:hover img{transform:scale(1.025)}.presence-photo a:focus-visible{outline:3px solid #f4f2e8;outline-offset:6px}.presence-photo a>span{position:absolute;bottom:22px;left:22px;right:22px;background:#192f27b8;backdrop-filter:blur(10px);border:1px solid #ffffff40;padding:13px 18px;border-radius:30px;font:14px var(--font);text-align:left}.presence-story .eyebrow,.presence-story p{color:#d9e0cf}.presence-story .text-link{color:#f4f2e8}.presence-story h2{font-size:clamp(3.2rem,5.8vw,6.3rem)}.presence-story .welcome-layout p{max-width:480px}.hero-slide:nth-child(3)>img{object-position:67% center}
@media(max-width:760px){.presence-story{margin:10px;border-radius:14px}.presence-story .welcome-layout{grid-template-columns:1fr;gap:35px}.presence-photo{max-width:460px;margin-inline:auto}.presence-photo a{border-radius:150px 150px 12px 12px}.presence-story h2{font-size:clamp(3.1rem,9vw,4.8rem)}.presence-photo a>span{font-size:12px;left:16px;right:16px;bottom:16px}}
/* A journal built for reading, with practical guides close at hand. */
.journal-intro{padding-block:85px 60px;display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end}.journal-intro h1{font-size:clamp(4rem,7.8vw,8rem);line-height:.95}.journal-intro>p{max-width:380px;font-size:19px;line-height:1.7;margin-bottom:8px}.journal-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center}.journal-feature-photo{display:block;overflow:hidden;border-radius:120px 14px 14px 14px}.journal-feature-photo img{width:100%;aspect-ratio:1.15;object-fit:cover;transition:transform 1s}.journal-feature-photo:hover img{transform:scale(1.03)}.journal-feature h2{font-size:clamp(2.8rem,4vw,4.6rem)}.journal-feature p{margin-top:23px;font-size:17px;line-height:1.7}.journal-feature-tag{display:block;width:fit-content;background:#e4e9d9;border-radius:25px;font-size:13px;padding:8px 14px;margin:23px 0 12px}.journal-article-hero{max-width:1100px}.journal-article-hero h1{font-size:clamp(3.3rem,6vw,6.5rem);text-wrap:balance}.journal-article-hero>.lead{max-width:760px;margin-top:30px;font-size:21px}.journal-article-hero>.text-link{margin-top:25px}.journal-article-photo{height:auto;max-width:1360px;margin-inline:auto;padding:0 25px}.journal-article-photo img{width:100%;max-height:680px;object-fit:cover;aspect-ratio:1.9}.journal-article-photo figcaption{padding:13px 0;font-size:13px;color:var(--muted)}.journal-reading-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:8%;justify-content:center;padding-block:65px}.journal-contents{position:sticky;top:125px;align-self:start;border-top:1px solid var(--line);padding-top:25px}.journal-contents nav{display:flex;flex-direction:column;gap:16px}.journal-contents nav a{font-size:14px;line-height:1.5}.journal-contents nav a:hover{text-decoration:underline;text-underline-offset:4px}.journal-reading-layout .journal-body{max-width:none;margin:0;padding:0;min-width:0}.journal-body section{margin-bottom:48px;scroll-margin-top:125px}.journal-body section h2{font-size:clamp(2rem,3vw,3rem);line-height:1.12;margin:0 0 23px}.journal-body p,.journal-body li{font-size:18px;line-height:1.85}.journal-sources{background:#edf0e6;border-radius:14px;padding:28px;margin-top:40px}.journal-sources h3{font-size:1.7rem}.journal-sources p,.journal-sources li{font-size:14px;line-height:1.7}.journal-sources p{margin-top:12px}.journal-sources ul{padding-left:18px;margin-bottom:0}.journal-sources a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.journal-related{background:#edf0e6}.journal-card[hidden]{display:none!important}
@media(max-width:900px){.journal-reading-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.journal-feature{gap:35px}.journal-intro{gap:35px}}
@media(max-width:680px){.journal-intro{grid-template-columns:1fr;gap:25px;padding-block:55px 40px}.journal-intro>p{font-size:17px}.journal-feature{grid-template-columns:1fr;gap:32px}.journal-feature-photo{border-top-left-radius:100px}.journal-reading-layout{grid-template-columns:1fr;gap:35px;padding-block:35px}.journal-contents{position:static}.journal-contents nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.journal-body p,.journal-body li{font-size:17px}.journal-article-photo img{aspect-ratio:1.3}.journal-article-hero>.lead{font-size:18px}.journal-article-photo{padding-inline:20px}.journal-sources{padding:23px}}
.journal-filter-item[hidden]{display:none!important}
/* Phone review: stable images, reachable dismissal, and comfortable controls. */
.modal .close{position:sticky;float:right;top:0;right:0;z-index:5;width:44px;height:44px;background:var(--paper);border-radius:50%;box-shadow:0 2px 12px #192f2714}.modal{overscroll-behavior:contain}.room-gallery-dialog .room-gallery-mosaic img{height:auto}.hero-motion-controls button{min-width:44px}
@media(max-width:760px){input:not([type=range]):not([type=checkbox]),select,textarea{font-size:16px}.film-controls button{min-width:44px;min-height:44px}.filter-bar button{min-height:44px}.room-gallery-link{min-height:48px;text-align:left}.modal{max-height:calc(100dvh - 28px)}.modal-backdrop{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.stay-inset>span{font-size:12px}.mobile-nav.open{padding-bottom:max(35px,env(safe-area-inset-bottom));max-height:calc(100dvh - 78px)}.footer a{display:inline-flex;align-items:center;min-height:44px}.journal-contents nav a{padding-block:7px;min-height:44px}.subnav a{min-height:44px;display:inline-flex;align-items:center}}

.mobile-nav.open{top:90px}.editorial-hero{height:calc(100svh - 106px)}
@media(max-width:760px){.mobile-nav.open{top:78px}.editorial-hero{height:calc(100svh - 98px)}}

/* Intrinsic HTML dimensions reserve space; CSS controls rendered image height. */
img{height:auto}.film-frame img{height:auto}

/* Smooth document anchors without intercepting wheel or touch gestures. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media(max-width:760px){html{scroll-padding-top:94px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* geometry.css */
.geometry-finale{position:relative;isolation:isolate;overflow:hidden;min-height:720px;display:flex;align-items:center;background:#102e27;color:#f4f1e8;border-bottom:1px solid #ffffff18}.geometry-aura{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 50%,#3c725442,transparent 58%),radial-gradient(ellipse at 20% 100%,#45685025,transparent 60%)}.geometry-copy{position:relative;z-index:2;padding:100px 0 110px;margin-left:max(6vw,24px);width:48%;pointer-events:none}.geometry-copy a{pointer-events:auto}.geometry-copy .eyebrow{color:#b4c8b8;letter-spacing:.18em}.geometry-copy h2{font-size:clamp(64px,6.5vw,112px);line-height:.98;font-weight:400;margin:30px 0}.geometry-copy h2 em{font-weight:400;color:#d8debd}.geometry-copy p{font-size:18px;line-height:1.7;color:#c4d1c7;margin:0 0 32px}.geometry-copy .btn{background:#e7ebdb;color:#173b30}.geometry-art{position:absolute;width:min(72vw,1060px);right:-11%;top:50%;margin-top:max(-36vw,-530px);pointer-events:none;will-change:transform}.geometry-drift{animation:geometry-float 18s ease-in-out infinite}.geometry-art svg{display:block;width:100%;height:auto;overflow:visible}.geometry-flower{transform-origin:0 0;animation:geometry-turn 100s linear infinite;stroke:url(#petal-light);stroke-width:.8}.geometry-main{filter:drop-shadow(0 0 3px #c4d6ad28)}.geometry-petal{transform-origin:0 0;animation:geometry-breathe 14s ease-in-out infinite;animation-delay:var(--delay)}.geometry-echo{opacity:.12;stroke-width:.55;animation-direction:reverse;animation-duration:140s}.geometry-orbit{stroke:#adbd932e;stroke-width:.4;animation:geometry-turn 160s linear infinite}.geometry-tracer{stroke:#e0d5aa;stroke-width:1;stroke-dasharray:32 1344;stroke-linecap:round}.geometry-heart{animation:geometry-glow 7s ease-in-out infinite}.geometry-foot{position:absolute;bottom:28px;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b5c9ba;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.geometry-toggle{width:44px;height:44px;border-radius:50%;border:1px solid #c6d6b84d;background:transparent;color:#e7ebdb;cursor:pointer;font:18px serif}.geometry-toggle:hover{background:#ffffff12}.geometry-toggle:focus-visible{outline:2px solid #e7ebdb;outline-offset:5px}.geometry-finale [hidden]{display:none}.geometry-finale:not(.geometry-running) .geometry-drift,.geometry-finale:not(.geometry-running) .geometry-flower,.geometry-finale:not(.geometry-running) .geometry-petal,.geometry-finale:not(.geometry-running) .geometry-orbit,.geometry-finale:not(.geometry-running) .geometry-heart{animation-play-state:paused}@keyframes geometry-turn{to{transform:rotate(360deg)}}@keyframes geometry-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}@keyframes geometry-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes geometry-glow{0%,100%{opacity:.35}50%{opacity:1}}@media(min-width:1473px){.geometry-art{margin-top:-530px}}@media(max-width:760px){.geometry-finale{min-height:900px;align-items:flex-start}.geometry-copy{width:auto;margin:0;padding:64px 26px 0;pointer-events:auto}.geometry-copy h2{font-size:clamp(58px,12vw,86px);margin:24px 0}.geometry-copy p{font-size:16px;margin-bottom:24px}.geometry-copy .eyebrow{font-size:12px}.geometry-art{width:118%;right:-21%;top:auto;bottom:32px;margin-top:0;opacity:.95}.geometry-foot{left:26px;right:26px;bottom:20px;font-size:10px}.geometry-aura{background:radial-gradient(ellipse at 60% 78%,#3c72544d,transparent 65%)}}@media(max-width:380px){.geometry-finale{min-height:850px}.geometry-copy{padding-left:22px;padding-right:22px}}@media(prefers-reduced-motion:reduce){.geometry-finale *{animation:none!important;transition:none!important}.geometry-art{transform:none!important}}

/* The geometry is a backdrop to the footer itself, not a preceding panel. */
.footer.unified-footer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px 8%;align-items:start;min-height:0;padding:70px 6% 0;border:0;border-radius:0;background:#102e27;color:#f4f1e8}
.unified-footer .geometry-copy{grid-column:1;grid-row:1;width:auto;margin:0;padding:0}
.unified-footer .geometry-copy h2{font-size:clamp(56px,5.8vw,90px);margin:22px 0}
.unified-footer .geometry-copy p{font-size:17px;line-height:1.6;margin-bottom:22px}
.unified-footer .geometry-copy .btn{font-size:15px}
.unified-footer .geometry-art{width:min(66vw,950px);right:-13%;top:-100px;margin:0;opacity:.7;z-index:0;mask-image:linear-gradient(#000 40%,transparent 84%)}
.unified-footer .footer-links{grid-column:1;grid-row:2;position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:12px}
.unified-footer .footer-links .eyebrow,.unified-footer .footer-signup .eyebrow{font-size:12px;color:#c4d1b6}
.unified-footer .footer-links ul{list-style:none;padding:0;margin:12px 0 0}
.unified-footer .footer-links li{margin:0;padding:0}
.unified-footer .footer-links a{display:inline-flex;align-items:center;min-height:36px;font-size:15px}
.unified-footer .footer-connect{grid-column:2;grid-row:2;position:relative;z-index:1;align-self:end;max-width:370px;width:100%;justify-self:end}
.unified-footer .footer-connect .synergy-logo{width:210px}
.unified-footer .footer-connect p{margin:12px 0;color:#c4d1c7}
.unified-footer .footer-connect .back-link{display:inline-flex;align-items:center;min-height:44px;margin:0;font-size:14px}
.unified-footer .footer-signup{margin-top:22px}
.unified-footer .footer-signup .small{font-size:12px;margin:10px 0 0}
.unified-footer .newsletter{margin-top:8px}
.unified-footer .newsletter input{min-width:0;font-size:16px}
.unified-footer .footer-bottom{grid-column:1/-1;position:relative;z-index:1;margin:8px 0 0;padding:20px 0;border-top:1px solid #ffffff20;gap:18px;color:#c4d1c7;font-size:12px}
@media(max-width:760px){.footer.unified-footer{display:grid;grid-template-columns:1fr;gap:30px;padding:52px 26px 0}.unified-footer .geometry-copy{width:auto;padding:0;margin:0}.unified-footer .geometry-copy h2{font-size:clamp(52px,12vw,76px)}.unified-footer .geometry-copy p{font-size:16px}.unified-footer .geometry-art{position:absolute;top:80px;bottom:auto;right:-63%;width:140%;margin:0;opacity:.22;mask-image:linear-gradient(#000,transparent 95%)}.unified-footer .footer-links{grid-column:1;grid-row:2;padding:0;gap:16px}.unified-footer .footer-links a{min-height:44px;font-size:14px}.unified-footer .footer-connect{grid-column:1;grid-row:3;max-width:none;justify-self:stretch}.unified-footer .footer-connect .synergy-logo{width:180px}.unified-footer .footer-bottom{grid-column:1;grid-row:4;display:flex;flex-wrap:wrap;align-items:center;margin:0}.unified-footer .footer-bottom>span{flex-basis:100%}}

/* questions.css */
.questions-section{background:#edf0e8}.questions-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8%;align-items:start}.questions-intro h2{font-size:clamp(46px,4.8vw,76px);margin:20px 0}.questions-intro>p{max-width:360px;font-size:18px;color:var(--muted);margin-bottom:30px}.questions-intro>.text-link{margin-top:24px}.ask-card{padding:26px;background:#fafbf6;border:1px solid #254c3226;border-radius:18px}.ask-card label{display:block;font-size:19px;font-weight:500;margin-bottom:16px}.ask-input{display:flex;align-items:center;gap:6px;border:1px solid #46695370;border-radius:12px;background:white;padding:5px}.ask-input:focus-within{outline:2px solid #426c54;outline-offset:2px}.ask-input input{width:100%;min-width:0;border:0;background:none;padding:12px 9px;font:16px var(--sans);color:var(--ink)}.ask-input input:focus{outline:0}.ask-input button{flex:none;width:44px;height:44px;border:0;border-radius:9px;color:white;background:#244c3e;font-size:24px;cursor:pointer}.ask-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.ask-suggestions button{border:1px solid #244c3e33;border-radius:40px;background:none;color:var(--ink);font:14px var(--sans);padding:8px 12px;min-height:40px;cursor:pointer}.ask-suggestions button:hover{background:#e6ecdf}#ask-note{font-size:13px;color:#546254;line-height:1.5;margin:0}.ask-answer{border-top:1px solid #244c3e26;padding-top:20px;margin-top:20px}.ask-answer h3{font-size:26px;margin-bottom:12px}.ask-answer p{font-size:15px;line-height:1.7;margin:12px 0}.ask-answer details{border-bottom:1px solid #244c3e22;padding:12px 0}.ask-answer summary{font-size:15px;cursor:pointer}.ask-answer a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.ask-contact{display:inline-block;margin-top:18px;min-height:34px}.ask-clear{display:block;background:none;border:0;text-decoration:underline;color:#546254;padding:8px 0;font:14px var(--sans);cursor:pointer;min-height:44px}.questions-section .faq-list summary{font-size:18px;line-height:1.5}.question-source{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.questions-layout{grid-template-columns:1fr;gap:38px}.questions-intro h2{font-size:52px}.ask-card{padding:20px}.questions-section .faq-list summary{font-size:17px}.ask-suggestions button{min-height:44px}}@media(max-width:360px){.ask-card{padding:16px}.ask-card label{font-size:18px}.questions-intro h2{font-size:46px}}

/* property-map.css */

.property-atlas{padding-top:150px;padding-bottom:100px;max-width:1600px}.atlas-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.atlas-heading h1{font-size:clamp(48px,6vw,90px);line-height:1;margin:14px 0 0}.atlas-heading p{font-size:18px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:32px;align-items:start}.atlas-map-column{min-width:0}.atlas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:14px}.atlas-toolbar>div{display:flex;gap:6px}.atlas-toolbar button{border:1px solid #c6cec1;background:#fafaf5;color:#234537;border-radius:24px;min-width:44px;min-height:44px;padding:8px 12px}.atlas-toolbar button:disabled{opacity:.35;cursor:default}.atlas-viewport{overflow:auto;max-height:740px;height:min(72vh,740px);min-height:440px;border:1px solid #d5daca;border-radius:22px;background:#f6f3e9;cursor:grab;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#789280 #eeeede;touch-action:pan-x pan-y;isolation:isolate}.atlas-viewport.is-dragging{cursor:grabbing}.atlas-stage{position:relative;width:100%;aspect-ratio:1140/1180;overflow:hidden;min-height:0;background:#f6f3e9;user-select:none}.atlas-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 0%,#000 79%,transparent 88%)}.atlas-art>img{position:absolute!important;top:0;left:0;width:134.737%!important;max-width:none!important;height:auto!important;pointer-events:none}.atlas-brand{position:absolute;top:0;left:0;width:34%;height:15.5%;background:#f6f3eb;display:flex;flex-direction:column;justify-content:center;padding:2%;gap:14px}.atlas-brand img{width:100%;height:auto}.atlas-brand span{font-size:clamp(8px,1vw,12px);letter-spacing:.22em;text-align:center}.atlas-pin{position:absolute;transform:translate(-50%,-50%);min-width:44px;height:44px;border:1px solid #244c3e;border-radius:50%;background:#faf9ef;color:#193b2e;font-size:15px;font-family:inherit;font-weight:600;box-shadow:0 3px 12px #102e2744;z-index:2;padding:0 7px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.atlas-pin[aria-pressed=true]{background:#244c3e;color:white;box-shadow:0 0 0 5px #f8f4dc88,0 3px 12px #102e2766}.atlas-pin-name{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);background:#193b2e;color:white;white-space:nowrap;border-radius:8px;padding:7px 11px;font-size:14px}.atlas-pin:hover .atlas-pin-name,.atlas-pin:focus-visible .atlas-pin-name{display:block}.atlas-addition{position:absolute;border:2px solid #a69371;background:#ddd3b9;box-shadow:0 0 0 7px #eee9d7;transform:translate(-50%,-50%) rotate(-8deg);width:8%;height:6%}.mango-plan{left:86.49%;top:64.74%}.lotus-plan{left:85.44%;top:87.28%;width:12%;height:6%;background:linear-gradient(90deg,#ddd3b9 49%,#a69371 49%,#a69371 51%,#ddd3b9 51%)}.atlas-scale{position:absolute;bottom:1%;left:4%;font-size:12px!important;font-style:italic;color:#4f6555}.atlas-help{font-size:13px;color:#657468;margin:14px 4px;max-width:640px;line-height:1.6}.atlas-detail{border-radius:22px;overflow:hidden;background:#edf0e6;position:sticky;top:110px}.atlas-photo{position:relative;aspect-ratio:4/3}.atlas-photo>img{width:100%;height:100%!important;object-fit:cover}.atlas-photo-controls{position:absolute;bottom:14px;right:14px;display:flex;align-items:center;gap:14px;background:#faf9ef;border-radius:28px;color:#193b2e;font-size:14px;padding:3px}.atlas-photo-controls button{width:44px;height:44px;border:0;background:none;color:inherit;font-size:22px}.atlas-detail-copy{padding:25px 28px 30px}.atlas-detail h2{font-size:42px;line-height:1.12;margin:10px 0 16px}.atlas-detail p{font-size:16px;line-height:1.6;margin-bottom:18px}.atlas-bed{padding:14px 0;border-top:1px solid #cdd6c7;border-bottom:1px solid #cdd6c7}.atlas-siblings{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.atlas-siblings button{background:none;border:1px solid #9dad9b;padding:10px 14px;border-radius:22px;min-height:44px;font-size:14px;color:#244c3e}.atlas-siblings button[aria-pressed=true]{background:#244c3e;color:white}.atlas-directory{margin-top:54px}.atlas-directory h2{font-size:clamp(36px,4vw,56px);margin:12px 0 24px}.atlas-room-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px}.atlas-room-list>button{padding:17px 6px;display:flex;gap:15px;align-items:center;text-align:left;border:0;border-bottom:1px solid #d7ddce;background:none;color:#234537;font-size:18px;min-width:0}.atlas-room-list>button[aria-pressed=true]{background:#e7eddf}.atlas-room-list>button>span:last-child{margin-left:auto}.atlas-room-list small{display:block;font-size:13px;margin-top:3px;color:#5a7161}.atlas-list-number{font-size:13px;width:28px;flex-shrink:0}.property-atlas button:focus-visible,.atlas-viewport:focus-visible{outline:3px solid #a98c44;outline-offset:3px}#atlas-room-detail{scroll-margin-top:110px}.atlas-discover-link{margin-top:22px}
@media(max-width:1100px){.atlas-layout{gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.atlas-detail-copy{padding:20px}.atlas-pin{min-width:40px;height:40px;font-size:13px}.atlas-brand span{letter-spacing:.1em}}
@media(max-width:900px){.property-atlas{padding-top:120px}.atlas-layout{grid-template-columns:1fr}.atlas-detail{position:static;display:block}.atlas-detail #atlas-room-detail{display:grid;grid-template-columns:1fr 1fr}.atlas-photo{aspect-ratio:auto;min-height:300px}.atlas-viewport{height:auto;max-height:65vh;min-height:0}.atlas-room-list{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-heading h1{font-size:64px}.atlas-detail-copy{padding:24px}}
@media(max-width:580px){.atlas-heading{display:block;margin-bottom:22px}.atlas-heading h1{font-size:54px}.atlas-heading p{font-size:16px;margin-top:15px}.atlas-detail #atlas-room-detail{display:block}.atlas-photo{aspect-ratio:4/3;min-height:0}.atlas-toolbar{font-size:12px}.atlas-toolbar button{padding:8px;min-width:44px}.atlas-brand{height:16%;gap:6px}.atlas-brand span{font-size:7px}.atlas-pin{height:40px;min-width:40px;font-size:12px;padding:0 5px}.atlas-pin-name{font-size:12px;padding:5px 7px}.atlas-room-list{gap:0 14px}.atlas-room-list>button{font-size:16px;gap:5px}.atlas-room-list small{font-size:12px}.atlas-scale{font-size:10px!important}.atlas-directory{margin-top:32px}.atlas-help{font-size:12px}.atlas-viewport{border-radius:15px}.atlas-detail h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.atlas-pin{transition:none}}

.atlas-viewport{max-height:none;min-height:0}

.kougi-plan{left:28.07%;top:83.05%;width:8%;height:7.73%;border-radius:50%;transform:translate(-50%,-50%)}


/* port.css */
/* Port additions on top of the prototype's CSS, which ships unchanged.
   1. Point the prototype's font variables at the self-hosted faces (next/font,
      src/app/layout.tsx). Same families design.css asks for; only the source moves.
   2. Robbie, 6 Oct, look calls: the muted grey a shade darker so small text passes
      WCAG AA (4.5:1) on every cream background. Same hues, lower lightness; each
      clears at least 4.6:1 on the darkest background it sits on (axe, 25 Sep:
      #667168 measured 4.17 to 4.42).
   3. Robbie, 6 Oct: no fade-in on first load, motion after paint stays. What is on
      screen at first paint gets its finished state with no transition
      (.motion-settled, set by client-boot.js); everything below animates on
      scroll as the prototype does. */
:root{--font:var(--font-instrument-sans),'Instrument Sans',sans-serif;--display:var(--font-instrument-serif),'Instrument Serif',Georgia,serif}

:root{--muted:#5b655d}                               /* was #667168 */
.included-list article>span{color:#5b6651}           /* was #67745c */
.atlas-room-list small{color:#526759}                /* was #5a7161 */
.stay-tab-number{color:#546752}                      /* was #586c56 */

.word-heading.motion-settled .motion-word,.editorial-title .motion-settled .motion-word{animation:none;transition:none;opacity:1;transform:none;filter:none}
.photo-unveil.motion-settled img{transition:none;clip-path:inset(0 round 14px);transform:none}

/* Gallery categories remain distinct when viewing all photos. */
.gallery-group + .gallery-group{margin-top:56px}
.gallery-group > h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 24px}
.gallery-group[hidden]{display:none}

/* Mobile hosted retreats and property buyouts: separate the photograph from readable copy. */
@media(max-width:760px){
 .hero:is(.retreat-hero,.buyout-hero){display:block;height:auto;min-height:0;max-height:none;background:var(--deep);color:var(--paper)}
 .hero:is(.retreat-hero,.buyout-hero)::after{display:none}
 :is(.retreat-hero,.buyout-hero) .hero-img{position:relative;display:block;inset:auto;width:100%;height:clamp(210px,62vw,300px);object-fit:cover;object-position:50% 60%;border-radius:0}
 :is(.retreat-hero,.buyout-hero) .hero-label{display:none}
 :is(.retreat-hero,.buyout-hero) .hero-content{display:block;padding:28px 24px 32px}
 :is(.retreat-hero,.buyout-hero) .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.09em;margin-bottom:16px;color:var(--paper)}
 :is(.retreat-hero,.buyout-hero) h1{font-size:clamp(2.2rem,9vw,2.8rem);line-height:1.08;letter-spacing:-.025em;max-width:100%;margin:0}
 :is(.retreat-hero,.buyout-hero) .hero-copy{font-size:16px;line-height:1.6;margin-top:20px;max-width:none;color:var(--paper)}
 :is(.retreat-hero,.buyout-hero) .btns{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}
 :is(.retreat-hero,.buyout-hero) .btns .btn{width:100%;min-height:52px;padding:15px 18px;font-size:14px;justify-content:space-between}
}

/* Room product pages: put photos, room facts and booking in one place. */
.room-pdp{padding-bottom:80px}.room-pdp-heading{padding:32px 0 26px}.room-pdp-title{display:flex;align-items:end;justify-content:space-between;gap:24px}.room-pdp-title .eyebrow{margin:20px 0 10px}.room-pdp-title h1{font-size:clamp(3rem,5vw,5rem);margin:0 0 12px}.room-pdp-title p{margin:0;color:var(--muted)}
.room-pdp-photos{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:200px 200px;gap:10px;border-radius:18px;overflow:hidden}.room-pdp-photos>button{padding:0;border:0;background:var(--cream);overflow:hidden}.room-pdp-photos>button:first-child{grid-row:span 2}.room-pdp-photos img{width:100%;height:100%;object-fit:cover;display:block}.room-pdp-photos .room-all-photos{position:absolute;right:16px;bottom:16px;background:var(--paper);color:var(--ink);padding:12px 18px;border-radius:28px;font-size:14px;min-height:44px;box-shadow:0 2px 12px #0002}.room-photo-note{margin-top:14px}
.room-pdp-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(32px,6vw,90px);align-items:start;padding-top:38px}.room-pdp-story section{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.room-pdp-story h2{font-size:2.15rem;margin-bottom:18px}.room-pdp-story h3{font-size:1.5rem;margin:24px 0 14px}.room-pdp-story .lead{font-size:18px;line-height:1.65}.room-highlights{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:12px;margin:24px 0 0}.room-highlights li{background:var(--cream);border-radius:8px;padding:12px;font-size:14px}
.room-booking-panel{position:static;scroll-margin-top:100px;border:1px solid var(--line);background:var(--paper);padding:24px;border-radius:18px;box-shadow:0 10px 34px #1c332a0b}.room-rate>span{font-size:16px}.room-rate strong{font:2.3rem var(--display)}.room-rate p{font-size:13px;color:var(--muted);line-height:1.6;margin:4px 0 20px}.room-booking-panel h2{font-size:1.8rem;margin:0 0 18px}.room-date-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;margin-bottom:16px}.room-date-summary>button{padding:12px;min-height:76px;appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:9px}.room-date-summary>button+button{border-left:1px solid var(--line)}.room-date-summary>button:hover{background:#f1f0eb}.room-date-summary>button[aria-pressed="true"]{background:transparent;box-shadow:inset 0 -2px 0 var(--ink,#233e34)}.room-date-summary>button:focus-visible{outline:3px solid var(--ink,#233e34);outline-offset:3px}.room-date-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.room-date-summary strong{font-size:14px;font-weight:500}.room-booking-panel select{min-height:44px;width:100%}
.room-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.room-calendar-toolbar h3{font:500 16px var(--font);margin:0}.room-calendar-toolbar button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;width:44px;height:44px;font-size:24px}.room-calendar-toolbar button:disabled{opacity:.35}.room-weekdays,.room-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.room-weekdays{margin:14px 0 8px;text-align:center;color:var(--muted);font-size:12px}.room-calendar-days button{position:relative;min-height:42px;padding:6px 0;border-radius:7px;border:1px solid transparent;background:#e3ecdf;color:var(--ink);font:500 14px var(--font)}.room-calendar-days button.closed,.room-calendar-days button.past{background:#f1f0eb;color:#62675f;text-decoration:line-through}.room-calendar-days button.unknown{background:transparent;border:1px dashed #899187;color:var(--muted)}.room-calendar-days button.available:disabled{background:#f0f4ed;color:#677061}.room-calendar-days button.selected{background:var(--deep);color:white;text-decoration:none;border-color:var(--deep)}.room-calendar-days button.in-range{background:#cbdcc6;color:var(--ink)}.room-calendar-days button.checkout-only{background:#fff;border:1px solid var(--deep);text-decoration:none;color:var(--ink)}.room-calendar-days small{display:block;font-size:9px;line-height:1}.room-calendar-days button:focus-visible,.room-calendar-toolbar button:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.room-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;font-size:11px;color:var(--muted)}.room-calendar-legend span{display:flex;gap:5px;align-items:center}.room-calendar-legend i{width:11px;height:11px;display:inline-block;border:1px solid #899187;border-radius:3px}.room-calendar-legend .available{background:#e3ecdf}.room-calendar-legend .closed{background:#f1f0eb;background-image:linear-gradient(135deg,transparent 45%,#62675f 45%,#62675f 55%,transparent 55%)}.room-calendar-legend .unknown{border-style:dashed}.room-clear{padding:8px 0;min-height:36px;font-size:13px;color:var(--ink);background:none;border:0;text-decoration:underline}.room-quote{margin-top:16px}.room-quote>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;font-size:14px}.room-quote dd{margin:0;white-space:nowrap}.room-quote .total{font-weight:600;border-top:1px solid var(--line);margin-top:8px;padding-top:14px}.room-booking-continue{width:100%;justify-content:space-between;margin-top:16px}.room-booking-continue:disabled{background:#e1e4dc;color:#545e54;border-color:#e1e4dc;cursor:default}.room-booking-note{margin-top:14px;color:var(--muted)}#room-booking-error{color:#843f29}#room-calendar-status{margin:0;line-height:1.6}.room-mobile-bar{display:none}
@media(max-width:1000px){.room-pdp-layout{grid-template-columns:minmax(0,1fr) 350px;gap:30px}.room-booking-panel{padding:18px}.room-pdp-photos{grid-template-rows:170px 170px}}
@media(max-width:760px){.room-pdp-heading{padding:22px 0}.room-pdp-title{display:block}.room-pdp-title>.text-link{display:none}.room-pdp-title h1{font-size:3.1rem}.room-pdp-title p{font-size:14px}.room-pdp-photos{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px;gap:6px}.room-pdp-photos>button:first-child{grid-column:span 2;grid-row:auto}.room-pdp-photos .room-all-photos{padding:10px 14px;right:10px;bottom:10px}.room-pdp-layout{display:flex;flex-direction:column;gap:30px;padding-top:24px}.room-booking-panel{position:static;width:100%;order:-1;padding:20px;scroll-margin-top:90px}.room-pdp-story{width:100%}.room-pdp{padding-bottom:100px}.room-mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 20px #0001}.room-mobile-bar strong,.room-mobile-bar span{display:block}.room-mobile-bar strong{font-size:15px}.room-mobile-bar span{font-size:11px;color:var(--muted)}.room-mobile-bar .btn{padding:13px 16px;font-size:13px}.room-calendar-days button{min-height:44px}.room-pdp-story h2{font-size:2rem}}

/* The page is the only scrolling surface; date fields edit the one inline calendar. */
.room-booking-panel{max-height:none;overflow:visible}
.room-booking-continue[hidden],.room-clear[hidden]{display:none}
.room-booking-panel .field{margin-top:16px}
.room-mobile-bar{display:none}
@media(max-width:760px){.room-booking-panel{padding:16px}.room-date-summary>button{min-height:64px;padding:10px}.room-booking-panel select{font-size:16px;min-height:48px}.room-calendar-toolbar{margin-top:12px}.room-calendar-legend{gap:8px;font-size:11px}.room-booking-panel .small{font-size:13px;line-height:1.5}.room-pdp{padding-bottom:32px}}

/* A distinct invitation to use the property map, clear of the room imagery. */
.atlas-map-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;margin:32px 0 48px;background:var(--paper);border:1px solid #c4cdbc;border-radius:16px}
.atlas-map-copy h3{font:500 21px/1.35 var(--font);letter-spacing:-.02em;margin:0 0 8px;color:var(--ink)}
.atlas-map-copy p{font-size:15px;line-height:1.6;margin:0;color:var(--muted)}
.atlas-map-callout>.btn{flex-shrink:0;min-height:56px;gap:20px;text-align:left}
@media(max-width:760px){.atlas-map-callout{flex-direction:column;align-items:stretch;gap:20px;padding:24px;margin:28px 0 36px}.atlas-map-copy h3{font-size:20px}.atlas-map-callout>.btn{width:100%;justify-content:space-between;font-size:14px;padding:16px 18px}}

/* Date-led room browsing, with room photography visible before a search. */
.rooms-overview{padding-top:36px}.rooms-intro{max-width:740px;margin-bottom:28px}.rooms-intro h1{font-size:clamp(3rem,6vw,5rem);margin:12px 0}.rooms-intro p{font-size:18px;line-height:1.6}
.rooms-finder{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}.rooms-mode{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px}.rooms-mode label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}.rooms-search-fields{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:16px;align-items:end}.rooms-search-fields .field{margin:0;min-width:0}.rooms-search-fields input,.rooms-search-fields select{width:100%;min-height:48px;min-width:0;font-size:16px}.rooms-search-fields [hidden]{display:none}.rooms-search-fields>.btn{min-height:48px}#rooms-search-status{margin:20px 0;font-size:14px;line-height:1.6}
.rooms-options{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rooms-option{border:1px solid var(--line);border-radius:18px;overflow:hidden}.rooms-option>a{display:block}.rooms-option img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.rooms-option-body{padding:24px}.rooms-option h2{font-size:2.5rem;margin:0 0 12px}.rooms-option p{margin:12px 0;line-height:1.6}.rooms-option .btn{margin-top:12px}.rooms-total strong{font-size:24px}.rooms-windows{list-style:none;padding:0}.rooms-windows a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);min-height:48px}.rooms-windows span{font-size:13px}.rooms-secondary{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:40px 0;margin-top:32px;border-top:1px solid var(--line)}.rooms-secondary h2,.rooms-inclusions h2{font-size:2rem;margin-bottom:16px}.rooms-secondary p{line-height:1.6;margin-bottom:20px}.rooms-inclusions{padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:760px){.rooms-overview{padding-top:24px}.rooms-finder{padding:16px}.rooms-search-fields{grid-template-columns:1fr 1fr}.rooms-search-fields>.btn{width:100%;padding:14px;justify-content:center}.rooms-options,.rooms-secondary{grid-template-columns:1fr;gap:24px}.rooms-option-body{padding:20px}.rooms-mode{gap:8px 16px}.rooms-mode label{font-size:13px}.rooms-intro p{font-size:16px}.rooms-option .btn{width:100%;justify-content:space-between}}

@media(max-width:760px){.rooms-search-fields .rooms-month-field,.rooms-search-fields>.btn{grid-column:1/-1}}

.rooms-month-field{position:relative}.rooms-month-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.rooms-month-trigger[aria-expanded="true"]{border-color:var(--deep)}
.rooms-month-picker{position:absolute;top:100%;left:0;z-index:20;width:320px;max-width:calc(100vw - 64px);padding:16px;margin-top:8px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 12px 32px #20392f20}.rooms-month-picker[hidden]{display:none}.rooms-month-year{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rooms-month-year strong{font:500 20px var(--font)}.rooms-month-year button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:24px}.rooms-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rooms-month-grid button{min-height:46px;background:var(--cream);border:1px solid transparent;border-radius:9px;color:var(--ink);font:500 14px var(--font);cursor:pointer}.rooms-month-grid button[aria-pressed="true"]{background:var(--deep);color:white}.rooms-month-grid button:disabled,.rooms-month-year button:disabled{opacity:.4;cursor:default}.rooms-month-grid button:not(:disabled):hover{border-color:var(--deep)}.rooms-month-field button:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
@media(max-width:760px){.rooms-month-picker{position:static;width:100%;max-width:none;margin-top:10px;box-shadow:none}.rooms-month-grid button{min-height:48px}}
.rooms-mode input[type="radio"]{accent-color:var(--deep)}

/* Master calendar: one page scroll, quiet availability, explicit labels. */
.master-calendar{padding:56px 0 64px}.mc-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;column-gap:40px;margin-bottom:36px}.mc-intro>.eyebrow{grid-column:1/-1}.mc-intro h1{font-size:clamp(48px,6vw,88px);line-height:.98;letter-spacing:-.04em;margin:14px 0 0}.mc-intro p{font-size:19px;line-height:1.6;margin:0 0 6px;max-width:400px}.mc-intents{display:flex;gap:6px;padding:6px;background:#eceee5;border-radius:50px;width:fit-content;margin-bottom:30px}.mc-intents button{border:0;background:transparent;padding:16px 26px;border-radius:40px;font:500 16px var(--font);color:var(--ink);cursor:pointer;min-height:48px}.mc-intents button[aria-pressed=true]{background:var(--deep);color:var(--paper)}.mc-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}.mc-month-control{display:flex;align-items:center;gap:22px}.mc-month-control h2{font:500 24px var(--font);letter-spacing:-.04em;min-width:185px;text-align:center}.mc-month-control>button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:26px;color:var(--ink);cursor:pointer}.mc-stay-controls{display:flex;gap:20px}.mc-stepper{display:flex;align-items:center;gap:12px;font-size:14px}.mc-stepper>span{margin-right:4px}.mc-stepper button{height:40px;width:40px;border:1px solid var(--line);background:var(--paper);border-radius:50%;font-size:20px;color:var(--ink);cursor:pointer}.mc-stepper output{min-width:18px;text-align:center;font-weight:500}.master-calendar button:disabled{opacity:.4;cursor:default}.master-calendar button:focus-visible,.master-calendar a:focus-visible{outline:3px solid var(--deep);outline-offset:3px}.master-calendar [hidden]{display:none!important}.mc-instruction{margin:24px 0 4px;font-size:16px}.master-calendar #mc-status{font-size:13px;color:#59665b;min-height:22px;margin:0 0 20px}.mc-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px;align-items:start}.mc-month-panel{border:1px solid var(--line);padding:24px;border-radius:22px;background:var(--paper)}.mc-weekdays,.mc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.mc-weekdays span{text-align:center;padding:0 0 15px;font-size:12px;color:#59665b}.mc-day{position:relative;min-width:0;min-height:84px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:5px;padding:10px 8px;border:1px solid transparent;border-radius:8px;text-align:left;background:#f0efe9;color:var(--ink);cursor:pointer}.mc-day>span{font:500 17px var(--font)}.mc-day small{font:400 10px/1.2 var(--font);max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mc-day.open{background:#e4eddf;border-color:#d0dfc8}.mc-day.unknown{border:1px dashed #a8aea2;background:transparent}.mc-day.closed{color:#62685f;background:#efeee9}.mc-day.closed>span{text-decoration:line-through;text-decoration-thickness:1px}.mc-day.past{background:transparent;color:#7b8178}.mc-day.has-retreat{background:#f1e2d6;border-color:#e4cdbb}.mc-day.neutral{background:transparent;border-color:#edeee6}.mc-day.in-range{background:#edf1e6;border-color:#83967a}.mc-day.checkout{border:1px dashed #455f40}.mc-day[aria-pressed=true]{background:var(--deep);color:var(--paper);border-color:var(--deep)}.mc-retreat-dot{height:6px;width:6px;background:#965932;border-radius:50%;position:absolute;right:7px;top:9px}.mc-day[aria-pressed=true] .mc-retreat-dot{background:#f1c6a6}.mc-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:#53604f;line-height:1.5}.mc-legend>span{display:flex;align-items:center;gap:5px}.mc-legend i{width:10px;height:10px;display:inline-block;border-radius:3px}.mc-legend .open{background:#d6e5cf}.mc-legend .closed{background:#dcdcd5}.mc-legend .unknown{border:1px dashed #6b7866}.mc-legend .retreat{background:#dcb99c}.mc-details{padding:28px;background:#eeeee3;border-radius:22px;min-width:0;scroll-margin-top:110px}.mc-details>h2{font-size:38px;line-height:1.08;margin:10px 0 18px}.mc-details p{font-size:15px;line-height:1.6;margin:12px 0}.mc-details .small{font-size:13px}.mc-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.mc-details .btn{font-size:14px;padding:14px 20px;min-height:48px;white-space:normal;gap:14px;margin:12px 0;justify-content:space-between;width:100%}.mc-details>a:not(.btn){display:block;margin-top:20px;text-decoration:underline;font-size:14px}.mc-room,.mc-event{background:var(--paper);border-radius:14px;overflow:hidden;margin-top:20px}.mc-room img,.mc-event>img{width:100%;height:180px;object-fit:cover}.mc-room>div,.mc-event>div{padding:20px}.mc-room h3,.mc-event h3{font-size:30px;line-height:1.1;margin:8px 0}.mc-badge{display:inline-block;font-size:11px;padding:5px 9px;background:#efeee9;border-radius:20px;margin:6px 0}.mc-related{font-size:27px;margin-top:30px}.mc-footer{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px;font-size:13px}.mc-footer p{margin:0;flex:1;min-width:230px}.mc-footer a{text-decoration:underline}
@media(max-width:1100px){.header .nav{gap:14px}.header .nav a{font-size:12px}.mc-layout{gap:20px}.mc-month-panel{padding:16px}.mc-day{min-height:76px}.mc-day small{font-size:9px}}
@media(max-width:760px){.master-calendar{padding:30px 0 40px}.mc-intro{display:block;margin-bottom:24px}.mc-intro h1{font-size:54px;margin:14px 0 18px}.mc-intro p{font-size:16px}.mc-intents{width:100%;border-radius:16px;padding:4px;gap:2px;margin-bottom:24px}.mc-intents button{flex:1;border-radius:12px;padding:12px 6px;font-size:13px;line-height:1.25}.mc-controls{gap:18px;padding-top:18px}.mc-month-control{justify-content:space-between;width:100%;gap:8px}.mc-month-control h2{font-size:21px;min-width:0}.mc-stay-controls{width:100%;justify-content:space-between;gap:8px}.mc-stepper{gap:8px;font-size:13px}.mc-stepper button{width:36px;height:36px}.mc-stepper>span{margin-right:0}.mc-instruction{font-size:14px;margin-top:18px}.mc-layout{display:flex;flex-direction:column;gap:20px}.mc-month-panel,.mc-details{width:100%;border-radius:16px}.mc-month-panel{padding:12px}.mc-grid,.mc-weekdays{gap:4px}.mc-day{min-height:54px;padding:7px 5px;border-radius:6px}.mc-day small{display:none}.mc-day>span{font-size:15px}.mc-weekdays span{font-size:11px;padding-bottom:12px}.mc-legend{font-size:11px;gap:8px;margin-top:14px}.mc-details{padding:22px}.mc-details>h2{font-size:34px}.mc-footer{display:block}.mc-footer a{display:block;margin-top:14px}.master-calendar[data-intent=retreats] .mc-details{order:-1}.mc-event>img{height:200px}}

/* Property page: a visual overview, readable amenities and an illustrated area atlas. */
.property-refresh .section{padding-block:76px}.pr-hero{display:grid;grid-template-columns:.85fr 1.2fr;gap:6%;align-items:center;padding-top:48px;padding-bottom:48px}.pr-hero h1{font-size:clamp(54px,6.4vw,96px);line-height:1;max-width:600px}.pr-hero p{font-size:17px;max-width:420px;margin-top:24px}.pr-hero .btns{gap:20px}.pr-hero-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:340px 180px;gap:12px}.pr-hero-photos figure{min-width:0;overflow:hidden;border-radius:14px}.pr-hero-photos figure:first-child{grid-column:1/-1;border-radius:100px 14px 14px 14px}.pr-hero-photos img{width:100%;height:100%;object-fit:cover}.pr-jumps{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:20px;padding-bottom:20px;font-size:14px}.pr-jumps a{min-height:36px;display:flex;align-items:center}.pr-jumps a:hover{text-decoration:underline}.pr-amenities{background:#edf0e4}.pr-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.pr-filters button{background:transparent;border:1px solid #bec9b7;border-radius:30px;padding:11px 18px;font-size:13px;min-height:44px;color:var(--ink)}.pr-filters button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:var(--paper)}.pr-amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pr-amenity-grid article{display:flex;gap:18px;align-items:start;padding:24px;background:var(--paper);border-radius:12px}.pr-amenity-grid article[hidden]{display:none}.pr-amenity-grid svg{flex:0 0 28px;color:#38614e;margin-top:2px}.pr-amenity-grid h3{font:500 18px/1.3 var(--font);letter-spacing:-.02em;margin:0 0 6px}.pr-amenity-grid p{font-size:14px;line-height:1.5;color:#546254;margin:0}.pr-inclusion-note{font-size:13px;line-height:1.6;margin-top:25px;max-width:800px}.pr-inclusion-note a{text-decoration:underline}.pr-space-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.pr-space-grid article{border:1px solid var(--line);border-radius:18px;overflow:hidden}.pr-space-grid figure{height:300px;overflow:hidden}.pr-space-grid img{width:100%;height:100%;object-fit:cover}.pr-space-grid article>div{padding:28px}.pr-space-grid .eyebrow{margin-bottom:12px}.pr-space-grid h3{font-size:38px;margin-bottom:12px}.pr-space-grid p{font-size:16px;line-height:1.6}.pr-area{background:#e9ecdf}.pr-atlas-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:26px;align-items:start}.pr-atlas{position:relative;aspect-ratio:1/1;border-radius:24px;overflow:hidden;border:1px solid #cbd2bc;isolation:isolate}.pr-landscape{position:absolute;width:100%;height:100%;inset:0}.pr-compass{position:absolute;left:5%;top:5%;font-size:15px;letter-spacing:.1em;color:#52694e}.pr-map-note{position:absolute;bottom:18px;left:20px;font-size:11px;color:#4e6256;background:#ffffffa8;border-radius:20px;padding:5px 10px}.pr-home{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;color:var(--deep);font:30px/1.1 var(--display)}.pr-home>span{font:30px/1 var(--font);display:grid;place-items:center;background:var(--deep);color:var(--paper);border:5px solid #f7f6ed;box-shadow:0 3px 14px #17312420;border-radius:50%;width:54px;height:54px;margin-bottom:5px}.pr-pin{position:absolute;transform:translate(-50%,-50%);z-index:4;background:none;border:0;display:flex;flex-direction:column;align-items:center;color:var(--ink);padding:0;min-width:44px;min-height:44px;max-width:135px}.pr-pin>span{width:36px;height:36px;border-radius:50%;border:1px solid #a2b098;background:var(--paper);display:grid;place-items:center;font-size:14px;box-shadow:0 3px 10px #30433012;transition:transform .2s,background .2s}.pr-pin small{display:block;background:#fbfaf2e8;border-radius:5px;padding:3px 6px;margin-top:5px;font-size:11px;line-height:1.25;text-align:center;white-space:nowrap}.pr-pin[aria-pressed=true]>span{background:var(--deep);color:var(--paper);transform:scale(1.16);border-color:var(--deep)}.pr-pin[aria-pressed=true] small{background:var(--deep);color:var(--paper)}.pr-place-panel{background:var(--paper);border-radius:20px;padding:24px;min-width:0}.pr-place-list{display:grid;grid-template-columns:1fr;gap:4px}.pr-place-list button{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:0;border-radius:8px;min-height:44px;padding:8px;font-size:14px;color:var(--ink)}.pr-place-list button>span{height:24px;width:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px;flex-shrink:0}.pr-place-list button[aria-pressed=true]{background:#e6ecdf}.pr-place-list button[aria-pressed=true]>span{background:var(--deep);color:var(--paper);border-color:var(--deep)}#pr-place-detail{border-top:1px solid var(--line);margin-top:20px;padding-top:22px}#pr-place-detail .eyebrow{margin-bottom:12px;font-size:10px}#pr-place-detail h3{font-size:36px;line-height:1.1}#pr-place-detail p{font-size:14px;line-height:1.65;margin:14px 0}#pr-place-detail .btn{width:100%;justify-content:space-between;padding:14px 18px;font-size:13px;gap:10px;min-height:48px}#pr-place-detail .text-link{font-size:12px;margin-top:16px}.pr-travel-time{display:block;font:500 16px var(--font);margin-top:16px}.pr-area-note{font-size:12px;line-height:1.6;max-width:850px;margin-top:20px;color:#546254}.pr-last{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:70px;padding-bottom:70px}.pr-last h2{font-size:54px}.pr-last p{font-size:16px;margin-top:18px}.pr-last .btns{margin:0;flex-shrink:0}.property-refresh button:focus-visible,.property-refresh a:focus-visible{outline:3px solid var(--deep);outline-offset:4px}.pr-pin:focus-visible{outline-offset:7px;border-radius:5px}
@media(max-width:1000px){.pr-hero{gap:30px}.pr-hero-photos{grid-template-rows:220px 140px}.pr-amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-atlas-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.pr-pin small{font-size:10px}.pr-pin>span{width:30px;height:30px}.pr-home{font-size:23px}.pr-home>span{width:44px;height:44px}.pr-last{display:block}.pr-last .btns{margin-top:24px}}
@media(max-width:760px){.property-refresh .section{padding-block:48px}.pr-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:30px;padding-bottom:28px;gap:28px}.pr-hero h1{font-size:58px}.pr-hero p{font-size:16px;margin-top:20px}.pr-hero .eyebrow{font-size:10px;margin-bottom:18px}.pr-hero .btns{margin-top:24px}.pr-hero .btn{font-size:13px;padding:14px 18px}.pr-hero .text-link{font-size:13px;gap:12px}.pr-hero-photos{grid-template-rows:210px 120px;gap:8px}.pr-hero-photos figure:first-child{border-radius:64px 12px 12px 12px}.pr-jumps{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;font-size:12px;padding-top:12px;padding-bottom:12px}.pr-jumps a{min-height:44px}.property-refresh .section-head{display:block;margin-bottom:26px}.property-refresh .section-head h2{font-size:42px}.property-refresh .section-head p,.property-refresh .section-head>.text-link{margin-top:18px;font-size:15px}.pr-filters{gap:6px;margin-bottom:20px}.pr-filters button{font-size:12px;padding:10px 13px}.pr-amenity-grid{gap:8px}.pr-amenity-grid article{display:block;padding:18px 14px}.pr-amenity-grid svg{margin:0 0 12px}.pr-amenity-grid h3{font-size:16px}.pr-amenity-grid p{font-size:12px;line-height:1.55}.pr-inclusion-note{font-size:12px}.pr-space-grid{grid-template-columns:1fr;gap:18px}.pr-space-grid figure{height:220px}.pr-space-grid article>div{padding:22px}.pr-space-grid h3{font-size:33px}.pr-space-grid p{font-size:14px}.pr-atlas-layout{display:flex;flex-direction:column;gap:18px}.pr-atlas{width:100%;aspect-ratio:1/1.12;border-radius:16px}.pr-atlas .pr-pin small{font-size:9px;padding:3px 4px}.pr-pin>span{width:30px;height:30px}.pr-map-note{font-size:9px;left:12px;bottom:12px}.pr-home{font-size:22px}.pr-home>span{width:38px;height:38px;border-width:3px;font-size:25px}.pr-place-panel{width:100%;padding:20px}.pr-place-list{grid-template-columns:1fr 1fr;gap:6px}.pr-place-list button{font-size:12px;line-height:1.3;padding:7px 5px;gap:6px;min-height:48px}.pr-place-list button>span{width:22px;height:22px}.pr-area-note{font-size:11px}.pr-last{padding-top:46px;padding-bottom:46px}.pr-last h2{font-size:44px}}

/* Stay length: an explicit, touch-friendly control with a readable limit. */
.mc-stay-controls{align-items:center;flex-wrap:wrap}.mc-stepper.mc-length{display:flex;align-items:center;gap:24px;padding:16px 20px;border:1px solid #bdc9b7;border-radius:18px;background:#edf1e7;box-shadow:0 3px 12px #233e3010}.mc-length-heading{display:flex;flex-direction:column;gap:6px}.mc-length-heading>span{font-size:15px;font-weight:600;color:var(--deep)}.mc-length-heading small{font-size:12px;line-height:1.4;color:#53604f}.mc-length-input{display:flex;align-items:center;gap:16px}.mc-length .mc-length-input button{width:48px;height:48px;flex-shrink:0;border:1px solid var(--deep);border-radius:12px;background:var(--deep);color:var(--paper);font:500 28px var(--font);transition:background .15s,transform .15s}.mc-length .mc-length-input button:hover:not(:disabled){background:#365644;transform:translateY(-1px)}.mc-length .mc-length-input button:disabled{opacity:1;background:#e3e7dd;border-color:#b8c2b0;color:#65705e}.mc-length-value{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:92px;color:var(--deep)}.mc-length-value output{font:600 28px/1.2 var(--font);font-variant-numeric:tabular-nums}.mc-length-value span{font-size:16px}
@media(max-width:700px){.mc-stay-controls{width:100%;gap:16px}.mc-stepper.mc-length{width:100%;padding:16px;gap:14px;flex-wrap:wrap;justify-content:space-between}.mc-length-input{justify-content:space-between;gap:12px;flex:1;min-width:220px}.mc-length-heading{width:100%}.mc-length-heading>span{font-size:16px}.mc-length-value output{font-size:30px}.mc-length .mc-length-input button{width:52px;height:52px}.mc-length-value span{font-size:18px}}

/* Approved 10 Oct clarity and travel refresh. */
/* Reset the old eyebrow/heading margins together: the stay type now leads. */
.ways-section .editorial-way .offer-copy{padding-top:24px;gap:0}
.ways-section .editorial-way .offer-copy h3{font-size:clamp(28px,2.6vw,38px);line-height:1.12;margin:0 0 12px}
.ways-section .editorial-way .offer-copy>.way-summary{font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 16px;max-width:none}
.ways-section .editorial-way .offer-copy>p:not(.way-summary){font-size:15px;line-height:1.65;margin:0 0 24px;max-width:none}
@media(max-width:760px){.ways-section .editorial-way .offer-copy{padding-top:0}.ways-section .editorial-way .offer-copy h3{font-size:clamp(32px,8.7vw,36px);line-height:1.15}}

.reviews-refresh{overflow:hidden;background:#eeeee3}.reviews-actions{display:grid;justify-items:start;gap:15px}.review-pause{border:1px solid var(--line);border-radius:30px;padding:10px 18px;background:transparent;font-size:13px;min-height:44px}.review-pause[hidden]{display:none}.reviews-window{overflow-x:auto;scrollbar-width:thin;padding:12px 0 25px}.reviews-track{display:flex;width:max-content;gap:22px;padding-inline:22px}.reviews-set{display:flex;gap:22px}.review-float{margin:0;display:flex;flex-direction:column;width:clamp(280px,30vw,420px);padding:32px;border:1px solid #d9ddcb;background:var(--paper);border-radius:20px;min-height:265px}.review-float:nth-child(even){transform:translateY(12px)}.review-float p{font-family:var(--display);font-size:30px;line-height:1.22;margin:18px 0 26px}.review-float footer{margin-top:auto;font:500 14px var(--font)}.review-float footer span{display:block;font-weight:400;font-size:11px;margin-top:5px;color:#596551}.review-stars{color:#526744;letter-spacing:4px;font-size:16px}.reviews-duplicate{display:none}.reviews-running .reviews-window{overflow:hidden}.reviews-running .reviews-duplicate{display:flex}.reviews-running .reviews-track{animation:reviews-drift 40s linear infinite}.reviews-refresh[data-paused=true] .reviews-track,.reviews-window:hover .reviews-track,.reviews-window:focus-within .reviews-track{animation-play-state:paused}.reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:36px;padding-top:40px}.reviews-bottom .review-source{display:inline-block;font-size:12px;margin-top:8px;text-decoration:underline}.reviews-video{display:flex;gap:22px;align-items:center;max-width:500px}.reviews-video .guest-video{width:210px;flex-shrink:0}.reviews-video video{width:100%;max-height:160px;object-fit:cover;border-radius:12px}.reviews-video figcaption{font-size:11px;margin-top:6px}.reviews-video h3{font-size:32px}.reviews-video p{font-size:14px;margin-top:10px}@keyframes reviews-drift{to{transform:translateX(calc(-50% + 11px))}}
.guide-intro{padding-block:64px 30px}.guide-intro h1{font-size:clamp(48px,6.5vw,90px);max-width:900px}.guide-intro>p{max-width:650px;margin-top:24px;font-size:20px}.guide-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.guide-jumps a{border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:14px;min-height:44px}.guide-jumps a:hover{background:#e4e7d4}.guide-tinted{background:#eeeee3}.guide-section.section{padding-block:65px}.outing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.outing-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.outing-card{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.outing-card figure{aspect-ratio:1.5;overflow:hidden}.outing-card img{height:100%;width:100%;object-fit:cover}.outing-card>div{padding:25px}.outing-card .eyebrow{font-size:10px;margin-bottom:13px}.outing-card h3{font-size:35px}.outing-card p{font-size:15px;line-height:1.7;margin:18px 0}.outing-card .text-link{font-size:13px}.nearby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nearby-grid article{border-top:1px solid var(--line);padding:26px 0}.nearby-grid .eyebrow{margin-bottom:14px;font-size:11px}.nearby-grid h3{font-size:32px}.nearby-grid p{margin:16px 0;font-size:15px;max-width:540px}.uvita-guide .section-head>p{max-width:390px}
.arrival-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;padding-block:56px 45px;align-items:end}.arrival-intro h1{font-size:clamp(50px,6.5vw,90px);line-height:1}.arrival-intro .eyebrow{margin-bottom:20px}.arrival-intro p{max-width:550px;font-size:18px;margin-top:24px}.arrival-intro .btns{margin-top:25px;gap:16px}.arrival-address{border-left:1px solid var(--line);padding:20px 0 20px 35px}.arrival-address strong{font-family:var(--display);font-size:30px;font-weight:400}.arrival-address p{font-size:15px;margin:10px 0 16px}.arrival-address>span:last-child{font-size:12px}.arrival-plan{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start}.arrival-map{position:sticky;top:110px}.arrival-map svg{display:block;width:100%;height:auto}.arrival-map figcaption{font-size:12px;color:#596551;margin-top:15px}.arrival-options article{padding:26px 0;border-bottom:1px solid var(--line)}.arrival-options article:first-child{padding-top:6px}.arrival-step{display:block;font-size:11px;letter-spacing:.12em;margin-bottom:14px}.arrival-options h2{font-size:38px}.arrival-options p{font-size:15px;margin:15px 0}.arrival-options .arrival-duration{font-size:22px;margin:16px 0}.arrival-duration span{font-size:12px;display:block;color:#596551}.arrival-options .arrival-help{padding:26px;background:#e9ecdF;border-radius:18px;border:0;margin-top:25px}.arrival-help h2{font-size:30px}.arrival-local .nearby-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.arrival-note{font-size:12px;color:#596551;margin-top:25px}.mc-day.checkout{border:1px solid #455f40;background:linear-gradient(135deg,#dbe6d2 0 50%,#fafaf7 50%);box-shadow:inset -3px 0 #455f40;color:var(--ink)}.mc-day.checkout>span{text-decoration:none}.mc-day.checkout small{font-weight:600;background:var(--paper);border-radius:3px;padding:2px 3px;color:var(--ink)}
@media(max-width:1000px){.outing-grid{gap:16px}.outing-card>div{padding:20px}.outing-card h3{font-size:29px}.arrival-intro{gap:30px}.arrival-plan{gap:25px}.arrival-options h2{font-size:32px}}
@media(max-width:1100px){body.menu-is-open{overflow:hidden}.contact-first-menu.mobile-nav.open{display:block;inset:90px 0 0;max-height:calc(100dvh - 90px);padding:18px 6% max(28px,env(safe-area-inset-bottom));overscroll-behavior:contain}.contact-first-menu .menu-welcome{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-welcome>span{font-size:10px;letter-spacing:.1em}.contact-first-menu .menu-welcome>a{font-family:var(--display);font-size:27px;border:0;display:flex;gap:10px;align-items:center;padding:0;min-height:44px}.menu-contact{border-radius:16px;background:#e6ebdb;margin:12px 0 20px;padding:12px 18px}.contact-first-menu .menu-contact a{font-family:var(--font);font-size:14px;border:0;padding:7px 0;display:block;min-height:44px;overflow-wrap:anywhere}.menu-contact a small{display:block;font-size:10px;color:#53634d;margin-bottom:2px}.menu-contact>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.contact-first-menu .menu-contact .menu-whatsapp{font-size:12px;border:1px solid #aebaa3;border-radius:30px;padding:11px 13px}.contact-first-menu .menu-stays>a{display:flex;justify-content:space-between;align-items:center;font-size:27px;padding:10px 0;min-height:50px}.menu-stays>a>span,.menu-explore>a>span{font-size:16px}.menu-explore{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin:14px 0}.contact-first-menu .menu-explore a{font-family:var(--font);font-size:13px;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 0}.contact-first-menu .menu-book{display:flex;justify-content:space-between;align-items:center;font-family:var(--font);font-size:15px;border-radius:30px;background:var(--deep);color:var(--paper);padding:13px 20px;margin-top:18px}.contact-first-menu [aria-current=page]{font-weight:600}}
@media(max-width:760px){.contact-first-menu.mobile-nav.open{top:78px;max-height:calc(100dvh - 78px)}}
@media(max-width:800px){.reviews-bottom{align-items:start;flex-direction:column}.reviews-video{max-width:100%}.guide-intro{padding-block:36px 10px}.guide-intro>p{font-size:17px}.guide-jumps{gap:8px;margin-top:24px}.guide-jumps a{font-size:12px;padding:10px 13px}.outing-grid,.outing-grid.two{grid-template-columns:1fr}.outing-card{display:grid;grid-template-columns:1fr 1.2fr}.outing-card figure{height:100%;aspect-ratio:auto}.outing-card>div{padding:23px}.outing-card h3{font-size:30px}.nearby-grid{gap:10px 24px}.arrival-intro{grid-template-columns:1fr;gap:25px;padding-block:32px 30px}.arrival-intro h1{font-size:54px}.arrival-intro p{font-size:16px;margin-top:18px}.arrival-intro .eyebrow{font-size:10px;margin-bottom:15px}.arrival-address{border:0;border-radius:15px;background:#eeeee3;padding:20px}.arrival-address .eyebrow{margin-bottom:6px}.arrival-address p{margin:6px 0 12px;font-size:14px}.arrival-plan{grid-template-columns:1fr;gap:30px}.arrival-map{position:static}.arrival-options h2{font-size:37px}.arrival-options .arrival-help h2{font-size:30px}.arrival-local .nearby-grid{grid-template-columns:1fr}.arrival-local h2{font-size:42px}}
@media(max-width:480px){.outing-card{display:block}.outing-card figure{aspect-ratio:1.6}.outing-card>div{padding:25px}.nearby-grid{grid-template-columns:1fr}.reviews-video .guest-video{width:165px}.reviews-video{gap:16px}.reviews-video h3{font-size:28px}.review-float{padding:25px;width:280px}.review-float p{font-size:28px}.arrival-intro .btns{display:grid;justify-items:start}.arrival-intro h1{font-size:clamp(44px,13vw,54px)}}
@media(prefers-reduced-motion:reduce){.reviews-running .reviews-track{animation:none}.reviews-running .reviews-duplicate{display:none}.reviews-running .reviews-window{overflow-x:auto}.review-float:nth-child(even){transform:none}}

/* Google reviews transcribed from owner-provided screenshots. */
.reviews-refresh .review-float{width:360px;min-height:300px;padding:26px;flex-shrink:0}
.reviews-refresh .review-float>p{font-size:23px;line-height:1.35;margin:18px 0 24px}
.reviews-refresh .review-float>.review-rating-only{font-size:30px;padding-block:30px}
.reviews-refresh .review-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 24px}
.reviews-refresh .review-photos img{width:100%;height:100px;object-fit:cover;border-radius:8px}
.reviews-refresh .review-float footer{display:flex;align-items:center;gap:10px}
.reviews-refresh .review-float footer .review-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#e4e9da;color:#354d36;font-size:12px;font-weight:600;margin:0}
.reviews-running .reviews-track{animation-duration:var(--reviews-duration,240s)}
.reviews-refresh[data-paused=true] .reviews-window{overflow-x:auto}
@media(max-width:480px){.reviews-refresh .review-float{width:300px;padding:23px}.reviews-refresh .review-float>p{font-size:21px}}

/* Marie leads the testimonial section; Google excerpts float quietly below. */
.reviews-refresh .marie-feature{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:clamp(40px,8vw,120px);align-items:center;max-width:1120px}
.marie-feature .guest-video{width:100%;margin:0}
.marie-feature .guest-video video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:9/16;object-fit:contain;border-radius:20px}
.marie-story h2{font-size:clamp(48px,6vw,86px);margin:20px 0 36px}
.marie-story blockquote{margin:0 0 20px;font:clamp(26px,3vw,38px)/1.2 var(--display)}
.marie-story>p{max-width:370px;font-size:17px;line-height:1.65}
.marie-credit{display:block;font-size:13px;color:var(--muted);margin-top:24px}
.reviews-ribbon{margin-top:54px}
.reviews-refresh .reviews-set{align-items:flex-start;gap:16px}
.reviews-refresh .reviews-track{gap:16px;padding-inline:16px}
.reviews-refresh .reviews-window{padding:12px 0 24px}
.reviews-refresh .review-float{width:280px;min-height:0;height:184px;padding:18px 20px;border-radius:16px;box-shadow:0 5px 14px #243d2e06}
.reviews-refresh .review-float>p{font:14px/1.5 var(--font);margin:10px 0 12px}
.reviews-refresh .review-stars{font-size:12px;letter-spacing:2px}
.reviews-refresh .review-float footer{font-size:12px}
.reviews-refresh .review-float footer span{font-size:10px;line-height:1.3;margin-top:3px}
.reviews-ribbon-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}
.reviews-ribbon-actions>a{padding-block:14px;text-decoration:underline;text-underline-offset:4px}
.reviews-ribbon-actions .review-pause{border:0;padding:10px 0;font-size:12px}
@keyframes reviews-drift{to{transform:translateX(calc(-50% + 8px))}}
@media(max-width:760px){
 .reviews-refresh .marie-feature{grid-template-columns:1fr;gap:28px}
 .marie-feature .guest-video{max-width:350px;margin-inline:auto}
 .marie-story{text-align:center;max-width:420px;margin:auto}
 .marie-story h2{font-size:48px;margin:14px 0 22px}
 .marie-story>p{font-size:16px;margin-inline:auto}
 .marie-credit{display:none}
 .reviews-ribbon{margin-top:32px}
 .reviews-refresh .review-float{width:260px;height:184px;padding:16px 18px}
}

.retreat-month{margin-bottom:56px}.retreat-month>h2{font-size:clamp(28px,3vw,42px);margin-bottom:24px}.retreat-month .journal-grid{align-items:start}.retreat-month .journal-card{padding:24px;border:1px solid var(--line);border-radius:18px}.retreat-month .journal-card>img{border-radius:12px}.retreat-month .journal-card h3{font-size:30px}.mc-month-events{display:grid;gap:18px}.mc-month-events .mc-event{margin:0;border:1px solid var(--line)}.mc-month-events .mc-event>div{padding:22px}.mc-month-events .mc-event h3{font-size:30px}.mc-month-events .mc-event>img{height:180px;object-fit:cover}img[data-retreat-photo][hidden]{display:none!important}

.mc-individual-note{max-width:850px;margin:0 0 30px;padding:20px 24px;background:#eeeee3;border-left:3px solid #728365;border-radius:0 12px 12px 0;font-size:15px;line-height:1.6}.mc-individual-note strong{display:block;margin-bottom:6px;font-weight:500}.mc-individual-note p{margin:0}@media(max-width:760px){.mc-individual-note{padding:16px 18px;font-size:14px;margin-bottom:24px}.mc-intents button{min-width:0;white-space:normal}}

.mc-date-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;max-width:720px}.mc-date-range>button{border:1px solid var(--line);border-radius:12px;padding:16px 20px;text-align:left;background:var(--paper);color:var(--ink);min-height:80px}.mc-date-range>button span{display:block;font-size:12px;margin-bottom:5px}.mc-date-range>button strong{font-size:19px;font-weight:500}.mc-date-range>button[aria-pressed=true]{border-color:var(--deep);box-shadow:inset 0 -3px var(--deep)}.mc-range-summary{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;font-size:13px;align-items:center}.mc-range-summary button{border:0;background:transparent;text-decoration:underline;min-height:44px;color:var(--ink)}.master-calendar .mc-day:disabled{opacity:1}.master-calendar .mc-day:disabled:not([aria-pressed=true]){color:#777a72}.master-calendar .mc-day.in-range{background:#e1e9d9;box-shadow:inset 0 0 0 1px #becab2}.master-calendar .mc-day.in-range>span{text-decoration:none}@media(max-width:760px){.mc-date-range{gap:8px;margin-top:18px}.mc-date-range>button{padding:12px 14px;min-height:76px}.mc-date-range>button strong{font-size:17px}.master-calendar[data-intent=rooms] .mc-stay-controls{width:auto}}

/* The coupon action has no arrow, so it needs symmetric padding. */
#coupon-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
#coupon-form .form-actions{margin:0}
#coupon-form input,#coupon-form .btn{height:50px;min-height:50px;box-sizing:border-box}
#coupon-form .btn{padding:10px 22px;justify-content:center;text-align:center;white-space:nowrap}
@media(max-width:480px){#coupon-form{gap:12px}#coupon-form .btn{padding-inline:16px}}

/* Keep room identity, availability and next action together in a compact comparison. */
.rooms-results-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:40px 0 24px}.rooms-results-heading h2{font-size:clamp(32px,4vw,48px);margin:12px 0}.rooms-results-heading #rooms-search-status{margin:0;max-width:650px}.rooms-results-step{font-size:13px;white-space:nowrap;color:var(--muted)}.rooms-options{grid-template-columns:1fr;gap:22px}.rooms-option{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);background:var(--paper);align-items:stretch}.rooms-option>a{min-height:260px;overflow:hidden}.rooms-option>a img{height:100%;max-height:440px;aspect-ratio:auto;object-fit:cover}.rooms-option-body{padding:28px 32px}.rooms-option h2{font-size:34px}.rooms-availability-label{display:inline-block;border-radius:30px;background:#e5ecdf;color:#2d513c;padding:6px 12px;font-size:12px;font-weight:500;margin-top:8px}.rooms-option .rooms-date-prompt{font-size:14px;margin:16px 0 8px}.rooms-windows{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.rooms-windows a{flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f1f3e9;transition:background .2s}.rooms-windows a:hover{background:#e2e9d9}.rooms-windows strong{font-size:15px;font-weight:500}.rooms-windows span{font-size:12px}.rooms-more-dates summary{cursor:pointer;padding:16px 0;font-size:13px;text-decoration:underline}.rooms-recovery{padding:28px;border-radius:16px;background:var(--cream);margin-bottom:24px}.rooms-recovery h3{font-size:28px;margin-bottom:12px}.rooms-recovery p{max-width:650px;font-size:16px;line-height:1.6}.rooms-recovery .btns{margin-top:22px}.rooms-unavailable{margin-top:28px;border-block:1px solid var(--line);padding:18px 0}.rooms-unavailable>summary{cursor:pointer;font-size:14px;padding:8px 0}.rooms-unavailable-list{display:grid;gap:14px;margin-top:16px}.rooms-unavailable .rooms-option{display:block;background:#f3f3ed}.rooms-unavailable .rooms-option>a,.rooms-unavailable .rooms-option-body>p{display:none}.rooms-unavailable .rooms-option h2{font-size:25px}.rooms-unavailable .rooms-option-body{padding:20px}.rooms-results-heading h2:focus{outline:none}.rooms-options[hidden],.rooms-unavailable[hidden],.rooms-recovery[hidden]{display:none}
@media(max-width:760px){.rooms-results-heading{margin-top:28px;display:block}.rooms-results-step{display:none}.rooms-option{grid-template-columns:1fr}.rooms-option>a{min-height:0}.rooms-option>a img{height:190px;max-height:none}.rooms-option-body{padding:22px}.rooms-option h2{font-size:30px}.rooms-windows{gap:8px}.rooms-windows a{padding:12px 10px}.rooms-windows strong{font-size:14px}.rooms-windows span{font-size:11px}.rooms-recovery{padding:22px}.rooms-recovery .btn{width:100%;justify-content:center}}

/* Distinct offers, shared dates. */
.mc-intents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:1100px;gap:4px}
.mc-intents button{white-space:normal;min-width:0;line-height:1.3;min-height:56px}
.mc-offering{max-width:960px;margin:0 0 28px;line-height:1.6}.mc-offering strong{font-size:24px;font-weight:500}.mc-offering p{margin:8px 0 12px;max-width:780px}.mc-offering>span{display:block;font-size:13px;color:#52624c}
.mc-package-rate strong{font-size:30px}.mc-package-rate b{display:block;font-size:14px;font-weight:500}
.mc-details .field{margin:20px 0 14px}.mc-details input{width:100%;min-height:48px;border:1px solid #abb9a3;border-radius:10px;padding:10px 14px;background:var(--paper);color:var(--deep)}
.mc-price-lines{margin:20px 0}.mc-price-lines>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 0;font-size:14px;border-bottom:1px solid #d6dbce}.mc-price-lines strong{white-space:nowrap;font-weight:500}.mc-price-lines .mc-total{border-top:1px solid #a9b59e;border-bottom:0;margin-top:8px;padding-top:16px;font-size:17px}
.mc-next-step{padding:16px;border-left:3px solid #728365;background:#f7f8f2;border-radius:0 10px 10px 0}.mc-inline-switch{font:inherit;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;min-height:44px;text-align:left}
.mc-calculator{max-width:800px}.mc-calculator>p{margin:14px 0;line-height:1.6}.mc-calculator .form-grid{margin:24px 0;gap:16px}.mc-calculator .btn{margin-top:20px;white-space:normal;justify-content:center;padding:16px 24px;width:100%}.mc-calculator input,.mc-calculator select{border-radius:10px;min-height:48px}.mc-calculator .small{font-size:13px}
@media(max-width:760px){.mc-intents{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-intents button{min-height:54px;padding:12px 8px}.mc-offering strong{font-size:21px}.mc-offering p{font-size:15px}.mc-price-lines>div{font-size:13px;gap:12px}.mc-price-lines .mc-total{font-size:15px}.mc-calculator .form-grid{grid-template-columns:1fr}.mc-calculator h2{font-size:36px}}

/* The menu overlay must cover the same widths as its toggle, including landscape phones. */
@media(max-width:1100px){
 body.menu-is-open .header{z-index:61;background:var(--paper)}
 .contact-first-menu.mobile-nav.open{position:fixed;z-index:60;inset:90px 0 0;width:100%;height:calc(100dvh - 90px);max-height:none;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;background:var(--paper);animation:none;clip-path:none;-webkit-overflow-scrolling:touch;touch-action:pan-y}
 .contact-first-menu.mobile-nav.open a{animation:none}
 .contact-first-menu .menu-contact,.contact-first-menu .menu-explore{min-width:0}
}
@media(max-width:760px){.contact-first-menu.mobile-nav.open{top:78px;height:calc(100dvh - 78px);padding-inline:20px}}

.outing-card .uvita-waterfall-photo{aspect-ratio:16/9}.outing-card .uvita-waterfall-photo img{object-position:center top}.outing-card .photo-credit{font-size:11px;line-height:1.5;margin:18px 0 0;color:var(--muted)}.outing-card .photo-credit a{text-decoration:underline}

/* Unified contact: offer paths, inquiry selector and a quiet human contact panel. */
.contact-hub{padding-bottom:100px}.contact-intro{padding-top:90px;padding-bottom:50px}.contact-intro h1{font-size:clamp(64px,8vw,124px);line-height:.98;margin:25px 0}.contact-intro>p{max-width:620px;font-size:20px;line-height:1.6}.contact-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:80px}.contact-paths article{padding:30px;border:1px solid #dce1d3;border-radius:24px;background:#eef0e5;display:flex;flex-direction:column;align-items:flex-start}.contact-paths h2{font-size:38px;line-height:1.1;margin:18px 0}.contact-paths p{margin-bottom:24px}.contact-paths .text-link{margin-top:auto;background:none;color:inherit;cursor:pointer}.contact-explore{font-size:13px;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:64px;scroll-margin-top:120px}.contact-form-panel>h2{font-size:clamp(42px,5vw,68px);line-height:1.05;margin:16px 0 30px}.contact-choices{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.contact-choices button{padding:13px 18px;border:1px solid #b6c3ad;border-radius:30px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:14px}.contact-choices button[aria-pressed=true]{background:#203c30;color:#fff;border-color:#203c30}.contact-choices button:focus-visible,.contact-paths button:focus-visible{outline:3px solid #799469;outline-offset:4px}.contact-context{background:#eef0e5;border-left:3px solid #799469;padding:20px 24px;line-height:1.65;margin-bottom:30px}.contact-group{margin:0!important}.contact-hub [hidden]{display:none!important}.contact-hub input,.contact-hub select,.contact-hub textarea{border-radius:12px;min-height:52px;font-size:16px;max-width:100%;width:100%;box-sizing:border-box}.contact-hub textarea{min-height:150px}.contact-hub .form-note{margin:24px 0;line-height:1.6}.contact-hub .form-note a{text-decoration:underline}.contact-hub #contact-result:not(:empty){margin-top:28px}.contact-aside{align-self:start;border-radius:24px;background:#eeece0;overflow:hidden}.contact-aside figure{margin:0;aspect-ratio:4/3}.contact-aside img{width:100%;height:100%;object-fit:cover}.contact-aside>div{padding:32px}.contact-aside h2{font-size:43px;line-height:1.05;margin:18px 0}.contact-aside a{display:block;margin-top:18px;overflow-wrap:anywhere}.contact-aside p{margin-top:20px}.contact-aside hr{border:0;border-top:1px solid #cdd2c3;margin:28px 0}.contact-hub .field{min-width:0}.contact-hub .contact-group .form-grid{width:100%}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:40px}.contact-paths{gap:12px}.contact-paths article{padding:20px}.contact-paths h2{font-size:30px}.contact-intro{padding-top:50px}.contact-aside{display:grid;grid-template-columns:1fr 1fr}.contact-aside figure{height:100%;aspect-ratio:auto}}
@media(max-width:600px){.contact-paths{grid-template-columns:1fr;margin-bottom:50px}.contact-paths article{padding:24px}.contact-layout{gap:32px}.contact-aside{display:block}.contact-aside figure{aspect-ratio:4/3}.contact-hub .form-grid{grid-template-columns:1fr}.contact-choices{gap:8px}.contact-choices button{padding:12px 14px}.contact-form-panel>h2{font-size:46px}.contact-intro h1{font-size:68px}.contact-hub form>.btn{width:100%}.contact-aside>div{padding:26px}.contact-context{padding:18px}}
.contact-paths button.text-link{border:0;border-bottom:1px solid currentColor;padding:0 0 8px;font:inherit;font-weight:600;text-align:left}

/* Waterfall cards retain matching photo proportions at every screen width. */
#waterfall-days .outing-card{display:flex;flex-direction:column}#waterfall-days .outing-card figure{width:100%;height:auto;aspect-ratio:16/9;flex:none;margin:0}#waterfall-days .outing-card figure img{display:block;width:100%;height:100%;object-fit:cover}#waterfall-days .outing-card>div{flex:1}#waterfall-days .outing-card .eyebrow{line-height:1.6}

/* Land a little closer to the Three ways section without changing other anchors. */
#ways{scroll-margin-top:-32px}

/* A quiet mobile navigation: pages first, direct contact within reach. */
@media(max-width:1100px){
 .simple-mobile-menu.mobile-nav.open{padding:14px 24px max(24px,env(safe-area-inset-bottom))}
 .simple-mobile-menu .menu-primary>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:8px 0;border-bottom:1px solid var(--line);font:30px/1.15 var(--display);letter-spacing:-.02em;color:var(--ink)}
 .simple-mobile-menu .menu-primary>a>span{font:18px var(--font);opacity:.55}
 .simple-mobile-menu .menu-secondary{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:20px 0 12px}
 .simple-mobile-menu .menu-secondary>a{display:flex;align-items:center;min-height:44px;padding:8px 0;border:0;font:14px/1.4 var(--font);color:var(--ink)}
 .simple-mobile-menu .menu-secondary>a>span{display:none}
 .simple-mobile-menu .menu-reach{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:10px}
 .simple-mobile-menu .menu-reach>a{display:flex;align-items:center;justify-content:center;min-height:44px;flex:1;border:1px solid var(--line);border-radius:30px;padding:8px 10px;font:13px/1.3 var(--font);color:var(--ink)}
 .simple-mobile-menu a:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
 body.menu-is-open .menu-button{border-radius:50%;background:transparent;border:1px solid var(--line)}
}
@media(max-width:360px){.simple-mobile-menu.mobile-nav.open{padding-inline:20px}.simple-mobile-menu .menu-primary>a{font-size:27px;min-height:48px}}
/* Selected nights stay visually consistent even when not valid new arrivals. */
.master-calendar .mc-day.in-range:disabled,.master-calendar .mc-day.checkout:disabled{color:var(--ink)}
@media(max-width:760px){.master-calendar .mc-day[aria-pressed=true]::after,.master-calendar .mc-day.checkout::after{font:600 8px/1.2 var(--font);letter-spacing:.04em}.master-calendar .mc-day[aria-pressed=true]::after{content:'IN'}.master-calendar .mc-day.checkout::after{content:'OUT'}}

/* Contact leads directly into the inquiry form. */
.contact-intro{padding-top:54px;padding-bottom:38px}.contact-intro h1{font-size:clamp(56px,7vw,96px);margin:20px 0}.contact-form-panel>h2{font-size:clamp(32px,4vw,46px);margin-top:0}
@media(max-width:600px){.contact-intro{padding-top:32px;padding-bottom:30px}.contact-intro>p{font-size:17px}.contact-intro h1{font-size:58px}.contact-form-panel>h2{font-size:34px}}

/* Make every retreat section discoverable without a sideways swipe. */
.retreat-jump-label{display:none}
@media(max-width:760px){
 .subnav.retreat-section-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;white-space:normal;padding:22px 6%;position:static;background:var(--paper);backdrop-filter:none}
 .retreat-section-links .retreat-jump-label{display:block;grid-column:1/-1;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;color:var(--muted)}
 .subnav.retreat-section-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:12px 14px;border:1px solid #cbd4c3;border-radius:12px;background:#edf0e6;font:500 13px/1.4 var(--font);color:var(--ink);white-space:normal;text-decoration:none}
 .subnav.retreat-section-links a::after{content:'';flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px 0}
 .subnav.retreat-section-links a[href^="/"]::after{transform:rotate(-45deg);margin-bottom:0}
 .subnav.retreat-section-links a:hover{background:#e1e8d8}
 .subnav.retreat-section-links a:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
}

/* Keep the hosted-retreat inclusion heading comfortably spaced on phones. */
@media(max-width:760px){
 #included.included-story{padding-top:32px}
 #included.included-story .section-head .eyebrow{margin-bottom:18px}
}

/* Compact map introduction on phones. */
.uvita-waterfall-photo>a{display:block;width:100%;height:100%}
@media(max-width:760px){.property-atlas.wrap{padding-top:32px}.property-atlas .atlas-heading{gap:16px;margin-bottom:20px}}
/* Exclude the printed logo in the artwork's empty upper-left margin. */
.atlas-art{clip-path:polygon(33% 0,100% 0,100% 100%,0 100%,0 13.5%,33% 13.5%)}

/* Marie's silent preview has an explicit start-from-the-beginning play action. */
.marie-video-preview{position:relative}
.marie-video-preview [hidden]{display:none!important}
.marie-play{position:absolute;inset:0 0 auto;height:auto;aspect-ratio:9/16;width:100%;border:0;border-radius:20px;background:linear-gradient(transparent 55%,rgba(0,0,0,.38));color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;font:500 16px var(--font)}
.marie-play-icon{display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(25,49,40,.75)}
.marie-play-icon::after{content:'';border-left:18px solid white;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.marie-preview-pause{position:absolute;right:14px;top:14px;min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.55);border-radius:30px;background:rgba(25,49,40,.8);color:white;font:13px var(--font);cursor:pointer}
.marie-play:focus-visible,.marie-preview-pause:focus-visible{outline:3px solid var(--paper);outline-offset:-6px}

/* A single native scroll surface keeps vertical page scrolling uninterrupted. */
.reviews-refresh .reviews-window{overflow-x:auto;overflow-y:hidden;cursor:grab;touch-action:pan-x pan-y;scroll-behavior:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reviews-refresh .reviews-window::-webkit-scrollbar{display:none}
.reviews-refresh .reviews-track{animation:none;transform:none}
.reviews-refresh .reviews-window.is-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.reviews-refresh .reviews-window:focus-visible{outline:2px solid var(--deep);outline-offset:-4px}

/* Keep activity photos independent of card text height at every screen width. */
.uvita-guide .outing-card{display:flex;flex-direction:column;min-width:0}
.uvita-guide .outing-card figure{position:relative;display:block;flex:none;width:100%;height:auto;min-width:0;margin:0;aspect-ratio:16/10;overflow:hidden}
.uvita-guide .outing-card figure>a{position:absolute;inset:0;display:block}
.uvita-guide .outing-card figure img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.uvita-guide .outing-card>div{flex:1;min-width:0}
.uvita-guide #waterfall-days .outing-card figure{aspect-ratio:16/9}

/* Make direct contact links visibly actionable. */
.contact-aside a[href^="mailto:"],.contact-aside a[href^="tel:"]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

.arrival-airlines{display:flex;flex-wrap:wrap;gap:16px 24px;margin:20px 0}.arrival-airlines a{text-decoration:underline;text-underline-offset:4px}

.pr-home .pr-synergy-mark{display:block;width:78%;height:78%;flex:none}

/* Explicit month and date controls: readable labels and generous touch targets. */
.mc-month-control{width:min(100%,650px);gap:12px;align-items:stretch}
.mc-month-control>button{width:auto;height:auto;min-height:54px;border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:8px;font:500 14px/1.3 var(--font);background:var(--paper)}
.mc-month-control>button>span[aria-hidden]{font-size:25px}
.mc-month-picker{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.mc-month-picker select{width:100%;min-height:54px;border:1px solid #8c9e83;border-radius:12px;padding:10px 36px 10px 14px;background:var(--paper);color:var(--ink);font:500 19px var(--font);cursor:pointer}
.mc-date-range>button{cursor:pointer}.mc-date-range>button:hover:not(:disabled){background:#e4eddf}
.mc-date-range>button span{font-size:15px}.mc-instruction{font-size:18px;line-height:1.5;font-weight:500;max-width:850px}
.mc-month-panel{scroll-margin-top:110px}.mc-grid:focus{outline:2px solid var(--deep);outline-offset:5px}
.site-languages{padding:22px 5%;border-top:1px solid currentColor;text-align:center}.site-languages a{text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px;font-size:17px}
@media(max-width:760px){.mc-month-control{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mc-month-picker{grid-column:1/-1;grid-row:1}.mc-month-picker select{font-size:19px}.mc-month-control>button{justify-content:center;min-height:48px;font-size:14px}.mc-instruction{font-size:16px}.mc-date-range>button span{font-size:14px}.mc-date-range>button strong{font-size:17px}.mc-day{min-height:58px}.mc-day>span{font-size:18px}}
html[lang=es] .mc-intents{flex-wrap:wrap}html[lang=es] .mc-intents button{white-space:normal}html[lang=es] .contact-choices{flex-wrap:wrap}

@media(max-width:760px){html[lang=es] .master-calendar .mc-day[aria-pressed=true]::after{content:'LLEG.'}html[lang=es] .master-calendar .mc-day.checkout::after{content:'SAL.'}}

/* Four equally visible seasons, with a clear path into the buyout calendar. */
.buyout-pricing-intro{margin-top:24px;max-width:700px}.buyout-minimum{font-size:14px;margin:22px 0;color:var(--deep)}.buyout-seasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.buyout-season{padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.buyout-season h3{font:500 14px/1.4 var(--font);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}.buyout-season .buyout-rate{font:48px/1 var(--display);margin:0 0 10px}.buyout-season ul{padding:0;list-style:none;margin:20px 0 0;font-size:14px;line-height:1.6}.buyout-season li+li{margin-top:8px}.buyout-rate-note{padding:22px;border-left:3px solid #879a78;background:var(--cream);border-radius:0 12px 12px 0}.buyout-rate-note p{margin:10px 0 0}.buyout-booking-steps ol{padding-left:22px;margin:26px 0;line-height:1.6}.buyout-booking-steps li+li{margin-top:16px}.buyout-booking-steps>.btn{width:100%;justify-content:center;white-space:normal;text-align:center}.buyout-hosted-link{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.buyout-hosted-link p{font-size:15px;margin:10px 0 16px}.buyout-hosted-link .text-link{font-size:15px}@media(max-width:760px){.buyout-season{padding:20px}.buyout-seasons{grid-template-columns:1fr;gap:12px}.buyout-season .buyout-rate{font-size:44px}.buyout-pricing .sticky-card{position:static}.buyout-minimum{font-size:13px;line-height:1.7}.buyout-rate-note{padding:18px}}

.master-calendar .mc-day.minimum-stay:disabled{background:#edf2e7;border:1px dashed #91a187;color:var(--ink)}.master-calendar .mc-day.minimum-stay>span{text-decoration:none}.mc-earliest{padding:18px;border:1px solid #91a187;border-radius:12px;background:var(--paper)}.mc-earliest strong,.mc-earliest span{display:block}.mc-earliest span{margin-top:6px;font-size:15px}@media(max-width:760px){.master-calendar .mc-day.minimum-stay small{display:block;font-size:8px;line-height:1.2;letter-spacing:0}.master-calendar .mc-day.minimum-stay{padding:8px 2px}}

/* Compact, expandable kitchen and dining photographs on Mango. */
.room-shared-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;max-width:640px}.room-shared-photos button{display:block;padding:0;border:0;border-radius:14px;overflow:hidden;background:transparent;cursor:zoom-in}.room-shared-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.room-shared-photos button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

/* Keep the visit type next to its month and date controls. */
.master-calendar .mc-intents{max-width:none;margin-bottom:16px}.master-calendar .mc-controls{border-top:0;padding-top:0}.master-calendar .mc-day.minimum-stay:disabled{opacity:1}.master-calendar .mc-offering{margin-bottom:20px}

/* Visible language choice belongs to the main footer, never review footers. */
.footer.unified-footer .site-languages{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 0;margin:0;border-top:1px solid #ffffff30;text-align:left}.site-language-label{font-size:14px;letter-spacing:.04em}.site-language-options{display:inline-flex;gap:4px;padding:5px;border:1px solid #ffffff55;border-radius:40px}.site-language-options a,.site-language-options .site-language-current{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:30px;font:500 15px/1.2 var(--font);text-decoration:none;color:#f4f1e8}.site-language-options .site-language-current{background:#f4f1e8;color:#102e27}.site-language-options a:hover{background:#ffffff18}.site-language-options a:focus-visible{outline:2px solid #f4f1e8;outline-offset:2px}@media(max-width:480px){.footer.unified-footer .site-languages{gap:12px}.site-language-options a,.site-language-options .site-language-current{padding-inline:17px}}
.footer.unified-footer .site-languages{grid-row:3}.footer.unified-footer .footer-bottom{grid-row:4}@media(max-width:760px){.footer.unified-footer .site-languages{grid-row:4}.footer.unified-footer .footer-bottom{grid-row:5}}
/* Soft drawer motion retains the fixed, Safari-safe menu geometry. */
@media(max-width:1100px){
 .contact-first-menu.simple-mobile-menu.mobile-nav{display:block;position:fixed;z-index:60;inset:90px 0 0;width:100%;height:calc(100dvh - 90px);max-height:none;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;background:var(--paper);padding:14px 24px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;clip-path:none;animation:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(32px,0,0);transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 240ms ease,visibility 0s linear 280ms}
 .contact-first-menu.simple-mobile-menu.mobile-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0);transition-duration:480ms,320ms,0s;transition-timing-function:cubic-bezier(.22,1,.36,1),ease,linear;transition-delay:0s}
}
@media(max-width:760px){.contact-first-menu.simple-mobile-menu.mobile-nav{top:78px;height:calc(100dvh - 78px)}}
@media(max-width:360px){.contact-first-menu.simple-mobile-menu.mobile-nav{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.contact-first-menu.simple-mobile-menu.mobile-nav{transition:none;transform:none}}
/* Native mobile date controls need enough room for the complete date. */
@media(max-width:760px){
 .rooms-search-fields{grid-template-columns:minmax(0,1fr);gap:18px}
 .rooms-search-fields .field{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}
 .rooms-search-fields .field[hidden]{display:none}
 .rooms-search-fields input,.rooms-search-fields select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;min-height:52px}
 .rooms-search-fields input[type=date]{appearance:none;-webkit-appearance:none;padding:12px 14px;text-align:left}
 .rooms-search-fields input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
 .rooms-search-fields .rooms-month-field,.rooms-search-fields>.btn{grid-column:1}
}

/* Dedicated checkout: summary and details together, with no nested scrolling. */
.checkout-page{max-width:1240px;margin:auto;padding:54px 32px 90px}.checkout-heading{margin-bottom:36px}.checkout-heading .eyebrow{margin-top:24px}.checkout-heading h1{font-size:clamp(44px,6vw,78px);margin:12px 0}.checkout-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.checkout-layout>section{min-width:0;padding:32px;border-radius:24px;background:#eeeee3}.checkout-layout>section:empty{display:none}.checkout-layout #checkout-details{background:#fafaf6;border:1px solid #d9dece}.checkout-layout h2{font-size:34px}.checkout-layout .btn{justify-content:center}.checkout-layout .summary-line{gap:20px}.checkout-layout input:not([type=checkbox]),.checkout-layout textarea{width:100%;min-width:0}.booking-thanks{max-width:1240px;margin:40px auto 80px;padding:0 32px;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}.booking-thanks-photo{width:100%;height:650px;object-fit:cover;border-radius:28px}.booking-thanks section{padding:28px 0}.booking-thanks h1{font-size:clamp(42px,5vw,68px);line-height:1.05;margin:18px 0 24px}.booking-thanks h2{font-size:32px;line-height:1.15}.booking-thanks .note-panel{padding:28px;border-radius:22px}.booking-thanks p{overflow-wrap:anywhere}@media(max-width:760px){.checkout-page{padding:28px 20px 56px}.checkout-layout{grid-template-columns:1fr;gap:20px}.checkout-layout>section{padding:24px 20px}.checkout-layout .form-grid{grid-template-columns:1fr}.checkout-layout .field{grid-column:1/-1}.booking-thanks{margin:20px auto 48px;padding:0 20px;grid-template-columns:1fr;gap:4px}.booking-thanks-photo{height:230px}.booking-thanks section{padding:24px 0}.booking-thanks .note-panel{padding:22px}}

/* Match the room finder’s branded month grid on every calendar view. */
.mc-month-picker .rooms-month-trigger{min-height:54px;font:500 19px var(--font);border-color:#8c9e83;border-radius:12px}.mc-month-picker select[hidden]{display:none}.mc-month-picker .rooms-month-picker{min-width:280px}.mc-month-picker .rooms-month-year{flex-shrink:0}@media(max-width:760px){.mc-month-picker .rooms-month-picker{min-width:0;width:100%;box-sizing:border-box}}

/* Shared page FAQs and the searchable directory. */
.page-faq{border-top:1px solid var(--line)}.page-faq h2{font-size:clamp(36px,4vw,58px);line-height:1.08}.page-faq .text-link{margin-top:24px}.faq-topic+.faq-topic{margin-top:36px}.faq-topic h3{font-size:28px;margin:0 0 16px}.faq-list details{scroll-margin-top:120px}.faq-list .question-source{display:inline-block;margin-top:16px;text-decoration:underline;text-underline-offset:4px}.faq-directory{padding-top:0}.faq-directory-search{max-width:780px;margin-bottom:28px}.faq-topics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px}.faq-topics a{padding:12px 18px;border:1px solid var(--line);border-radius:28px;min-height:44px}.faq-topics a:hover{background:var(--cream)}.faq-directory-group{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:110px}.faq-directory-group h2{font-size:38px;line-height:1.15}.faq-offer{color:var(--green);font-weight:600}.faq-directory .ask-card{background:var(--cream);border-radius:20px;padding:24px}.faq-directory .ask-input{display:flex;gap:12px}.faq-directory .ask-input input{min-width:0;flex:1}.faq-directory .ask-input button{min-width:48px;min-height:48px}.faq-directory #ask-note{font-size:13px;margin-top:14px}@media(max-width:760px){.faq-directory-group{grid-template-columns:1fr;gap:20px;padding:28px 0}.page-faq .faq-layout{gap:28px}.faq-topics{gap:8px;margin-bottom:24px}.faq-topics a{font-size:14px;padding:12px 14px}.faq-topic h3{font-size:25px}.faq-list summary{line-height:1.4}.faq-directory-group h2{font-size:32px}}

/* Content settles behind the panel; closing remains responsive. */
@media(max-width:1100px){
 .simple-mobile-menu .menu-primary,.simple-mobile-menu .menu-secondary,.simple-mobile-menu .menu-reach{opacity:0;transform:translate3d(18px,0,0);transition:opacity 160ms ease,transform 240ms cubic-bezier(.4,0,.2,1)}
 .simple-mobile-menu.open .menu-primary,.simple-mobile-menu.open .menu-secondary,.simple-mobile-menu.open .menu-reach{opacity:1;transform:translate3d(0,0,0);transition-duration:360ms,480ms;transition-timing-function:ease,cubic-bezier(.22,1,.36,1);transition-delay:60ms}
 .simple-mobile-menu.open .menu-secondary{transition-delay:100ms}
 .simple-mobile-menu.open .menu-reach{transition-delay:140ms}
 .header .menu-button{position:relative;font-size:0;color:var(--ink)}
 .header .menu-button::before,.header .menu-button::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:1.5px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%) translateY(-3px);transition:transform 360ms cubic-bezier(.22,1,.36,1)}
 .header .menu-button::after{transform:translate(-50%,-50%) translateY(3px)}
 .header .menu-button[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
 .header .menu-button[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){
 .contact-first-menu.simple-mobile-menu.mobile-nav,.simple-mobile-menu .menu-primary,.simple-mobile-menu .menu-secondary,.simple-mobile-menu .menu-reach{transition:none;transform:none}
 .header .menu-button::before,.header .menu-button::after{transition:none}
}

/* Desktop calendar: one date-selection workspace with an adjacent next step. */
@media(min-width:1101px){
 .master-calendar{padding:40px 0 56px}
 .master-calendar>.wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);column-gap:36px;grid-template-areas:"intro intro" "modes modes" "offering offering" "controls details" "dates details" "instruction details" "status details" "month details" "footer footer";align-items:start;max-width:1280px}
 .master-calendar .mc-intro{grid-area:intro;display:grid;grid-template-columns:1fr auto;gap:8px 40px;align-items:end;margin:0 0 28px}
 .master-calendar .mc-intro>.eyebrow{grid-column:1/-1;margin:0}
 .master-calendar .mc-intro h1{font-size:clamp(46px,4.2vw,64px);line-height:1.05;margin:0;letter-spacing:-.035em}
 .master-calendar .mc-intro h1 br{display:none}
 .master-calendar .mc-intro h1 em{margin-left:.18em}
 .master-calendar .mc-intro>p{font-size:15px;line-height:1.6;max-width:320px;margin:0}
 .master-calendar .mc-intents{grid-area:modes;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;border-radius:16px;padding:5px;gap:4px}
 .master-calendar .mc-intents button{font-size:15px;min-height:52px;padding:12px 14px;border-radius:12px}
 .master-calendar .mc-offering{grid-area:offering;max-width:none;display:flex;align-items:baseline;gap:28px;padding:20px 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line)}
 .master-calendar .mc-offering strong{flex:0 0 30%;font-size:19px;line-height:1.4}
 .master-calendar .mc-offering p{font-size:14px;line-height:1.6;margin:0;max-width:740px}
 .master-calendar .mc-offering>span{display:none}
 .master-calendar .mc-controls{grid-area:controls;margin:0;gap:12px}
 .master-calendar .mc-month-control{width:100%;display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:end;gap:12px}
 .master-calendar .mc-month-control>button{height:48px;min-height:48px;font-size:13px;padding:10px 12px;border-radius:10px}
 .master-calendar .mc-month-picker{min-width:0}
 .master-calendar #mc-month-trigger{min-height:48px;padding:10px 16px;font-size:18px}
 .master-calendar #mc-month-label{font-size:12px;margin-bottom:6px}
 .master-calendar .mc-date-range{grid-area:dates;max-width:none;width:100%;margin:18px 0 0;gap:10px}
 .master-calendar .mc-date-range>button{min-height:72px;padding:12px 16px}
 .master-calendar .mc-date-range>button span{font-size:13px}
 .master-calendar .mc-date-range>button strong{font-size:17px}
 .master-calendar .mc-range-summary{min-height:28px;font-size:12px}
 .master-calendar .mc-range-summary button{min-height:28px;font-size:12px}
 .master-calendar .mc-instruction{grid-area:instruction;font-size:14px;line-height:1.5;margin:12px 0 16px;max-width:none;font-weight:400}
 .master-calendar #mc-status{grid-area:status;margin:0 0 12px;font-size:13px}
 .master-calendar #mc-status[data-ready=true]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .master-calendar .mc-layout{display:contents}
 .master-calendar .mc-month-panel{grid-area:month;padding:20px;border-radius:18px}
 .master-calendar .mc-weekdays span{padding-bottom:12px;font-size:12px}
 .master-calendar .mc-day{min-height:66px;padding:9px;border-radius:8px}
 .master-calendar .mc-day>span{font-size:17px}
 .master-calendar .mc-day small{font-size:10px}
 .master-calendar .mc-legend{margin-top:14px;font-size:11px}
 .master-calendar .mc-details{grid-area:details;padding:28px;border-radius:18px;position:static}
 .master-calendar .mc-details>h2{font-size:36px}
 .master-calendar .mc-details p{font-size:14px;line-height:1.6}
 .master-calendar .mc-details .small{font-size:12px}
 .master-calendar .mc-footer{grid-area:footer;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:12px}
 .master-calendar .mc-individual-note:not([hidden]){grid-column:1/-1;grid-row:4;margin:0 0 20px}
 .master-calendar[data-intent=rooms]>.wrap{grid-template-areas:"intro intro" "modes modes" "offering offering" "note note" "controls details" "dates details" "instruction details" "status details" "month details" "footer footer"}
 .master-calendar[data-intent=rooms] .mc-individual-note{grid-area:note}
 .master-calendar[data-intent=retreats]>.wrap{grid-template-areas:"intro intro" "modes modes" "offering offering" "controls details" "instruction details" "status details" "month details" "footer footer"}
}

@media(min-width:1101px){.master-calendar[data-selection=arrival] .mc-range-summary{display:none}.master-calendar[data-selection=departure] #mc-range-nights{visibility:hidden}}

@media(min-width:1101px){.master-calendar>.wrap{grid-template-rows:auto auto auto auto auto auto auto 1fr auto}.master-calendar[data-intent=rooms]>.wrap{grid-template-rows:auto auto auto auto auto auto auto auto 1fr auto}.master-calendar[data-intent=retreats]>.wrap{grid-template-rows:auto auto auto auto auto auto 1fr auto}}
