@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--ink:#243c31;--moss:#294d3d;--soft:#f7f6f1;--cream:#eeede5;--line:#deded2;--muted:#718075;--accent:#a6b5a0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfaf6;font-family:Manrope,Arial,sans-serif;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}em{font-family:'Playfair Display',Georgia,serif;font-weight:400}h2{font-size:clamp(38px,5vw,72px);letter-spacing:-.055em;font-weight:500}h3{font-weight:600}p{line-height:1.8}.preview-banner{background:#dfe6db;text-align:center;padding:7px 12px;font-size:11px;letter-spacing:.04em;color:#35523f}.site-header{height:87px;padding:0 clamp(20px,5.5vw,90px);display:flex;align-items:center;gap:32px;justify-content:space-between;background:#fbfaf6}.wordmark{display:flex;align-items:center;gap:11px;font-weight:800;font-size:27px;letter-spacing:.04em;line-height:1}.wordmark-icon{font-size:35px;font-weight:400;color:#66866f}.wordmark small{display:block;font-size:8px;letter-spacing:.18em;margin-top:7px;font-weight:700}.desktop-nav{display:flex;gap:33px;font-size:12px;font-weight:600}.desktop-nav a:hover,.hero-text-link:hover{opacity:.7}.nav-book{background:var(--moss);color:white;padding:14px 20px;border-radius:2px;font-size:12px;font-weight:700;display:flex;gap:29px}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:24px}.mobile-nav{display:none}.hero{min-height:670px;height:min(78vw,790px);max-height:800px;position:relative;overflow:hidden;background:#7a8c7e;color:white}.hero-slider,.slide,.hero-shade{position:absolute;inset:0}.slide{background-position:center;background-size:cover;opacity:0;transition:opacity .75s ease}.slide.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(18,43,34,.7) 0%,rgba(21,45,31,.25) 68%,rgba(21,45,31,.12)),linear-gradient(0deg,rgba(16,37,30,.36),transparent 45%)}.hero-inner{position:absolute;left:clamp(20px,8vw,135px);top:50%;transform:translateY(-44%);max-width:850px;z-index:1}.hero-kicker{font-size:10px;letter-spacing:.2em;font-weight:700;display:flex;align-items:center;gap:12px}.hero-kicker span{width:34px;height:1px;background:white}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.048em;font-size:clamp(62px,8vw,124px);line-height:1.05;margin:30px 0}.hero h1 em{color:#edf2e6}.hero p{max-width:485px;font-size:16px;line-height:1.9;color:#f7faf5}.hero-actions{margin-top:35px;display:flex;gap:35px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid transparent;padding:16px 20px;min-height:54px;font-size:12px;font-weight:800;letter-spacing:.01em;border-radius:2px}.button.light{background:#fbfaf6;color:#2c4838}.button.dark{background:#2c503f;color:white}.button.outline{background:white;color:var(--ink);border-color:var(--line)}.button:hover:not(:disabled){filter:brightness(.94)}.button:disabled{opacity:.5;cursor:not-allowed}.button.full{width:100%}.hero-text-link{font-size:12px;font-weight:600}.hero-bottom{position:absolute;bottom:36px;left:clamp(20px,8vw,135px);right:clamp(20px,6vw,105px);display:flex;align-items:center;justify-content:space-between;z-index:1;font-size:10px;letter-spacing:.12em}.slider-controls{display:flex;align-items:center;gap:17px}.slider-controls button{border:1px solid #ffffff88;border-radius:50%;background:transparent;color:#fff;width:41px;height:41px;font-size:16px}.slider-controls button:hover{background:#ffffff25}.section{max-width:1440px;margin:auto;padding:115px clamp(20px,7.8vw,120px)}.section-eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:#728e7e;display:inline-block;margin-bottom:28px}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px}.intro h2{margin:0}.intro-description{padding-top:15px}.intro-description p{max-width:465px;color:#67776b;font-size:15px}.facts{margin-top:47px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:32px}.facts strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:36px;font-weight:400}.facts small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.experience{background:#f2f2ea;max-width:none}.experience>.section-title-row,.experience>.experience-cards{max-width:1200px;margin-left:auto;margin-right:auto}.section-title-row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:52px}.section-title-row h2{margin-bottom:0}.section-title-row>p{max-width:310px;font-size:14px;color:#758477}.experience-cards{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:280px 280px;gap:18px}.feature-card{position:relative;overflow:hidden;background:#bdcabb;color:white;min-height:240px}.feature-card.tall{grid-row:span 2}.feature-card .art{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .4s}.feature-card:hover .art{transform:scale(1.035)}.art-tub{background-image:linear-gradient(0deg,#132b29cc,transparent 60%),url('/static/tub.svg')}.art-house{background-image:linear-gradient(0deg,#132b29cc,transparent 70%),url('/static/house.svg')}.art-pool{background-image:linear-gradient(0deg,#132b29cc,transparent 70%),url('/static/pool.svg')}.feature-copy{position:absolute;bottom:25px;left:27px;right:27px}.feature-copy span{font-size:9px;letter-spacing:.15em;font-weight:800}.feature-copy h3{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(26px,3vw,38px);margin:12px 0 5px}.feature-copy p{font-size:12px;line-height:1.5;margin:0;color:#eff6f2}.gallery-grid{height:380px;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:15px}.gallery-image{background-position:center;background-size:cover;filter:saturate(.65)}.g-one{background-image:url('/static/house.svg')}.g-two{background-image:url('/static/tub.svg')}.g-three{background-image:url('/static/interior.svg')}.prices{max-width:none;padding-top:0;padding-bottom:0}.prices-panel{max-width:none;background:#305341;color:white;min-height:500px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding:clamp(45px,7vw,110px)}.prices-panel h2{color:white}.prices-panel>div:first-child p{color:#cdd8cc;max-width:380px;margin-bottom:32px}.light-text{color:#a8bdab}.price-list{border-top:1px solid #ffffff45}.price-list>div:not(.price-note){padding:22px 0;border-bottom:1px solid #ffffff45;display:flex;align-items:center;justify-content:space-between;gap:15px}.price-list span{font-size:13px;color:#dce7db}.price-list strong{font-size:21px;white-space:nowrap}.price-list strong small{font-size:10px;font-weight:500}.price-note{font-size:11px;color:#bdcdbd;padding:25px 0}.booking{padding-top:130px;padding-bottom:130px}.booking-heading{text-align:center;margin-bottom:50px}.booking-heading h2{margin:0 0 18px}.booking-heading p{font-size:14px;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(330px,.87fr);gap:22px;align-items:start}.booking-card,.summary-card{border:1px solid #e5e7df;padding:34px;background:white}.booking-topline{display:flex;justify-content:space-between;align-items:center;gap:10px}.booking-topline h3{font-size:22px;margin:0}.legend{font-size:10px;color:#7d8d83;display:flex;align-items:center;gap:7px}.legend i{display:inline-block;background:#f5f6f1;border:1px solid #dde7da;width:10px;height:10px;border-radius:50%}.legend i.busy{background:#e9e8e3;border-color:#deded8;margin-left:9px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:36px 0 23px;text-transform:capitalize;font-size:16px}.icon-button{background:none;border:1px solid #e4e6dc;width:38px;height:38px;font-size:20px;color:var(--ink)}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.weekdays span{padding:10px 0;font-size:10px;color:#8b978d}.calendar button,.calendar .empty{height:46px;border:0;background:#f7f8f3;color:#355344;font-size:13px}.calendar button:hover:not(:disabled){background:#dce7d9}.calendar button:disabled{background:#f2f1ed;color:#a9aca5;text-decoration:line-through;cursor:not-allowed}.calendar button.selected{background:#345945;color:white;font-weight:800}.calendar button.in-range{background:#d6e6d3}.calendar button.today{box-shadow:inset 0 0 0 1px #789482}.calendar-help{font-size:11px;color:#829087;margin:15px 0}.dates-result{margin:25px 0;display:flex;justify-content:space-around;align-items:center;padding:24px 10px;background:#f7f8f3;text-align:center}.dates-result div{display:grid;gap:8px}.dates-result small{font-size:9px;color:#829087;letter-spacing:.1em}.dates-result strong{font-size:12px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking label,.admin-tool label{display:grid;gap:8px;font-size:11px;font-weight:800;color:#506656}.booking select,.booking input:not([type=checkbox]),.admin-body input,.admin-body select{min-width:0;width:100%;border:1px solid #e0e5dc;padding:12px;background:#fff;color:#244633;border-radius:1px;font-size:13px}.options{border:0;padding:0;margin:32px 0 22px}.options legend{font-size:13px;font-weight:800;margin-bottom:15px}.booking label.check-option{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eff0ea;cursor:pointer;font-weight:500;font-size:12px}.check-option input{accent-color:#345945;width:16px;height:16px}.check-option span{flex:1}.check-option strong{font-size:11px;white-space:nowrap}.fillings{display:none;margin-left:25px}.fillings.visible{display:block}.fillings p{font-size:11px;color:var(--muted);margin:12px 0 3px}.promo-label{margin-top:15px}.promo-label input{margin-top:5px}.summary-card{position:sticky;top:16px;background:#f7f8f2;padding:38px}.summary-kicker{font-size:10px;letter-spacing:.13em;color:#78907d;font-weight:800}.summary-card h3{font-family:'Playfair Display',serif;font-size:34px;font-weight:400;line-height:1.2;margin:20px 0 26px}.quote-details{border-top:1px solid #dfe6dc;border-bottom:1px solid #dfe6dc;padding:12px 0}.quote-line{display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:12px}.quote-line strong{white-space:nowrap}.muted{color:#889389;font-size:13px}.quote-totals{margin:20px 0 25px}.quote-totals .grand{font-size:19px;font-weight:800}.quote-totals .mutedline{color:#697b6c;font-size:12px}.summary-note{display:block;margin-top:18px;color:#7a8d7c;line-height:1.7;font-size:11px}.quote-message{color:#b15044;margin:12px 0;font-size:12px}.safe-note{border-top:1px solid #dce4d8;margin-top:35px;padding-top:23px;color:#859687;font-size:11px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.contact-section p{color:var(--muted)}.contact-links a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:600}.contact-links a span{font-weight:400}footer{background:#203d30;color:#fff;padding:45px clamp(20px,7vw,120px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center}footer span{font-size:22px;font-weight:800}footer span small{display:block;font-size:9px;letter-spacing:.16em;margin-top:4px;font-weight:400}footer p,footer>small{color:#b6c9b9;font-size:11px;margin:0}dialog{width:min(510px,calc(100vw - 30px));border:0;box-shadow:0 25px 75px #1c3d2a55;padding:42px}dialog::backdrop{background:#14251aaa}dialog h3{font-family:'Playfair Display',serif;font-size:43px;font-weight:400;margin:10px 0 18px}dialog p{font-size:13px;color:var(--muted)}dialog label{font-size:12px;display:grid;gap:8px;margin:17px 0;font-weight:700}dialog input:not([type=checkbox]){padding:13px;border:1px solid var(--line);background:#fff;width:100%}dialog .consent{display:flex;align-items:start;font-weight:400;line-height:1.5;font-size:11px}dialog .consent input{margin-top:3px}dialog small{display:block;font-size:10px;color:var(--muted);margin-top:15px}.dialog-close{position:absolute;right:22px;top:18px;border:none;background:none;font-size:27px;color:var(--ink)}.form-error{color:#a84736!important;font-size:12px!important}
/* Admin */.admin-body{background:#f5f7f2}.admin-header{background:#fff;border-bottom:1px solid var(--line);padding:20px 6%;display:flex;justify-content:space-between;align-items:center}.admin-back{font-size:12px}.admin-main{max-width:1200px;margin:0 auto;padding:55px 25px 100px}.admin-intro h1{font-family:'Playfair Display',serif;font-size:56px;font-weight:400;margin:0 0 20px}.admin-intro p{font-size:13px;color:#69776a;max-width:600px}.admin-auth{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:white;border:1px solid var(--line);padding:25px;margin:30px 0}.admin-auth label{display:grid;gap:9px;flex:1;min-width:240px;font-size:11px;font-weight:800}.admin-auth .button{min-height:45px}.admin-auth #adminError{color:#a13c36;font-size:12px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center}.admin-toolbar h2,.admin-tools h2{font-size:24px;letter-spacing:-.03em}.admin-toolbar button{border:1px solid var(--line);background:#fff;padding:10px 17px}.admin-bookings{display:grid;gap:13px}.admin-booking{background:white;border:1px solid var(--line);padding:22px;display:grid;gap:14px}.admin-booking-header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.admin-booking-header strong{font-size:17px}.admin-booking small{color:var(--muted)}.admin-booking-details{font-size:12px;display:flex;gap:20px;flex-wrap:wrap;color:#506a5d}.admin-booking-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-booking-actions button{background:#355e48;color:#fff;border:0;padding:9px 14px;font-size:11px}.admin-booking-actions button.cancel{background:#b4645a}.status-tag{border-radius:2px;background:#e5efe5;color:#345f42;font-size:10px;padding:7px 11px;font-weight:800}.admin-tools{margin-top:55px}.admin-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-tool{padding:24px;background:#fff;border:1px solid var(--line);display:grid;gap:15px;align-content:start}.admin-tool h3{font-size:16px;margin:0}.admin-tool .button{width:100%;min-height:45px}.action-row{display:flex;gap:8px}.action-row .button{font-size:11px}.admin-tool p{margin:0}.admin-tools #toolMessage{color:#496e57;font-size:13px}
@media(max-width:1050px){.desktop-nav{gap:16px}.intro-grid{gap:35px}.prices-panel{gap:45px}.booking-layout{grid-template-columns:1fr 360px}.booking-card,.summary-card{padding:25px}}@media(max-width:780px){.site-header{height:72px}.desktop-nav,.nav-book{display:none}.menu-toggle{display:block}.mobile-nav.open{display:grid;background:#fbfaf6;position:absolute;left:0;right:0;top:auto;z-index:20;box-shadow:0 10px 30px #11291820;padding:15px 25px}.mobile-nav a{padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.hero{min-height:610px;height:79vh}.hero-inner{left:24px;right:20px}.hero h1{font-size:clamp(58px,12vw,91px)}.hero-bottom{left:25px;right:25px}.hero-bottom>span{max-width:140px;font-size:8px}.section{padding:85px 24px}.intro-grid,.contact-section{grid-template-columns:1fr;gap:25px}.section-title-row{display:block}.section-title-row>p{max-width:100%}.experience-cards{grid-template-columns:1fr 1fr;grid-template-rows:300px 260px}.feature-card.tall{grid-column:span 2;grid-row:span 1}.gallery-grid{height:280px}.prices-panel{grid-template-columns:1fr;padding:65px 30px}.booking-layout{grid-template-columns:1fr}.summary-card{position:static}.admin-tools-grid{grid-template-columns:1fr}.admin-main{padding:35px 16px 70px}footer{grid-template-columns:1fr;gap:15px;text-align:center}}@media(max-width:460px){.hero{min-height:590px}.hero h1{font-size:58px}.hero p{font-size:14px}.hero-actions{gap:18px}.hero-text-link{font-size:11px}.facts strong{font-size:29px}.experience-cards{grid-template-columns:1fr;grid-template-rows:320px 270px 270px}.feature-card.tall{grid-column:auto}.gallery-grid{grid-template-columns:1fr 1fr;height:330px}.g-one{grid-column:span 2}.booking-card,.summary-card{padding:21px}.calendar button,.calendar .empty{height:42px}.booking-fields{grid-template-columns:1fr}.legend{font-size:9px}dialog{padding:30px 22px}}
/* Standalone pages: unified navigation, typography and responsive content */
.sub-heading{max-width:1380px;margin:0 auto;padding:92px clamp(24px,7vw,110px) 72px;background:#f3f4ee}.sub-heading h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.05em;font-size:clamp(44px,7vw,98px);margin:20px 0}.sub-heading p{font-size:16px;color:#728174;max-width:660px}.sub-content{max-width:1330px;margin:0 auto;padding:85px clamp(24px,7vw,110px) 120px}.sub-two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.sub-two h2{font-size:clamp(36px,5vw,62px)}.sub-two p{color:#68796e;font-size:15px}.sub-two figure{margin:0}.sub-two figure img,.sub-gallery img{width:100%;display:block;object-fit:cover;background:#e6e9e0}.sub-two figure img{aspect-ratio:4/3}.sub-two figcaption{font-size:10px;color:#819184;padding-top:10px}.sub-gallery{display:grid;gap:24px}.sub-gallery.three{grid-template-columns:repeat(3,1fr)}.sub-gallery.two{grid-template-columns:repeat(2,1fr)}.sub-gallery img{aspect-ratio:4/3}.sub-gallery h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;margin:18px 0 10px}.sub-gallery p{font-size:13px;color:#677c6d}.sub-notice{background:#f0f3ea;padding:34px 38px;margin-top:50px;color:#2b4c3a}.sub-notice p{margin:8px 0 0;color:#627668;font-size:14px}.sub-warning{font-size:13px;color:#697969;background:#edf1e9;padding:18px 22px}.sub-facts{display:flex;gap:42px;margin-top:28px}.sub-facts>div{display:grid;gap:5px}.sub-facts strong{font-size:27px}.sub-facts small{font-size:11px;color:#728174}.sub-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.sub-price{padding:36px;background:#f0f2e9;display:flex;gap:10px;flex-direction:column}.sub-price small{font-size:11px;letter-spacing:.07em;color:#738576}.sub-price strong{font-family:'Playfair Display',serif;font-size:45px;font-weight:400}.sub-price span{font-size:13px;color:#738576}.gift-mockup{min-height:420px;background:linear-gradient(142deg,#3b5c47,#1c382a);color:#fff;padding:38px;display:flex;flex-direction:column;box-shadow:0 20px 35px #28443222}.gift-mockup span{font-size:28px;font-weight:800;letter-spacing:.1em}.gift-mockup small{font-size:9px;letter-spacing:.2em;color:#b5c8b4}.gift-mockup em{font-size:58px;margin:auto 0 30px}.gift-mockup p{color:#d5e1d1}.sub-cta{border-top:1px solid #dfe4da;padding-top:35px;margin-top:65px;display:flex;align-items:center;justify-content:space-between;gap:18px}.sub-cta span{font-family:'Playfair Display',serif;font-size:25px}.sub-contact{display:grid;gap:18px;margin-top:24px}.sub-contact a{border-bottom:1px solid #dbe2d7;padding:18px 0;font-size:20px;font-weight:600}.rules-list{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.rules-list article{border:1px solid #e0e6dc;padding:30px}.rules-list h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:400}.rules-list p{font-size:13px;color:#65766a}.sub-heading+.booking{padding-top:45px}.desktop-nav{gap:19px}.desktop-nav a{font-size:11px}@media(max-width:950px){.desktop-nav{gap:10px}.desktop-nav a{font-size:10px}.sub-two{gap:30px}}@media(max-width:780px){.sub-heading{padding:60px 24px 50px}.sub-content{padding:55px 24px 75px}.sub-two,.sub-gallery.three,.sub-gallery.two,.sub-price-grid,.rules-list{grid-template-columns:1fr}.sub-gallery.two{gap:12px}.sub-facts{gap:25px}.sub-cta{flex-direction:column;align-items:start}.gift-mockup{min-height:350px}.gift-mockup em{font-size:46px}}

/* Seasonal amenity is a status, never a separately bookable product. */
.pool-live-banner{display:flex;align-items:center;gap:9px;padding:9px max(20px,calc((100vw - 1200px)/2));background:#edf3e9;color:#42644d;font-size:12px;line-height:1.6;border-bottom:1px solid #dce8d9}
.pool-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.pool-live-dot.on{background:#5b9a6e}.pool-live-dot.off{background:#bd9674}
