@font-face{font-family:Playfair;font-weight:300 500;font-display:swap;src:url(/fonts/Playfair-latin-var.woff2) format("woff2")}@font-face{font-family:Inter Tight;font-weight:400 600;font-display:swap;src:url(/fonts/InterTight-latin-var.woff2) format("woff2")}:root{--ground: #f8e8c6;--ink: #3b2f22;--ink-70: rgba(59, 47, 34, .74);--ink-50: rgba(59, 47, 34, .56);--line: rgba(59, 47, 34, .2);--green: #37482f;--gold: #d3a65a;--gold-ink: #b98a3e;--gold-deep: #8a6526;--cream-on-green: #f3e3bf;--sage: #dfe3cc;--display: "Playfair", "Times New Roman", serif;--text: "Inter Tight", "Helvetica Neue", Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--ground);color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased}body{overflow-x:clip}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.caps{font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}.btn-gold,.btn-line{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:99px;font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase;transition:background .3s,color .3s}.btn-gold{background:var(--gold-deep);color:#fffaf0}.btn-gold:hover{background:var(--ink)}.btn-line{border:1px solid currentColor}.btn-line:hover{background:var(--ink);color:var(--ground);border-color:var(--ink)}.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:64px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;text-shadow:0 1px 10px rgba(30,24,14,.35);transition:background .4s,color .4s,height .4s;pointer-events:none}.nav>*{pointer-events:auto}.nav.is-solid{background:var(--ground);color:var(--ink);text-shadow:none;height:56px;box-shadow:0 1px 0 var(--line)}.nav-links{display:flex;gap:22px;font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase}.nav-links a{opacity:.92}.nav-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}.nav-mono{position:relative;width:44px;height:38px;font:300 30px/1 var(--display);letter-spacing:-.04em}.nav-mono i{position:absolute;left:0;top:0;font-style:normal}.nav-mono i+i{left:19px;top:9px}.nav-book{justify-self:end;font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase;padding:11px 18px;border:1px solid currentColor;border-radius:99px;text-shadow:none;transition:background .3s,color .3s}.nav-book:hover{background:var(--ground);color:var(--ink);border-color:var(--ground)}.nav.is-solid .nav-book:hover{background:var(--ink);color:var(--ground);border-color:var(--ink)}body:has(.panel.is-on) .nav:not(.is-solid) .nav-book{opacity:0;pointer-events:none}.estate{position:relative;height:100vh;height:100svh;overflow:hidden;background:var(--ground);user-select:none;-webkit-user-select:none;touch-action:pan-y}.estate.is-explore{cursor:grab;touch-action:none}.estate.is-dragging{cursor:grabbing}.estate-layer{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.estate-img{width:3840px;height:2160px;max-width:none;pointer-events:none}.estate-dusk{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.6s ease}.estate.is-dusk .estate-dusk{opacity:1}.estate-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 40% 36% at 50% 52%,#f8e8c6f0,#f8e8c6b8 45%,#f8e8c600);transition:opacity 1s ease}.estate-intro{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:min(92vw,820px);text-align:center;transition:opacity .7s ease,transform 1s cubic-bezier(.6,0,.2,1)}.estate-intro small{display:block;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}.estate-intro h1{margin:18px 0;font:400 clamp(44px,5.4vw,80px)/.98 var(--display);letter-spacing:-.025em}.estate-intro h1 span{display:block}.estate-intro p{font:500 17px/1.4 var(--text)}.estate-go{margin-top:28px;padding:13px 22px;border:1px solid var(--ink);font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase;background:#f8e8c68c;transition:background .3s,color .3s}.estate-go:hover{background:var(--ink);color:var(--ground)}.estate.is-explore .estate-veil{opacity:0}.estate.is-explore .estate-intro{opacity:0;pointer-events:none;transform:translate(-50%,-64%)}.estate-pins{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pin{position:absolute;left:-15px;top:-15px;width:30px;height:30px;pointer-events:auto}.pin i{position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:#fffcf4e6;box-shadow:0 2px 12px #1410084d;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.5,.5,1),background .3s;transition-delay:var(--d, 0s)}.pin i:after{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border-radius:50%;background:var(--green);transition:inset .3s,background .3s}.pin.is-room i:after{background:var(--gold-ink)}.pin span{position:absolute;left:37px;top:8px;white-space:nowrap;font:600 12px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);opacity:0;transform:translate(-6px);transition:opacity .3s,transform .3s;pointer-events:none}.estate.is-explore .pin i{transform:scale(1)}.estate.is-intro .pin{pointer-events:none}.pin:hover i,.pin:focus-visible i{transform:scale(1.18);transition-delay:0s}.pin:hover span,.pin:focus-visible span,.pin.is-on span{opacity:1;transform:none}.pin.is-on i{background:var(--ground);transform:scale(1.35);transition-delay:0s}.pin.is-on i:after{top:10px;right:10px;bottom:10px;left:10px;background:var(--gold)}.pin.is-on i{animation:pulse 2.2s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #f8e8c6b3,0 2px 12px #1410084d}to{box-shadow:0 0 0 18px #f8e8c600,0 2px 12px #1410084d}}.estate-hint{position:absolute;left:50%;top:50%;width:520px;height:300px;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(closest-side,#1c180e6b,#1c180e00);opacity:0;transition:opacity .6s;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.5);text-align:center}.estate-hint:has(.is-on){opacity:1}.estate-hint div{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);opacity:0;transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1);white-space:nowrap}.estate-hint div.is-on{opacity:1;transform:translate(-50%,-50%)}.estate-hint b{display:block;font:400 44px/1 var(--display);letter-spacing:-.02em}.estate-hint i{display:block;margin-top:12px;font:600 12px/1 var(--text);font-style:normal;letter-spacing:.12em;text-transform:uppercase}.estate-bar{position:absolute;z-index:3;left:50%;bottom:22px;transform:translate(-50%);display:flex;background:var(--ground);box-shadow:0 6px 24px #1e180e2e;transition:left .7s cubic-bezier(.6,0,.2,1)}.estate.has-panel .estate-bar{left:calc((100% - clamp(460px,44vw,640px))/2)}.estate-home{width:44px;display:grid;place-items:center;border-right:1px solid var(--line)}.estate-home:hover{background:#3b2f220f}.estate-menu{position:relative}.estate-menu-btn{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:236px;height:44px;padding:0 18px;font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase}.estate-list{position:absolute;left:0;right:0;bottom:calc(100% + 8px);background:var(--ground);padding:8px 0 10px;box-shadow:0 10px 30px #1e180e33;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s,transform .3s}.estate-list.is-on{opacity:1;transform:none;pointer-events:auto}.estate-list small{display:block;padding:10px 18px 6px;font:600 12px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50)}.estate-list button{display:block;width:100%;text-align:left;padding:8px 18px;font:400 17px/1.1 var(--display)}.estate-list button:hover,.estate-list button.is-on{background:#3b2f2212}.estate-sun{position:absolute;z-index:3;right:22px;bottom:22px;height:44px;display:flex;align-items:center;background:var(--ground);box-shadow:0 6px 24px #1e180e2e;transition:opacity .4s}.estate-sun-i{width:44px;height:44px;display:grid;place-items:center}.estate-sun-t{padding-right:16px;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}.estate.has-panel .estate-sun{opacity:0;pointer-events:none}.estate-down{position:absolute;z-index:3;left:24px;bottom:34px;display:flex;align-items:center;gap:10px;color:#fff;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .5s .8s}.estate-down svg{transform:rotate(90deg)}.estate.is-explore .estate-down{opacity:1;pointer-events:auto}.panel{position:absolute;z-index:4;top:0;right:0;bottom:0;width:clamp(460px,44vw,640px);background:var(--ground);transform:translate(102%);transition:transform .8s cubic-bezier(.6,0,.2,1);display:flex;flex-direction:column;cursor:auto}.panel.is-on{transform:none}.panel-bar{flex:none;height:64px;padding:0 22px 0 30px;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:var(--cream-on-green);font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase}.panel-nav{display:flex;gap:4px}.panel-nav button{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:13px}.panel-nav button:hover{background:#f3e3bf24}.panel-in{flex:1;overflow-y:auto;padding:36px 48px 40px;animation:panel-in .7s cubic-bezier(.2,.7,.2,1) both}@keyframes panel-in{0%{opacity:0;transform:translateY(18px)}}.panel-ph{width:100%;aspect-ratio:3 / 2;object-fit:cover}.panel h2{margin:28px 0 14px;font:400 42px/1 var(--display);letter-spacing:-.02em}.panel p{font:400 17px/1.55 var(--display);max-width:34em}.panel ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.panel li{padding:7px 12px;border:1px solid var(--line);border-radius:99px;font:500 12px/1 var(--text)}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.panel-row b{font:600 12px/1.3 var(--text);letter-spacing:.06em;text-transform:uppercase}.panel-next{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase;padding:12px 0}.day{position:relative}.day-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#f3dccb}.day-label{position:absolute;z-index:4;left:24px;top:82px;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}.day-photos{position:absolute;top:0;right:0;bottom:0;left:0}.day-photos figure{position:absolute;top:0;z-index:1;will-change:transform}.day-photos figure.is-front{z-index:3}.day-photos img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.day-photos figure:nth-child(2) img{aspect-ratio:4 / 5}.day-photos figure:nth-child(3) img{aspect-ratio:1}.day-photos figcaption{margin-top:8px;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}.day-word{position:absolute;z-index:2;left:0;right:60px;top:50%;transform:translateY(-50%);text-align:center;font:400 clamp(64px,10.6vw,184px)/.9 var(--display);letter-spacing:-.035em;text-transform:uppercase;pointer-events:none;--in: 0;--out: 0}.day-word span{display:inline-block;overflow:hidden;padding:.04em 0 .06em;vertical-align:top}.day-word b{display:inline-block;font-weight:400;transform:translateY(calc((1 - var(--in)) * 105% - var(--out) * 105%));transition:transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 28ms)}.day-ruler{position:absolute;z-index:4;right:30px;top:110px;bottom:120px;width:1px;background:var(--ink-50)}.day-ruler span{position:absolute;right:10px;transform:translateY(-50%);font:500 12px/1 var(--text);color:var(--ink-70);white-space:nowrap}.day-ruler span:after{content:"";position:absolute;right:-14px;top:50%;width:7px;height:1px;background:var(--ink-50)}.day-dot{position:absolute;left:-5px;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;background:var(--ink)}.day-foot{position:absolute;z-index:4;left:24px;bottom:30px;max-width:340px;animation:panel-in .7s cubic-bezier(.2,.7,.2,1) both}.day-foot b{font:400 34px/1 var(--display);letter-spacing:-.02em}.day-foot span{margin-left:12px;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}.day-foot p{margin-top:10px;font:400 17px/1.5 var(--display)}.rooms{padding:150px 24px 140px}.rooms-head{display:grid;grid-template-columns:1fr minmax(0,380px);gap:40px;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--line)}.rooms-head h2{font:400 clamp(42px,5vw,74px)/.98 var(--display);letter-spacing:-.025em}.rooms-head h2 span{display:block}.rooms-head p{font:400 17px/1.55 var(--display)}.rooms-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:90px;margin-top:80px}.room{--show: 0;--drift: 0}.room-1{grid-column:1 / 7}.room-2{grid-column:9 / 12;margin-top:30vh}.room-3{grid-column:2 / 5;margin-top:-6vh}.room-4{grid-column:6 / 12;margin-top:14vh}.room-ph{position:relative;display:block;width:100%;overflow:hidden;clip-path:inset(calc((1 - var(--show)) * 100%) 0 0 0)}.room-ph img{width:100%;aspect-ratio:4 / 3;object-fit:cover;transform:translateY(calc(var(--drift) * -4%)) scale(1.1);transition:scale .8s cubic-bezier(.2,.7,.2,1)}.room-2 .room-ph img,.room-3 .room-ph img{aspect-ratio:3 / 4}.room-go{position:absolute;right:16px;bottom:16px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--gold-deep);color:#fff;transform:scale(.6);opacity:0;transition:transform .25s cubic-bezier(.3,1.5,.5,1),opacity .25s}.room-ph:focus-visible .room-go{transform:none;opacity:1}.room-ph:active .room-go{transform:scale(.92);opacity:1}@media (hover: hover) and (pointer: fine){.room-ph:hover img{scale:1.05}.room-ph:hover .room-go{transform:none;opacity:1}}.room-meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:14px}.room-meta b{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase}.room-meta span{font:400 14px/1 var(--display);color:var(--ink-70)}.room>p{margin-top:8px;font:500 12px/1.3 var(--text);color:var(--ink-50)}.gb{height:330vh;background:var(--sage);color:var(--green);--open: 0}.gb-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.gb-top,.gb-bottom{position:absolute;left:0;right:0;text-align:center;font:400 clamp(46px,7.6vw,128px)/1 var(--display);letter-spacing:-.03em}.gb-top{top:50%;transform:translateY(calc(-50% - (.55 + var(--open) * .45) * 30vh))}.gb-bottom{top:50%;transform:translateY(calc(-50% + (.55 + var(--open) * .45) * 30vh))}.gb-bottom i{font-style:normal;color:#94702e}.gb-card{position:absolute;z-index:2;left:50%;top:50%;width:min(36vw,480px);transform:translate3d(-50%,100vh,0);filter:drop-shadow(0 18px 30px rgba(40,52,30,.22));will-change:transform}.close{height:300vh;--grow: 0;--end: 0}.close-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ground)}.close-title{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font:400 clamp(44px,7vw,120px)/1 var(--display);letter-spacing:-.03em;pointer-events:none}.close-title span{transform:translate(calc(var(--grow) * -40vw))}.close-title span+span{transform:translate(calc(var(--grow) * 40vw))}.close-win{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inset(50%)}.close-win video{width:100%;height:100%;object-fit:cover}.close-card{position:absolute;z-index:2;left:50%;bottom:28px;width:min(640px,calc(100% - 32px));padding:30px 34px 22px;background:var(--ground);text-align:center;transform:translate(-50%,calc((1 - var(--end)) * 40px));opacity:var(--end);pointer-events:none;box-shadow:0 14px 40px #1e180e33}.close.is-end .close-card{pointer-events:auto}.close-card p{font:400 22px/1.3 var(--display);letter-spacing:-.01em}.close-btns{display:flex;justify-content:center;gap:12px;margin-top:20px}.close-base{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font:500 12px/1.3 var(--text);color:var(--ink-70)}@media (max-width: 760px){.nav{padding:0 16px;grid-template-columns:auto 1fr auto}.nav-links{display:none}.nav-mono{grid-column:1}.nav-book{grid-column:3;padding:10px 14px}.estate-intro{top:50%}.estate-intro h1{font-size:40px}.estate-intro p{font-size:16px;max-width:300px;margin:0 auto}.estate-veil{background:radial-gradient(ellipse 80% 40% at 50% 50%,#f8e8c6f0,#f8e8c6b3 50%,#f8e8c600)}.estate-bar{bottom:16px}.estate.has-panel .estate-bar{left:50%;opacity:0;pointer-events:none}.estate-menu-btn{min-width:0;gap:10px;padding:0 12px;white-space:nowrap;letter-spacing:.04em}.estate-sun{right:16px;bottom:16px}.estate-sun-t{display:none}.estate-down{left:16px;bottom:76px}.estate-hint b{font-size:34px}.panel{top:auto;left:0;width:auto;height:62svh;transform:translateY(102%)}.panel-bar{height:52px;padding:0 12px 0 18px}.panel-in{padding:20px 18px 28px}.panel h2{font-size:32px;margin-top:18px}.panel p{font-size:16px}body:has(.panel.is-on) .nav:not(.is-solid) .nav-book{opacity:1;pointer-events:auto}.day-word{right:0;font-size:19vw}.day-ruler{right:14px;top:120px;bottom:170px}.day-ruler span{display:none}.day-photos figure{width:40%!important}.day-photos figure:nth-child(1){left:4%!important}.day-photos figure:nth-child(2){left:54%!important}.day-photos figure:nth-child(3){left:30%!important;width:34%!important}.day-label{top:72px;left:16px}.day-foot{left:0;right:30px;bottom:0;padding:14px 16px 20px;background:inherit}.day-foot b{font-size:28px}.rooms{padding:100px 16px 90px}.rooms-head{grid-template-columns:1fr;gap:18px}.rooms-grid{grid-template-columns:repeat(6,1fr);column-gap:12px;row-gap:56px;margin-top:48px}.room-1{grid-column:1 / 7}.room-2{grid-column:3 / 7;margin-top:0}.room-3{grid-column:1 / 5;margin-top:0}.room-4{grid-column:1 / 7;margin-top:0}.room-go{opacity:1;transform:none;width:40px;height:40px}.gb-card{width:82vw}.gb-top,.gb-bottom{font-size:40px}.close-title{flex-direction:column;justify-content:center;gap:62vw;font-size:44px}.close-title span{transform:translateY(calc(var(--grow) * -40vh))}.close-title span+span{transform:translateY(calc(var(--grow) * 40vh))}.close-card{padding:22px 18px 16px;bottom:16px}.close-card p{font-size:18px}.close-btns{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.day-word b,.estate-intro,.panel,.pin i{transition:none}.pin.is-on i{animation:none}}
