:root{--ivory:#f8f6f0;--stone:#eeeae1;--ink:#33372d;--olive:#3e4936;--muted:#6e7167}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.75}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(64px,9vw,142px);margin:18px 0}h2{font-size:clamp(38px,4.4vw,68px);margin:14px 0 22px}a{color:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}.wrap{width:min(1200px,88%);margin:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.25em}.nav{position:sticky;top:0;z-index:50;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--ivory);gap:24px}.wordmark{font-family:Georgia,serif;letter-spacing:.2em;text-decoration:none;font-size:17px;white-space:nowrap}.nav nav{display:flex;gap:30px}.nav nav a{text-decoration:none;font-size:12px}.nav-book,.button{display:inline-block;text-decoration:none;letter-spacing:.14em;font-size:10px;font-weight:600;padding:14px 24px;background:var(--olive);color:#fff}.button.light{background:#f8f6f0;color:var(--ink)}.hero{height:min(800px,calc(100svh - 78px));min-height:540px;position:relative;color:white;display:grid;place-items:center;overflow:hidden}.hero-slides,.hero-shade,.hero-slides>div{position:absolute;inset:0}.hero-slides>div{background-position:center;background-size:cover;opacity:0;transition:opacity 1.6s ease}.hero-slides>div.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.43),rgba(0,0,0,.07))}.hero-copy{z-index:1;text-align:center;padding:20px}.hero-copy p{font-family:Georgia,serif;font-size:25px;margin-bottom:28px}.hero-count{position:absolute;bottom:24px;right:5%;font-size:11px;letter-spacing:.12em}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:120px 0}.welcome-photo img{height:530px}.welcome-copy{max-width:440px}.welcome-copy p,.location-copy p{color:var(--muted);max-width:430px}.welcome-copy em{font-weight:400}.text-link{display:inline-block;font-size:11px;letter-spacing:.14em;text-underline-offset:6px;margin-top:20px}.house{text-align:center;background:var(--stone);padding:95px 0 90px}.house .section-intro{color:var(--muted)}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:60px}.feature{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.feature img{display:block;width:40px;height:40px;object-fit:contain}.feature span{font:12px 'DM Sans',sans-serif;color:var(--ink)}.reviews{padding:100px 0 105px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading p{color:var(--muted)}.review-controls{display:flex;gap:10px}.review-controls button,.lightbox button{border:1px solid #d6d3c9;background:transparent;color:inherit;border-radius:50%;width:43px;height:43px;font-size:19px}.review-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.review-card{background:#f0ede6;padding:38px 38px 32px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between}.review-card blockquote{font-family:Georgia,serif;font-size:clamp(17px,2vw,23px);line-height:1.5;margin:0 0 20px}.review-card .stars{color:#977c4e;letter-spacing:.18em}.review-card small{font-size:10px;letter-spacing:.1em;color:var(--muted)}.review-source{font-size:11px;color:var(--muted);margin-top:20px}.gallery{padding-bottom:115px}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:220px;gap:9px}.gallery-grid button{border:0;padding:0;overflow:hidden;position:relative;background:var(--stone)}.gallery-grid button:first-child{grid-row:span 2}.gallery-grid img{height:100%;transition:transform .6s}.gallery-grid button:hover img{transform:scale(1.04)}.location{display:grid;grid-template-columns:1fr 1fr;min-height:460px;background:#efede6}.location-copy{padding:85px max(7vw,35px)}.location iframe{width:100%;height:100%;border:0;min-height:430px;filter:grayscale(.85) contrast(.88)}.address{margin-top:25px}.end-cta{height:390px;display:grid;place-items:center;text-align:center;color:white;position:relative;overflow:hidden}.end-cta-bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:brightness(.55)}.end-cta-content{position:relative}.end-cta h2{margin:16px 0 30px}footer{min-height:120px;padding:35px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between}footer span{font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:20px}.footer-links a{font-size:11px;text-decoration:none}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:rgba(20,22,19,.96);z-index:100;display:flex;align-items:center;justify-content:center;color:white;padding:50px}.lightbox img{width:auto;max-width:90%;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:20px}.lightbox-prev,.lightbox-next{position:absolute;top:50%}.lightbox-prev{left:20px}.lightbox-next{right:20px}#lightbox-count{position:absolute;bottom:16px;font-size:12px}@media(max-width:760px){.nav{height:66px}.nav nav{display:none}.nav-book{padding:10px;font-size:9px}.wordmark{font-size:13px}.hero{min-height:590px;height:calc(100svh - 66px)}.hero-copy p{font-size:21px}.welcome{grid-template-columns:1fr;gap:40px;padding:65px 0}.welcome-photo img{height:350px}.house{padding:65px 0}.amenities{grid-template-columns:repeat(2,1fr);gap:35px 15px;margin-top:40px}.reviews{padding:65px 0}.review-track{grid-template-columns:1fr}.review-card{min-height:200px}.gallery{padding-bottom:65px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.gallery-grid button:first-child{grid-row:span 2}.location{grid-template-columns:1fr}.location-copy{padding:65px 7%}.location iframe{height:330px;min-height:330px}footer{flex-wrap:wrap;justify-content:center;text-align:center}.footer-links{width:100%;justify-content:center}.section-heading{align-items:center}.lightbox{padding:12px}.lightbox img{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slides>div,.gallery-grid img{transition:none}}

/* Keep anchor destinations visible below the sticky navigation. */
[id]{scroll-margin-top:90px}
@media(max-width:760px){[id]{scroll-margin-top:78px}}

/* Editorial booking enquiry bar (handoff to agent; no live availability). */
.booking-bar{background:#f0ede6;border-bottom:1px solid #e1ddd3;padding:44px 0 48px}
.booking-inner{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.8fr);gap:50px;align-items:center}
.booking-heading h2{font-size:clamp(30px,3vw,44px);margin:9px 0 0}
.booking-form{display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:12px;align-items:end}
.booking-field{display:flex;flex-direction:column;gap:8px;font-size:10px;font-weight:600;letter-spacing:.15em}
.booking-field input,.booking-field select{font:14px 'DM Sans',Arial,sans-serif;letter-spacing:normal;color:var(--ink);background:var(--ivory);border:1px solid #d6d3c9;border-radius:0;padding:12px 10px;min-height:48px;width:100%;min-width:0}
.booking-submit{background:var(--olive);color:white;border:0;padding:0 20px;min-height:48px;white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.12em}
.booking-submit:hover,.booking-submit:focus-visible{background:#293326}
.booking-note,.booking-error{grid-column:1/-1;font-size:11px;margin:0;color:var(--muted);line-height:1.5}
.booking-error{color:#9b3c2d;font-weight:600}
@media(max-width:1050px){.booking-inner{grid-template-columns:1fr;gap:22px}.booking-form{grid-template-columns:1fr 1fr 1fr}.booking-submit{grid-column:1/-1}}
@media(max-width:600px){.booking-bar{padding:34px 0}.booking-form{grid-template-columns:1fr 1fr}.booking-guests{grid-column:1/-1}.booking-submit{grid-column:1/-1}}
