:root{color-scheme:dark;--ink:#0c0a0d;--ink-rgb:12,10,13;--ink2:#15121a;--panel:#1d1923;--panel-rgb:29,25,35;--amber:#ef8b17;--bone:#f3ece0;--dim:#d9d0d8;--muted:#a89eab;--line:rgba(243,236,224,.14);--story:#2c0527;--gallery-fade:#160f17;--map-filter:invert(.92) hue-rotate(230deg) saturate(.55) brightness(.95);--logo-filter:none;--display:'Cormorant Garamond','Times New Roman',serif;--body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--ink);color:var(--bone);font-family:var(--body);font-weight:300;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}section{scroll-margin-top:5rem}.wrap{max-width:1220px;margin:auto;padding:0 clamp(1.25rem,4vw,3rem)}.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.25rem,4vw,3rem);background:linear-gradient(180deg,rgba(var(--ink-rgb),.94),rgba(var(--ink-rgb),.38),transparent);backdrop-filter:blur(8px)}.nav img{height:46px;filter:var(--logo-filter)}.nav ul{list-style:none;display:flex;align-items:center;gap:1.35rem}.nav a,.nav button{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);cursor:pointer}.nav a:hover,.nav button:hover{color:var(--amber)}.nav-cta{border:1px solid var(--amber);padding:.65rem 1.1rem;color:var(--amber)!important;background:transparent}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:rgba(var(--ink-rgb),.72);color:var(--bone);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:20px;height:1px;background:currentColor}.mobile-actions{display:none}.hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;padding:9rem 0 5rem}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,13,.24),rgba(12,10,13,.72)),linear-gradient(90deg,rgba(92,12,64,.48),rgba(239,139,23,.10),transparent),url('images/hero.jpg') center/cover;transform:scale(1.04);filter:saturate(1.14) contrast(1.06) brightness(1.07)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 30%,rgba(239,139,23,.18),transparent 24%);pointer-events:none}.hero-content{position:relative;z-index:1}.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);font-weight:500;margin-bottom:1rem}.hero h1{font-family:var(--display);font-size:clamp(3rem,8vw,6rem);font-weight:300;line-height:1;text-shadow:0 2px 30px rgba(0,0,0,.42)}.hero h1 em,.section-title em{color:var(--amber);font-style:italic}.hero p{font-family:var(--display);font-size:clamp(1.25rem,2vw,1.55rem);color:var(--bone);max-width:660px;margin:1.4rem 0;text-shadow:0 2px 20px rgba(0,0,0,.45)}.tags{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:2rem}.tags span{color:var(--amber);margin:0 .35rem}.btns{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.6rem;border:1px solid var(--amber);background:var(--amber);color:var(--ink);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.btn.secondary{background:rgba(var(--ink-rgb),.32);color:var(--amber)}.proof{display:inline-flex;margin-top:1.7rem;color:var(--dim);font-size:.8rem;letter-spacing:.12em}.proof b{color:var(--amber);margin-right:.5rem}section{padding:clamp(4rem,9vw,7rem) 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.section-title{font-family:var(--display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:300;line-height:1.1;margin:.8rem 0 1.2rem}.lede{font-family:var(--display);font-size:clamp(1.12rem,2vw,1.45rem);color:var(--dim);max-width:66ch}.prose{color:var(--dim);max-width:66ch}.prose p+p{margin-top:1rem}.photo{overflow:hidden;background:var(--panel);border:1px solid var(--line)}.photo img{width:100%;height:100%;object-fit:cover}.setting .photo{aspect-ratio:4/5}.dark{background:var(--ink2)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.card{background:linear-gradient(155deg,rgba(123,0,70,.18),rgba(var(--panel-rgb),.94));border:1px solid var(--line);padding:1.6rem;min-height:220px;display:flex;flex-direction:column;justify-content:end}.card.photo-card{padding:0;position:relative;overflow:hidden}.card.photo-card img{height:100%;width:100%;object-fit:cover;filter:saturate(1.08) contrast(1.04) brightness(.86)}.cards>.photo-card.wide:first-child img{transform:translateY(-14%) scale(1.42);transform-origin:center center;object-position:center center;filter:saturate(1.1) contrast(1.05) brightness(.88)}.card.photo-card div{position:absolute;inset:auto 0 0;padding:1.4rem;background:linear-gradient(180deg,transparent,rgba(var(--ink-rgb),.9))}.card small{color:var(--amber);letter-spacing:.2em;text-transform:uppercase;font-size:.68rem}.card h3{font-family:var(--display);font-size:1.65rem;font-weight:400;margin:.5rem 0}.card p{color:var(--dim);font-family:var(--display);font-style:italic}.wide{grid-column:span 2}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}.menu-item{border-top:1px solid var(--line);padding-top:1rem}.menu-item h3{font-family:var(--display);font-size:1.35rem;margin-bottom:.4rem}.menu-item p{color:var(--dim);font-size:.92rem}.menu-item:hover h3{color:var(--amber)}.menu-link{margin-top:2rem}.table-gallery{background:linear-gradient(180deg,var(--ink),var(--gallery-fade))}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.gallery-heading .lede{max-width:560px}.dining-gallery{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:300px 300px;gap:1rem}.venue-gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:1rem;margin-top:1rem}.venue-gallery .gallery-card{aspect-ratio:16/8}.venue-gallery .private-dining{aspect-ratio:16/10}.gallery-card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(1.08) contrast(1.04) brightness(1.02)}.gallery-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(var(--ink-rgb),.82));z-index:1}.gallery-card:hover img{transform:scale(1.025)}.gallery-card figcaption{position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1rem}.gallery-card small{display:block;color:var(--amber);font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.gallery-card strong{display:block;margin-top:.25rem;font-family:var(--display);font-size:1.45rem;font-weight:400}.gallery-sushi{grid-column:1;grid-row:1}.gallery-poke{grid-column:2;grid-row:1/3}.gallery-platter{grid-column:1;grid-row:2}.story{background:var(--story)}.bar .photo{aspect-ratio:1}.events .gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem}.events figure{position:relative;overflow:hidden}.events img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(1.08) contrast(1.04) brightness(1.02)}.events figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(var(--ink-rgb),.75);border-left:2px solid var(--amber);padding:.45rem .8rem;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem}.visit-aerial{aspect-ratio:21/9;overflow:hidden;margin:2rem 0 3rem}.visit-aerial img{width:100%;height:100%;object-fit:cover}.info-block{margin-bottom:1.5rem}.label{display:block;color:var(--amber);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:.45rem}.content{font-family:var(--display);font-size:1.2rem;color:var(--bone)}.content a{border-bottom:1px solid var(--line)}.content a:hover{color:var(--amber)}.hours{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.5rem;font-family:var(--display);font-size:1.1rem}.hours span:nth-child(even){text-align:right}.hours-note{margin-top:1rem}.map iframe{width:100%;min-height:420px;border:0;filter:var(--map-filter)}footer{border-top:1px solid var(--line);padding:3rem 0;background:var(--ink)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem}.footer-grid img{height:54px;margin-bottom:1rem;filter:var(--logo-filter)}.footer-grid h3{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem}.footer-grid ul{list-style:none}.footer-grid li{margin:.55rem 0}.footer-grid a,.footer-grid button{color:var(--dim);font-size:.9rem;cursor:pointer}.footer-grid a:hover,.footer-grid button:hover{color:var(--amber)}.footer-action{padding:0;border:0;background:transparent}.bottom{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.78rem}@media(max-width:850px){body{padding-bottom:68px}.wrap{padding-inline:1.2rem}.nav{padding:.75rem 1.2rem;background:rgba(var(--ink-rgb),.94);border-bottom:1px solid var(--line)}.nav img{height:40px}.menu-toggle{display:flex}.nav.open .menu-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.nav.open .menu-toggle span:nth-child(2){opacity:0}.nav.open .menu-toggle span:last-child{transform:translateY(-6px) rotate(-45deg)}.nav ul{position:fixed;z-index:-1;top:65px;left:0;right:0;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:.5rem 1.2rem 1.2rem;background:rgba(var(--ink-rgb),.98);border-bottom:1px solid var(--line);transform:translateY(-115%);opacity:0;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility .25s}.nav.open ul{transform:translateY(0);opacity:1;visibility:visible}.nav li{border-bottom:1px solid var(--line)}.nav li:last-child{border:0;margin-top:.5rem}.nav ul a,.nav ul button{display:flex;width:100%;min-height:48px;align-items:center;background:transparent;border:0;color:var(--bone);text-align:left}.nav .nav-cta{justify-content:center;border:1px solid var(--amber);color:var(--amber)!important}.grid,.cards,.menu-grid,.events .gallery,.venue-gallery,.footer-grid{grid-template-columns:1fr}.wide{grid-column:auto}.hero{min-height:100svh;padding:7.5rem 0 3.5rem}.hero:before{background:linear-gradient(180deg,rgba(12,10,13,.24),rgba(12,10,13,.72)),linear-gradient(90deg,rgba(92,12,64,.45),rgba(239,139,23,.08),transparent),url('images/hero-mobile.jpg') center/cover;filter:saturate(1.12) contrast(1.05) brightness(1.04)}.hero h1{font-size:clamp(2.35rem,11.5vw,3.15rem);line-height:1.02}.hero p{font-size:1.08rem;line-height:1.55;margin:1.1rem 0}.eyebrow{font-size:.65rem;letter-spacing:.22em}.tags{font-size:.68rem;line-height:1.9;letter-spacing:.16em;margin-bottom:1.4rem}.btns{display:grid;grid-template-columns:1fr}.btns .btn{width:100%;min-height:54px;justify-content:center}.proof{font-size:.7rem;line-height:1.5;letter-spacing:.06em}.card{min-height:260px}.setting .photo{aspect-ratio:4/3}.visit-aerial{aspect-ratio:4/3}.gallery-heading{display:block}.gallery-heading .lede{margin-top:1rem}.dining-gallery{grid-template-columns:1fr;grid-template-rows:none}.gallery-sushi,.gallery-poke,.gallery-platter{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.gallery-poke{aspect-ratio:4/5}.venue-gallery .gallery-card,.venue-gallery .private-dining{aspect-ratio:4/3}.hours{font-size:1rem}.map iframe{min-height:320px}.bottom{padding-bottom:1rem}.mobile-actions{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 1fr;height:68px;background:rgba(var(--ink-rgb),.98);border-top:1px solid var(--line);padding:7px}.mobile-actions a,.mobile-actions button{display:flex;align-items:center;justify-content:center;border:0;border-right:1px solid var(--line);background:transparent;color:var(--bone);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.mobile-actions button:first-child{background:var(--amber);color:var(--ink)}.mobile-actions a:last-child{border-right:0}}.wf{font-style:normal;font-feature-settings:"liga" 0,"dlig" 0,"calt" 0,"swsh" 0;font-variant-ligatures:none}
[data-theme="light"]{color-scheme:light;--ink:#fbf8f4;--ink-rgb:251,248,244;--ink2:#f3ede4;--panel:#ffffff;--panel-rgb:255,255,255;--amber:#a85c06;--bone:#241d24;--dim:#4a4048;--muted:#6d626e;--line:rgba(36,29,36,.16);--story:#f6e9df;--gallery-fade:#efe6da;--map-filter:none;--logo-filter:invert(1) hue-rotate(180deg) saturate(.9);}
.theme-toggle{border:1px solid var(--line);background:transparent;color:var(--dim);padding:.5rem .75rem;cursor:pointer;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.theme-toggle:hover{color:var(--amber);border-color:var(--amber)}
.theme-toggle .theme-on{display:none}
[data-theme="light"] .theme-toggle .theme-on{display:inline}
[data-theme="light"] .theme-toggle .theme-off{display:none}
@media(max-width:850px){.nav ul .theme-toggle{justify-content:flex-start;border:0;padding-left:0}}
/* ⚠ THE HERO IS A PHOTOGRAPH WITH LIGHT TEXT ON IT, SO IT DOES NOT FOLLOW THE PAGE THEME.
   Letting it follow turned the headline dark-on-dark-photo — caught by looking at the light
   theme rather than by reading the diff. The veil stays dark in both themes because the
   picture underneath it is the same picture, and white type needs the same scrim either way.
   Only the PAGE around the hero changes colour. */
[data-theme="light"] .hero h1,
[data-theme="light"] .hero p,
[data-theme="light"] .tags,
[data-theme="light"] .proof{color:#f3ece0}
[data-theme="light"] .hero h1 em,
[data-theme="light"] .eyebrow,
[data-theme="light"] .tags span,
[data-theme="light"] .proof b{color:#ef8b17}
[data-theme="light"] .btn.secondary{background:rgba(12,10,13,.42);color:#ef8b17;border-color:#ef8b17}
[data-theme="light"] .btn{color:#0c0a0d}
/* Photo cards and gallery captions are the same case: white type over a photograph. */
[data-theme="light"] .card.photo-card div,
[data-theme="light"] .gallery-card figcaption,
[data-theme="light"] .events figcaption{color:#f3ece0}
[data-theme="light"] .gallery-card strong{color:#f3ece0}
/* ⚠ EVERY SCRIM THAT SITS ON A PHOTOGRAPH STAYS DARK, IN BOTH THEMES. The captions on the
   dish cards, the gallery and the events figures are white type ON A PICTURE. When these
   followed the page theme they became a white fade under white text and the captions
   disappeared — visible only by looking at the light theme, not by reading the diff.
   The rule: page chrome follows the theme, anything laid over a photo does not. */
[data-theme="light"] .card.photo-card div{background:linear-gradient(180deg,transparent,rgba(12,10,13,.9))}
[data-theme="light"] .gallery-card:after{background:linear-gradient(180deg,transparent,rgba(12,10,13,.82))}
[data-theme="light"] .events figcaption{background:rgba(12,10,13,.75)}
/* ⚠ A SWITCH, NOT A MENU ITEM. The first version was a text button in the nav list and read
   as another link. This is a track with a knob that slides, which is what a person recognises
   as something they can flip. role="switch" + aria-checked keeps it honest for screen readers. */
.page-chrome{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.theme-switch{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;cursor:pointer;line-height:1}
.ts-track{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:52px;height:26px;padding:0 5px;border:1px solid var(--line);border-radius:999px;background:rgba(var(--ink-rgb),.35);transition:background .25s ease,border-color .25s ease}
.theme-switch:hover .ts-track{border-color:var(--amber)}
.ts-sun,.ts-moon{font-size:.72rem;line-height:1;opacity:.55;transition:opacity .25s ease}
.ts-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--amber);transition:transform .25s ease}
[data-theme="light"] .ts-knob{transform:translateX(26px)}
[data-theme="light"] .ts-sun{opacity:1}
[data-theme="dark"] .ts-moon,:root:not([data-theme="light"]) .ts-moon{opacity:1}
.theme-switch:focus-visible .ts-track{outline:2px solid var(--amber);outline-offset:2px}
@media(max-width:850px){.nav ul .theme-switch{min-height:48px;padding-left:0}}
