/* A photo-led shopfront, with the sharpness of Japanese menu typography. */
.header .settings-open{margin-left:0;min-height:44px;padding:10px 13px;border:1px solid #a6a6a6;background:linear-gradient(125deg,#ffffff,#ededec);box-shadow:0 3px 0 #a6a6a6;font-size:11px;white-space:nowrap;border-radius:2px 2px 10px 2px;flex-shrink:0}
.settings-open>span{font-family:var(--serif);font-size:16px;margin-right:3px}
.hero{min-height:760px;height:auto;max-height:none;background:#171511;isolation:isolate}
.hero-photo{object-position:64% 50%;filter:none}
.hero-shade{background:linear-gradient(90deg,#0e0c09c7,#1b122f70 39%,#1b122f05 75%),linear-gradient(0deg,#1b122fef,#1b122f22 55%,#100d0b80)}
.hero-copy{padding:130px 6vw 112px;max-width:850px;position:relative;z-index:1}
.hero h1{font-size:clamp(64px,7vw,102px);line-height:1.04;letter-spacing:-.045em;text-shadow:0 3px 28px #0005}
.hero h1>.hero-line{margin-top:17px;width:fit-content}
.hero-line>small{display:block;font-size:clamp(16px,1.65vw,24px);letter-spacing:.16em;line-height:1.8;margin:0 0 8px 5px;font-weight:700;color:#ededec}
.hero-line>b{display:block;font:inherit;white-space:nowrap}
.hero .crunch-word{color:#ededec;background:linear-gradient(170deg,#ffffff,#a6a6a6 80%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-intro{display:inline-block;font-family:var(--serif);font-size:13px;letter-spacing:.12em;border-bottom:1px solid #a6a6a699;padding-bottom:10px;margin-bottom:5px}
.hero-description{font-size:14px;letter-spacing:.07em;margin-top:24px;color:#ffffff}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:26px}
.hero-actions .button{margin:0;min-height:60px;font-size:14px;box-shadow:0 5px 0 #1b122f,0 15px 35px #0004}
.hero-discover{font-size:12px;display:flex;gap:16px;align-items:center;padding:12px 0;min-height:46px;border-bottom:1px solid #a6a6a6;white-space:nowrap}
.hero-seal{top:100px;bottom:auto;right:6%;width:116px;height:116px;box-shadow:0 12px 35px #0003}
.hero-seal strong{font-size:30px}.hero-seal span{font-size:15px}.hero-seal small{font-size:8px}
.hero .hero-bottom{bottom:22px;border-top:1px solid #a6a6a666;padding-top:14px;left:6vw;right:6vw}
.hero .hero-kicker{z-index:1}.hero .hero-bottom>span{font-size:10px}
.hero.is-entering .hero-copy .button{animation:cta-arrive .55s 1s both!important}
.hero.is-entering .hero-discover{animation:rise .55s 1.1s both}
@keyframes cta-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.photo-open{position:absolute;z-index:3;left:25px;bottom:58px;display:flex;gap:18px;align-items:center;padding:12px 16px;min-height:46px;background:linear-gradient(115deg,#ffffffe8,#ededecef);border:1px solid #ededec;box-shadow:0 4px 0 #231f20;font-size:11px;border-radius:2px 2px 9px 2px}
.photo-open span{font-size:18px}.taste-image .sizzle{bottom:auto;top:26px;right:-18px}
.catalog-link{margin-top:22px;padding:17px 0;border-top:1px solid #a6a6a6;border-bottom:1px solid #a6a6a6}
.catalog-link>span,.catalog-link>small{display:block;font-size:11px;line-height:1.8;color:#231f20}
.catalog-link .text-link{font:700 17px var(--serif);margin:8px 0;min-height:44px;display:flex;align-items:center;justify-content:space-between;border-bottom:none;gap:16px;color:#1b122f}
.catalog-link>small{font-size:10px;max-width:470px}
.contact-strip .catalog-link{max-width:560px;margin-top:25px}
.faq-search{max-width:650px;margin-bottom:22px}.faq-search label{display:block;font:700 15px var(--serif);margin-bottom:10px}
.faq-search>div{display:flex;gap:8px;align-items:stretch}
.faq-search input{min-width:0;width:100%;border:1px solid #231f20;border-radius:2px;background:#ffffff;padding:14px 16px;color:#1b122f;font:inherit;font-size:16px;min-height:52px}
.faq-search button{flex-shrink:0;background:linear-gradient(120deg,#ededec,#a6a6a6);border:1px solid #a6a6a6;padding:10px 16px;font-size:12px;box-shadow:0 3px 0 #231f20}
.faq-empty{padding:28px;background:#ededec;border:1px solid #a6a6a6;margin-top:22px}.faq-empty[hidden]{display:none}.faq-empty h2{font-size:22px!important;margin-bottom:12px}.faq-empty p{font-size:13px}.faq-empty .button{margin-top:20px}
dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;background:repeating-linear-gradient(115deg,#ededec,#ffffff 3px,#ededec 5px);border:1px solid #231f20;border-radius:3px 3px 20px 3px;color:#1b122f;padding:38px;box-shadow:0 30px 100px #0008}
dialog::backdrop{background:#100d09c4;backdrop-filter:blur(5px)}
dialog h2{font-size:28px;line-height:1.6;margin:12px 0}dialog p{font-size:13px;line-height:1.9}dialog .dialog-close{position:absolute;top:10px;right:10px;width:44px;height:44px;min-height:44px;background:#ededec;border:1px solid #a6a6a6;color:#1b122f;font-size:25px;z-index:3}
.settings-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.settings-controls button{min-height:50px;margin:0;padding:10px;font-size:12px;background:linear-gradient(125deg,#ffffff,#a6a6a6);color:#1b122f;border:1px solid #a6a6a6;box-shadow:0 3px 0 #a6a6a6}
.settings-controls button[aria-pressed=true]{background:linear-gradient(125deg,#1b122f,#1b122f);color:#ffffff;border-color:#1b122f;box-shadow:0 3px 0 #a6a6a6}
.settings-controls button:disabled{opacity:.5;cursor:default}
.volume-label{display:flex;justify-content:space-between;gap:20px;font-size:13px;font-weight:700;margin-top:22px}.volume-label output{font-family:var(--sans);font-variant-numeric:tabular-nums;color:#1b122f}
#sound-volume{width:100%;min-height:44px;accent-color:#1b122f;cursor:pointer}.settings-note{margin-top:10px;color:#231f20}.sound-preview{margin-top:22px;font-size:13px}
.food-view{width:min(960px,calc(100% - 32px));padding:0;overflow:auto;background:#ededec}.food-view>img{width:100%;height:auto;max-height:55dvh;object-fit:contain;background:#181612}.food-view>div{padding:26px 32px}.food-view h2{font-size:30px}.food-view .button{margin-top:15px}
#copy-fallback label{display:block;font-size:12px;margin-top:20px}#copy-content{display:block;width:100%;font:14px/1.8 var(--sans);background:#ffffff;color:#1b122f;border:1px solid #a6a6a6;padding:13px;margin:8px 0 20px;resize:vertical;min-height:160px}
input:focus-visible,textarea:focus-visible{outline:3px solid #1b122f;outline-offset:3px}.not-found .button{margin:30px 20px 0 0}.not-found .text-link{display:inline-flex;min-height:44px;align-items:center}.not-found h1{font-size:clamp(30px,5vw,58px);margin-top:18px}
@media(min-width:761px) and (max-width:1050px){.header nav a:first-child{display:none}.header nav{gap:14px}.header .brand{font-size:15px}.hero-copy{padding-top:130px}.hero h1{font-size:78px}.hero-seal{right:4%;width:96px;height:96px}}
@media(max-width:760px){
 .header{height:72px;padding:0 14px;gap:10px}.header .brand{font-size:14px;gap:7px}.header .brand img{width:34px;height:34px}.header .brand small{font-size:8px;letter-spacing:.08em}.header .settings-open{margin-left:auto;padding:8px 10px;font-size:10px}.header .menu-toggle{min-width:44px;width:44px}.mobile-nav{top:72px}
 .hero{min-height:0;height:auto}.hero-photo{object-position:51% 40%;height:100%}.hero-shade{background:linear-gradient(0deg,#100d09fa,#1b122fba 38%,#1b122f05 70%,#1b122f66)}
 .hero-copy{padding:210px 24px 92px;width:100%;max-width:none}.hero-intro{font-size:11px;padding-bottom:7px;margin-bottom:0}.hero h1{font-size:clamp(48px,13.5vw,78px);line-height:1.08;letter-spacing:-.055em}.hero h1>.hero-line{margin-top:13px}.hero-line>small{font-size:13px;line-height:1.5;letter-spacing:.12em;margin:0 0 5px 2px}
 .hero-description{font-size:12px;line-height:1.9;max-width:none;margin-top:20px;letter-spacing:.04em}.hero-actions{gap:10px;margin-top:22px}.hero-actions .button{font-size:12px;min-height:54px;padding:16px 20px;width:100%;justify-content:space-between}.hero-actions .hero-discover{font-size:11px;min-height:44px;padding:9px 0;display:flex;width:100%;justify-content:space-between;border-color:#a6a6a688}
 .hero-seal{top:76px;right:24px;bottom:auto;width:76px;height:76px;outline-offset:4px;border-width:2px}.hero-seal span{font-size:11px}.hero-seal strong{font-size:20px}.hero-seal small{font-size:6px;display:block}.hero .hero-kicker{top:23px;left:24px;right:24px;font-size:10px}.hero .hero-kicker>span{display:block;font-size:8px;letter-spacing:.03em}
 .hero .hero-bottom{left:24px;right:24px;bottom:18px;padding-top:12px;gap:8px;flex-wrap:nowrap}.hero .hero-bottom>span:first-child{display:none}.hero .hero-bottom>span{font-size:10px;white-space:nowrap}.hero .replay{min-height:44px;font-size:9px;white-space:nowrap;margin-left:auto;padding:8px 10px}.hero-opening>span{font-size:29px}
 .photo-open{left:16px;bottom:50px;font-size:10px;padding:10px 12px;gap:12px}.taste-image .sizzle{top:20px;right:-10px;width:75px;height:75px}.taste-image .sizzle span{font-size:20px}
 .section{padding-top:52px;padding-bottom:52px}.scenes{padding-top:12px}.menu-story{padding-top:15px}.taste-copy>p{font-size:13px}.mood-check strong{font-size:14px}.mood-check>span:nth-child(2){line-height:1.8}.mood-result p{font-size:12px}.scene-service p{font-size:12px}
 .catalog-link .text-link{font-size:16px}.faq-search{margin-bottom:18px}.faq-search input{padding:12px;min-height:50px}.faq-search button{padding:10px 12px;font-size:11px}.faq-empty{padding:22px}.faq-empty h2{font-size:20px!important}.faq-empty .button{font-size:12px}
 dialog{padding:34px 22px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}dialog h2{font-size:24px;padding-right:10px}.settings-controls{gap:7px}.settings-controls button{font-size:11px;padding:8px}.food-view{width:calc(100% - 24px);padding:0}.food-view>img{max-height:45dvh}.food-view>div{padding:24px}.food-view h2{font-size:26px}.food-view .button{width:100%;font-size:12px}.sound-preview{width:100%;font-size:12px}
 .toast{max-width:calc(100vw - 28px);font-size:12px;bottom:calc(86px + env(safe-area-inset-bottom))}.mobile-dock{padding-bottom:calc(9px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.header{padding:0 10px;gap:7px}.header .brand{font-size:12px;gap:5px}.header .brand img{width:29px;height:29px}.header .brand small{font-size:7px}.header .settings-open{font-size:9px;padding:8px}.hero-copy{padding:180px 20px 92px}.hero h1{font-size:46px}.hero .hero-kicker{left:20px;right:20px}.hero-seal{right:21px}.hero .hero-bottom{left:20px;right:20px}.mood-check strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero.is-entering .hero-copy .button,.hero.is-entering .hero-discover{animation:none!important}}
html[data-motion=off] .hero.is-entering .hero-copy .button,html[data-motion=off] .hero.is-entering .hero-discover{animation:none!important}
