@font-face{font-family:'Yuge Sans';src:url('assets/fonts/MPLUS1p-Regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:'Yuge Sans';src:url('assets/fonts/MPLUS1p-Bold.ttf');font-weight:700;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #157a91;outline-offset:5px}button{border:0}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}button[hidden],[hidden]{display:none!important}.wrap{width:min(var(--content-width),calc(100% - 100px));margin:auto}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:100;background:white;padding:10px}.header{height:88px;background:var(--color-white);display:flex;align-items:center;justify-content:space-between;padding:0 48px;position:relative;z-index:20;border-bottom:3px solid var(--color-red)}.brand{display:flex;align-items:center;gap:13px;color:var(--color-red);font-family:var(--font-display);font-size:32px;font-weight:900;letter-spacing:.12em;line-height:1.1}.brand small{font-family:var(--font-body);display:block;font-size:9px;letter-spacing:.22em;margin-top:7px}.brand-mark{font-size:44px;line-height:1}.desktop-nav{display:flex;gap:38px;font-size:13px;font-weight:700}.desktop-nav a{padding:15px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:var(--color-red);color:var(--color-red)}.desktop-nav span{color:var(--color-red);padding-left:15px}.demo-badge{font-size:11px;color:var(--color-muted);writing-mode:horizontal-tb}.menu-toggle{display:none}.mobile-menu{background:white;padding:24px;position:absolute;top:70px;left:0;width:100%;z-index:30}.mobile-menu a{display:block;padding:12px;border-bottom:1px solid var(--color-line)}.hero{height:920px;position:relative}.hero-photo{height:665px;background:var(--color-red);overflow:hidden;border-radius:0 0 50% 50% / 0 0 17% 17%;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-edition{position:absolute;top:30px;left:38px;color:white;font-size:10px;letter-spacing:.2em}.hero h1{font-family:var(--font-display);font-size:clamp(60px,6.4vw,92px);font-weight:900;line-height:1.45;letter-spacing:.06em;writing-mode:vertical-rl;position:absolute;right:11%;top:470px;height:390px;text-shadow:0 2px 0 #f9f4e04d}.hero-seal{position:absolute;top:590px;left:15%;background:var(--color-paper);padding:25px 35px 19px;outline:1px solid var(--color-gold);outline-offset:-8px;transform:rotate(-5deg);text-align:center;box-shadow:8px 15px 0 #c59c5c20;min-width:205px}.hero-seal>span{display:block;font-size:12px;letter-spacing:.1em}.hero-seal strong{display:block;font-family:var(--font-display);font-size:32px;line-height:1.35;margin:10px 0;color:var(--color-red)}.hero-seal .seal-bottom{font-size:9px}.scroll-cue{position:absolute;left:46%;top:693px;font-size:11px;writing-mode:vertical-rl;letter-spacing:.14em}.scroll-cue span{font-size:22px;margin-top:14px}.hero-bottom{position:absolute;bottom:0;left:50px;right:50px;display:flex;justify-content:space-between;border-bottom:1px solid var(--color-line);padding:0 0 20px;font-size:10px;letter-spacing:.12em;color:var(--color-muted)}.intro{padding-top:65px;padding-bottom:100px}.section-kicker{font-size:10px;letter-spacing:.18em;display:flex;align-items:center;gap:12px}.section-kicker>span{border:1px solid currentColor;border-radius:50%;width:27px;height:27px;display:inline-grid;place-items:center;font-size:10px}.intro-body{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;margin:35px 0 0 40px}.intro h2{font-family:var(--font-display);font-size:39px;font-weight:800;line-height:1.8;letter-spacing:.04em}.intro h2 em{font-style:normal;color:var(--color-red)}.intro-body p{margin-bottom:15px;line-height:2.3}.intro-note{font-size:10px;color:var(--color-muted)}.shops-heading{display:flex;align-items:end;justify-content:space-between;padding-bottom:35px}.shops-heading h2{font-family:var(--font-display);font-size:30px;margin-top:18px}.filters{display:flex;gap:8px}.filters button{background:transparent;border:1px solid var(--color-line);border-radius:30px;font-size:12px;padding:6px 18px}.filters button[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.taste-nav{display:grid;grid-template-columns:repeat(3,1fr);background:var(--color-red)}.taste-nav a{position:relative;height:235px;overflow:hidden;border-right:1px solid #fff5;background:var(--color-red);color:white}.taste-nav .bowl{position:absolute;width:70%;left:-12%;top:-30%;opacity:.87;transition:transform var(--motion-fast)}.taste-nav a:hover .bowl{transform:scale(1.06) rotate(5deg)}.taste-nav a>span{position:absolute;right:18%;top:25px;font-family:var(--font-display);font-size:54px;line-height:1.6;text-shadow:0 1px 10px #4d190e}.taste-nav small,.taste-nav strong{display:block;font-family:var(--font-body);font-size:11px;letter-spacing:.15em}.taste-nav b{position:absolute;right:20px;bottom:18px;font-size:25px;font-weight:400}.bowl{aspect-ratio:1;background-image:url('assets/bowls.png');background-size:300% 100%;background-repeat:no-repeat;border-radius:50%}.bowl-shoyu{background-position:0% center}.bowl-shio{background-position:50% center}.bowl-miso{background-position:100% center}.shop-list{padding:45px 0 90px}.shop{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding:85px 0;border-bottom:1px solid var(--color-line);scroll-margin-top:10px}.shop:nth-child(odd) .shop-visual{order:2}.shop-visual{position:relative;padding-top:80px}.shop-visual .bowl{width:112%;margin-left:-6%;position:relative;z-index:1}.ghost{position:absolute;top:-22px;left:-20px;font-family:var(--font-display);font-size:140px;font-weight:bold;color:#c59c5c33;letter-spacing:-.12em;white-space:nowrap}.shop-stamp{position:absolute;right:2%;top:10px;border:2px solid var(--color-red);border-radius:50%;width:92px;height:92px;display:grid;place-content:center;text-align:center;color:var(--color-red);font-family:var(--font-display);font-size:16px;line-height:1.5;transform:rotate(9deg);z-index:2}.shop-visual>p{font-size:11px;text-align:center;margin-top:15px}.shop-visual>p span{padding-left:25px;font-size:13px;font-weight:700}.shop-number{display:flex;justify-content:space-between;border-top:1px solid var(--color-line);padding-top:14px;margin-bottom:28px;font-size:11px;color:var(--color-muted);letter-spacing:.1em}.shop-number span{font-size:10px}.eyebrow{color:var(--color-red);font-size:12px;letter-spacing:.1em}.shop h3{font-family:var(--font-display);font-size:46px;line-height:1.5;margin-top:9px;font-weight:900}.gold-rule{width:40px;height:3px;background:var(--color-gold);margin:25px 0}.shop h4{color:var(--color-muted);font-size:21px;line-height:1.8;margin-bottom:22px}.shop-copy>p:not(.shop-number){font-size:13px;line-height:2.3}.shop details{border-top:1px solid var(--color-line);margin:24px 0 20px;font-size:12px}.shop summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:12px 0;color:var(--color-muted)}.shop summary::-webkit-details-marker{display:none}.shop details[open] summary span{transform:rotate(45deg)}.shop details p{padding:0 0 12px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-width:280px;border-radius:var(--radius-pill);background:var(--color-gold);color:var(--color-ink);font-size:12px;font-weight:700;padding:16px 24px;transition:background var(--motion-fast),transform var(--motion-fast)}.pill:hover{background:#d5b57f;transform:translateY(-2px)}.pill span{font-size:21px;line-height:1}.access{padding:100px 0 45px;background:var(--color-red);color:var(--color-paper);border-radius:50% 50% 0 0 / 60px 60px 0 0;text-align:center}.access .section-kicker{justify-content:center}.access h2{font-family:var(--font-display);font-size:46px;line-height:1.6;margin:22px 0}.access>div>p{font-size:13px}.access-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;margin:60px 0;align-items:center;text-align:left}.area-plan{border:1px solid #f9f4e077;padding:28px}.map-caption{font-size:10px;letter-spacing:.1em}.map-shops{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.map-shops button{background:var(--color-paper);padding:20px 8px;color:var(--color-ink);font-size:13px;font-weight:700;clip-path:polygon(0 15%,50% 0,100% 15%,100% 100%,0 100%);min-height:144px}.map-shops button:hover{background:#ead7b3}.map-shops small{display:block;font-size:24px;font-family:Georgia,serif;color:var(--color-red)}.map-shops span{display:block;font-size:10px;font-weight:400;color:var(--color-muted);margin-top:7px}.map-walk{border-block:1px dashed #fff8;padding:15px;margin:20px -10px;text-align:center;font-size:12px;letter-spacing:.1em}.map-entry{font-size:13px;text-align:center}.map-entry span{display:block;font-size:10px;opacity:.8}.access-info h3{font-size:20px;font-family:var(--font-display)}dl{margin:20px 0}dl>div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid #fff5;padding:15px 0;font-size:12px}dd{margin:0}dd small{font-size:10px}.access-info>a{display:flex;justify-content:space-between;border-bottom:1px solid;padding:10px 0;font-size:12px}.access .fiction-note{font-size:10px;opacity:.9}.footer{padding:50px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:20px;background:white}.footer .brand{font-size:27px}.footer>p{font-family:var(--font-display);font-size:17px}.footer>small{font-size:9px;letter-spacing:.1em;color:var(--color-muted)}.system-link{font-size:11px;color:var(--color-muted);text-decoration:underline}dialog{width:min(540px,calc(100% - 36px));border:1px solid var(--color-gold);padding:50px;background:var(--color-paper);color:var(--color-ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#21160db8;backdrop-filter:blur(4px)}dialog h2{font-family:var(--font-display);font-size:34px;margin:20px 0}dialog p{font-size:13px}dialog dl>div{border-color:var(--color-line)}.dialog-close{position:absolute;right:14px;top:10px;background:transparent;font-size:29px;width:44px;height:44px}.dialog-note{font-size:11px!important;color:var(--color-muted);margin:20px 0}.dialog-done{min-width:0;width:100%}
@media(min-width:1600px){.hero-photo img{object-position:center 50%}.hero h1{right:17%}}
@media(max-width:1100px){.header{padding:0 25px}.demo-badge{display:none}.shop{gap:45px}.shop h3{font-size:37px}.shop h4{font-size:18px}.access-layout{gap:35px}.hero h1{right:6%}.intro-body{gap:30px;margin-left:0}.intro h2{font-size:32px}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.header{height:76px}.brand{font-size:27px}.desktop-nav{gap:24px;font-size:12px}.hero{height:850px}.hero-photo{height:560px}.hero-photo img{object-position:center center}.hero h1{font-size:67px;top:420px;right:7%;height:340px}.hero-seal{top:495px;left:8%;padding:24px;min-width:180px}.hero-bottom{left:28px;right:28px}.scroll-cue{left:41%;top:640px}.intro{padding-block:50px 75px}.intro-body{grid-template-columns:1fr;gap:25px}.intro h2{font-size:36px}.intro-body p{line-height:2.1}.intro-body>div{margin-left:24%}.shops-heading{align-items:start;gap:25px;flex-direction:column}.taste-nav a{height:175px}.taste-nav a>span{font-size:38px;right:16%;top:20px}.taste-nav small{font-size:8px}.taste-nav .bowl{width:94%;left:-33%;top:8%}.shop{grid-template-columns:1fr;gap:30px;padding:65px 0;max-width:570px;margin:auto}.shop:nth-child(odd) .shop-visual{order:0}.shop-visual{padding-top:35px}.shop-visual .bowl{width:90%;margin:auto}.ghost{font-size:130px;top:-20px;left:8%}.shop-stamp{right:6%;top:0}.shop-copy{padding:0 30px}.shop h3{font-size:43px}.shop h4{font-size:22px}.shop-copy>p:not(.shop-number){font-size:14px}.shop-number{margin-bottom:20px}.pill{width:100%}.access-layout{grid-template-columns:1fr;max-width:600px;margin:45px auto;gap:35px}.access{padding-top:80px}.access-info{padding:0 20px}.access h2{font-size:38px}}
@media(max-width:560px){body{font-size:14px}.header{height:70px;padding:0 20px}.brand{font-size:25px;gap:9px}.brand-mark{font-size:35px}.brand small{font-size:8px}.desktop-nav{display:none}.menu-toggle{display:grid;background:transparent;place-content:center;gap:7px;width:44px;height:44px}.menu-toggle span{display:block;background:var(--color-red);width:27px;height:1px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{height:730px}.hero-photo{height:380px;border-radius:0 0 50% 50% / 0 0 12% 12%}.hero-photo img{width:175%;max-width:none;height:100%;margin-left:-38%;object-fit:cover;object-position:center center}.hero-edition{font-size:7px;left:20px;top:15px;letter-spacing:.15em}.hero h1{writing-mode:horizontal-tb;font-size:49px;line-height:1.45;letter-spacing:.04em;left:27px;right:auto;top:347px;height:auto}.hero-seal{min-width:0;width:126px;padding:19px 11px 17px;left:auto;right:23px;top:339px;transform:rotate(5deg)}.hero-seal>span{font-size:9px}.hero-seal strong{font-size:22px;margin:8px 0}.hero-seal .seal-bottom{font-size:7px}.scroll-cue{left:auto;right:55px;top:545px;font-size:9px;writing-mode:horizontal-tb}.scroll-cue span{margin-left:8px}.hero-bottom{bottom:8px;font-size:8px;gap:15px;padding-bottom:18px}.hero-bottom span:last-child{max-width:115px;text-align:right;line-height:1.7}.intro{padding-top:35px;padding-bottom:65px}.section-kicker{font-size:8px;letter-spacing:.14em}.intro-body{margin-top:25px}.intro h2{font-size:28px;line-height:1.7;letter-spacing:0}.intro-body>div{margin-left:0}.intro-body p{font-size:12px;line-height:2.2}.intro-note{font-size:9px}.shops-heading{gap:23px}.shops-heading h2{font-size:25px}.filters{width:100%;gap:7px}.filters button{font-size:11px;padding:7px 15px;flex:1}.taste-nav{grid-template-columns:1fr}.taste-nav a{height:126px;border-bottom:1px solid #fff5}.taste-nav .bowl{width:170px;left:8%;top:-22px}.taste-nav a>span{font-size:35px;right:18%;top:13px;line-height:1.4}.taste-nav strong{font-size:10px}.taste-nav small{font-size:8px}.taste-nav b{bottom:15px}.shop-list{padding-top:15px;padding-bottom:65px}.shop{padding:55px 0;gap:24px}.shop-visual{padding-top:45px}.shop-visual .bowl{width:112%;margin-left:-6%}.ghost{font-size:96px;top:-10px;left:0}.shop-stamp{right:0;width:74px;height:74px;font-size:13px}.shop-visual>p{font-size:10px;margin-top:6px}.shop-copy{padding:0}.shop-number{font-size:10px}.shop h3{font-size:36px}.eyebrow{font-size:10px}.shop h4{font-size:19px}.shop-copy>p:not(.shop-number){font-size:12px}.gold-rule{margin:20px 0}.pill{padding-block:16px;min-width:0}.access{border-radius:50% 50% 0 0 / 25px 25px 0 0;padding-top:55px}.access h2{font-size:33px}.access>div>p{font-size:11px}.area-plan{padding:20px 13px}.map-shops{gap:6px}.map-shops button{font-size:10px;padding:14px 3px;min-height:125px}.map-caption{font-size:9px}.map-shops small{font-size:21px}.access-info{padding:0 5px}.access .fiction-note{font-size:9px;text-align:left;line-height:2}.footer{padding:40px 20px;gap:20px}.footer>small{font-size:8px}dialog{padding:40px 25px 30px}dialog h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep each vertical phrase intact; natural wrapping otherwise produces extra columns. */
.hero h1{display:flex;flex-direction:row-reverse;writing-mode:horizontal-tb;height:auto;font-size:clamp(60px,5.3vw,76px);top:505px;gap:8px}.hero h1 span{display:block;writing-mode:vertical-rl;white-space:nowrap}.scroll-cue span{display:inline-block;writing-mode:horizontal-tb}
@media(max-width:900px){.hero h1{font-size:60px;top:455px;gap:0}}
@media(max-width:560px){.hero h1{display:block;font-size:49px;top:347px}.hero h1 span{writing-mode:horizontal-tb;white-space:nowrap}}
@media(max-width:560px){.hero h1{font-size:46px;top:400px}.hero-seal{top:260px}.hero-seal strong{font-size:16px;line-height:1.6;white-space:nowrap}.scroll-cue{top:645px}}
.hero h1{text-shadow:1px 1px 0 var(--color-paper),-1px -1px 0 var(--color-paper)}
.scroll-cue span{margin-top:0}
@media(max-width:560px){.scroll-cue{top:605px}.hero h1{text-shadow:none}}

/* Steam is bounded to food photography; labels and controls remain above it. */
.hero-photo .steam-main{width:28%;height:55%;left:36%;top:15%}
.hero-photo .steam-left{width:20%;height:44%;left:8%;top:-10%;--steam-opacity:.3}
.hero-photo .steam-right{width:20%;height:44%;right:8%;top:-10%;--steam-opacity:.3}
.shop-visual .steam-dish{width:52%;height:64%;left:24%;top:6%;--steam-opacity:.42}
.steam-toggle{position:absolute;right:25px;top:20px;z-index:4;background:#49131699;color:#fff;border:1px solid #ffffff80;border-radius:30px;padding:9px 15px;font-size:11px;display:flex;align-items:center;gap:12px;min-height:44px}
.steam-toggle:hover{background:#491316dd}
@media(max-width:560px){.hero-photo .steam-main{width:62%;height:65%;left:19%;top:8%}.hero-photo .steam-left{left:-25%}.hero-photo .steam-right{right:-25%}.steam-toggle{top:15px;right:14px;font-size:10px;padding:5px 11px}.hero-edition{max-width:200px}.shop-visual .steam-dish{top:8%}}
