/* Full V2 structure with restrained washi styling. */
:root{--paper:#f3eddf;--paper-2:#e6dccb;--ink:#292720;--muted:#686155;--line:#cfc2ad;--red:#963d31}
body{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23765e39' opacity='.045' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");}
.site-header{background:rgba(243,237,223,.97);border-bottom-color:var(--line);backdrop-filter:blur(10px)}
.brand{overflow:visible}.brand img{width:auto;height:100%;object-fit:contain}
.lang{min-height:44px;min-width:44px}.lang.is-active{color:var(--red);border-bottom-color:var(--red)}
.eyebrow,.section-kicker{color:var(--red);letter-spacing:.2em}
.hero-image{margin:28px 0 28px 28px;min-height:calc(100svh - 138px);box-shadow:0 0 0 1px rgba(99,78,48,.13)}
.hero-copy{border-left:1px solid var(--line);margin-left:28px;padding-left:clamp(28px,4vw,64px);padding-right:clamp(28px,4vw,64px)}
.hero h1{font-size:clamp(3rem,5.4vw,6rem);line-height:1.36;letter-spacing:.065em}
.hero-lead,.intro-grid>p{color:#514d42;line-height:1.95}
.button{min-height:48px}.button-dark{background:var(--red);border-color:var(--red);color:#fffaf0}.button-dark:hover{background:#703128;border-color:#703128}
.button-line{border-color:#95866e}.vertical-mark{color:#887759}
.intro,.menu-section,.reviews,.access{position:relative}
.intro:before,.menu-section:before,.reviews:before,.access:before{content:"";position:absolute;top:48px;left:clamp(24px,5vw,74px);width:36px;height:2px;background:var(--red)}
.intro h2,.reviews h2{line-height:1.4}
.intro dl div{border-color:var(--line)}.intro dt{color:var(--red)}
.feature{background:#e5dbc8;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-copy .section-kicker{color:var(--red)}.feature-copy p{color:#534b3e}.feature-copy .price{color:var(--red)}
.menu-tabs{gap:8px}.menu-tab{min-height:48px;border:1px solid transparent}.menu-tab.is-active{background:var(--red);color:#fffaf0}
.ramen-card img{box-shadow:0 0 0 1px rgba(99,78,48,.12)}.ramen-meta{border-bottom:1px solid var(--line);padding-bottom:22px}.ramen-meta strong{color:var(--red)}
.side-gallery{gap:10px;background:transparent;padding:10px}.side-gallery p{background:rgba(243,237,223,.96)}
.google-review-shot{box-shadow:none;border-color:#c9baa2;background:#fff}.google-review-shot figcaption{background:#ece3d3;color:#645746}
.night-section{background:#302f29}.night-copy .section-kicker{color:#c9b58f}
footer{background:#e7dece;border-top:1px solid var(--line)}
:is(a,button):focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:900px){.hero-image{margin:16px 16px 0;min-height:50svh}.hero-copy{margin:0;border:0;padding:38px 24px 62px}.hero h1{font-size:clamp(2.5rem,10.8vw,4.5rem)}.vertical-mark{display:none}.site-header{padding-left:16px;padding-right:12px}.language-switcher{gap:0}.hero-lead{font-size:1rem}.feature-copy{padding:52px 24px}.mobile-map{background:var(--red);box-shadow:0 4px 16px #29272025}}
@media(max-width:620px){.hero-image{min-height:44svh}.intro,.menu-section,.reviews,.access{padding-top:90px;padding-bottom:80px}.intro h2,.reviews h2{font-size:2rem}.menu-tabs{position:sticky;top:70px;background:var(--paper);z-index:5}.menu-tab{padding:10px 14px}.google-review-shot{flex-basis:84vw}.side-gallery{padding:0;gap:6px}.lang{font-size:.75rem}.hero-actions{margin-top:24px}.intro-grid{margin-top:36px}}
/* Edge-to-edge photographic hero; keep the washi treatment below it. */
.hero{display:flex;align-items:center;justify-content:flex-end;isolation:isolate;min-height:100svh;padding:82px 0 0;color:#fff9ed;background:#211c16}
.hero-image{position:absolute;inset:82px 0 0;z-index:-2;margin:0;min-height:0;box-shadow:none;background-image:url('assets/hero-ramen.jpg');background-position:center 52%;background-size:cover}
.hero:after{content:'';position:absolute;inset:82px 0 0;z-index:-1;background:linear-gradient(90deg,rgba(18,15,11,.04) 12%,rgba(18,15,11,.24) 45%,rgba(18,15,11,.82) 100%)}
.hero-copy{width:min(48%,720px);margin:0;border:0;padding:76px clamp(30px,5vw,88px);align-self:center}
.hero .eyebrow{color:#ead2ab}.hero h1{color:#fff9ed;font-size:clamp(3rem,5.1vw,6rem);text-shadow:0 2px 20px #0004}.hero-lead{color:#fff1db;text-shadow:0 1px 8px #0008}
.hero .button-dark{background:#963d31;border-color:#b45b4c}.hero .button-line{background:#1b171344;border-color:#f1e0c7;color:#fff9ed}.hero .button-line:hover{background:#fff2}.hero .vertical-mark{color:#e9d7b9;right:18px;bottom:22px}
@media(max-width:900px){.hero{padding-top:70px;align-items:flex-end;min-height:100svh}.hero-image{inset:70px 0 0;background-position:40% center}.hero:after{inset:70px 0 0;background:linear-gradient(180deg,#17120c00 8%,#17120c20 32%,#17120ce6 82%,#17120cf2 100%)}.hero-copy{width:100%;padding:clamp(200px,35svh,380px) 24px 100px}.hero h1{font-size:clamp(2.45rem,9vw,4.5rem);max-width:15ch}.hero-lead{max-width:36em}.hero-actions{flex-direction:row}.hero-actions .button{width:auto;flex:1}.hero .vertical-mark{display:none}}
@media(max-width:380px){.hero-copy{padding-left:18px;padding-right:18px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}}
.hero h1{text-wrap:balance}.hero-lead{font-size:1.05rem;line-height:1.9}

/* Language-specific typography; Traditional Chinese retains its original fonts. */
html:lang(ja){--sans:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;--serif:var(--sans)}
html:lang(en){--sans:"Inter","Segoe UI",Arial,sans-serif;--serif:var(--sans)}
html:lang(ko){--sans:"Noto Sans KR","Malgun Gothic",sans-serif;--serif:var(--sans)}
html:lang(en) .hero h1{font-size:clamp(2.8rem,4.2vw,5rem);letter-spacing:-.035em;line-height:1.12}
html:lang(ja) .hero h1,html:lang(ko) .hero h1{letter-spacing:.01em;line-height:1.35}
html:lang(ko) h1,html:lang(ko) h2,html:lang(ko) h3,html:lang(ko) p{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:900px){html:lang(en) .hero h1{font-size:clamp(2.2rem,8.8vw,4.5rem)}html:lang(ja) .hero h1,html:lang(ko) .hero h1{font-size:clamp(2.1rem,8.3vw,4.5rem)}}
