@font-face{font-family:Serif;src:url('assets/fonts/serif.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:Serif;src:url('assets/fonts/serif-italic.ttf') format('truetype');font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:Sans;src:url('assets/fonts/sans.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:Sans;src:url('assets/fonts/sans-semibold.ttf') format('truetype');font-display:swap;font-weight:600}
:root{--bg:#171d15;--panel:#20271c;--cream:#eee9d7;--gold:#d1b56f;--dim:#b8bca9;--line:#d1b56f38;--pad:clamp(24px,4vw,80px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--cream);font-family:Sans,Arial,sans-serif;font-size:14px;line-height:1.75}body:has(dialog[open]){overflow:hidden}button,a,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;border:0;background:none}button,a{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Serif,Georgia,serif;font-weight:400;line-height:.92}h2{font-size:clamp(62px,8vw,145px);letter-spacing:-.045em}em{font-weight:400;color:var(--gold)}button{text-align:left}button:hover,a:hover{color:var(--gold)}.wrap{margin-inline:auto;width:calc(100% - var(--pad)*2);max-width:1600px}.section{padding-block:110px}.eyebrow,.section-label,.hero-meta,.hero-bottom,.dish-top,.footer-bottom,.visit h3,.catalog-meta{font-size:10px;line-height:1.7;text-transform:uppercase;letter-spacing:.16em}.section-label{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-bottom:65px;color:var(--dim)}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:16px 25px;background:var(--gold);color:#171d15;border:1px solid var(--gold);border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.025em;line-height:1.5;white-space:nowrap;transition:background .25s,transform .25s}.button span{font-size:19px;line-height:1}.button:hover{background:#ead8a4;color:#171d15;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--gold)}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding:6px 0;color:var(--gold);font-size:11px;letter-spacing:.04em}.fineprint{font-size:10px;color:var(--dim);line-height:1.7}.skip{position:fixed;top:10px;left:10px;transform:translateY(-200%);padding:15px;background:var(--gold);color:var(--bg);z-index:20}.skip:focus{transform:none}.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}[hidden]{display:none!important}
.header{position:absolute;top:0;left:0;z-index:10;width:100%;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px var(--pad);border-bottom:1px solid #eee9d718}.brand{display:flex;align-items:center;gap:12px;font-family:Serif,Georgia,serif;font-size:27px;line-height:1;letter-spacing:.04em}.brand small{display:inline-block;font-family:Sans,sans-serif;font-size:9px;letter-spacing:.2em;margin-left:7px;color:var(--dim)}.brand-star{color:var(--gold);font-family:Georgia,serif;font-size:32px}.desktop-nav{display:flex;gap:35px;align-items:center}.desktop-nav a{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.header-end{display:flex;align-items:center;gap:22px}.header .button{padding:13px 22px;font-size:10px;gap:25px}.nav-toggle{display:none;width:30px;padding:6px 0}.nav-toggle span{display:block;border-top:1px solid var(--cream);margin:7px 0;width:26px}
.hero-scroll{height:148svh;min-height:1050px;position:relative;background:radial-gradient(ellipse at 50% 38%,#46503880,transparent 65%)}.hero-stage{height:100svh;min-height:700px;position:sticky;top:0;isolation:isolate;overflow:hidden}.hero-meta{position:absolute;top:145px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;z-index:3;color:var(--dim)}.hero-photo{position:absolute;top:12%;left:calc(24% - var(--hero-progress,0)*23%);width:calc(52% + var(--hero-progress,0)*46%);height:calc(71% + var(--hero-progress,0)*16%);border-radius:calc(40vw - var(--hero-progress,0)*39vw) calc(40vw - var(--hero-progress,0)*39vw) 4px 4px;overflow:hidden;z-index:-1;border:1px solid #d1b56f30}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 62%;transform:scale(calc(1.04 - var(--hero-progress,0)*.04))}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#171d1520 30%,#0a0d06a0)}.hero-photo figcaption{position:absolute;bottom:15px;left:18px;width:auto;max-width:45%;text-align:left;z-index:2;color:#dcd9ca;font-size:9px;letter-spacing:.08em}.hero-title{position:absolute;top:24%;left:0;width:100%;text-align:center;pointer-events:none;transform:translateY(calc(var(--hero-progress,0)*-50px));opacity:calc(1 - var(--hero-progress,0)*.75)}.hero-title h1{font-size:clamp(260px,41vw,820px);line-height:.67;letter-spacing:-.065em;padding-right:.065em;color:var(--cream);font-feature-settings:'kern';text-shadow:0 2px 20px #00000010}.hero-title p{font-size:12px;letter-spacing:.65em;margin-top:25px;padding-left:.65em}.hero-invite{position:absolute;bottom:14.5%;left:0;width:100%;text-align:center;z-index:4}.hero-invite>p{font-family:Serif,Georgia,serif;font-size:clamp(34px,4.3vw,78px);line-height:1.1;letter-spacing:-.03em;text-shadow:0 2px 12px #0008}.hero-invite .button{margin-top:25px}.hero-bottom{position:absolute;bottom:30px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--dim);gap:20px}.hero-bottom a>span{margin-left:10px}.scroll-cue{display:flex;align-items:center;gap:20px}.scroll-cue span{font-size:20px}.house{padding-top:80px}.manifesto{position:relative;min-height:490px;display:flex;justify-content:center;align-items:center;text-align:center;padding:20px 22%}.manifesto h2{position:relative;z-index:2;font-size:clamp(70px,7.9vw,145px)}.manifesto img{position:absolute;width:20%;height:240px;object-fit:cover;filter:brightness(.8)}.manifesto-left{left:0;top:14%;transform:rotate(-7deg)}.manifesto-right{right:0;bottom:6%;transform:rotate(7deg)}.house-bottom{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;margin-top:60px;gap:20px}.house-bottom p{max-width:550px;color:var(--dim);font-size:14px}.house-bottom .text-link{justify-self:end}.ornament{font-size:70px;color:var(--gold);line-height:1;font-family:Georgia,serif}
.room{background:#1e251b;padding-bottom:80px;overflow:hidden}.room-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:75px}.room-heading h2{font-size:clamp(70px,9vw,160px)}.room-heading p{color:var(--dim);margin-bottom:12px;max-width:300px}.photo-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:3%;padding:40px 0 50px;min-height:510px}.room-card{padding:0;position:relative;border:1px solid var(--line);background:#11170f;box-shadow:0 12px 35px #0004;transform-origin:50% 100%;will-change:transform;transition:filter .3s}.room-card:hover{filter:brightness(1.12)}.room-card img{width:100%;height:clamp(260px,32vw,480px);object-fit:cover}.room-card>span{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;font-size:10px;letter-spacing:.06em;color:var(--cream)}.room-card i{font-style:normal;color:var(--gold)}.room-card-1{transform:translateY(calc((1 - var(--deck,0))*50px)) rotate(calc(-10deg + var(--deck,0)*7deg));z-index:2}.room-card-2{transform:translateY(calc((1 - var(--deck,0))*-20px)) rotate(calc(4deg - var(--deck,0)*4deg));z-index:3}.room-card-3{transform:translateY(calc((1 - var(--deck,0))*80px)) rotate(calc(10deg - var(--deck,0)*7deg))}.room-end{display:flex;justify-content:space-between;gap:20px;margin-top:25px;color:var(--dim);font-size:11px}
.menu-section{overflow:hidden}.menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:70px}.menu-heading p{color:var(--dim);margin-top:30px}.carousel-buttons{display:flex;gap:10px}.carousel-buttons button,.gallery-controls>button{border:1px solid var(--line);border-radius:50%;width:52px;height:52px;text-align:center;font-size:22px}.carousel-buttons button:hover,.gallery-controls>button:hover{background:var(--gold);color:var(--bg)}.dish-track{display:flex;gap:25px;overflow-x:auto;padding:0 var(--pad) 24px;scroll-padding-left:var(--pad);scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.dish-card{flex:0 0 30%;min-width:280px;scroll-snap-align:start;background:#20271c;padding:20px 25px 28px}.dish-top{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:var(--dim)}.dish-photo{display:block;position:relative;overflow:hidden}.dish-photo img{width:100%;aspect-ratio:1/1;object-fit:contain;transition:transform .5s}.dish-photo:hover img{transform:scale(1.07) rotate(2deg)}.dish-hover{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;border-radius:100px;background:var(--gold);color:var(--bg);white-space:nowrap;font-size:10px;opacity:0;transition:opacity .3s}.dish-photo:hover .dish-hover,.dish-photo:focus-visible .dish-hover{opacity:1}.dish-caption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:20px}.dish-caption h3{font-size:30px;line-height:1}.dish-caption>span{white-space:nowrap;color:var(--gold);font-size:13px}.dish-card>p{margin-top:16px;font-size:11px;color:var(--dim)}.menu-links{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:38px}.menu-links .fineprint{width:100%}.invitation{position:relative;isolation:isolate;min-height:800px;display:flex;align-items:center;overflow:hidden}.invitation-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.35);z-index:-2}.invitation:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#131a10c0,transparent);z-index:-1}.invitation-content h2{margin:40px 0 30px;font-size:clamp(62px,8vw,140px)}.invitation-content p{color:#d7d9c7;margin-bottom:35px}.invitation-content .eyebrow{color:var(--gold)}
.visit-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:75px}.visit-phone{font-family:Serif,Georgia,serif;font-size:clamp(26px,3.5vw,65px);line-height:1.1;padding-bottom:8px;border-bottom:1px solid var(--line)}.visit-phone>span{font-size:.7em;margin-left:20px;color:var(--gold)}.visit-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px}.visit h3{font-family:Sans,Arial,sans-serif;line-height:1.6;font-weight:400;color:var(--gold);font-size:9px;margin-bottom:22px}.visit-grid p{font-size:12px;line-height:1.9;color:var(--dim)}.visit-grid .text-link{margin-top:18px;font-size:10px}dl{margin:0;max-width:250px}dl>div{display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--dim);margin-bottom:8px}dd{margin:0}.footer{border-top:1px solid var(--line);padding:45px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center}.footer-top p{color:var(--dim);font-size:12px}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.08em;color:var(--dim)}.mobile-bar{display:none}
dialog{position:fixed;padding:55px 45px 40px;background:#20271c;border:1px solid var(--gold);color:var(--cream);width:min(520px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;border-radius:3px}dialog::backdrop{background:#090e08d9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:12px;right:20px;font-family:Sans,sans-serif;font-size:32px;padding:0 8px;line-height:1.2}.dialog-close:hover{color:var(--gold)}dialog h2{font-size:76px;margin:25px 0;letter-spacing:-.04em}dialog .dialog-body>p:not(.eyebrow){color:var(--dim);font-size:12px}.dialog-phone{display:block;color:var(--gold);font-size:24px;margin:28px 0 20px;white-space:nowrap}dialog .dialog-body>.button{display:flex;width:100%;margin:12px 0}dialog .dialog-body>.fineprint{margin-top:25px;font-size:10px!important}.nav-dialog nav{display:flex;flex-direction:column;margin:45px 0;gap:17px}.nav-dialog nav a{font-family:Serif,Georgia,serif;font-size:46px;line-height:1}.gallery-dialog{width:min(1100px,calc(100% - 32px));padding:45px 25px 20px;background:#10160e;border-color:var(--line)}.gallery-dialog .dialog-body>img{height:min(70svh,750px);width:100%;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.gallery-controls p{text-align:center;font-size:13px}.gallery-controls small{display:block;font-size:10px;color:var(--dim)}
.menu-page .header{position:relative}.menu-page-hero{padding:80px 0 70px}.menu-page-hero h1{font-size:clamp(80px,11vw,180px);letter-spacing:-.04em;margin:45px 0}.menu-page-hero>div{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.menu-page-hero p{color:var(--dim)}.catalog-meta{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:var(--dim);font-size:9px}.catalog-meta p:last-child{letter-spacing:0;text-transform:none;text-align:right;font-size:11px}.category-filters{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0}.category-filters button{border:1px solid var(--line);border-radius:99px;padding:10px 18px;font-size:11px}.category-filters button[aria-pressed=true]{background:var(--gold);color:var(--bg)}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 80px}.catalog-group{scroll-margin-top:50px}.catalog-group h2{font-size:52px;padding-bottom:18px}.menu-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.menu-row span:last-child{white-space:nowrap;color:var(--gold)}.menu-close{text-align:center}.menu-close h2{margin:25px 0 40px}.menu-close .eyebrow{color:var(--gold)}
@media(min-width:1800px){.hero-title h1{font-size:min(46vw,980px)}}
@media(max-width:1000px){.desktop-nav{gap:20px}.header{gap:20px}.brand small{display:none}.hero-meta{top:120px}.hero-title{top:29%}.hero-title h1{font-size:51vw}.hero-photo{left:calc(15% - var(--hero-progress,0)*14%);width:calc(70% + var(--hero-progress,0)*28%)}.manifesto{min-height:430px}.manifesto img{height:180px}.house-bottom{grid-template-columns:100px 1fr}.house-bottom .text-link{grid-column:2;justify-self:start}.room-heading p{font-size:12px}.photo-deck{min-height:400px}.room-card img{height:330px}.dish-card{flex-basis:39%}.visit-grid{gap:25px}.visit-heading{display:block}.visit-phone{display:inline-block;margin-top:45px}.footer-bottom{flex-wrap:wrap}.catalog-grid{gap:40px}}
@media(max-width:700px){:root{--pad:23px}html{scroll-padding-top:25px}.section{padding-block:75px}.header{padding:20px var(--pad);gap:15px}.brand{font-size:24px;gap:9px}.brand-star{font-size:27px}.desktop-nav{display:none}.nav-toggle{display:block}.header .button{font-size:9px;padding:11px 16px;gap:15px}.header-end{gap:18px}.hero-scroll{height:125svh;min-height:850px}.hero-stage{height:100svh;min-height:680px}.hero-meta{top:100px;font-size:8px;letter-spacing:.1em;gap:15px}.hero-photo{top:19%;left:calc(10% - var(--hero-progress,0)*8%);width:calc(80% + var(--hero-progress,0)*16%);height:calc(61% + var(--hero-progress,0)*15%);border-radius:70vw 70vw 3px 3px}.hero-photo img{object-position:51% 65%}.hero-photo figcaption{font-size:7px;bottom:10px;left:12px;max-width:85%}.hero-title{top:32%}.hero-title h1{font-size:48vw;line-height:.7}.hero-title p{font-size:8px;letter-spacing:.55em;margin-top:18px}.hero-invite{bottom:23%}.hero-invite>p{font-size:36px}.hero-invite .button{margin-top:22px;padding:14px 23px;font-size:10px}.hero-bottom{bottom:35px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:7px;letter-spacing:.07em}.hero-bottom .scroll-cue{justify-self:end;gap:6px}.hero-bottom>span{grid-column:1/-1;text-align:center;margin-top:5px}.section-label{font-size:8px;letter-spacing:.1em;margin-bottom:45px;align-items:flex-start;gap:15px}.section-label>span:last-child{text-align:right;max-width:140px}.house{padding-top:50px}.manifesto{padding:15px 0 140px;min-height:440px;align-items:flex-start}.manifesto h2{font-size:65px}.manifesto img{width:30%;height:125px}.manifesto-left{top:auto;bottom:0;left:8%}.manifesto-right{bottom:0;right:8%}.house-bottom{grid-template-columns:55px 1fr;gap:20px;margin-top:45px}.ornament{font-size:42px}.house-bottom p{font-size:11px}.house-bottom .text-link{font-size:10px}.room-heading{display:block;margin-bottom:30px}.room-heading h2{font-size:75px}.room-heading p{margin-top:30px;font-size:12px}.photo-deck{display:flex;align-items:center;width:auto;max-width:none;margin:0;padding:30px var(--pad);gap:20px;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.room-card{flex:0 0 76%;scroll-snap-align:center;transform:rotate(-2deg);margin:12px 0}.room-card-2{transform:rotate(2deg)}.room-card img{height:350px}.room-card>span{font-size:9px;padding:12px}.room-end{font-size:9px;align-items:center;margin-top:20px}.room-end>span{max-width:160px}.room-end .text-link{font-size:9px;white-space:nowrap}.menu-heading{margin-bottom:40px;gap:15px}.menu-heading h2{font-size:70px}.menu-heading p{font-size:11px;max-width:260px;margin-top:23px}.carousel-buttons{gap:7px;align-self:flex-start;padding-top:8px}.carousel-buttons button{width:36px;height:36px;font-size:18px}.dish-track{gap:16px}.dish-card{flex-basis:82%;min-width:250px;padding:18px 20px 24px}.dish-caption h3{font-size:29px}.dish-top{font-size:7px}.menu-links{gap:20px}.menu-links .text-link{font-size:10px}.menu-links .fineprint{font-size:9px}.invitation{min-height:670px}.invitation-content h2{font-size:62px}.invitation-content p{font-size:12px}.invitation-photo{object-position:58% 50%}.visit-heading{margin-bottom:45px}.visit-heading h2{font-size:85px}.visit-phone{font-size:29px;letter-spacing:-.025em;white-space:nowrap;margin-top:30px}.visit-phone>span{margin-left:10px}.visit-grid{grid-template-columns:1fr;gap:35px}.visit-grid h3{margin-bottom:12px}.visit-grid p,.visit-grid dl>div{font-size:12px}.footer{padding-top:30px;padding-bottom:95px}.footer-top{flex-wrap:wrap;gap:25px;align-items:flex-start}.footer-top p{font-size:11px}.footer-top .text-link{font-size:10px}.footer-bottom{margin-top:25px;padding-top:20px;gap:15px;font-size:7px}.footer-bottom>span:nth-child(2){width:100%;order:3}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#171d15f5;border-top:1px solid var(--line);z-index:9;justify-content:space-between;align-items:center;padding:11px var(--pad);gap:20px;transform:translateY(110%);transition:transform .3s}.mobile-bar.is-visible{transform:none}.mobile-bar>a{font-size:10px;color:var(--dim)}.mobile-bar .button{padding:12px 19px;gap:20px;font-size:10px}dialog{padding:45px 25px 30px}dialog h2{font-size:68px}.dialog-phone{font-size:22px}.gallery-dialog{padding:45px 12px 15px}.gallery-dialog .dialog-body>img{height:55svh}.gallery-controls>button{width:42px;height:42px}.menu-page-hero{padding-top:50px}.menu-page-hero h1{font-size:88px;margin:30px 0}.menu-page-hero>div{align-items:flex-start;flex-direction:column}.menu-page-hero p{font-size:11px}.catalog-meta{font-size:8px;display:block}.catalog-meta p:last-child{text-align:left;margin-top:15px;font-size:10px}.category-filters{gap:8px;margin:30px 0}.category-filters button{font-size:10px;padding:8px 12px}.catalog-grid{grid-template-columns:1fr;gap:40px}.catalog-group h2{font-size:45px}.menu-row{font-size:11px;gap:16px}.menu-close h2{font-size:70px}.menu-page .mobile-bar{transform:none}}
@media(max-width:360px){:root{--pad:18px}.header{gap:8px}.header-end{gap:12px}.header .button{font-size:8px;gap:8px;padding:11px 12px}.brand{font-size:22px}.hero-invite>p{font-size:31px}.hero-title{top:34%}.hero-bottom{font-size:6px}.manifesto h2{font-size:58px}.menu-heading h2{font-size:59px}.carousel-buttons{flex-direction:column}.invitation-content h2{font-size:54px}.visit-phone{font-size:25px}.visit-heading h2{font-size:75px}.dialog-phone{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-scroll{height:100svh;min-height:700px}.hero-stage{position:relative}.hero-title{transform:none;opacity:1}.room-card{transform:none!important}.dish-photo img{transform:none!important}}
