.hero-logo{left:50%!important;right:auto!important;top:8vh!important;transform:translateX(-50%)!important;height:31vh!important;max-width:22vw!important;opacity:1!important;animation:none!important;z-index:4!important;filter:drop-shadow(0 0 7px rgba(255,255,255,.16)) drop-shadow(0 0 15px rgba(215,30,70,.14))!important}.fluid-text-stage.fluid-ready .hero-logo{opacity:1!important}.hero-copy{transform:translate3d(calc(var(--fx-x,0)*1px),calc(var(--fx-y,0)*1px),0);transition:transform .10s linear;text-shadow:0 2px 22px rgba(0,0,0,.78),calc(var(--fx-x,0)*.20px) calc(var(--fx-y,0)*.20px) 18px rgba(175,205,235,.18)}.signature .media{filter:brightness(.66) contrast(1.10) saturate(1.02)!important}.signature .fx-steam{mix-blend-mode:screen;opacity:.58;transform:none!important;pointer-events:none}.food-card{min-height:300px;overflow:hidden}.food-card>img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform:scale(1.06)}.food-card:nth-child(1)>img{object-position:50% 47%;transform:scale(1.13)}.food-card:nth-child(2)>img{object-position:50% 46%;transform:scale(1.11)}.food-card:nth-child(3)>img,.food-card:nth-child(4)>img,.food-card:nth-child(8)>img{object-position:50% 45%;transform:scale(1.10)}.food-card:nth-child(5)>img{object-position:50% 48%;transform:scale(1.12)}.food-card:nth-child(6)>img,.food-card:nth-child(7)>img{object-position:50% 50%;transform:scale(1.08)}.food-card>div{left:10px;right:10px;bottom:8px;padding:7px 9px;background:linear-gradient(90deg,rgba(4,3,3,.88),rgba(4,3,3,.12));backdrop-filter:blur(3px);border-left:1px solid rgba(211,166,82,.7)}.food-card h3{font-size:15px;margin:0 0 2px;line-height:1.15}.food-card p{font-size:9px;line-height:1.15}.menu-section{background:radial-gradient(circle at 78% 10%,rgba(91,53,27,.18),transparent 34%),#070504}.menu-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 24px;border-bottom:1px solid var(--line);padding-bottom:14px}.menu-tab{border:1px solid #3b2c22;background:#0b0806;color:#d8cec3;padding:11px 18px;border-radius:999px;font-size:12px;letter-spacing:.12em;cursor:pointer}.menu-tab.active{background:var(--gold);color:#100b07;border-color:var(--gold)}.menu-panel{display:none}.menu-panel.active{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:24px;align-items:start}.menu-text-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#33251d;border:1px solid #33251d}.menu-row{background:#090706;padding:12px 14px;display:flex;justify-content:space-between;gap:14px;align-items:baseline}.menu-row b{font:400 14px/1.3 "Yu Mincho",serif}.menu-row span{color:var(--gold);font:600 12px Georgia,serif;white-space:nowrap}.menu-row-extra{background:#0c0907}.menu-sheet-card{position:sticky;top:82px;background:#0b0806;border:1px solid #3a2a20;padding:8px}.menu-sheet-card small{display:block;color:#9b8d80;font-size:9px;letter-spacing:.2em;margin-bottom:6px}.menu-sheet-card button{width:100%;border:0;background:transparent;padding:0;cursor:zoom-in}.menu-sheet-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#050403}.menu-sheet-card strong{display:block;margin-top:5px;color:var(--gold);font:400 10px "Yu Mincho",serif;letter-spacing:.05em}.menu-links{display:none!important}dialog{border:1px solid #3b2a20!important;background:#070504!important;box-shadow:0 24px 80px rgba(0,0,0,.75)}dialog h2{padding:8px 52px 8px 12px!important;font-size:13px!important;line-height:1.15;border-bottom:1px solid #261b15}dialog img{max-height:89vh!important}.close{top:3px!important}.hero .mobile-fluid-fallback{opacity:.78}.hero .veil{background:linear-gradient(90deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.16) 35%,rgba(0,0,0,.04) 65%),linear-gradient(0deg,rgba(5,3,3,.62) 0,transparent 32%)!important}@media(max-width:700px){.hero-logo{left:50%!important;right:auto!important;top:5.5vh!important;transform:translateX(-50%)!important;height:25vh!important;max-width:25vw!important;opacity:1!important;animation:none!important;z-index:4!important}.fluid-text-stage.fluid-ready .hero-logo{opacity:1!important}.signature .media{filter:brightness(.72) contrast(1.08) saturate(1.02)!important}.signature .fx-steam{opacity:.52!important;transform:none!important}.signature-tsubasa .media{object-fit:cover!important;object-position:50% 40%!important;transform:scale(1.08)}.signature-tsubasa .fx-steam{transform:scale(1.08)!important;transform-origin:50% 40%!important}.food-card{min-height:54vw}.food-card>img{transform:scale(1.09)}.food-card>div{left:6px;right:6px;bottom:6px;padding:6px 7px}.food-card h3{font-size:12px}.food-card p{font-size:8px}.menu-panel.active{grid-template-columns:1fr;gap:10px}.menu-text-list{grid-template-columns:1fr}.menu-row{padding:9px 11px;gap:10px}.menu-row b{font-size:13px;line-height:1.25}.menu-row span{font-size:11px;white-space:normal;text-align:right}.menu-sheet-card{position:static;padding:0;max-width:100%;border:0;background:transparent}.menu-sheet-card small,.menu-sheet-card strong{display:none}.menu-sheet-card button{display:block;width:100%}.menu-sheet-card img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border:1px solid #3a2a20}.hero-copy{transition:none}.hero .mobile-fluid-fallback{opacity:.82}}
/* Scoped 2026-08-17 revision: stronger existing hero response and approved product order. */
.hero-copy,.hero-copy.reveal.in{transform:translate3d(calc(var(--fx-x,0)*1px),calc(var(--fx-y,0)*1px),0) skew(calc(var(--fx-x,0)*.025deg),calc(var(--fx-y,0)*.02deg));transition:transform .08s linear;text-shadow:0 2px 22px rgba(0,0,0,.82),calc(var(--fx-x,0)*.34px) calc(var(--fx-y,0)*.34px) 24px rgba(175,205,235,.28)}
.hero-copy h1 em{position:relative;display:inline-block;color:#f3ede2;font-style:normal;filter:drop-shadow(calc(var(--fx-x,0)*.18px) calc(var(--fx-y,0)*.18px) 9px rgba(202,225,244,.35));transform:translate3d(calc(var(--fx-x,0)*.16px),calc(var(--fx-y,0)*.12px),0) skewX(calc(var(--fx-x,0)*.04deg));will-change:transform,filter}
.hero-copy h1 em::after{content:"四半世紀。";position:absolute;inset:0;color:#d3a652;opacity:calc(var(--fx-energy,.16)*.16);transform:translate(calc(var(--fx-x,0)*-.10px),calc(var(--fx-y,0)*-.08px));filter:blur(.7px);pointer-events:none}

/* One shared fluid layer serves all eight favorites without creating eight
   additional WebGL contexts. */
.food-grid{position:relative;isolation:isolate}
.favorites-steam{position:absolute;inset:0;width:100%;height:100%;z-index:2;display:block;pointer-events:none;mix-blend-mode:screen;opacity:.72;filter:brightness(1.25) blur(.5px) contrast(1)}
.food-card{z-index:1}
.food-card::after{z-index:3;pointer-events:none}
.food-card>div{z-index:4}
@media(max-width:700px){.favorites-steam{opacity:.76;filter:brightness(1.4) blur(.4px) contrast(.98)}}

/* Reveal the lower crossing and road while keeping the mobile portrait crop. */
@media(min-width:701px){#fluidTextStage .hero-bg{object-fit:cover!important;object-position:center 72%!important}}

/* The map is a short, optional arrival scene. MapLibre and its tiles are only
   loaded after the visitor asks to walk, keeping the main page lightweight. */
.night-walk{position:relative;z-index:6;min-height:88svh;padding:96px 6vw;background:#030303;overflow:hidden;--walk-progress:0%}
.night-walk-head{position:relative;z-index:3;max-width:720px;pointer-events:none}
.night-walk-head small{color:var(--gold);font-size:10px;letter-spacing:.34em}
.night-walk-head h2{margin:.24em 0;font:400 clamp(44px,6vw,82px)/1.04 "Yu Mincho",serif;letter-spacing:.05em}
.night-walk-head p{color:#cfc5ba;line-height:1.9}
.night-map-shell{position:absolute;inset:0;background:radial-gradient(circle at 72% 55%,#24100d,#030303 62%)}
.night-map-shell::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#030303 0,rgba(3,3,3,.58) 30%,transparent 58%),linear-gradient(0deg,#030303 0,transparent 27%,rgba(3,3,3,.16));box-shadow:inset 0 0 72px rgba(0,0,0,.72)}
.night-map{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;filter:saturate(.92) contrast(1.06) brightness(1.08)}
.night-map.maplibregl-map{position:absolute;inset:0;width:100%;height:100%}
.night-walk.is-active .night-map{opacity:1}
.night-walk-controls{position:absolute;z-index:4;left:6vw;bottom:9vh;width:min(460px,80vw)}
.walk-start{border:1px solid rgba(211,166,82,.72);background:rgba(5,3,3,.82);color:#f3ede2;padding:15px 22px;font:500 11px/1 sans-serif;letter-spacing:.18em;cursor:pointer;backdrop-filter:blur(12px)}
.walk-start:disabled{opacity:.62;cursor:wait}
.walk-status{display:block;margin-top:16px;color:#f3ede2;font:400 17px "Yu Mincho",serif;letter-spacing:.08em}
.walk-progress{display:block;width:100%;height:1px;margin-top:14px;background:rgba(255,255,255,.18)}
.walk-progress::after{content:"";display:block;width:var(--walk-progress);height:1px;background:var(--gold);box-shadow:0 0 12px #ff155e;transition:width .12s linear}
.walk-destination{width:42px;height:50px;display:grid;place-items:center;position:relative;color:#fff;font:600 19px "Yu Mincho",serif;text-shadow:0 0 9px #fff,0 0 20px #ff155e}
.walk-destination::before{content:"";position:absolute;inset:0;border:1px solid #f0c167;background:rgba(126,0,38,.76);clip-path:polygon(50% 100%,38% 76%,10% 60%,0 36%,9% 12%,29% 0,71% 0,91% 12%,100% 36%,90% 60%,62% 76%);box-shadow:0 0 22px #ff155e}
.walk-destination span{position:relative;z-index:1}
.night-walk .maplibregl-ctrl-attrib{font-size:9px;background:rgba(0,0,0,.62)}
@media(max-width:700px){.night-walk{min-height:760px;padding:72px 20px}.night-walk-head{max-width:310px}.night-walk-head h2{font-size:44px}.night-walk-head p{font-size:13px}.night-map-shell::after{background:linear-gradient(180deg,#030303 0,rgba(3,3,3,.48) 27%,transparent 48%),linear-gradient(0deg,#030303 0,transparent 32%)}.night-walk-controls{left:20px;right:20px;bottom:52px;width:auto}.night-map.maplibregl-map{inset:16% 0 auto;height:70%}}
@media(max-width:700px){.signature .veil::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.68) 0,rgba(0,0,0,.42) 34%,rgba(0,0,0,.10) 52%,transparent 64%);pointer-events:none}}
.signature-butter-corn .media{object-position:50% 48%;transform:scale(1.02)}
.butter-corn-veil{background:linear-gradient(270deg,#000c 0,#0005 42%,transparent 70%),linear-gradient(0deg,#030202 0,transparent 45%)}
.price-list{font-size:clamp(20px,2.2vw,31px);line-height:1.45}
.limited-pending{background:radial-gradient(circle at 50% 42%,rgba(211,166,82,.12),transparent 42%),linear-gradient(145deg,#17100c,#050403);border:1px solid rgba(211,166,82,.24)}
.limited-pending::before{content:"";position:absolute;inset:16px;border:1px solid rgba(211,166,82,.18)}
.limited-pending>div{background:none;border-left:1px solid rgba(211,166,82,.7)}
.limited-pending small{display:block;color:var(--gold);font-size:9px;letter-spacing:.28em;margin-bottom:8px}
@media(max-width:700px){.signature-butter-corn .media{object-position:50% 45%;transform:scale(1.08)}.hero-copy h1 em{filter:drop-shadow(calc(var(--fx-x,0)*.22px) calc(var(--fx-y,0)*.22px) 8px rgba(202,225,244,.32))}}
.signature-tsubasa .fx-steam{opacity:.44!important;filter:blur(1.35px) contrast(.88);mix-blend-mode:screen}
@media(max-width:700px){.signature-tsubasa .fx-steam{opacity:.40!important;filter:blur(1px) contrast(.9)}}

/* Desktop product balance: the miso bowl is framed smaller in its source
   photo than the butter-corn bowl. Scale the photo and its steam layer
   together so the bowl has the same visual weight without changing mobile. */
@media (min-width:701px){
  .signature-miso .media{
    transform:translateX(-6%) scale(1.34)!important;
    transform-origin:67% 68%!important;
  }
  .signature-miso .fx-steam{
    transform:translateX(-6%) scale(1.34)!important;
    transform-origin:67% 68%!important;
  }
}

/* Desktop hero composition: reserve the left upper sky for the copy and
   place the enlarged vertical mark in the open sky right of the KIRIN sign. */
@media (min-width:701px){
  .hero{
    min-height:max(114svh,80vw);
    height:max(114svh,80vw);
  }
  .hero-copy,.hero-copy.reveal.in{
    left:5.6vw;
    top:16vh;
    bottom:auto;
  }
  .hero-logo{
    left:68vw!important;
    right:auto!important;
    top:9vh!important;
    height:46.5vh!important;
    max-width:none!important;
    transform:none!important;
  }
}
