
:root{--paper:#ede9df;--ink:#24291f;--olive:#414c33;--night:#121912;--line:#cfcfc0;--muted:#62675d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b67435;outline-offset:5px}img{display:block;width:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(36px,5.5vw,68px)}h3{font-size:28px}p+p{margin-top:18px}button{color:inherit}section[id]{scroll-margin-top:105px}.wrap{max-width:1280px;margin:auto;padding:0 64px}.eyebrow{font-size:12px;letter-spacing:.19em;text-transform:uppercase;line-height:1.5;margin-bottom:26px;display:flex;align-items:center;gap:16px}.eyebrow:before{content:'';height:1px;width:32px;background:currentColor;opacity:.5}.pill,.btn{border:1px solid var(--line);border-radius:99px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:transparent}.pill{padding:7px 14px;font-size:14px}.btn{padding:15px 25px;font-size:14px;font-weight:600;min-height:50px}.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.dark{background:var(--olive);color:white;border-color:var(--olive)}.chips{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.trial{background:#deded0;padding:7px 18px;text-align:center;font-size:12px;letter-spacing:.06em;color:#343b2a}header{position:sticky;top:0;z-index:10;background:#ede9dff5;border-bottom:1px solid #24291f20;backdrop-filter:blur(15px)}.head{height:77px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;letter-spacing:-.04em;white-space:nowrap}.brand svg{height:30px;width:24px}.desktop-nav{display:flex;gap:28px;align-items:center}.desktop-nav a{font-size:14px;text-decoration:none}.menu-btn{height:43px;width:43px;border-radius:50%;border:1px solid #7b8070;background:transparent;display:grid;place-content:center;gap:5px}.menu-btn span{display:block;width:18px;height:1px;background:currentColor}.nav-drawer{padding:16px 0 30px;border-top:1px solid var(--line)}.nav-drawer a{display:block;padding:10px 0;font-size:22px;text-decoration:none}.nav-drawer[hidden]{display:none}.hero{min-height:680px;height:calc(100svh - 108px);max-height:980px;position:relative;color:white;display:flex;align-items:flex-end}.hero>img{position:absolute;inset:0;height:100%;object-position:50% 49%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10191005 25%,#10191085 65%,#101910cc)}.hero-content{position:relative;z-index:1;width:100%;padding-top:70px;padding-bottom:60px}.hero .eyebrow{margin-bottom:17px}.hero h1{font-size:clamp(64px,8.3vw,116px);max-width:800px;line-height:.94;letter-spacing:-.06em}.hero h1 span{display:block}.hero p{max-width:510px;margin-top:25px;color:#f3f4eb;font-size:18px}.hero .chips{margin:24px 0}.hero .pill{border-color:#ffffff50;background:#ffffff12;backdrop-filter:blur(6px)}.ribbon{display:flex;justify-content:center;gap:44px;flex-wrap:wrap;padding:19px 24px;background:#283323;color:#f4f1e7;font-size:14px}.intro{padding-top:115px;padding-bottom:105px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.intro h2{font-size:clamp(29px,3.7vw,48px);line-height:1.24}.intro h2 span{color:#737967}.spaces{padding-bottom:105px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-head p{max-width:350px;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.photo-button{display:block;border:0;padding:0;width:100%;background:transparent;text-align:left}.photo-button img{border-radius:13px;aspect-ratio:4/4.6;transition:filter .2s}.photo-button:hover img{filter:brightness(1.07)}.space-meta{font-size:12px;letter-spacing:.14em;margin:24px 0 14px;color:var(--muted)}.space h3{margin-bottom:16px}.space p{color:var(--muted)}.space .pill{margin-top:20px}.day{border-top:1px solid var(--line);padding-top:85px;padding-bottom:95px;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.day p{margin-top:25px;max-width:380px}.day img{aspect-ratio:4/3;max-height:550px;border-radius:14px}.night{background:var(--night);color:var(--paper);padding:95px 0}.night-grid{display:grid;grid-template-columns:1fr .95fr;gap:90px;align-items:center}.night h2{max-width:600px}.night p{color:#b5bbac;max-width:450px;margin-top:28px}.night img{aspect-ratio:4/4.5;border-radius:12px;max-height:590px}.night figcaption{font-size:12px;letter-spacing:.16em;margin-top:16px;color:#b5bbac}.rooms{padding-top:110px;padding-bottom:105px}.rooms-head{max-width:700px}.rooms-head p{margin-top:25px;color:var(--muted)}.rooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px}.room-images{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.room-images img{height:300px;border-radius:12px}.room-text{border-top:1px solid var(--line);padding:23px 0}.room-text h3{font-size:27px;margin-bottom:14px}.room-text .capacity{float:right;font-size:14px;letter-spacing:0;font-weight:400}.room-text p{color:var(--muted)}.services{border-top:1px solid var(--line);padding-top:80px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1.4fr;gap:65px}.services-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.service{padding:22px 0;border-bottom:1px solid var(--line)}.service strong{font-weight:500;font-size:18px;display:block}.service small{font-size:14px;color:var(--muted)}.nearby{background:#e1dfd2;padding:95px 0}.nearby-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.nearby p{max-width:380px;margin-top:25px;color:var(--muted)}details{border-bottom:1px solid #bfc2b4}summary{cursor:pointer;list-style:none;padding:23px 0;font-size:22px;letter-spacing:-.025em;display:flex;gap:20px;align-items:center}summary::-webkit-details-marker{display:none}summary:after{content:'+';margin-left:auto;font-size:25px;font-weight:300}details[open] summary:after{content:'−'}summary span{color:var(--muted);font-size:12px;letter-spacing:.07em}details p{padding:0 0 24px;margin:0!important;font-size:16px}.reviews{padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.reviews h2{font-size:42px}.score{font-size:110px;line-height:1;letter-spacing:-.08em;margin-top:30px}.stars{color:#9b4f2e;letter-spacing:9px;font-size:25px}.reviews p{margin:20px 0;color:var(--muted);max-width:410px}.reviews small{display:block;color:var(--muted);font-size:12px;margin:17px 0}.reviews img{aspect-ratio:4/4.5;border-radius:14px}.booking{padding:90px 0;background:#d8dccb}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.booking h2{font-size:52px}.booking p{margin-top:25px;max-width:410px}.booking form{background:var(--paper);padding:30px;border-radius:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:14px;margin-bottom:17px}input,select{width:100%;min-width:0;display:block;padding:12px 9px;border:1px solid #bfc3b3;border-radius:6px;background:#f8f7f1;color:var(--ink);margin-top:7px;min-height:47px}form .btn{width:100%}.demo-note{font-size:13px;color:var(--muted);margin-top:16px!important}.result{background:#dce1d3;border-radius:8px;padding:15px;margin-top:18px;font-size:15px}.faq{padding-top:80px;padding-bottom:90px}.faq h2{margin-bottom:35px}.faq p{max-width:900px}.footer{background:#182117;color:#e8ecdf;padding:75px 0 35px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.footer .eyebrow{color:#a4ac9b}.footer a{display:block;width:fit-content;text-underline-offset:4px;overflow-wrap:anywhere}.footer address{font-style:normal}.footer .wordmark{font-size:clamp(45px,9.9vw,132px);letter-spacing:-.065em;line-height:1;margin:85px 0 35px}.footer-bottom{border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#a4ac9b}.footer-bottom a{display:inline}.mobile-cta{display:none}dialog{border:0;border-radius:15px;padding:20px;max-width:min(950px,94vw);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#101810d9}dialog .dialogbar{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:18px}dialog button{background:transparent;border:1px solid #bfc3b3;border-radius:50px;padding:8px 16px}dialog img{max-height:75svh;object-fit:contain}dialog p{font-size:14px;max-width:600px}.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:16px;z-index:100;background:white;padding:15px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1000px){.menu-btn{display:none}}@media(max-width:999px){.wrap{padding-left:30px;padding-right:30px}.desktop-nav{display:none}.intro{grid-template-columns:1fr;gap:20px}.grid3{gap:20px}.night-grid,.nearby-grid{gap:45px}.services{gap:35px}.booking-grid{gap:30px}.rooms-grid{gap:30px}.room-images img{height:240px}.footer-top{gap:25px}.reviews{gap:40px}}
@media(max-width:650px){html{scroll-padding-top:90px}.wrap{padding-left:24px;padding-right:24px}.head{height:68px}.brand{font-size:18px}.trial{font-size:11px;padding:7px 12px}.hero{min-height:670px;height:calc(100svh - 99px);max-height:880px}.hero-content{padding-bottom:40px}.hero h1{font-size:66px}.hero p{font-size:16px;line-height:1.65;margin-top:24px}.hero .eyebrow{font-size:10px;letter-spacing:.16em}.hero .pill{font-size:12px;padding:6px 11px}.hero>img{object-position:55% 50%}.ribbon{gap:8px 22px;justify-content:flex-start;font-size:12px;padding:17px 24px}.intro{padding-top:70px;padding-bottom:65px}.intro h2{font-size:32px}.eyebrow{font-size:11px;margin-bottom:20px}.spaces{padding-bottom:70px}.section-head{display:block;margin-bottom:35px}.section-head p{margin-top:24px}.grid3{grid-template-columns:1fr;gap:45px}.photo-button img{aspect-ratio:4/3}.space-meta{margin-top:20px}.space h3{font-size:32px}.day{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:70px}.day h2{font-size:44px}.night{padding:70px 0}.night-grid{grid-template-columns:1fr;gap:40px}.night h2{font-size:43px}.night img{max-height:none;aspect-ratio:4/4.8}.rooms{padding-top:70px;padding-bottom:50px}.rooms h2{font-size:40px}.rooms-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}.room-images img{height:235px}.room-text h3{font-size:26px}.capacity{max-width:120px;line-height:1.4}.services{grid-template-columns:1fr;padding-top:60px;padding-bottom:65px;gap:25px}.services-list{grid-template-columns:1fr}.nearby{padding:65px 0}.nearby-grid{grid-template-columns:1fr;gap:25px}summary{font-size:20px}.reviews{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:70px}.reviews h2{font-size:37px}.reviews img{aspect-ratio:4/3}.score{font-size:96px}.booking{padding:65px 0}.booking-grid{grid-template-columns:1fr;gap:28px}.booking h2{font-size:43px}.booking form{padding:22px}.faq{padding-top:65px;padding-bottom:65px}.faq h2{font-size:38px}.footer{padding-top:60px;padding-bottom:100px}.footer-top{grid-template-columns:1fr;gap:35px}.footer .wordmark{font-size:47px;margin-top:60px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#ede9dff5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-cta span{font-size:12px;color:var(--muted);display:block}.mobile-cta strong{font-size:15px;font-weight:500}.mobile-cta .btn{padding:10px 19px;min-height:43px}.pill{font-size:12px}.chips{gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header,.trial,.mobile-cta,dialog,.booking{display:none}.hero{height:650px}.wrap{padding:30px}.night,.footer{-webkit-print-color-adjust:exact;print-color-adjust:exact}section{break-inside:avoid}}

.numbers{padding-bottom:95px}.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;gap:25px}.number-card{padding-left:25px;border-left:1px solid var(--line)}.number-card:first-child{border-left:0;padding-left:0}.counter-value{display:block;font-size:clamp(62px,7vw,92px);line-height:1.1;letter-spacing:-.07em;font-variant-numeric:tabular-nums;color:var(--olive)}.number-label{display:block;font-size:15px;margin-top:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.numbers{padding-bottom:65px}.numbers-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding:28px 0}.number-card{padding-left:20px}.number-card:nth-child(odd){padding-left:0;border-left:0}.counter-value{font-size:64px}.number-label{font-size:14px}}@media print{.counter-value{display:none}.number-card .sr-only{position:static;clip:auto;overflow:visible;width:auto;height:auto;white-space:normal;font-size:24px}.number-label{display:none}}

