/* Store palettes and readable text rhythm. */
body.fisher{--accent:#f6d633;--paper:#151515;--ink:#fffdf4;--muted:#d0ccc1;--line:#ffffff38;--action:#bd2028;--action-ink:#fff;--soft:#242222;background:var(--paper);color:var(--ink)}
body.tsurumi{--accent:#f6d633;--paper:#fffdfb;--ink:#2d2028;--muted:#68515d;--line:#d8c4ce;--action:#f2accb;--action-ink:#32212b;--soft:#fce9f1;background:var(--paper);color:var(--ink)}
body.noraneko{--accent:#f6d633;--paper:#fffef9;--ink:#171717;--muted:#57534a;--line:#d4cdbb;--action:#171717;--action-ink:#fff;--soft:#f6d633;background:var(--paper);color:var(--ink)}
header{background:var(--paper);color:var(--ink);border-color:var(--line)}
.fisher header{border-bottom:5px solid #bd2028}.tsurumi header{border-bottom:5px solid #f2accb}.noraneko header{background:#f6d633;border-bottom:5px solid #171717}
.brand{line-height:1.3}.hero-copy{max-width:1000px;color:#fff}.hero .eyebrow{color:#f6d633}.hero:after{background:linear-gradient(0deg,#000e,transparent 95%)}
h1{font-size:clamp(34px,5.4vw,72px);line-height:1.35;letter-spacing:-.025em;text-wrap:balance;max-width:16em}h2{font-size:clamp(26px,3vw,40px);line-height:1.5;letter-spacing:-.02em;text-wrap:balance;margin:14px 0 24px}h3{margin:30px 0 8px;line-height:1.5}
p{margin:0 0 18px;line-height:1.85;line-break:strict;word-break:normal;overflow-wrap:break-word}.lead{white-space:normal;max-width:34em;font-size:16px;line-height:1.8;margin-bottom:0}.eyebrow{margin-bottom:12px;color:var(--muted)}.section{padding:72px 6vw;max-width:1280px}.intro{grid-template-columns:1fr 1fr;gap:5vw}.intro p{max-width:34em}.tag{margin-top:8px;border-color:var(--line);line-height:1.6}.photo-pair figcaption,dt,.cta small{color:var(--muted)}
.menu{background:var(--soft);color:var(--ink)}.fisher .menu{border-top:6px solid #bd2028}.tsurumi .menu{border-top:6px solid #f6d633}.noraneko .menu{color:#171717}.menu .section{grid-template-columns:.85fr 1.15fr;gap:5vw}.menu h3:first-child{margin-top:0}.menu .section>div:last-child{max-width:36em}.menu .eyebrow{color:inherit}
.details{grid-template-columns:.8fr 1.2fr;gap:5vw}dl>div{border-color:var(--line);font-size:15px;line-height:1.8;grid-template-columns:100px minmax(0,1fr);gap:16px}dd{overflow-wrap:anywhere}small{font-size:12px;line-height:1.7}.button{background:var(--action);color:var(--action-ink);line-height:1.6;gap:16px;max-width:100%;text-align:left}.reservation{border-top:1px solid var(--line)}.reservation-widget{max-width:100%;overflow:auto}.cta{border-color:var(--line);background:var(--soft);padding:56px 6vw}.cta h2{font-size:clamp(25px,2.6vw,36px);max-width:20em}.cta>div>.button{margin-bottom:24px}.cta .eyebrow{color:var(--muted)}footer{border-color:var(--line)}.mobile-cta{background:var(--paper);border-top:1px solid var(--line);padding-bottom:max(10px,env(safe-area-inset-bottom))}.skip:focus{background:var(--paper);color:var(--ink)}
@media(max-width:700px){.section{padding:48px 24px}.intro,.details,.menu .section{grid-template-columns:1fr;gap:20px}.hero,.tsurumi .hero{min-height:480px;height:72svh;padding:32px 24px}.hero-copy{width:100%}h1{font-size:clamp(32px,9vw,42px);max-width:10em}.lead{font-size:15px;max-width:24em}h2{font-size:28px;max-width:15em}.brand{font-size:15px}dl>div{grid-template-columns:1fr;gap:6px;padding:16px 0}dt{font-size:12px}.cta{padding:40px 24px}.cta .button{margin-top:8px}footer{padding-bottom:110px}.photo-pair img{height:280px}.menu h3{font-size:20px}.tag{font-size:11px}.reservation .button{font-size:13px}}

/* Map link beside each store address. */
.access-map{margin-top:18px}.access-map .map-link{min-height:48px;align-items:center;padding:12px 20px;font-size:14px}.access-map small{display:block;margin-top:8px;color:var(--muted)}.map-link:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

/* Keep heading phrases together where space permits; body paragraphs wrap naturally. */
.headline-phrase{display:inline-block;max-width:100%}
.intro p+p{margin-top:1.2em}
.hero .lead,.intro p,.menu p{ text-wrap:pretty; }
@media(max-width:700px){h1{font-size:clamp(30px,8.3vw,40px);max-width:none}}
