:root{--ink:#293c33;--cream:#f7f3eb;--sage:#dfe4d8;--muted:#5d675e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ae6b32;outline-offset:4px}header{padding:20px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.brand{text-decoration:none;font:30px Georgia,serif;line-height:1.15;white-space:nowrap}.brand span{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin-top:7px}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:13px}.button{display:inline-flex;justify-content:space-between;gap:32px;align-items:center;background:var(--ink);color:white;border:0;padding:17px 24px;text-decoration:none;font-size:14px;cursor:pointer}.button:hover{background:#405748}.small{padding:12px 20px}.cream{background:var(--cream);color:var(--ink)}.cream:hover{background:var(--sage)}.hero{position:relative;min-height:640px;height:78vh;max-height:880px;color:white;display:flex;align-items:center}.hero>img,.shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero>img{object-position:center 60%}.shade{background:linear-gradient(90deg,rgba(14,30,21,.75),rgba(14,30,21,.1))}.hero-copy{position:relative;margin:50px 8% 100px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2.5px;margin:0 0 23px}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.1;margin:0}h1{font-size:clamp(44px,5.7vw,86px);letter-spacing:-2px}h2{font-size:clamp(37px,4vw,58px);letter-spacing:-1.4px}h3{font-size:30px;margin-bottom:28px}.hero-copy>p:not(.eyebrow){margin:26px 0 32px;font-size:17px}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:18px;font-size:10px;letter-spacing:2px}.hero-bottom a{text-decoration:none}.wrap{max-width:1240px;margin:auto;padding-left:5%;padding-right:5%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:100px;padding-bottom:65px}.intro p{margin-top:0}.lead{font-size:20px;line-height:1.6}.text-link{text-decoration:none;border-bottom:1px solid #879383;padding-bottom:7px;display:inline-block;margin-top:18px;font-size:14px}.spaces{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;padding-bottom:100px}.spaces figure{margin:0}.spaces figure:nth-child(2){padding-top:75px}.spaces img{width:100%;height:360px;object-fit:cover}.spaces figcaption{font-size:11px;letter-spacing:1px;margin-top:14px}.spa{display:grid;grid-template-columns:1.1fr 1fr;background:var(--sage)}.spa-image img{width:100%;height:100%;min-height:600px;object-fit:cover}.spa-copy{padding:75px 14% 75px 12%;align-self:center}.spa-copy p:not(.eyebrow){margin-top:25px}.subtle{font-size:12px;opacity:.8}.gallery-section{padding-top:100px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-head>p{font-size:13px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery button{position:relative;cursor:zoom-in;border:0;padding:0;background:var(--sage);overflow:hidden;aspect-ratio:1}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}.gallery span{position:absolute;bottom:0;left:0;right:0;text-align:left;color:white;background:linear-gradient(transparent,#000a);padding:40px 18px 14px;font-size:12px}.booking{padding:85px 0;background:var(--ink);color:var(--cream)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.booking-grid>div>p:not(.eyebrow){max-width:430px}.email{display:inline-block;margin:18px 0;font-size:22px;text-decoration:none}form{background:var(--cream);color:var(--ink);padding:36px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;margin-bottom:17px}input,textarea{width:100%;min-width:0;padding:12px 8px;margin-top:6px;background:transparent;border:1px solid #b7beb0;border-radius:0;color:var(--ink)}textarea{resize:vertical}.form-note{font-size:11px;line-height:1.6}form .button{width:100%}#form-status{font-size:13px}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:40px;padding-bottom:40px}footer p,footer>a:last-child{font-size:12px}dialog{border:0;background:#17251f;color:white;padding:20px;width:min(1100px,96vw);max-width:96vw;max-height:96vh}dialog::backdrop{background:#07120ee8}#large-photo{width:100%;height:70vh;object-fit:contain;display:block}.lightbox-bar,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.lightbox-bar p{font-size:14px}dialog button{background:transparent;color:white;border:1px solid #ffffff77;padding:8px 14px;cursor:pointer}.lightbox-controls{margin-top:16px;font-size:12px}.skip{position:fixed;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:0}@media(max-width:800px){header{gap:18px;align-items:flex-start}.brand{font-size:25px}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;max-width:280px}nav a{font-size:11px}nav .button{padding:9px 12px}.hero{min-height:570px;height:75vh}.hero-copy{margin-left:6%;margin-right:6%}.hero-bottom>span{display:none}.intro,.booking-grid{gap:35px;grid-template-columns:1fr}.intro,.gallery-section{padding-top:65px}.spaces{gap:18px;padding-bottom:65px}.spaces img{height:270px}.spaces figure:nth-child(2){padding-top:40px}.spa{grid-template-columns:1fr}.spa-image img{min-height:0;height:370px}.spa-copy{padding:50px 7%}.gallery{gap:12px}.section-head{align-items:start;flex-direction:column;gap:12px}.booking{padding:60px 0}footer{flex-wrap:wrap}footer p{display:none}}@media(max-width:480px){nav>a:not(.button){display:none}header{align-items:center;padding:18px 5%}.hero-copy>p:not(.eyebrow){font-size:15px}h1{letter-spacing:-1.2px}.hero-copy br:not(h1 br){display:none}.hero-bottom{font-size:9px}.intro{padding-bottom:40px}.spaces{grid-template-columns:1fr}.spaces figure:nth-child(2){padding-top:0}.spaces img{height:auto}.gallery{grid-template-columns:repeat(2,1fr)}.gallery button:last-child{grid-column:1 / -1;aspect-ratio:1.8}.two{gap:12px}form{padding:24px 18px}.email{font-size:20px}#large-photo{height:65vh}.lightbox-controls button{font-size:11px;padding:8px}.eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}

.rates{border-top:1px solid #ffffff50;border-bottom:1px solid #ffffff50;margin:28px 0;padding:8px 0 15px}.rates .nightly{font-size:16px}.nightly strong{font:48px Georgia,serif}.rates p{margin:18px 0;font-size:14px;line-height:1.6}.rates .house-rule{font-size:13px;letter-spacing:.5px}

.calendar-section{padding-top:65px;padding-bottom:70px}.calendar-card{max-width:650px;margin-top:30px;border:1px solid #b7beb0;padding:25px;background:#fffaf2}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.calendar-heading h3{font-size:24px;margin:0;text-transform:capitalize}.calendar-heading button{border:1px solid #b7beb0;background:transparent;color:var(--ink);padding:10px 16px;cursor:pointer}.calendar-heading button:disabled{opacity:.3;cursor:default}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.weekdays{font-size:11px;margin:22px 0 10px}.calendar-day{padding:10px 2px;font-size:14px;border:1px solid transparent}.calendar-day.busy{background:#e9d4c7;color:#713f2e;text-decoration:line-through}.calendar-day.open{border-color:#b7beb0;background:#edf0e7}.calendar-day.unknown{background:#e8e7e1;color:#697067}.calendar-day.past{opacity:.35}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:11px}.calendar-legend span:first-child{color:#713f2e}#calendar-status{font-size:12px;line-height:1.6}@media(max-width:480px){.calendar-card{padding:15px}.calendar-heading h3{font-size:21px}}

.stay-details{padding-bottom:70px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.detail-grid h3{font-size:24px;margin-bottom:15px}.detail-grid p{font-size:14px}@media(max-width:800px){.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.detail-grid{grid-template-columns:1fr;gap:18px}}

.weekend-rate{background:var(--cream);color:var(--ink);padding:22px 24px;margin:24px 0;border-left:4px solid #c4a472}.weekend-rate .eyebrow{display:block;margin:0 0 8px}.rates .weekend-rate .nightly{font-size:16px;margin:0}.weekend-rate .nightly strong{font-size:56px}@media(max-width:480px){.weekend-rate{padding:20px 16px}.weekend-rate .nightly strong{font-size:48px}}

.stay-details{background:var(--sage);padding-top:48px;padding-bottom:48px;margin-bottom:65px}.stay-details .detail-grid{margin-top:30px}.stay-details h2{font-size:clamp(34px,3.5vw,48px)}@media(max-width:480px){.stay-details{padding-top:35px;padding-bottom:35px;margin-bottom:40px}}



.spa-image img{object-position:right center}

.stars{position:relative;isolation:isolate;min-height:420px;display:flex;align-items:center;color:#fff;padding:65px 8%;background:#101925}.stars>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}.stars::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,22,.83),rgba(5,12,22,.12));z-index:-1}.stars-copy{max-width:700px}.stars-copy h2{font-size:clamp(34px,4vw,56px)}.stars-copy>p:last-child{margin:25px 0 0}@media(max-width:480px){.stars{min-height:360px;padding:50px 6%}.stars>img{object-position:65% center}}

.rates .service-title{font-size:20px;line-height:1.4;display:inline-block;margin-bottom:5px}
