@font-face{font-family:BrandSerif;src:url('assets/20261019_source-serif-4.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--paper:#f7f5ef;--ink:#23231f;--muted:#68675f;--line:#dcdad2;--orange:#d54700;--pad:clamp(22px,5.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:#ead4c3}.wrap{width:min(100%,1440px);padding-inline:var(--pad);margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;z-index:99;background:var(--paper);padding:10px}.skip:focus{top:10px}.preview{padding:6px 20px;background:#23231f;color:#fff;text-align:center;font-size:10px;letter-spacing:.04em}
header{height:86px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center}.brand-name{font-family:BrandSerif,Georgia,serif;font-size:30px;font-weight:500;letter-spacing:-.035em;line-height:1.2}.desktop-nav{display:flex;gap:34px;font-size:12px}.desktop-nav a{padding-block:10px}.desktop-nav a:hover,.policy-links a:hover{color:var(--orange)}.mobile-nav{display:none}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:500}.mobile-only{display:none}.home-hero{display:grid;grid-template-columns:43% 57%;padding-block:60px 46px;align-items:center}.hero-copy{padding:12px 38px 35px 0}.hero-copy .eyebrow{color:var(--orange);font-size:12px;letter-spacing:.07em}.hero-copy h1{font-size:clamp(34px,3.7vw,54px);font-weight:500;line-height:1.6;letter-spacing:.03em;margin:22px 0}.hero-description{font-size:14px;line-height:2.2}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;border:0;border-bottom:1px solid var(--ink);background:none;padding:14px 0;font-size:12px;text-align:left}.hero-copy .text-link{margin-top:32px}.text-link:hover{color:var(--orange);border-color:var(--orange)}.hero-photo{position:relative}.hero-photo img{aspect-ratio:1.08;object-fit:cover;object-position:72% center}.hero-photo figcaption{font-size:9px;letter-spacing:.07em;color:var(--muted);margin-top:8px;text-align:right}.notice{display:grid;grid-template-columns:110px 1fr auto;align-items:baseline;gap:24px;padding-block:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:calc(min(100%,1440px) - 2 * var(--pad));padding-inline:0}.notice h2{font-size:13px;font-weight:500}.notice p,.notice a{font-size:12px}.notice a{white-space:nowrap}.notice a span{margin-left:24px}.home-section{padding-block:82px}.section-heading{margin-bottom:36px}.section-heading .eyebrow{color:var(--muted);font-size:10px;margin-bottom:9px}.section-heading h2{font-size:27px;font-weight:500;letter-spacing:.035em}.section-heading>p:last-child:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:14px}.about-body{display:grid;grid-template-columns:43% 57%;gap:0}.lead{font-size:26px;line-height:1.9;letter-spacing:.025em;font-weight:500}.about-body>div{max-width:510px}.about-body>div p{font-size:14px;line-height:2.2}.about-body>div p+p{margin-top:18px}.about-section{padding-bottom:68px}#menu{padding-top:40px}.menu-composition{display:grid;grid-template-columns:57% 43%;align-items:center}.menu-composition figure img{aspect-ratio:1.65;object-fit:cover}.menu-composition figcaption{font-size:10px;color:var(--muted);margin-top:9px}.menu-copy{padding:24px 0 24px 56px}.menu-copy h3{font-size:20px;font-weight:500;margin-bottom:18px}.menu-copy>p{font-size:13px}.menu-status{margin:25px 0;border-block:1px solid var(--line);padding:17px 0}.menu-status dt{font-size:11px;color:var(--muted)}.menu-status dd{font-size:13px;margin:6px 0 0}.fine-print{font-size:11px!important;line-height:1.9;color:var(--muted)}.app-band{margin-top:12px;background:#eeece4;border-block:1px solid var(--line)}.app-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:48px}.app-layout h2{font-size:26px;font-weight:500;margin-top:12px}.app-layout>div>p:not(.eyebrow){font-size:13px;line-height:2}.app-layout .text-link{margin-top:12px}.store-layout{display:grid;grid-template-columns:43% 57%;align-items:start}.store-name .status{font-size:11px;color:var(--orange);margin-bottom:16px}.store-name h3{font-size:30px;font-weight:500;margin-bottom:12px}.store-name>p:last-child{font-family:BrandSerif,Georgia,serif;font-size:19px}.info-table{margin:0;border-top:1px solid var(--line);min-width:0}.info-table>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--line);padding:22px 0;font-size:14px}.info-table dt{font-size:12px;color:var(--muted)}.info-table dd{margin:0;overflow-wrap:anywhere}.info-table small{font-size:11px;color:var(--muted)}#contact{border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:43% 57%;gap:0}.contact-layout>div>p{font-size:14px}.contact-layout .fine-print{margin-top:22px}.contact-actions>a{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:17px;gap:20px}.contact-actions>a:hover{color:var(--orange)}.contact-actions small{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.contact-actions .support-link{font-size:12px;border-bottom:1px solid var(--line)}.company-section{border-top:1px solid var(--line);display:grid;grid-template-columns:43% 57%;padding-block:58px 72px}.company-table>div{padding-block:18px;font-size:13px}footer{border-top:1px solid var(--line);padding-block:38px 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top .brand-name{font-size:25px}.policy-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:30px;font-size:11px}.copyright{font-size:10px;color:var(--muted);margin-top:28px}.sources{font-size:12px!important;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:26px}.sources summary{cursor:pointer;font-size:11px}.sources p{margin-top:12px}.sources h2{font-size:18px}.sources h3{font-size:15px;margin-block:20px 12px}
/* Public document pages retain the quiet, single-column layout. */
.legal{max-width:900px;margin:auto;padding:60px var(--pad) 70px}.legal h1{font-size:clamp(25px,4vw,38px);margin:14px 0 25px}.legal h2{font-size:21px;margin:30px 0 15px}.legal p,.legal li,.legal dd{font-size:14px;line-height:2}.legal dl{margin:30px 0}.legal dt{padding-top:20px;border-top:1px solid var(--line);font-size:14px;font-weight:500;margin-top:20px}.legal dd{margin:10px 0 0}.legal a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.note{padding:18px;background:#eeece4}.pending{font-size:12px!important;color:var(--muted);margin:20px 0}.legal ul,.legal ol{padding-left:20px}.legal .policy-table{overflow-x:auto;margin-block:24px}.legal table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.9}.legal th,.legal td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.legal th{font-weight:500}.back{display:inline-block;margin-top:26px;font-size:12px}.legal .eyebrow{font-size:12px}.legal .sources p,.legal .sources dd,.legal .sources li{font-size:12px}
dialog{border:1px solid var(--line);padding:50px;width:min(520px,calc(100% - 36px));background:var(--paper);color:var(--ink);position:fixed}dialog::backdrop{background:#23231f70}dialog .close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:25px}dialog h2{font-size:23px;margin:20px 0;font-weight:500}dialog>p:not(.eyebrow){font-size:13px}.dialog-back{margin-top:25px;border:1px solid var(--ink);background:none;padding:8px 25px;font-size:12px}
@media(min-width:1600px){.home-hero{padding-top:75px}.hero-photo img{aspect-ratio:1.16}}
@media(max-width:1000px){.desktop-nav{gap:22px}.home-hero{grid-template-columns:45% 55%}.hero-copy{padding-right:24px}.hero-copy h1{font-size:37px}.hero-description{font-size:12px}.menu-copy{padding-left:30px}.info-table>div{grid-template-columns:90px minmax(0,1fr);gap:18px}.app-layout h2{font-size:23px}}
@media(max-width:760px){:root{--pad:24px}html{scroll-padding-top:85px}header{height:70px}.brand-name{font-size:26px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{font-size:11px;cursor:pointer;list-style:none;border-bottom:1px solid var(--ink);padding:7px 0}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-panel{position:absolute;top:69px;left:0;right:0;background:var(--paper);border-block:1px solid var(--line);padding:15px 24px 25px;display:flex;flex-direction:column}.mobile-panel a{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.preview{font-size:9px;padding-block:5px}.home-hero{display:flex;flex-direction:column;padding-top:0;padding-bottom:32px;align-items:stretch}.hero-photo{order:-1;margin:0 calc(-1 * var(--pad))}.hero-photo img{aspect-ratio:1.18;object-position:74% center}.hero-photo figcaption{padding-right:var(--pad);font-size:8px;margin-top:5px}.hero-copy{padding:23px 0 0}.hero-copy .eyebrow{font-size:10px}.hero-copy h1{font-size:35px;line-height:1.55;margin:16px 0}.hero-description{font-size:13px}.hero-copy .text-link{margin-top:16px;font-size:11px}.mobile-only{display:none}.notice{grid-template-columns:65px 1fr;gap:5px 18px;padding-block:18px}.notice h2{font-size:12px}.notice p{font-size:11px}.notice>a{grid-column:2;font-size:10px;margin-top:5px}.home-section{padding-block:48px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:22px}.section-heading .eyebrow{font-size:9px;margin-bottom:7px}.section-heading>p:last-child:not(.eyebrow){font-size:12px;margin-top:10px}.about-body{grid-template-columns:1fr;gap:20px}.lead{font-size:23px}.about-body>div p{font-size:13px}.about-section{padding-bottom:35px}#menu{padding-top:22px}.menu-composition{grid-template-columns:1fr}.menu-composition figure img{aspect-ratio:1.4}.menu-copy{padding:25px 0 0}.menu-copy h3{font-size:18px;margin-bottom:12px}.menu-status{margin-block:20px}.app-band{margin-top:0}.app-layout{grid-template-columns:1fr;gap:20px;padding-block:35px}.app-layout h2{font-size:23px;margin-top:9px}.app-layout>div>p:not(.eyebrow){font-size:12px}.store-layout{grid-template-columns:1fr;gap:24px}.store-name h3{font-size:26px;margin-bottom:7px}.store-name .status{margin-bottom:10px}.store-name>p:last-child{font-size:17px}.info-table>div{font-size:13px;padding-block:18px;grid-template-columns:82px minmax(0,1fr);gap:15px}.info-table dt{font-size:11px}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-layout>div>p{font-size:13px}.contact-layout .fine-print{margin-top:15px}.contact-actions>a{font-size:16px;padding-block:17px}.contact-actions .support-link{font-size:11px}.company-section{display:block;padding-block:40px 48px}.company-table>div{font-size:12px}.company-section .section-heading{margin-bottom:22px}footer{padding-block:28px 22px}.footer-top .brand-name{font-size:23px}.footer-top>.fine-print{font-size:9px!important}.policy-links{gap:10px 20px;font-size:10px;margin-top:23px}.copyright{font-size:9px;margin-top:22px}.legal{padding:38px 24px 55px}.legal h1{font-size:27px;line-height:1.6;margin-top:12px}.legal h2{font-size:19px;margin-top:30px}.legal p,.legal li,.legal dd{font-size:13px}.legal dt{font-size:13px}.legal .policy-table{margin-inline:-8px}.legal th,.legal td{font-size:12px;padding:10px 8px}.note{padding:15px}dialog{padding:38px 25px}dialog h2{font-size:20px}.sources{overflow-wrap:anywhere}}
@media(max-width:360px){:root{--pad:20px}.hero-copy h1{font-size:31px}.brand-name{font-size:24px}.mobile-only{display:block}.legal{padding-inline:20px}.footer-top{align-items:flex-start}.footer-top .brand-name{font-size:21px}}
.mobile-nav:not([open]) .mobile-panel{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Home: three typographic roles, one brief opening. */
.home{--font-body:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;--font-heading:'Yu Mincho','Hiragino Mincho ProN',serif;--font-brand:BrandSerif,Georgia,serif;font-family:var(--font-body)}
.home .brand-name,.home .store-name>p:last-child{font-family:var(--font-brand)}
.home .hero-copy h1,.home .lead{font-family:var(--font-heading);font-weight:500}
.home .hero-copy h1{font-size:clamp(38px,4.1vw,59px);line-height:1.7;letter-spacing:.06em}
.home .hero-copy{position:relative;padding-bottom:48px}
.home .hero-copy::before{content:'';display:block;width:30px;height:2px;background:var(--orange);margin-bottom:27px}
.home .hero-copy .eyebrow{font-size:11px;color:var(--muted)}
.home .hero-photo{margin-left:10px}
.home .hero-photo::before{content:'';position:absolute;inset:22px -14px 31px 16px;border:1px solid #c6bdae;z-index:-1}
.home .hero-photo img{clip-path:inset(0)}
.home .hero-description{line-height:2.3}
.home .hero-photo figcaption{letter-spacing:.13em;margin-top:13px}
.footer-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:28px}
.footer-bottom .copyright{margin:0}
.replay-opening{font-family:inherit;font-size:10px;color:var(--muted);border:0;border-bottom:1px solid var(--line);padding:3px 0;background:none}
#opening{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;background:#eeece4;color:var(--ink);overflow:hidden}
#opening::backdrop{background:var(--paper)}
#opening[open]{display:grid;place-items:center}
.opening-center{padding:28px;text-align:center;transform:translateY(-10px)}
.opening-rule{display:block;width:46px;height:2px;background:var(--orange);margin:0 auto 30px;transform-origin:left;animation:opening-line 900ms cubic-bezier(.2,.7,.2,1) both}
#opening-title{font-family:var(--font-brand);font-size:clamp(38px,5.5vw,72px);letter-spacing:-.04em;line-height:1.2;animation:opening-word 850ms 100ms both}
#opening-caption{font-family:var(--font-body);font-size:12px;letter-spacing:.13em;margin-top:26px;animation:opening-word 800ms 250ms both}
.opening-skip{position:absolute;right:var(--pad);bottom:35px;background:none;border:0;border-bottom:1px solid #bcb9ad;padding:8px 0;color:var(--muted);font-family:var(--font-body);font-size:11px;letter-spacing:.07em}
.opening-skip span{margin-left:25px}
#opening.leaving{animation:opening-leave 650ms cubic-bezier(.76,0,.24,1) both}
.home-arrived .hero-copy{animation:home-arrive 750ms 80ms both}
.home-arrived .hero-photo img{animation:photo-arrive 1100ms cubic-bezier(.2,.7,.2,1) both}
@keyframes opening-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes opening-word{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes opening-leave{to{transform:translateY(-100%)}}
@keyframes home-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes photo-arrive{from{clip-path:inset(2% 2% 2% 2%)}to{clip-path:inset(0)}}
@media(max-width:760px){.home .hero-copy h1{font-size:36px;line-height:1.65;margin-block:14px}.home .hero-copy{padding:27px 0 0}.home .hero-copy::before{width:23px;margin-bottom:17px}.home .hero-photo{margin:0 calc(-1 * var(--pad))}.home .hero-photo::before{display:none}.home .hero-photo figcaption{margin-top:6px}.opening-skip{bottom:24px}#opening-title{font-size:43px}#opening-caption{font-size:10px;letter-spacing:.08em}.opening-rule{margin-bottom:25px}}
@media(max-width:360px){.home .hero-copy h1{font-size:32px}#opening-title{font-size:37px}.footer-bottom{gap:10px}.replay-opening{font-size:9px}}
@media(prefers-reduced-motion:reduce){.home-arrived .hero-copy,.home-arrived .hero-photo img,#opening.leaving,.opening-center>*{animation:none!important}.replay-opening{display:none}}

/* Menu price list. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.menu-price-list{margin-top:42px}.menu-price-note{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin-bottom:16px}.menu-price-note span{font-size:11px;color:var(--muted)}.menu-table-scroll{overflow-x:auto}.menu-price-table{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}.menu-price-table th,.menu-price-table td{padding:15px 13px;border-bottom:1px solid var(--line);text-align:right;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}.menu-price-table thead th{font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.menu-price-table th:first-child{text-align:left;padding-left:0}.menu-price-table .menu-category th{font-size:11px;color:var(--orange);padding-top:28px;padding-bottom:10px}.menu-price-table td:last-child{padding-right:0}
@media(max-width:760px){.menu-price-list{margin-top:27px}.menu-price-note{display:block;font-size:12px}.menu-price-note span{display:block;font-size:10px;margin-top:6px}.menu-price-table{min-width:520px;font-size:12px}.menu-price-table th,.menu-price-table td{padding:13px 10px}.menu-table-scroll{margin-right:calc(-1 * var(--pad));padding-right:var(--pad)}}

.food-menu-title{font-size:18px;font-weight:500;margin:34px 0 18px}.menu-price-table.food-price-table{min-width:0}.food-price-table th[scope="row"]{white-space:normal}.food-price-table td{width:100px}

/* Product images supplied for the existing menu. */
.product-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;margin-top:40px}.product{margin:0;min-width:0}.product img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.product figcaption{padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--font-body);letter-spacing:0}.product-name{display:block;font-size:13px;line-height:1.7}.product-price{display:block;font-size:11px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}.product-image-note{margin-top:24px}@media(max-width:760px){.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px;margin-top:26px}.product-name{font-size:12px}.product-price{font-size:10px}}
