@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Jost:wght@300;400;500&display=swap');
:root{--cream:#f5f2e9;--ink:#4e533e;--line:#d7d6c8;--sage:#dfe2d5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:400}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #9c623d;outline-offset:5px}.skip{position:absolute;top:-100px;z-index:99;background:white;padding:15px}.skip:focus{top:0}header{height:100px;padding:0 4%;display:flex;align-items:center;gap:38px;background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:29px;letter-spacing:3px;white-space:nowrap;text-align:center}.brand span{display:block;font:9px var(--sans);letter-spacing:3px;margin-top:5px}nav{display:flex;gap:30px;margin:auto;font-size:13px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.reserve{background:var(--ink);color:var(--cream);padding:16px 25px;font-size:12px;letter-spacing:1px;display:inline-flex;justify-content:center;gap:30px}.reserve:hover{background:#6d725b}.reserve:disabled{opacity:.4;cursor:not-allowed}.menu-toggle{display:none}.hero{height:calc(100svh - 100px);min-height:560px;max-height:900px;position:relative;color:#fff}.hero>img{height:100%;object-position:center 58%}.hero:after,.pool:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#14202170,transparent 65%)}.hero-copy{position:absolute;left:7%;bottom:21%;z-index:1;text-shadow:0 2px 20px #0004}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:500;line-height:1.6;margin:0 0 24px}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:.98}h1{font-size:clamp(65px,7.5vw,115px);letter-spacing:-2px}.hero-copy>p:last-child{font-size:17px;letter-spacing:1px;margin-top:25px}.hero-bottom{position:absolute;left:7%;bottom:35px;z-index:1;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:45px}.hero-bottom span{font-size:24px}.hero-place{position:absolute;right:5%;bottom:40px;z-index:1;font-size:10px;letter-spacing:2px}h2{font-size:clamp(44px,4.8vw,74px);letter-spacing:-1.2px}p{line-height:1.8;font-size:15px}.intro{position:relative;padding:125px 12% 130px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:11%}.intro>.eyebrow{grid-column:1/-1}.intro h2{line-height:1.08}.intro-text p{margin:0 0 20px}.text-link{display:inline-flex;gap:35px;font-size:12px;border-bottom:1px solid var(--ink);padding:9px 0;align-items:center;text-align:left}.text-link span{font-size:20px}.sun{position:absolute;bottom:35px;left:14%;font:75px var(--serif);color:#9d9d76}.editorial{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;padding:0 8% 115px}.editorial-image{position:relative}.editorial-image img{aspect-ratio:1/1.1}.editorial-image>span{display:block;margin-top:16px;font-size:9px;letter-spacing:2px}.editorial-copy p:not(.eyebrow){max-width:340px;margin:28px 0}.editorial-copy h2{font-size:clamp(45px,4.5vw,66px)}.rooms{padding:90px 8% 110px;background:var(--sage)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading h2{font-size:clamp(42px,4vw,62px)}.section-heading .eyebrow{margin-bottom:14px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.photo{display:block;width:100%;padding:0;position:relative;overflow:hidden}.photo img{transition:transform .6s}.photo:hover img{transform:scale(1.035)}.room-grid .photo img{aspect-ratio:1.4}.photo>span{position:absolute;right:18px;bottom:18px;background:var(--cream);padding:10px 14px;font-size:9px;letter-spacing:1px}.room-title{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.room-title h3{font-size:34px}.room-title>span{font-size:10px}.room-grid p{margin:14px 0}.amenities{font-size:9px;letter-spacing:1px}.pool{height:650px;position:relative;color:white}.pool img{height:100%}.pool>div{position:absolute;left:8%;bottom:75px;z-index:1}.pool h2{font-size:clamp(65px,7vw,100px)}.details{padding:85px 8% 95px;text-align:center}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:50px}.detail-grid span{font:45px var(--serif)}.detail-grid h3{font-size:28px;margin:20px 0 10px}.detail-grid p{font-size:13px;max-width:240px;margin:auto}.gallery{padding:30px 8% 95px}.section-heading>span{font-size:8px;letter-spacing:1.5px;max-width:150px;line-height:1.8}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:22px;align-items:start}.gallery-grid img{height:350px}.gallery-grid .photo:nth-child(2){margin-top:65px}.gallery-grid .photo:nth-child(3){margin-top:25px}.location{border-top:1px solid var(--line);padding:95px 8%;display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.location p{margin-top:0}.location address{font-style:normal;font-size:13px;line-height:1.8;margin:25px 0}.closing{text-align:center;background:#e5ded0;padding:85px 20px 95px}.closing h2{margin-bottom:30px;font-size:70px}footer{padding:55px 8% 30px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:35px}footer>div{display:flex;gap:30px;font-size:12px}footer small{flex-basis:100%;border-top:1px solid var(--line);padding-top:25px;font-size:9px;letter-spacing:1px}dialog{border:0;background:var(--cream);color:var(--ink);padding:35px;max-width:min(920px,95vw);max-height:92svh;overflow:auto}dialog::backdrop{background:#20251cc0;backdrop-filter:blur(5px)}dialog h2{font-size:50px}.booking-top{display:flex;justify-content:space-between;align-items:center}.close{font-size:22px;padding:8px}.booking-top .eyebrow{margin:0}#booking>p{font-size:13px;margin:12px 0 24px}.booking-fields{display:grid;grid-template-columns:1.3fr 1.3fr .8fr 1fr;border:1px solid var(--line)}.booking-fields>*{padding:15px;border-right:1px solid var(--line);text-align:left}.booking-fields small{display:block;font-size:9px;letter-spacing:1px;margin-bottom:8px}.booking-fields span{font-size:14px}.booking-fields select{border:0;background:transparent;color:var(--ink);width:100%}.date-field.active{background:var(--sage)}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:25px 0 5px;font-size:12px}.calendar-nav button{font-size:24px;padding:10px}.calendar-nav button:disabled{opacity:.3}.calendars{display:grid;grid-template-columns:1fr 1fr;gap:40px}.month h3{text-align:center;font:15px var(--sans);text-transform:capitalize;margin:10px 0 24px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.week{font-size:10px;text-align:center;margin-bottom:8px}.day{aspect-ratio:1;min-width:34px;font-size:13px;padding:5px;border:1px solid transparent}.day:hover:not(:disabled){border-color:var(--ink)}.day:disabled{opacity:.25;cursor:default}.day.selected{background:var(--ink);color:white}.day.range{background:var(--sage)}.day.today{border-bottom-color:var(--ink)}.booking-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.booking-bottom p{font-size:12px;margin:0;max-width:300px}.booking-note{display:block;font-size:10px;margin-top:15px}#lightbox{background:var(--cream);padding:12px;max-width:1000px;width:94vw}#lightbox>.close{position:absolute;right:20px;top:20px;background:var(--cream);z-index:1}#lightbox img{max-height:75svh;object-fit:contain}#lightbox p{margin:10px;text-align:center}
@media(max-width:900px){header{gap:18px;padding:0 5%;height:85px}.brand{font-size:24px}.brand span{font-size:8px}nav{gap:16px}nav a{font-size:11px}.reserve{padding:14px 18px;gap:15px}.intro{padding:90px 8%;column-gap:8%}.editorial{gap:7%}.detail-grid{gap:25px}.hero{height:calc(90svh - 85px)}.pool{height:500px}}
@media(max-width:650px){header{height:78px;justify-content:space-between;gap:10px}.brand{font-size:21px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:2px}.menu-toggle{display:block;font-size:20px;padding:4px}header .reserve{font-size:10px;padding:13px;gap:8px}header .reserve span{display:none}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{font-size:16px}.hero{height:calc(90svh - 78px);min-height:540px}.hero>img{object-position:55% center}.hero-copy{left:7%;bottom:23%}h1{font-size:66px;letter-spacing:-2px}.hero .eyebrow{font-size:8px}.hero-place{display:none}.intro{display:block;padding:70px 8% 100px}.intro h2{font-size:49px}.intro-text{margin-top:30px}.sun{font-size:50px;bottom:25px;left:auto;right:10%}.editorial{display:flex;flex-direction:column;padding:0 8% 70px;gap:35px;align-items:stretch}.editorial-image img{aspect-ratio:1}.editorial-copy h2{font-size:48px}.rooms{padding:65px 8%}.section-heading{display:block}.section-heading>.text-link{margin-top:18px}.room-grid{grid-template-columns:1fr;gap:50px}.room-title h3{font-size:34px}.pool{height:510px}.pool img{object-position:58%}.pool h2{font-size:64px}.details{padding:65px 8%}.detail-grid{grid-template-columns:1fr;gap:40px;margin-top:30px}.detail-grid p{max-width:280px}.gallery{padding:20px 8% 65px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid img{height:230px}.gallery-grid .photo:first-child{grid-column:1/-1}.gallery-grid .photo:first-child img{height:280px}.gallery-grid .photo:nth-child(n){margin-top:0}.section-heading>span{display:none}.location{grid-template-columns:1fr;gap:30px;padding:65px 8%}.location h2{font-size:45px}.closing{padding:60px 20px}.closing h2{font-size:58px}footer{padding:45px 8% 25px;justify-content:center;text-align:center}footer>div{gap:22px}dialog{padding:20px;max-width:96vw;width:96vw}dialog h2{font-size:42px;margin-top:16px}.booking-fields{grid-template-columns:1fr 1fr}.booking-fields>*{padding:12px;border-bottom:1px solid var(--line)}.calendars{gap:20px;grid-template-columns:1fr}.month:nth-child(2){display:none}.month h3{margin-bottom:18px}.day{aspect-ratio:1.3}.booking-bottom{display:block}.booking-bottom .reserve{width:100%;margin-top:15px}.booking-note{line-height:1.6}.booking-top .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

#booking{width:900px}.calendars .day{min-width:0}

nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}.full-gallery .gallery-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;margin-top:35px}.full-gallery .gallery-grid .photo:nth-child(n){margin:0;grid-column:auto}.full-gallery .gallery-grid img{height:310px}.more-photos{display:flex;margin:35px auto 0}.more-photos[hidden]{display:none}.photo-count{max-width:none!important}.rooms-intro{padding:95px 8%;text-align:center}.rooms-intro h1{font-size:85px}.rooms-intro p{margin:30px auto;max-width:500px}.lightbox-controls{display:flex;gap:14px;align-items:center;padding:10px;justify-content:space-between}.lightbox-controls p{font-size:13px;margin:0 auto}.lightbox-controls button{padding:10px;font-size:24px}.lightbox-controls span{font-size:11px;white-space:nowrap}@media(max-width:650px){.full-gallery .gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.full-gallery .gallery-grid .photo:nth-child(n) img{height:210px}.rooms-intro{padding:65px 8%}.rooms-intro h1{font-size:60px}.lightbox-controls{gap:5px}.lightbox-controls p{font-size:11px}.photo-count{display:block!important;margin-top:15px}}

.five-rooms{padding:65px 4% 85px}.five-rooms>h1{font-size:clamp(42px,4.5vw,70px);letter-spacing:-1px;line-height:1.1}.five-rooms>h1 em{color:#987748;font-weight:400}.rooms-description{margin:25px 0 45px}.five-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}.individual-room{background:#fbfaf7;border:1px solid #e8e0d4}.individual-gallery{position:relative;aspect-ratio:1.3;overflow:hidden;background:#e4ded0}.individual-gallery img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.pending-gallery{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:30px var(--serif)}.pending-gallery small{font:12px var(--sans);margin-top:15px}.individual-gallery>button{position:absolute;top:45%;background:#282b2466;color:white;padding:10px;font-size:22px}.room-prev{left:12px}.room-next{right:12px}.room-dots{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.room-dots button{width:8px;height:8px;padding:0;border-radius:50%;background:#fff8}.room-dots button[aria-current="true"]{background:#cda570}.individual-info{padding:26px}.individual-info .eyebrow{color:#ae8752;margin-bottom:15px}.individual-info h2{font-size:34px;line-height:1.1;letter-spacing:0}.room-capacity{font-size:14px;margin:13px 0}.room-location{font-size:12px}.room-tags{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:22px 0}.room-tags li{font-size:12px;color:#896a43;background:#f1ecdf;border-radius:20px;padding:6px 12px}.unavailable{color:#a13b31;font-weight:500}.room-note{margin-top:35px;font-size:12px}@media(min-width:1500px){.five-room-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.individual-info{padding:22px}.individual-info h2{font-size:29px}}@media(max-width:1000px){.five-room-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.five-rooms{padding:45px 6%}.five-room-grid{grid-template-columns:1fr}.individual-info h2{font-size:36px}}

.brand .brand-descriptor{font-size:13px;letter-spacing:2px;margin-top:2px}.brand>span:last-child{font-size:8px;margin-top:6px}.booking-top .eyebrow{max-width:80%;letter-spacing:1.5px}@media(max-width:650px){.brand .brand-descriptor{font-size:9px;letter-spacing:1.4px}.brand>span:last-child{font-size:6px;letter-spacing:1.5px}.booking-top .eyebrow{font-size:8px;letter-spacing:1px}}

.brand{font-size:26px;letter-spacing:.3px}.brand>.brand-name{display:block;font:inherit;letter-spacing:inherit;margin:0;white-space:nowrap}.brand>.brand-location{font:8px var(--sans);letter-spacing:2.5px;margin-top:7px}header{gap:25px}header nav{gap:22px}@media(max-width:1000px){.brand{font-size:22px}header{gap:16px}header nav{gap:15px}}@media(max-width:650px){.brand{font-size:15px;letter-spacing:0}.brand>.brand-location{font-size:6px;letter-spacing:1.5px;margin-top:6px}header{gap:8px}header .reserve{padding:12px 9px;font-size:9px}footer .brand{font-size:23px}}@media(max-width:360px){header .brand{font-size:12.5px}header{padding-left:3%;padding-right:3%;gap:5px}}

.hero h1{font-size:clamp(50px,6.6vw,98px)}.hero-room-link{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid #fff9;padding:12px 0;margin-top:25px;font-size:14px}.house-intro{padding-bottom:95px}.guest-reviews{padding:90px 8%;background:#e5ded0}.guest-reviews h2{font-size:clamp(42px,4.8vw,70px);line-height:1.08}.guest-reviews>.reserve{display:flex;width:max-content;margin-top:40px}.guest-reviews #review-cards:empty{display:none}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:45px 0}.review-grid blockquote{margin:0;font:30px/1.3 var(--serif)}.review-grid figcaption{font-size:12px;line-height:1.8;margin-top:20px}.review-grid figure{margin:0;border-top:1px solid #bfb7a6;padding-top:25px}.location address{margin-top:0}@media(max-width:650px){.hero h1{font-size:49px}.hero-copy{bottom:24%}.house-intro{padding-bottom:60px}.guest-reviews{padding:60px 8%}.guest-reviews>.reserve{max-width:100%}.review-grid{grid-template-columns:1fr;gap:35px}}

.review-controls{display:flex;align-items:center;gap:20px;justify-content:flex-end;margin:30px 0 15px}.review-controls button{border:1px solid #b4af9e;width:44px;height:44px;font-size:24px}.review-controls button:disabled{opacity:.3;cursor:default}.review-controls span{font-size:12px}.review-carousel{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:15px}.review-card{flex:0 0 calc((100% - 28px)/2);scroll-snap-align:start;background:#f5f2e9;padding:30px;margin:0;display:flex;flex-direction:column;min-height:310px}.review-platform{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:28px}.review-platform span{font-size:11px;color:#83643a}.review-card blockquote{font:32px/1.2 var(--serif);margin:0 0 28px}.review-card figcaption{font-size:11px;line-height:1.8;margin-top:auto}.review-card figcaption a{text-decoration:underline;text-underline-offset:3px}@media(max-width:650px){.review-card{flex-basis:100%;padding:25px;min-height:310px}.review-card blockquote{font-size:29px}}

.review-card .review-text{font:28px/1.25 var(--serif);margin:0 0 28px}.review-card{min-height:345px}@media(max-width:650px){.review-card .review-text{font-size:26px}}

/* Horizontal room catalogue inspired by the supplied booking reference. */
body[data-page="rooms"]{background:#f1f1ef;color:#202020}
.rooms-hero{position:relative;height: min(65vw,660px);min-height:400px;background:#d8ddda}
.rooms-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.rooms-hero-panel{position:absolute;bottom:0;left:4%;background:rgba(255,255,255,.85);padding:28px 32px;max-width:650px}
.rooms-hero-panel h1{font-size:clamp(26px,3vw,42px);line-height:1.15;margin:0 0 15px}
.rooms-hero-panel p{margin:0 0 14px}.rooms-hero-panel a{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.rooms-booking-layout{max-width:1600px;margin:auto;padding:28px 4% 80px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}
.stay-search{display:grid;grid-template-columns:1fr 1fr 1fr;background:white}
.stay-search>button{display:flex;align-items:center;gap:13px;background:none;border:0;border-right:1px solid #eee;padding:22px 18px;text-align:left;color:#222;cursor:pointer;font:inherit}
.stay-search b,.stay-search span span{display:block}.stay-search b{margin-bottom:5px;font-size:16px}.stay-search span span{font-size:14px}.stay-icon{font-size:30px;font-family:Arial,sans-serif}
.room-list-heading{padding:30px 0 12px}.room-list-heading h2{font-size:40px;margin:0 0 9px}.room-list-heading p{margin:0;color:#666}
.room-sort{margin:10px 0 24px}.room-sort label{display:inline-flex;gap:14px;align-items:center;background:#fff;padding:16px;font-size:14px}.room-sort select{background:transparent;border:0;color:#222;font:inherit;max-width:210px}
body[data-page="rooms"] .five-room-grid{display:flex;flex-direction:column;gap:24px}
body[data-page="rooms"] .individual-room{display:grid;grid-template-columns:32% minmax(0,1fr);gap:24px;padding:24px;background:#fff;border:0;box-shadow:none}
body[data-page="rooms"] .individual-gallery{aspect-ratio:4/3;height:auto;align-self:start;position:relative;overflow:hidden}
body[data-page="rooms"] .individual-gallery img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.gallery-label{position:absolute;right:10px;bottom:12px;background:rgba(0,0,0,.65);color:white;font-size:11px;padding:5px 7px;pointer-events:none}
body[data-page="rooms"] .individual-info{padding:0;min-width:0}
body[data-page="rooms"] .individual-info .eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 8px;color:#8b7357}
body[data-page="rooms"] .individual-info h2{font-size:32px;margin:0 0 20px;line-height:1.15}
body[data-page="rooms"] .room-capacity{font-size:14px;line-height:1.6;margin:0 0 14px}
body[data-page="rooms"] .room-location{font-size:14px;color:#555;margin:0 0 20px;min-height:0}
.room-details{font-size:15px;padding-bottom:20px;border-bottom:1px solid #eee}
.room-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px;width:fit-content}
body[data-page="rooms"] .room-tags{margin:18px 0 0;gap:7px}.room-details .room-tags li{font-size:12px}
.room-offer{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:20px;padding-top:22px}
.room-offer h3{font-family:inherit;font-size:16px;text-decoration:underline;text-underline-offset:5px;margin:0 0 15px;font-weight:400}
.room-offer p{font-size:13px;line-height:1.7;margin:4px 0}.room-rate strong{display:block;font-size:20px;line-height:1.3}.room-rate>span{display:block;font-size:12px;color:#666;margin:8px 0 20px}
.room-reserve{background:#111;color:#fff;border:0;min-height:50px;width:100%;font:600 12px Arial,sans-serif;letter-spacing:1px;cursor:pointer;padding:15px}.room-reserve:hover{background:#856b4e}
.stay-sidebar{background:#fff;padding:26px;position:sticky;top:115px}.stay-sidebar h2{font-size:31px;margin:0 0 24px}.stay-sidebar>p{font-size:15px}.stay-summary{border-top:1px solid #eee;margin:20px 0;padding-top:8px}.stay-summary p{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:16px 0}.stay-summary b{font-weight:500}.stay-sidebar small{display:block;font-size:11px;line-height:1.7;color:#777;margin-top:16px}
@media(min-width:1600px){.rooms-booking-layout{grid-template-columns:minmax(0,1fr) 360px}.room-offer{grid-template-columns:minmax(0,1fr) 200px}}
@media(max-width:1100px){.rooms-booking-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px;padding-left:3%;padding-right:3%}body[data-page="rooms"] .individual-room{grid-template-columns:30% minmax(0,1fr);padding:18px;gap:18px}.room-offer{grid-template-columns:1fr}.room-rate{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.room-rate .room-reserve{width:150px;margin-left:auto}.room-rate>span{margin:0}.stay-search>button{padding:18px 12px;gap:8px}.stay-icon{display:none}}
@media(max-width:800px){.rooms-booking-layout{display:block;padding:18px 5% 50px}.stay-sidebar{position:static;margin-top:24px}.rooms-hero{height:440px;min-height:0}.rooms-hero-panel{left:5%;right:5%;padding:22px}.room-list-heading h2{font-size:34px}body[data-page="rooms"] .individual-room{grid-template-columns:35% minmax(0,1fr)}.stay-sidebar .stay-summary{display:flex;gap:24px;flex-wrap:wrap}.stay-summary p{flex-direction:column;gap:6px}.stay-sidebar .room-reserve{max-width:250px}}
@media(max-width:540px){.rooms-hero{height:390px}.rooms-hero-panel h1{font-size:27px}.stay-search>button{padding:17px 10px}.stay-search b{font-size:13px}.stay-search span span{font-size:11px}body[data-page="rooms"] .individual-room{display:block;padding:16px}body[data-page="rooms"] .individual-gallery{margin-bottom:22px;aspect-ratio:4/3}body[data-page="rooms"] .individual-info h2{font-size:30px}.room-rate{display:block}.room-rate>span{margin:8px 0 15px}.room-rate .room-reserve{width:100%}.room-sort label{display:flex;justify-content:space-between}}
body[data-page="rooms"] .five-room-grid{align-items:stretch}body[data-page="rooms"] header{background:#fff}

.whatsapp-float{position:fixed;right:26px;bottom:26px;z-index:80;width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:#EEE2D0;color:#725C43;border:1px solid #D9C5A7;border-radius:50%;box-shadow:0 4px 18px #4b38221a;text-decoration:none;transition:background .2s,transform .2s}.whatsapp-float:hover{background:#E4D3B9;transform:translateY(-2px)}.whatsapp-float:focus-visible{outline:2px solid #725C43;outline-offset:4px}.whatsapp-float span{position:absolute;right:70px;background:#FFFAF2;color:#725C43;padding:8px 12px;border-radius:3px;font:12px Arial,sans-serif;opacity:0;pointer-events:none;transition:opacity .2s}.whatsapp-float:hover span,.whatsapp-float:focus-visible span{opacity:1}@media(max-width:600px){.whatsapp-float{width:52px;height:52px;right:18px;bottom:max(18px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float span{transition:none}}

/* Shared visual language across La casa and Habitaciones. */
:root{--cream:#fff;--ink:#202020;--line:#e5e5e3;--sage:#f1f1ef}
body{background:#f1f1ef;color:#202020}header,footer,nav{background:#fff}
.reserve{background:#111;color:#fff;font:600 12px Arial,sans-serif;min-height:50px;align-items:center;letter-spacing:1px}.reserve:hover{background:#856b4e}
body[data-page="house"] h2{font-size:clamp(34px,3.2vw,46px);line-height:1.15;letter-spacing:0}
body[data-page="house"] .eyebrow{color:#8b7357;font-size:10px;letter-spacing:2px}
body[data-page="house"] p{font-size:15px;color:#555;line-height:1.8}
body[data-page="house"] .hero{height:min(65vw,660px);min-height:400px;max-height:none;color:#202020}
body[data-page="house"] .hero>img{object-position:center 52%}
body[data-page="house"] .hero:after{display:none}
body[data-page="house"] .hero-copy{left:4%;bottom:0;padding:28px 32px;background:rgba(255,255,255,.85);text-shadow:none;max-width:650px}
body[data-page="house"] .hero-copy h1{font-size:clamp(30px,3.4vw,48px);line-height:1.15;letter-spacing:0}
body[data-page="house"] .hero-copy .eyebrow{margin-bottom:12px}
body[data-page="house"] .hero-room-link{color:#202020;border-color:#202020;margin-top:12px;font-size:14px;gap:25px}
body[data-page="house"] .hero-bottom,body[data-page="house"] .hero-place{display:none}
body[data-page="house"] .house-intro{background:#fff;margin:28px 4%;padding:55px 5%;grid-template-columns:1fr 1.2fr;gap:30px 8%}
body[data-page="house"] .house-intro>.eyebrow{margin:0}
body[data-page="house"] .editorial{margin:28px 4%;padding:28px;background:#fff;gap:6%;grid-template-columns:1fr 1fr}
body[data-page="house"] .editorial-image img{aspect-ratio:4/3}
body[data-page="house"] .editorial-copy p:not(.eyebrow){max-width:100%;margin:20px 0}
body[data-page="house"] .pool{height:540px;margin-top:28px}
body[data-page="house"] .pool>div{left:4%;bottom:0;background:rgba(255,255,255,.85);padding:28px 32px;color:#202020}
body[data-page="house"] .pool:after{display:none}
body[data-page="house"] .pool .eyebrow{margin-bottom:12px}
body[data-page="house"] .gallery{margin:28px 4%;padding:40px 28px;background:#fff}
body[data-page="house"] .section-heading{margin-bottom:20px}.section-heading .eyebrow{margin-bottom:12px}
body[data-page="house"] .location{margin:28px 4%;padding:45px 5%;background:#fff;border:0;grid-template-columns:1fr 1.2fr;gap:8%}
body[data-page="house"] .guest-reviews{background:#f1f1ef;padding:45px 4% 60px}
body[data-page="house"] .review-card{background:#fff}
body[data-page="house"] .review-card .review-text{font:30px/1.25 var(--serif);color:#202020}
.review-platform span{color:#8b7357}.review-controls button{border-color:#d1d1ce;background:#fff}.text-link{color:#202020;border-color:#202020}.photo>span{background:#fff;color:#202020}
@media(max-width:800px){body[data-page="house"] .hero{height:440px;min-height:0}body[data-page="house"] .hero-copy{left:5%;right:5%;padding:22px}body[data-page="house"] .house-intro,body[data-page="house"] .location{margin:20px 5%;padding:30px;display:block}body[data-page="house"] .house-intro h2{margin-top:20px}body[data-page="house"] .location h2{margin-bottom:25px}body[data-page="house"] .editorial{margin:20px 5%;display:flex;flex-direction:column;padding:22px;gap:28px}body[data-page="house"] .editorial-copy{width:100%}body[data-page="house"] .gallery{margin:20px 5%;padding:28px 20px}body[data-page="house"] .guest-reviews{padding:35px 5% 50px}}
@media(max-width:540px){body[data-page="house"] .hero{height:390px}body[data-page="house"] .hero-copy h1{font-size:32px}body[data-page="house"] .hero-copy .eyebrow{font-size:9px}body[data-page="house"] .house-intro,body[data-page="house"] .location{padding:28px 22px}body[data-page="house"] .pool{height:420px}body[data-page="house"] .pool>div{left:5%;padding:22px}body[data-page="house"] h2{font-size:34px}body[data-page="house"] .review-card .review-text{font-size:27px}}

/* Restrained beige accent shared by both pages. */
:root{--accent:#D9C5A7}
.reserve,.room-reserve{background:var(--accent);color:#202020;border:1px solid var(--accent)}
.reserve:hover:not(:disabled),.room-reserve:hover{background:#202020;border-color:#202020;color:#fff}
.whatsapp-float{background:var(--accent);color:#202020;border-color:var(--accent)}
.whatsapp-float:hover{background:#fff;color:#202020;border-color:var(--accent)}
.whatsapp-float span{background:#fff;color:#202020}
.whatsapp-float:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline-color:#202020}
body[data-page="house"] .eyebrow,body[data-page="rooms"] .individual-info .eyebrow,.review-platform span{color:#555}
.room-tags li{background:#f1f1ef;color:#202020}.room-dots button[aria-current="true"]{background:var(--accent)}

.brand>.brand-name,.rooms-hero-panel h1{color:#000000}.brand>.brand-location{color:#202020}

.brand>.brand-name,.rooms-hero-panel h1{font-weight:700}

.brand>.brand-name,.rooms-hero-panel h1{-webkit-text-stroke:.8px currentColor}

.rooms-hero-panel h1{-webkit-text-stroke:1px currentColor}
@media(max-width:650px){header .brand>.brand-name{-webkit-text-stroke:.5px currentColor}}

.travel-guide{margin:28px 4%;padding:40px 28px;background:#fff}.travel-guide-heading{max-width:650px;margin-bottom:30px}.travel-guide-heading .eyebrow{margin-bottom:12px}.travel-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.travel-guide-grid article{border-top:2px solid #D9C5A7;padding-top:24px}.travel-guide-grid h3{font-size:29px;line-height:1.15}.travel-guide-grid p{margin:18px 0}.guide-source{font-size:12px;text-decoration:underline;text-underline-offset:4px}.english-note{font-size:12px!important;color:#666!important}@media(max-width:900px){.travel-guide-grid{grid-template-columns:1fr;gap:30px}}@media(max-width:650px){.travel-guide{margin:20px 5%;padding:28px 22px}}

.guide-page{padding:12px 0 45px;min-height:70vh}.guide-page h1{font-size:clamp(40px,4vw,58px);line-height:1.15;letter-spacing:0}.guide-page .eyebrow{color:#555;margin-bottom:12px}.guide-page .travel-guide{padding:45px 32px}.guide-page .travel-guide-grid p{color:#555;font-size:15px}.guide-page .english-note{font-size:12px!important}
@media(min-width:651px) and (max-width:1000px){header{gap:12px;padding-left:3%;padding-right:3%}header .brand{font-size:20px}header nav{gap:12px}header nav a{font-size:11px}header .reserve{padding-left:14px;padding-right:14px}}
@media(max-width:650px){.guide-page .travel-guide{padding:28px 22px}footer>div{flex-wrap:wrap;justify-content:center}}

.calendar-room-field{display:block;font-size:13px;margin:20px 0 8px}.calendar-room-field select{display:block;width:100%;margin-top:8px;border:1px solid #ddd;background:#fff;padding:12px;color:#202020}#availability-state{font-size:12px!important;line-height:1.5}.day.occupied{background:repeating-linear-gradient(135deg,#eee,#eee 3px,#fff 3px,#fff 6px);text-decoration:line-through;opacity:.5}.day.occupied.selected{color:#202020}

.day.occupied.selected{background:#202020;color:#fff;opacity:1;text-decoration:none}

.review-card[data-platform="Airbnb"]{--review-brand-color:#FF385C}
.review-card[data-platform="Booking.com"]{--review-brand-color:#003B95}
.review-card .review-platform,.review-card .review-platform span,.review-card figcaption strong{color:var(--review-brand-color)}

/* Editorial copy across the house and room pages. */
body[data-page="house"] .editorial-reverse .editorial-image{grid-column:2;grid-row:1}
body[data-page="house"] .editorial-reverse .editorial-copy{grid-column:1;grid-row:1;padding-left:18px}
body[data-page="house"] .space-hours{border-top:1px solid #D9C5A7;padding-top:18px;font-size:13px;line-height:1.7}
.space-hours strong{font-weight:500}
.house-story{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;margin:28px 4%;padding:55px 5%;background:#fff}
.house-story h2{font-size:clamp(36px,3.8vw,56px);line-height:1.1}
.house-story p:not(.eyebrow){margin:0 0 20px}
.house-services{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 4%}
.house-services article{background:#fff;padding:40px}
.house-services h2{font-size:clamp(36px,3.5vw,50px);line-height:1.1}
.house-services .eyebrow{padding-top:18px;border-top:2px solid #D9C5A7;margin-bottom:24px}
.house-services p:not(.eyebrow){margin:22px 0 0}
.house-contact{background:#fff;margin:28px 4%;padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:40px}
.house-contact h2{font-size:clamp(36px,3.5vw,50px);line-height:1.1}
.house-contact p:not(.eyebrow){max-width:650px;margin-bottom:0}
.house-contact .reserve{flex-shrink:0;align-items:center;letter-spacing:.4px}
.room-list-heading>p:not(.eyebrow){max-width:850px;line-height:1.8}
.room-list-heading .eyebrow{margin:0 0 12px}
.room-inclusions{font-size:12px!important;letter-spacing:.4px}
.individual-info .room-description{max-width:630px;font-size:14px;line-height:1.7;margin:16px 0 20px;color:#555}
@media(max-width:800px){.house-story,.house-services,.house-contact{margin:20px 5%}.house-story{grid-template-columns:1fr;padding:30px;gap:25px}.house-services{grid-template-columns:1fr;gap:20px}.house-services article{padding:30px}.house-contact{display:block;padding:30px}.house-contact .reserve{margin-top:25px}body[data-page="house"] .editorial-reverse .editorial-copy{padding-left:0}.house-story h2,.house-services h2,.house-contact h2{font-size:36px}}
@media(max-width:540px){.house-story,.house-services article,.house-contact{padding:28px 22px}.house-contact .reserve{width:100%;padding:16px 12px;font-size:11px;gap:14px}}

/* Blog */
.blog-index,.blog-article{margin:28px 4% 55px}
.blog-intro{background:#fff;padding:55px 5%;margin-bottom:28px}
.blog-intro h1{font-size:clamp(40px,4.6vw,68px);line-height:1.06;letter-spacing:-1px;max-width:850px}
.blog-intro>p:last-child{max-width:650px;color:#555;margin:24px 0 0}
.blog-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;gap:5%;padding:28px;align-items:center}
.blog-card-photo img{aspect-ratio:4/3}
.blog-card-copy{padding:15px 25px 15px 0}
.blog-card h2{font-size:clamp(31px,3.2vw,46px);line-height:1.1}
.blog-card-copy>p:not(.eyebrow){color:#555;margin:22px 0}
.blog-breadcrumb{padding:12px 0 26px;font-size:13px}
.blog-breadcrumb a:hover,.blog-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.blog-article>article{background:#fff;padding:50px 5% 60px}
.article-heading{max-width:920px;margin:0 auto 34px}
.article-heading h1{font-size:clamp(38px,4.5vw,64px);letter-spacing:-1px;line-height:1.08}
.article-date{font-size:12px;color:#666;margin-top:24px}
.article-photo{max-width:1040px;margin:0 auto 42px}
.article-photo img{width:100%;aspect-ratio:2.2;object-position:center 55%}
.article-photo figcaption{font-size:11px;line-height:1.6;color:#666;margin-top:12px}
.article-body{max-width:760px;margin:auto}
.article-body p,.article-body li{font-size:16px;line-height:1.85;color:#393939}
.article-body p{margin:0 0 22px}
.article-body h2{font-size:clamp(29px,3vw,40px);line-height:1.15;letter-spacing:-.5px;margin:42px 0 22px}
.article-body a{border-bottom:1px solid #D9C5A7;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.article-body ul{padding-left:23px;margin:0 0 24px}
.article-body li{padding-left:3px;margin:8px 0}
.article-body strong{font-weight:500;color:#202020}
.article-cta{background:#fff;border-top:2px solid #D9C5A7;margin-top:28px;padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}
.article-cta h2{font-size:clamp(29px,3vw,40px);line-height:1.15}
.article-cta .reserve{flex-shrink:0}
@media(min-width:801px) and (max-width:1150px){header{gap:16px}header nav{gap:14px}header .brand{font-size:22px}header .reserve{padding-left:18px;padding-right:18px}}
@media(max-width:800px){.blog-index,.blog-article{margin:20px 5% 40px}.blog-intro{padding:32px 25px}.blog-card{grid-template-columns:1fr;padding:22px;gap:25px}.blog-card-copy{padding:0}.blog-article>article{padding:32px 25px 40px}.article-photo img{aspect-ratio:1.5}.article-cta{display:block;padding:30px 25px}.article-cta .reserve{margin-top:24px}}
@media(max-width:540px){.article-heading h1{font-size:37px}.blog-intro h1{font-size:39px}.article-body p,.article-body li{font-size:15px}.article-photo{margin-bottom:30px}.article-heading .eyebrow{font-size:9px}}
.blog-list{display:grid;gap:28px}.blog-card-links{display:flex;flex-wrap:wrap;gap:12px 28px}.article-languages{display:flex;position:static;flex-direction:row;justify-content:flex-end;gap:12px;margin:0 auto 30px;padding:0;max-width:920px;background:transparent;border:0;font-size:13px}.article-languages a{font-size:13px}.article-languages a[aria-current="page"]{font-weight:500;text-decoration:underline;text-underline-offset:5px}

/* Language selector and navigation for both versions. */
.site-language{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;flex-shrink:0}.site-language a{padding:7px 0}.site-language a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px;font-weight:500}.site-language>span{color:#b3b3b3}
@media(max-width:1100px){header{gap:16px}header .menu-toggle{display:block}header>nav{display:none;position:absolute;left:0;right:0;top:100px;padding:24px 5%;flex-direction:column;gap:20px;border-bottom:1px solid #ddd;background:#fff;margin:0}header>nav.open{display:flex}header>nav a{font-size:16px}header .brand{margin-right:auto}header .reserve{gap:18px}}
@media(max-width:900px) and (min-width:651px){header>nav{top:85px}header .brand{font-size:22px}}
@media(max-width:650px){header{height:98px;padding-bottom:20px;gap:9px}header>nav{top:98px}.site-language{position:absolute;right:5%;bottom:3px;font-size:10px;gap:8px}.site-language a{padding:3px 0}header .brand{font-size:15px}header .reserve{font-size:10px;padding:12px 10px}html{scroll-padding-top:108px}}
@media(max-width:360px){header .brand{font-size:13px}header .reserve{padding:11px 8px;font-size:9px}}

/* Show the chosen landscape photograph in full at its natural proportions. */
.rooms-hero{height:auto;min-height:0}.rooms-hero>img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:540px){.rooms-hero-panel{position:relative;left:auto;right:auto;max-width:none;background:#fff}.rooms-hero{height:auto}}

/* Keep cover titles directly on the photographs. */
body[data-page="house"] .hero-copy,.rooms-hero-panel{background:transparent;box-shadow:none;border:0}
@media(max-width:540px){.rooms-hero-panel{position:absolute;left:5%;right:5%;bottom:0;padding:16px 0;background:transparent}.rooms-hero-panel h1{font-size:24px}.rooms-hero-panel p{margin-bottom:8px}}

/* Match the house cover typography and keep text legible over photographs. */
body[data-page="house"] .hero-copy,.rooms-hero-panel{color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.8),0 0 18px rgba(0,0,0,.35)}
body[data-page="house"] .hero-copy h1,.rooms-hero-panel h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.15;letter-spacing:0;-webkit-text-stroke:0;color:#fff}
body[data-page="house"] .hero-room-link,.rooms-hero-panel a,.rooms-hero-panel p{color:#fff;border-color:currentColor}
@media(max-width:540px){body[data-page="house"] .hero-copy h1,.rooms-hero-panel h1{font-size:32px}}

body[data-page="house"] .hero-copy .eyebrow{color:#fff}

/* Match the room cover dimensions to the house cover. */
.rooms-hero{height:min(65vw,660px);min-height:400px}.rooms-hero>img{width:100%;height:100%;object-fit:cover!important;object-position:center 50%!important}
@media(max-width:800px){.rooms-hero{height:440px;min-height:0}}
@media(max-width:540px){.rooms-hero{height:390px}}

/* Prioritize the harbour and houses in the Rooms cover. */
.rooms-hero>img{object-position:center bottom!important}

.rooms-hero-panel .eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:500;line-height:1.6;margin:0 0 12px;color:#fff}
