:root{--paper:#f5f2e9;--ink:#30372c;--olive:#46513d;--muted:#696b5e;--line:#d7d6c9;--rust:#9b513a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rust);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,7vw,7.4rem);margin-bottom:30px}h2{font-size:clamp(2.5rem,4.5vw,4.9rem);margin-bottom:30px}h3{font-size:2rem}em{font-weight:400}p{color:var(--muted)}.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.19em;line-height:1.6;color:inherit;margin-bottom:25px}.small{font-size:.875rem;line-height:1.6}.header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.brand{font-family:var(--serif);font-size:1.9rem;letter-spacing:.13em;line-height:1.2;white-space:nowrap}.brand span{display:block;font-family:var(--sans);font-size:.625rem;letter-spacing:.18em;margin-top:9px}.header nav{display:flex;align-items:center;gap:32px;font-size:.875rem}.header nav>a{padding:10px 0}.header nav>a[aria-current]{box-shadow:0 1px currentColor}.header nav .nav-book{border:1px solid var(--line);padding:13px 21px;margin-left:12px}.nav-book span{margin-left:30px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.hero{margin:0 22px;min-height:730px;height:calc(100svh - 130px);max-height:1100px;color:#fffdf4;position:relative;overflow:hidden;background:#59634c}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.68);will-change:transform}.hero-top,.hero-bottom{position:absolute;left:4%;right:4%;display:flex;justify-content:space-between;font-size:.6875rem;letter-spacing:.17em;gap:20px}.hero-top{top:34px}.hero-bottom{bottom:30px}.hero-copy{position:relative;z-index:1;padding:130px 7% 100px}.hero h1{font-size:clamp(5rem,9vw,9.8rem);line-height:.97;margin-bottom:32px}.hero p{color:inherit}.hero-copy>p:not(.eyebrow){font-size:1rem;margin-bottom:34px}.button{display:inline-flex;gap:35px;justify-content:space-between;align-items:center;min-height:52px;padding:15px 25px;border:1px solid var(--olive);background:var(--olive);color:white;font-size:.875rem;line-height:1.5;transition:background .2s,transform .2s}.button:hover:not(:disabled){background:#303c2b;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#fff}.intro{padding:120px 9%}.intro h2{max-width:1000px}.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-top:45px}.intro-bottom>p{max-width:440px;margin:0}.facts{display:flex;gap:55px}.facts span{font-size:.75rem;display:flex;flex-direction:column}.facts b{font-family:var(--serif);font-size:2.6rem;font-weight:400}.photo{position:relative;overflow:hidden;background:#b2aa93;min-width:0}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s}.photo-label{position:absolute;left:26px;bottom:24px;color:white;text-shadow:0 1px 5px #0008;font-family:var(--serif);font-size:1.5rem;line-height:1.3}.photo-label small{display:block;font-family:var(--sans);font-size:.625rem;letter-spacing:.16em;margin-top:8px}.story{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;padding:0 5%}.story-sticky{position:sticky;top:32px;height:calc(100svh - 64px);max-height:950px}.story-sticky .photo{height:100%}.story-copy article{min-height:85vh;display:flex;flex-direction:column;justify-content:center;padding:70px 10% 70px 0}.story-copy article p:not(.eyebrow){max-width:350px}.detail-line{display:block;border-top:1px solid var(--line);padding-top:24px;margin-top:25px;font-size:.8125rem;color:var(--muted)}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:13%;padding:130px 9%;align-items:center}.editorial-copy p{max-width:370px}.portrait{aspect-ratio:4/5}.wide-story{margin:0 5%;position:relative}.wide-story>.photo{height:680px}.wide-story>.photo img{filter:brightness(.72)}.wide-story>.photo .photo-label{left:auto;right:25px;font-size:1rem}.wide-story>div:not(.photo){position:absolute;left:7%;top:20%;color:white;width:65%}.wide-story p{color:inherit;max-width:360px}.amenities{padding:120px 9%}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin:50px 0 30px}.amenity-grid span{border-top:1px solid var(--line);padding:23px 0;font-size:.75rem;color:var(--muted)}.amenity-grid b{font-weight:400;font-size:1rem;margin-left:25px;color:var(--ink)}.closing{padding:100px 20px 120px;text-align:center;background:#e6e7dc}.closing .text-link{display:block;font-size:.875rem;margin-top:25px;text-decoration:underline;text-underline-offset:5px}footer{padding:70px 6% 40px;position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:50px;flex-wrap:wrap}footer>div{display:flex;gap:28px;font-size:.875rem}footer>p{width:100%;font-size:.75rem;margin-top:25px;margin-bottom:0;z-index:1}.footer-mark{position:absolute;bottom:-80px;right:30px;font-family:var(--serif);font-size:240px;line-height:1;color:#e4e2d7;pointer-events:none}.page-intro{padding:90px 9% 70px}.page-intro>p:not(.eyebrow){max-width:450px}.page-intro .small{display:block;color:var(--muted);max-width:450px}.area-hero{margin:0 5%}.area-hero .photo{height:570px}.caption{display:block;margin-top:18px;font-size:.6875rem;letter-spacing:.16em}.area-grid{padding:0 7% 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.area-grid article:nth-child(2){padding-top:75px}.area-grid article:nth-child(3){padding-top:150px}.area-grid .eyebrow{margin-top:28px;margin-bottom:16px}.area-grid h3{margin-bottom:20px}.reviews-section{padding:0 9% 110px}.review-note{display:flex;gap:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;align-items:center}.review-note .eyebrow{min-width:200px;margin:0}.review-note p{margin:0;font-size:.875rem;max-width:630px}.quote-feature{text-align:center;padding:50px 0 80px}.quote-symbol{font-family:var(--serif);font-size:110px;color:var(--rust);line-height:1}.quote-feature blockquote{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 30px}.quote-feature>p{font-size:.6875rem;letter-spacing:.17em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-grid article{border:1px solid var(--line);padding:35px;display:flex;flex-direction:column}.review-grid h3{font-size:1.8rem}.review-source{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;font-size:.75rem;display:flex;justify-content:space-between}.booking-main{padding:65px 7% 100px}.booking-heading h1{font-size:clamp(3rem,5vw,5.5rem)}.demo-notice{font-size:.875rem;max-width:740px}.steps{display:flex;list-style:none;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:65px;margin:35px 0 50px}.steps li{color:var(--muted);font-size:.875rem}.steps li[aria-current]{color:var(--ink);font-weight:600}.steps span{font-family:var(--serif);margin-right:12px;font-size:1.1rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:6%}.booking-layout h2{font-size:2.6rem}.booking-summary{align-self:start;position:sticky;top:25px;border:1px solid var(--line)}.booking-summary .photo{height:200px}.booking-summary .photo-label{font-size:1.25rem}.summary-body{padding:25px}.summary-body h3{margin-bottom:10px}.summary-body>p:not(.eyebrow){font-size:.8125rem}.summary-body .eyebrow{margin-bottom:10px}.summary-body dl{border-top:1px solid var(--line);padding-top:15px}.summary-body dl>div{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;margin:10px 0}.summary-body dd{margin:0;text-align:right}.summary-body .total{font-size:1.1rem;border-top:1px solid var(--line);padding-top:15px}.date-form{display:grid;grid-template-columns:1fr 1fr .8fr;gap:14px;margin-top:28px}.date-form>.button{grid-column:1/-1;justify-self:start}label{display:flex;flex-direction:column;gap:7px;font-size:.875rem}input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid #bcbeb0;border-radius:0;color:var(--ink);background:transparent;min-height:48px}textarea{resize:vertical}.status{padding:10px 0;min-height:44px;font-size:.875rem;color:var(--olive)}.status.error{color:#a03824}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px}.calendar-toolbar h3{font-size:1.5rem;margin:0}.icon-button{background:transparent;border:1px solid var(--line);width:42px;height:42px;color:var(--ink)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:.75rem;padding:10px 0}.day{border:1px solid transparent;background:#e8e9df;min-height:48px;color:var(--ink);position:relative}.day:hover:not(:disabled){border-color:var(--olive)}.day.unavailable{text-decoration:line-through;background:repeating-linear-gradient(135deg,transparent,transparent 5px,#d7d8cd 5px,#d7d8cd 6px);color:#6d7065}.day.in-range{background:#d0d6c4}.day.chosen{background:var(--olive);color:white;text-decoration:none}.day.today:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;bottom:5px;left:calc(50% - 2px)}.legend{display:flex;gap:20px;font-size:.75rem;margin:22px 0 10px;flex-wrap:wrap}.legend span{display:flex;gap:7px;align-items:center}.legend i{width:12px;height:12px;background:#e8e9df;border:1px solid #b9bcae}.legend .blocked{background:repeating-linear-gradient(135deg,transparent,transparent 3px,#bbb 3px,#bbb 4px)}.legend .selected{background:var(--olive)}#to-details{margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.full{grid-column:1/-1}.check-label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:25px 0}.check-label input{width:19px;height:19px;min-height:0;flex-shrink:0;margin-top:5px;accent-color:var(--olive)}.actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:35px}.back-button{border:0;background:transparent;color:var(--ink);font-size:.875rem;padding:12px 0}.payment-options{border:0;padding:0;margin:30px 0}.payment-options legend{font-size:.875rem;margin-bottom:15px}.payment-options label{flex-direction:row;align-items:center;padding:20px;border:1px solid var(--line);margin-bottom:10px;cursor:pointer}.payment-options label:has(:checked){border-color:var(--olive);background:#e8eadf}.payment-options input{width:18px;height:18px;min-height:0;accent-color:var(--olive)}.payment-options span{flex:1;margin-left:12px}.payment-options small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.payment-options b{font-size:1.3rem}.payment-note{background:#e8eadf;padding:20px;font-size:.875rem;margin-bottom:20px}.confirmation{padding:90px 20px 120px;max-width:850px;text-align:center;margin:auto}.confirmation h1{font-size:clamp(3rem,6vw,6rem)}.success-icon{border:1px solid var(--olive);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;margin:20px auto 35px;font-size:25px}.confirmation-details{padding:25px;border-block:1px solid var(--line);margin:30px auto;max-width:450px}.confirmation .button{margin-top:20px}[hidden]{display:none!important}.motion .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}.motion .reveal.visible{opacity:1;transform:none}@media(min-width:1600px){body{max-width:1900px;margin:auto}}@media(max-width:1000px){.header{padding:20px 5%;height:auto;gap:25px;flex-wrap:wrap}.header nav{gap:20px}.header nav .nav-book{margin-left:0}.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:30px}.facts{gap:25px}.review-grid article{padding:23px}.hero{min-height:690px}.hero-copy{padding-top:120px}.date-form{grid-template-columns:1fr 1fr}.date-form>.button{grid-column:auto}.area-grid{gap:20px}.story-copy article{padding-right:0}}@media(max-width:720px){.header{justify-content:center;padding:23px 18px 16px}.brand{font-size:1.6rem}.header nav{width:100%;justify-content:space-between;gap:12px;font-size:.75rem}.header nav .nav-book{padding:8px;border:0}.nav-book span{display:none}.hero{margin:0 10px;min-height:620px;height:78svh}.hero-copy{padding:120px 7% 100px}.hero h1{font-size:clamp(4.5rem,14vw,7rem)}.hero-top{font-size:.625rem}.hero-top span:last-child{display:none}.hero-bottom{font-size:.625rem}.hero-bottom span{max-width:150px;text-align:right}.intro{padding:75px 7%}.intro-bottom{flex-direction:column;align-items:start;gap:35px}.facts{gap:45px}.story{display:block;padding:0 7%}.story-sticky{position:relative;top:0;height:65vh}.story-copy article{min-height:0;padding:55px 0}.editorial{display:flex;flex-direction:column-reverse;padding:50px 7% 70px;gap:40px;align-items:stretch}.wide-story{margin:0 5%}.wide-story>.photo{height:600px}.wide-story>div:not(.photo){top:14%;width:85%}.wide-story>.photo .photo-label{bottom:20px;left:7%;right:auto}.amenities{padding:75px 7%}.amenity-grid{grid-template-columns:1fr 1fr;gap:0 15px}.amenity-grid b{font-size:.875rem;margin-left:12px}.closing{padding:75px 20px}footer{padding:50px 7%;gap:35px}footer>div{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px}.page-intro{padding:60px 7%}.area-hero .photo{height:400px}.area-grid{grid-template-columns:1fr;padding-bottom:60px}.area-grid article:nth-child(n){padding-top:0;margin-bottom:30px}.area-grid .portrait{aspect-ratio:5/4}.review-note{display:block}.review-note p{margin-top:18px}.review-grid{grid-template-columns:1fr}.quote-feature{padding:50px 0}.reviews-section{padding:0 7% 60px}.booking-main{padding:50px 5% 70px}.booking-layout{display:flex;flex-direction:column;gap:40px}.booking-summary{position:static;width:100%}.booking-summary .photo{height:180px}.steps{gap:0;justify-content:space-between}.steps li{font-size:.75rem}.steps span{margin-right:5px}.booking-layout h2{font-size:2.2rem}.date-form{gap:12px}.date-form>.button{padding:12px;font-size:.8125rem;align-self:end}.form-grid{gap:18px 12px}.actions{gap:12px}.actions .button{padding:14px;gap:10px}.calendar{gap:4px}.day{min-height:43px}.confirmation{padding-top:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion .reveal{opacity:1;transform:none}.hero-image{transform:none!important}}

/* Photographic demo: directional shading keeps the images vivid and white copy readable. */
.hero-image{filter:none;object-position:62% center}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(19,29,18,.72),rgba(19,29,18,.3) 52%,rgba(19,29,18,.08)),linear-gradient(0deg,rgba(19,29,18,.42),transparent 30%,transparent 75%,rgba(19,29,18,.25))}
.hero-top,.hero-copy,.hero-bottom{z-index:2}
.wide-story>.photo img{filter:none;object-position:60% center}
.wide-story>.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,29,18,.73),rgba(17,29,18,.38) 50%,rgba(17,29,18,.05));pointer-events:none}
.portrait img{position:absolute;inset:0}
.area-hero img{object-position:center 52%}
@media(max-width:720px){.hero-image{object-position:65% center}.hero::after{background:linear-gradient(90deg,rgba(19,29,18,.69),rgba(19,29,18,.25)),linear-gradient(0deg,rgba(19,29,18,.42),transparent 45%)}.wide-story>.photo img{object-position:60% center}.wide-story>.photo::after{background:linear-gradient(90deg,rgba(17,29,18,.7),rgba(17,29,18,.28))}}

/* Homepage walkthrough: same full-bleed frame and readable overlay as the photo. */
.hero-video{object-position:center center;background:#46513d url("images/hero.jpg") center/cover no-repeat}
.hero-video-toggle{position:absolute;right:4%;bottom:76px;z-index:3;display:flex;align-items:center;gap:14px;min-height:44px;padding:9px 15px;border:1px solid #ffffff80;background:#18201680;color:#fffdf4;font-size:.8125rem;backdrop-filter:blur(6px)}
.hero-video-toggle:hover{background:#182016bd}
@media(max-width:720px){.hero-video{object-position:center center}.hero-video-toggle{bottom:85px}}