.counter-value{line-height:1}.counter-static{display:none}.counter-window{display:block;height:1em;overflow:hidden}.counter-reel{display:block;transform:translateY(var(--end));animation:count-roll 3.2s steps(var(--steps),end) 1 both paused}.counter-reel>span{display:block;height:1em;line-height:1}.counter-reel.count-started,.animated-star.count-started{animation-play-state:running}.counter-stop{display:inline-block;width:18px;height:18px;min-height:0;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--olive)}.counter-control{display:inline-block;font-size:14px;vertical-align:middle;margin-bottom:20px;cursor:pointer}.counter-stop:checked~.numbers-grid .counter-reel{animation:none;transform:translateY(var(--end))}
@keyframes count-roll{0%,3%{transform:translateY(0)}38%,100%{transform:translateY(var(--end))}}
@keyframes count-roll-restart{0%,3%{transform:translateY(0)}38%,100%{transform:translateY(var(--end))}}
@media(prefers-reduced-motion:reduce){.counter-reel{animation:none!important;transform:translateY(var(--end))}}
@media print{.counter-stop,.counter-control{display:none}}

.inline-counter{display:inline-block;vertical-align:-.08em;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:inherit}.inline-counter .counter-window{display:inline-block;vertical-align:top}.pill .inline-counter{margin:0 .15em}.score .inline-counter{min-width:1.45em}.stars{display:flex;gap:8px;letter-spacing:0}.animated-star{display:inline-block;color:#9b4f2e;animation-duration:3.2s;animation-iteration-count:1;animation-fill-mode:both;animation-play-state:paused;animation-timing-function:linear}
body:has(#stop-counters:checked) .counter-reel{animation:none!important;transform:translateY(var(--end))}body:has(#stop-counters:checked) .animated-star{animation:none!important;opacity:1}
@media(prefers-reduced-motion:reduce){.animated-star{animation:none!important;opacity:1}}
@media print{.counter-reel{animation:none!important;transform:translateY(var(--end))}.animated-star{animation:none!important;opacity:1}}
.animated-star:nth-child(1){animation-name:star-1}@keyframes star-1{0%,10%{opacity:.18}11%,100%{opacity:1}}
.animated-star:nth-child(2){animation-name:star-2}@keyframes star-2{0%,16%{opacity:.18}17%,100%{opacity:1}}
.animated-star:nth-child(3){animation-name:star-3}@keyframes star-3{0%,22%{opacity:.18}23%,100%{opacity:1}}
.animated-star:nth-child(4){animation-name:star-4}@keyframes star-4{0%,28%{opacity:.18}29%,100%{opacity:1}}
.animated-star:nth-child(5){animation-name:star-5}@keyframes star-5{0%,34%{opacity:.18}35%,100%{opacity:1}}

.booking-heading{grid-column:1/-1}.booking-heading p{max-width:700px}.booking-grid{gap:35px 45px}.calendar-panel{padding:26px;background:var(--paper);border-radius:15px;min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.calendar-toolbar strong{font-size:20px;font-weight:500;text-transform:capitalize}.month-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:22px}.month-button:disabled{opacity:.3;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.weekday{font-size:12px;color:var(--muted);padding-bottom:8px}.calendar-day{width:100%;aspect-ratio:1;border:0;border-radius:50%;background:transparent;font-size:14px;padding:0;min-height:36px}.calendar-day:hover:not(:disabled){background:#d8dccb}.calendar-day:disabled{color:#b4b7ab;cursor:default}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--olive)}.calendar-day.selected{background:var(--olive);color:white}.calendar-day.in-range{background:#d8dccb;border-radius:5px}.calendar-panel .calendar-instruction{font-size:14px;margin-top:20px;min-height:46px}.calendar-panel .calendar-disclaimer{font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px}.booking form{align-self:start}.clear-dates{margin-top:12px;font-size:13px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:0;color:var(--muted)}@media(max-width:650px){.calendar-panel{padding:21px}.booking-grid{gap:25px}.calendar-day{min-height:35px}.hero>img{object-position:50% 50%}}

.hero>img{object-position:50% 78%}.hero:after{background:linear-gradient(180deg,rgba(10,30,22,.02) 10%,rgba(10,30,22,.05) 46%,rgba(10,30,22,.52) 100%)}.hero h1,.hero p,.hero .eyebrow{text-shadow:0 2px 14px rgba(0,25,20,.55)}@media(max-width:650px){.hero>img{object-position:50% 72%}}

.counter-window{height:1.25em;padding-inline:.09em}.counter-reel>span{height:1.25em;line-height:1.25;white-space:nowrap}.counter-reel{letter-spacing:0}.score{letter-spacing:0;overflow:visible}.score .inline-counter{min-width:0;width:2em}.score .counter-window{width:2em;height:1.25em;box-sizing:border-box;text-align:left}.score .counter-reel>span{padding-left:.025em}.pill .inline-counter{flex-shrink:0}
.day-night{padding:80px 0 90px;border-top:1px solid var(--line);background:var(--paper);color:var(--ink);transition:background .25s,color .25s}.day-night:has(#time-night:checked){background:var(--night);color:var(--paper)}.time-switch{margin:0;padding:0;border:0;min-width:0}.time-switch legend{font-size:14px;margin-bottom:15px}.time-switch>input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}.time-switch>label{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #949b88;border-radius:50px;padding:10px 23px;min-height:46px;margin:0 8px 34px 0;font-size:15px;cursor:pointer}.time-switch>input:checked+label{background:var(--olive);color:white;border-color:var(--olive)}#time-night:checked+label{background:var(--paper);color:var(--ink);border-color:var(--paper)}.time-switch>input:focus-visible+label{outline:3px solid #b67435;outline-offset:4px}.time-panel{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:65px}.time-panel h2{font-size:clamp(36px,5vw,62px)}.time-panel p{margin-top:25px;max-width:440px}.time-panel img{height:480px;aspect-ratio:auto;object-fit:cover;border-radius:14px}.night-panel{display:none}.night-panel p{color:#c7cebe}#time-night:checked~.time-panels .day-panel{display:none}#time-night:checked~.time-panels .night-panel{display:grid}@media(max-width:650px){.day-night{padding:65px 0}.time-panel{grid-template-columns:1fr;gap:30px}.time-panel img{height:350px}.time-panel h2{font-size:40px}.time-switch>label{padding:10px 22px}}@media(prefers-reduced-motion:reduce){.day-night{transition:none}}

.spaces .grid3{row-gap:55px}.photo-button{overflow:hidden;border-radius:13px}.photo-button img{transition:transform .8s cubic-bezier(.2,.65,.2,1);will-change:auto}.photo-button:hover img{transform:scale(1.035)}.scroll-story{background:var(--paper);color:var(--ink);padding:65px 0}.story-sticky{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.story-copy p{max-width:380px;margin-top:22px}.story-copy h2{font-size:clamp(40px,5vw,68px)}.story-night-copy{margin-top:35px}.story-pictures img{height:430px;border-radius:14px;object-fit:cover;object-position:center 75%}.story-pictures figure+figure{margin-top:25px}.story-pictures figcaption{font-size:12px;letter-spacing:.16em;margin-top:13px}.scroll-cue{font-size:13px;letter-spacing:.05em;opacity:.7}.evening-gallery{background:var(--night);color:var(--paper);padding:80px 0 100px}.evening-intro{max-width:550px;color:#c0c8b8;margin:28px 0 45px}.evening-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;align-items:start}.evening-grid figure:nth-child(even){margin-top:80px}.evening-grid img{height:450px;border-radius:14px}.evening-grid figcaption{text-transform:uppercase;font-size:12px;letter-spacing:.16em;color:#bac4b0;margin-top:16px}.upper-photos{margin:18px 0 28px}.upper-photos img{height:210px}header.night-header{background:#121912f5;color:var(--paper);border-color:#ffffff24}header.night-header .menu-btn{border-color:#c6ceba}header.night-header .nav-drawer{background:var(--night)}header{transition:background .25s,color .25s}
.scroll-enabled .scroll-story{height:185svh;padding:0}.scroll-enabled .story-sticky{position:sticky;top:78px;height:calc(100svh - 78px);min-height:560px;padding-top:35px;padding-bottom:35px}.scroll-enabled .story-titles{display:grid}.scroll-enabled .story-titles>div{grid-area:1/1;margin:0}.scroll-enabled .story-day-copy{opacity:calc(1 - var(--night-progress,0))}.scroll-enabled .story-night-copy{opacity:var(--night-progress,0)}.scroll-enabled .story-pictures{position:relative;height:460px}.scroll-enabled .story-pictures figure{position:absolute;inset:0;margin:0}.scroll-enabled .story-pictures img{height:calc(100% - 32px);width:100%}.scroll-enabled .story-night-photo{clip-path:inset(0 0 calc(100% * (1 - var(--night-progress,0))) 0)}.scroll-enabled .scroll-story{background:rgb(calc(237 - 219 * var(--night-progress,0)),calc(233 - 208 * var(--night-progress,0)),calc(223 - 205 * var(--night-progress,0)));color:rgb(calc(36 + 201 * var(--night-progress,0)),calc(41 + 192 * var(--night-progress,0)),calc(31 + 192 * var(--night-progress,0)))}
.reveal-wait{opacity:0;transform:translateY(38px) scale(.985);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal-wait.reveal-visible{opacity:1;transform:none}
@media(max-width:650px){.story-sticky{grid-template-columns:1fr;gap:25px}.story-pictures img{height:320px}.scroll-enabled .story-sticky{top:68px;height:calc(100svh - 68px);min-height:570px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:25px;padding-top:26px;padding-bottom:26px}.story-copy h2{font-size:42px}.story-copy .eyebrow{margin-bottom:17px}.story-copy p{margin-top:15px;font-size:15px}.story-copy .scroll-cue{font-size:12px;margin-top:14px}.scroll-enabled .story-pictures{height:40svh;min-height:250px;max-height:400px;flex-shrink:0}.evening-gallery{padding:65px 0}.evening-grid{grid-template-columns:1fr;gap:36px}.evening-grid figure:nth-child(even){margin-top:0}.evening-grid img{height:auto;max-height:550px;aspect-ratio:4/4.3}.evening-gallery h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.reveal-wait{opacity:1;transform:none;transition:none}.photo-button img,header{transition:none}.photo-button:hover img{transform:none}.scroll-enabled .scroll-story{height:auto}.scroll-enabled .story-sticky{position:static;height:auto;min-height:0}.scroll-enabled .story-titles{display:block}.scroll-enabled .story-titles>div{opacity:1;margin-bottom:20px}.scroll-enabled .story-pictures{height:auto}.scroll-enabled .story-pictures figure{position:static;clip-path:none;margin:20px 0}.scroll-enabled .story-pictures img{height:320px}}
@media print{.reveal-wait{opacity:1;transform:none}.scroll-enabled .scroll-story{height:auto}.scroll-enabled .story-sticky{position:static;height:auto}.scroll-enabled .story-pictures{height:450px}}

@property --night-progress{syntax:"<number>";inherits:true;initial-value:0}
@keyframes scroll-night{0%,12%{--night-progress:0}82%,100%{--night-progress:1}}
@keyframes photo-arrives{from{opacity:.12;transform:translateY(35px) scale(.985)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  html:not(.scroll-enabled) .scroll-story{height:185svh;padding:0;view-timeline-name:--villa-night;view-timeline-axis:block}
  html:not(.scroll-enabled) .story-sticky{position:sticky;top:78px;height:calc(100svh - 78px);min-height:560px;padding-top:35px;padding-bottom:35px;animation:scroll-night linear both;animation-timeline:--villa-night;animation-range:contain 0% contain 100%;background:rgb(calc(237 - 219 * var(--night-progress)),calc(233 - 208 * var(--night-progress)),calc(223 - 205 * var(--night-progress)));color:rgb(calc(36 + 201 * var(--night-progress)),calc(41 + 192 * var(--night-progress)),calc(31 + 192 * var(--night-progress)))}
  html:not(.scroll-enabled) .story-titles{display:grid}html:not(.scroll-enabled) .story-titles>div{grid-area:1/1;margin:0}html:not(.scroll-enabled) .story-day-copy{opacity:calc(1 - var(--night-progress))}html:not(.scroll-enabled) .story-night-copy{opacity:var(--night-progress)}
  html:not(.scroll-enabled) .story-pictures{position:relative;height:460px}html:not(.scroll-enabled) .story-pictures figure{position:absolute;inset:0;margin:0}html:not(.scroll-enabled) .story-pictures img{height:calc(100% - 32px);width:100%}html:not(.scroll-enabled) .story-night-photo{clip-path:inset(0 0 calc(100% * (1 - var(--night-progress))) 0)}
  html:not(.scroll-enabled) :is(.spaces .space,.evening-grid figure,.rooms .photo-button,.reviews .photo-button){animation:photo-arrives linear both;animation-timeline:view();animation-range:entry 0% entry 85%}
 }
 @media(max-width:650px) and (prefers-reduced-motion:no-preference){html:not(.scroll-enabled) .story-sticky{top:68px;height:calc(100svh - 68px);min-height:570px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:25px;padding-top:26px;padding-bottom:26px}html:not(.scroll-enabled) .story-pictures{height:40svh;min-height:250px;max-height:400px;flex-shrink:0}}
}

.numbers-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.numbers-grid .counter-value{font-size:clamp(42px,5.3vw,76px)}.garden-card .counter-window{padding-inline:.025em}.number-card{padding-left:18px}.reveal-wait{opacity:0;transform:translateY(52px) scale(.96);transition:opacity 1s ease,transform 1.15s cubic-bezier(.18,.65,.2,1)}.reveal-wait.reveal-visible{opacity:1;transform:none}.reveal-wait img{transform:scale(1.10);transition:transform 1.4s cubic-bezier(.18,.65,.2,1)}.reveal-wait.reveal-visible img{transform:scale(1)}.reveal-visible .photo-button:hover img,.photo-button.reveal-visible:hover img{transform:scale(1.035)}
@keyframes hero-arrives{from{transform:scale(1.06);opacity:.75}to{transform:scale(1);opacity:1}}.hero{overflow:hidden}.hero>img{animation:hero-arrives 1.4s ease-out both}
@keyframes photo-arrives{from{opacity:.1;transform:translateY(52px) scale(.94)}to{opacity:1;transform:none}}
@media(max-width:650px){.numbers-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.garden-card{grid-column:1/-1;text-align:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.numbers-grid .counter-value{font-size:64px}.garden-card .counter-value{font-size:84px}.number-card:nth-child(odd){padding-left:20px;border-left:1px solid var(--line)}.number-card:nth-child(even),.number-card.garden-card{padding-left:0;border-left:0}}
@media(prefers-reduced-motion:reduce){.hero>img{animation:none}.reveal-wait,.reveal-wait img,.reveal-wait.reveal-visible img{opacity:1;transform:none;transition:none}.reveal-visible .photo-button:hover img,.photo-button.reveal-visible:hover img{transform:none}}
@media print{.hero>img{animation:none}.reveal-wait,.reveal-wait img{opacity:1;transform:none}}

.all-photos{padding-top:10px;padding-bottom:100px}.photo-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.photo-filters[hidden]{display:none}.photo-filters .pill{background:transparent;min-height:44px}.photo-filters [aria-pressed="true"]{background:var(--olive);border-color:var(--olive);color:white}.all-photo-count{color:var(--muted);font-size:14px;margin-bottom:24px}.complete-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.photo-group-heading{grid-column:1/-1;font-size:29px;border-top:1px solid var(--line);padding-top:27px;margin-top:18px}.complete-card .photo-button{overflow:hidden;border-radius:13px}.complete-card .photo-button img{aspect-ratio:4/3;width:100%;height:auto;transition:transform .4s}.complete-card .photo-button:hover img{transform:scale(1.03)}.complete-card figcaption{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.5;padding-top:12px;color:var(--muted)}.complete-card[hidden],.photo-group-heading[hidden]{display:none}.viewer-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 0}.viewer-nav button{border:1px solid #aab09d;border-radius:99px;background:transparent;color:inherit;min-height:44px;padding:8px 17px}.viewer-nav span{font-size:14px}#photo-dialog #large-photo{object-fit:contain;max-height:72svh;width:100%}#photo-dialog{max-height:95svh;overflow:auto}.dialogbar{gap:15px}.dialogbar p{min-width:0}
@media(max-width:1000px){.desktop-nav{gap:15px}.desktop-nav a{font-size:13px}.complete-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.all-photos{padding-bottom:65px}.complete-gallery{gap:22px 13px}.complete-card figcaption{font-size:12px}.photo-group-heading{font-size:25px}.photo-filters .pill{font-size:12px;padding:8px 12px}.viewer-nav button{padding:8px 12px;font-size:13px}.photo-group-heading{margin-top:6px}.all-photos .section-head{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.complete-card .photo-button img{transition:none}}

.spaces .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.spaces .grid3{grid-template-columns:1fr}}

.gallery-anchor{display:block;scroll-margin-top:112px}.all-photos{padding-top:25px}.complete-card figcaption{min-height:48px}

.exterior-photos{padding-top:75px;padding-bottom:65px}.exterior-photos .complete-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.exterior-photos .complete-card:first-child{grid-column:span 2;grid-row:span 2}.exterior-photos .complete-card:first-child img{aspect-ratio:auto;height:100%;min-height:450px}.exterior-photos .complete-card:first-child .photo-button{height:calc(100% - 48px)}.exterior-photos .complete-card:last-child{grid-column:span 2}.exterior-photos .complete-card:last-child img{aspect-ratio:2.7}.evening-gallery .complete-gallery{margin-top:38px;grid-template-columns:repeat(3,minmax(0,1fr))}.evening-gallery .complete-card figcaption{color:#c8cebd;letter-spacing:0;text-transform:none}.evening-gallery .complete-card .photo-button img{aspect-ratio:4/3;height:auto}.interior-albums{padding-top:20px;padding-bottom:80px}.album-folders{display:grid;gap:18px}.photo-folder{border:1px solid var(--line);border-radius:16px;background:#f5f2e9;overflow:hidden}.photo-folder>summary{padding:24px 28px;gap:20px;min-height:110px;letter-spacing:0}.photo-folder>summary>svg{width:40px;height:36px;flex:0 0 40px;color:var(--olive)}.photo-folder>summary .folder-name{display:flex;flex-direction:column;gap:7px;color:var(--ink);letter-spacing:0}.folder-name strong{font-size:26px;font-weight:400}.folder-name small{font-size:14px;line-height:1.4;color:var(--muted)}.photo-folder>summary .folder-count{font-size:14px;white-space:nowrap;letter-spacing:0;margin-left:auto}.photo-folder>summary:after{margin-left:8px}.photo-folder[open]>summary{border-bottom:1px solid var(--line)}.folder-content{padding:26px}.photo-folder .complete-card figcaption{font-size:13px}.rooms-information{gap:40px;margin-top:30px}.rooms{padding-top:30px}.photo-folder>summary:focus-visible{outline-offset:-5px}
@media(max-width:850px){.exterior-photos .complete-gallery,.evening-gallery .complete-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.exterior-photos .complete-card:first-child{grid-column:1/-1;grid-row:auto}.exterior-photos .complete-card:first-child img{aspect-ratio:16/10;min-height:0;height:auto}.exterior-photos .complete-card:first-child .photo-button{height:auto}.exterior-photos .complete-card:last-child{grid-column:auto}.exterior-photos .complete-card:last-child img{aspect-ratio:4/3}}
@media(max-width:650px){.exterior-photos{padding-top:45px;padding-bottom:40px}.interior-albums{padding-bottom:50px}.photo-folder>summary{padding:19px 16px;gap:12px}.photo-folder>summary>svg{width:30px;flex-basis:30px}.folder-name strong{font-size:23px}.folder-name small{font-size:12px}.photo-folder>summary .folder-count{font-size:12px}.photo-folder>summary:after{margin-left:0}.folder-content{padding:16px 12px}.folder-content .complete-gallery{gap:19px 12px}.photo-folder .complete-card figcaption{font-size:12px}.rooms-information{grid-template-columns:1fr;gap:8px}}

/* Keep the cover photo clear; apply contrast only to the lettering. */
.hero::after{display:none;background:none}
.hero>img{animation:none;transform:none;opacity:1;filter:none}
.hero h1,.hero p,.hero .eyebrow{text-shadow:0 1px 3px rgba(0,20,12,.8),0 3px 15px rgba(0,20,12,.45)}
.hero .pill{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(17,32,24,.48)}
