:root{--carbon:#171815;--terracotta:#c7532d;--gold:#e8b66a;--cream:#f5ecdc;--surface:#21221e;--muted:#b6aa99;--line:rgba(245,236,220,.16);--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--carbon);color:var(--cream);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}img{display:block;max-width:100%}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:8px;left:-999px;padding:10px;background:var(--gold);color:var(--carbon);z-index:50}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.site-shell{overflow:clip}
/* Cinematic entrance */
.hero{min-height:100svh;min-height:100dvh;position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;background:#171815}.hero__image,.hero__vignette{position:absolute;inset:0;z-index:-1}.hero__image{overflow:hidden}.hero__image picture,.hero__image img{height:100%;width:100%}.hero__image img{object-fit:cover;object-position:52% center;animation:cinemaEnter 2s var(--ease) both}.hero__vignette{background:linear-gradient(180deg,rgba(12,12,10,.58) 0%,transparent 25%,rgba(14,14,12,.22) 44%,rgba(14,14,12,.92) 100%),linear-gradient(90deg,rgba(14,14,12,.1),transparent)}.hero__top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(22px,4vw,55px) clamp(22px,5vw,84px)}.hero__top img{width:clamp(205px,26vw,330px);height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.hero__edition{font-size:10px;letter-spacing:.2em;font-weight:700;text-shadow:0 2px 10px #000;display:none}.star{color:var(--gold)}.hero__bottom{width:100%;padding:90px clamp(22px,7vw,115px) max(58px,8vh);max-width:1250px;align-self:center;animation:revealUp 1s .18s both}.eyebrow,.kicker{color:var(--gold);font-size:11px;letter-spacing:.24em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:24px}.gold-line{height:1px;width:34px;background:var(--gold)}.hero h1{font-family:var(--serif);font-size:clamp(3.5rem,8.2vw,8.4rem);font-weight:600;letter-spacing:-.055em;line-height:.98;max-width:1000px;margin:0 0 24px;text-wrap:balance;text-shadow:0 8px 48px #0008}.hero h1 em{color:var(--gold);font-weight:400}.hero__sub{font-size:clamp(1rem,1.5vw,1.22rem);color:#eee5d6;max-width:47ch;line-height:1.65;text-shadow:0 3px 12px #000}.hero__discover{display:inline-flex;gap:34px;align-items:center;text-decoration:none;letter-spacing:.08em;font-size:.83rem;font-weight:700;text-transform:uppercase;margin-top:22px;padding:6px 5px 6px 0;border-bottom:1px solid #eee5d6;transition:gap .25s,color .25s}.hero__discover:hover{color:var(--gold);gap:45px}.hero__arrow{font-size:1.5rem;font-weight:400}.hero__side{position:absolute;right:25px;bottom:65px;writing-mode:vertical-rl;letter-spacing:.3em;color:#f5ecdcaa;font-size:9px;display:none}
@keyframes cinemaEnter{from{transform:scale(1.1);opacity:.55}to{transform:scale(1);opacity:1}}@keyframes revealUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
/* Editorial statements */
.manifesto{padding:clamp(76px,11vw,145px) 20px clamp(70px,10vw,126px);text-align:center;background:radial-gradient(ellipse at 50% 100%,#30271d 0%,transparent 55%),var(--carbon);border-bottom:1px solid var(--line)}.ornament{font-size:33px;color:var(--gold)}.manifesto p,.closing p{font-family:var(--serif);font-size:clamp(2rem,5vw,5.2rem);font-weight:500;line-height:1.15;letter-spacing:-.045em;margin:28px auto;max-width:1100px;text-wrap:balance}.manifesto p em,.closing p em{font-weight:400;color:var(--gold)}.manifesto__hint{font-size:10px;letter-spacing:.24em;color:var(--muted)}
/* Menu / sticky filter */
.toolbar{background:var(--carbon);padding:clamp(52px,8vw,105px) clamp(18px,4vw,56px) 0;scroll-margin-top:0}.toolbar__header{max-width:1180px;margin:0 auto 30px}.toolbar__header .kicker{margin:0 0 6px}.toolbar__header h2{font:600 clamp(3.4rem,8vw,6.5rem)/1.05 var(--serif);letter-spacing:-.06em;margin:0}.period{color:var(--terracotta)}.toolbar__header>p:last-child{color:var(--muted);margin:10px 0 0}.search{max-width:1180px;margin:0 auto 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);color:var(--gold);padding:4px 0 10px}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--cream);padding:9px 4px;font-size:1rem}.search input::placeholder{color:#9b9183}.search:focus-within{border-bottom-color:var(--gold)}.chips{display:flex;gap:7px;overflow:auto;white-space:nowrap;max-width:1180px;margin:0 auto;scrollbar-width:none;padding-bottom:13px}.chips::-webkit-scrollbar{display:none}.chip{padding:9px 17px;color:#c0b6a7;background:transparent;border:1px solid var(--line);border-radius:40px;white-space:nowrap;font-size:.85rem;transition:background .2s,border-color .2s,color .2s}.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--carbon);font-weight:700}.chip:hover:not([aria-pressed=true]){border-color:var(--gold);color:var(--cream)}
/* Editorial food grid */
main{max-width:1260px;margin:0 auto;padding:5px 18px 110px}.menu-section{margin-top:78px}.menu-section__heading{display:flex;align-items:center;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}.section-index{font-size:.72rem;letter-spacing:.19em;color:var(--gold);white-space:nowrap}.menu-section__heading h3{font:500 clamp(1.9rem,4.8vw,4rem)/1.06 var(--serif);letter-spacing:-.045em;margin:0;flex:1}.section-flower{font-size:24px;color:var(--terracotta)}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.dish-card{border:1px solid var(--line);background:var(--surface);color:inherit;text-align:left;padding:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .45s var(--ease),border-color .35s,opacity .55s;opacity:0;transform:translateY(22px);border-radius:3px}.dish-card.is-visible{opacity:1;transform:none}.dish-card:hover{border-color:#c79b61;transform:translateY(-5px)}.dish-card:focus-visible{outline-offset:4px}.dish-card__image{display:block;position:relative;overflow:hidden;aspect-ratio:1.18;isolation:isolate}.dish-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.dish-card:hover .dish-card__image img{transform:scale(1.055)}.dish-card__shade{position:absolute;inset:0;background:linear-gradient(0deg,#16171480,transparent 45%);pointer-events:none}.steam{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.dish-card__info{display:flex;flex-direction:column;gap:12px;padding:24px 25px 23px;flex:1}.dish-card__meta{display:flex;gap:8px;flex-wrap:wrap;min-height:17px}.item-tag{font-size:9px;letter-spacing:.14em;color:var(--gold);font-weight:700}.dish-card__headline{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.dish-card__name{font:500 clamp(1.35rem,2.4vw,2.05rem)/1.15 var(--serif);letter-spacing:-.025em}.dish-card__price{color:var(--gold);font-size:1.04rem;font-weight:700;white-space:nowrap}.dish-card__desc{font-size:.88rem;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dish-card__explore{font-size:.7rem;letter-spacing:.17em;color:var(--gold);font-weight:700;margin-top:auto;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.dish-card__explore span{font-size:19px;transition:transform .25s}.dish-card:hover .dish-card__explore span{transform:translate(3px,-3px)}
/* Typography-only cards: explicitly editorial, not fake food pictures */
.dish-card--type{background:#292920}.dish-card__typography{min-height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-direction:column;color:#ae8a58;font:500 11px/1.8 var(--sans);letter-spacing:.32em;text-align:center;background:radial-gradient(circle at 50% 50%,#45402a 0,#292920 55%,#20211d 100%)}.dish-card__glyph{font:normal 82px/1 var(--serif);color:#b98645;opacity:.6;display:block;margin-bottom:10px;transition:transform .75s var(--ease)}.dish-card:hover .dish-card__glyph{transform:rotate(35deg) scale(1.08)}.dish-card--spotlight{grid-column:span 2}.dish-card--spotlight .dish-card__image{aspect-ratio:2.15}.dish-card--spotlight .dish-card__info{padding:27px 32px}.dish-card--spotlight .dish-card__name{font-size:clamp(2rem,4vw,3.1rem)}
/* Closing */
.closing{padding:100px 18px 110px;text-align:center;background:radial-gradient(ellipse at center,#3d241e 0%,#201d1a 55%,#171815 100%)}.closing__ornament{font-size:46px;color:var(--terracotta)}.closing>a{display:inline-block;text-decoration:none;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:7px;color:var(--gold)}
.footer{border-top:1px solid var(--line);max-width:1260px;margin:auto;padding:55px 22px 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px;color:var(--muted)}.footer__brand img{width:min(280px,100%);height:auto}.footer__brand p{max-width:31ch}.footer h2{color:var(--gold);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 17px}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin-bottom:8px;font-size:.85rem}.footer li span{display:block;color:var(--cream)}.footer__legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;font-size:11px}
/* Immersive details: no ecommerce affordances */
.dish-dialog{padding:0;border:1px solid #645746;background:#24241f;color:var(--cream);max-width:min(940px,calc(100vw - 24px));max-height:min(94dvh,900px);width:100%;overflow:auto;border-radius:5px;box-shadow:0 30px 90px #0009}.dish-dialog::backdrop{background:rgba(5,6,5,.85);backdrop-filter:blur(11px)}.dish-dialog[open]{animation:dialogIn .36s var(--ease)}.dish-dialog__layout{display:grid;grid-template-columns:1.15fr 1fr;position:relative;min-height:400px}.dish-dialog__close{position:fixed;z-index:15;top:max(18px,calc((100dvh - min(94dvh,900px))/2 + 16px));right:max(24px,calc((100vw - min(940px,100vw - 24px))/2 + 16px));width:48px;height:48px;background:#171815dd;color:white;border:1px solid #ffffff45;border-radius:50%;font-size:29px;line-height:1}.dish-dialog__media{position:relative;min-height:400px;overflow:hidden}.dish-dialog__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.dish-dialog__media[hidden]+.dish-dialog__copy{grid-column:1/-1}.dish-dialog__copy{padding:clamp(30px,5vw,62px);display:flex;flex-direction:column;justify-content:center;gap:10px}.dish-dialog__copy h2{font:500 clamp(2.3rem,4vw,4rem)/1.1 var(--serif);letter-spacing:-.05em;margin:10px 0}.dish-dialog__copy>p:not(.kicker){font-size:1rem;color:var(--muted)}.dish-dialog__tags{display:flex;gap:8px;flex-wrap:wrap}.dish-dialog__tags span{border:1px solid #8e6f4f;padding:4px 10px;font-size:10px;letter-spacing:.12em;color:var(--gold)}.dish-dialog__rule{background:var(--terracotta);height:2px;width:46px}.dish-dialog__bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:end;padding-top:24px;margin-top:26px}.price-label{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em}.dish-dialog__bottom strong{font:600 2rem/1.5 var(--serif);color:var(--gold)}.dish-dialog__pure{font-size:9px;letter-spacing:.08em;color:var(--muted);text-align:right}
@keyframes dialogIn{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
.empty{text-align:center;padding:80px 20px;color:var(--muted)}
@media(min-width:950px){.hero__edition,.hero__side{display:block}.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dish-card--spotlight{grid-column:span 2;grid-row:span 1}.dish-card--spotlight .dish-card__image{aspect-ratio:2}.dish-card--spotlight .dish-card__info{flex:1}.dish-card--type .dish-card__typography{min-height:240px}}
@media(min-width:700px) and (max-width:949px){.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){.hero__top{padding:25px 20px}.hero__bottom{padding:20px 22px 67px}.hero__top img{width:250px;max-width:65vw}.hero h1{font-size:clamp(3.2rem,11vw,5rem)}.hero__sub{max-width:30ch}.hero__vignette{background:linear-gradient(180deg,#1115 0%,transparent 30%,#1115 43%,#121310ed 100%)}.manifesto{padding:80px 22px}.manifesto p{font-size:clamp(2rem,7.5vw,3rem)}.toolbar{padding:55px 18px 0}.toolbar__header h2{font-size:3.6rem}.menu-section{margin-top:57px}.menu-section__heading{gap:11px;padding-bottom:18px}.menu-section__heading h3{font-size:clamp(1.6rem,7vw,2.3rem)}.section-index{font-size:9px}.dish-grid{grid-template-columns:1fr;gap:17px}.dish-card--spotlight{grid-column:auto}.dish-card--spotlight .dish-card__image{aspect-ratio:1.2}.dish-card--spotlight .dish-card__name{font-size:1.55rem}.dish-card--spotlight .dish-card__info{padding:21px}.dish-card__info{padding:20px 21px}.dish-card__name{font-size:1.55rem}.dish-card__image{aspect-ratio:1.24}.dish-card--type .dish-card__typography{min-height:156px}.closing{padding:80px 18px}.footer{grid-template-columns:1fr 1fr;gap:30px}.footer__brand{grid-column:1/-1}.dish-dialog{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;margin:0}.dish-dialog__layout{display:block;min-height:100%}.dish-dialog__media{height:43dvh;min-height:260px}.dish-dialog__copy{padding:27px 25px 45px}.dish-dialog__close{position:fixed;right:16px;top:16px}.dish-dialog__copy h2{font-size:2.7rem}.dish-dialog__bottom{margin-top:18px}}
@media(max-width:380px){.footer{grid-template-columns:1fr}.hero h1{font-size:3rem}.dish-dialog__copy h2{font-size:2.2rem}.dish-dialog__pure{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.dish-card{opacity:1;transform:none}}
