.logo{width:174px;height:140px;object-fit:contain;background:transparent!important}.mobile .logo{width:90px;height:64px}.mobile{padding-block:4px!important}footer .logo{margin:0 auto 18px;width:140px;height:112px}.brand{background:transparent!important}.hero{height:740px;padding:0!important;margin:28px!important;overflow:hidden}.hero .slides{position:absolute;inset:0}.hero .slides img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:opacity .7s;object-position:50% 45%}.hero .slides img.slide-next{opacity:0;object-position:50% 40%}.hero:after{display:none}.hero-copy{max-width:75%!important;left:48px!important;right:30px!important;bottom:70px!important;isolation:isolate}.hero-copy:before{inset:-38px -44px!important;background:radial-gradient(ellipse at 38% 52%,rgba(255,255,250,.87),rgba(255,255,250,.57) 54%,transparent 78%)!important}.hero h1{font-size:clamp(38px,4vw,60px)!important;line-height:1.4}.hero-copy .description{font-size:1.22rem!important;max-width:26em}.slide-controls{position:absolute;bottom:13px;right:20px;display:flex;align-items:center;gap:0;z-index:3}.slide-controls button{border:0;background:transparent;padding:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;color:#263d40}.dot:before{content:'';width:11px;height:11px;border-radius:50%;border:1px solid #365e63;background:#fff}.dot.active:before{background:#365e63}.slide-controls .play{font-size:17px;background:#ffffffe0;border-radius:50%;width:30px;height:30px;margin-left:6px}.items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)))!important;gap:24px!important}.items{grid-template-columns:repeat(3,minmax(0,1fr))!important}.items article{display:grid!important;grid-template-rows:auto 1fr;overflow:hidden}.items article img{width:100%;aspect-ratio:3/2!important;height:auto!important;object-fit:contain!important;background:#f2ede5}.items .item-copy{padding:18px!important}.items h3{font-size:1.2rem!important}.items .category{font-size:1rem}.story img{object-fit:contain!important}.map-frame img{object-fit:contain!important}
@media(max-width:760px){.hero{margin:14px!important;height:calc((100vw - 40px)*91/80*1.8 + 12px)!important}.hero-copy{left:24px!important;right:24px!important;bottom:65px!important;max-width:none!important}.hero h1{font-size:clamp(30px,8vw,36px)!important}.hero-copy .description{font-size:1.12rem!important;line-height:1.7}.hero-copy:before{inset:-35px -28px!important;background:radial-gradient(ellipse at 45% 55%,rgba(255,255,250,.90),rgba(255,255,250,.58) 58%,transparent 80%)!important}.hero .slides img{object-position:52% top!important}.hero .slides img.slide-next{object-fit:contain!important;object-position:center 10%!important;background:#ede2cf}.items{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 12px!important}.items article{grid-template-rows:60% 40%!important;min-height:270px!important}.items article img{height:100%!important;aspect-ratio:auto!important}.items .item-copy{padding:10px 9px!important}.items h3{font-size:1rem!important;line-height:1.5!important;margin:5px 0!important}.items .category{font-size:1rem!important;margin:0!important}.items .item-description{display:none!important}.items .price{font-size:1rem!important;margin:3px 0!important}.items .price span{font-size:.9rem!important}.section{padding-inline:18px!important}.story{gap:20px!important}}
.story{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}.story>img{width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain!important}.story>div{grid-column:1/-1}.map-shop-name{display:none!important}@media(max-width:760px){.story{gap:10px!important}.story>div{margin-top:12px}}
.hero .slides img{height:100%!important;width:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important}.hero .slides img.slide-next{object-fit:cover!important;object-position:45% center!important;background:transparent!important}.hero-copy:before{mask-image:none!important}
@media(max-width:760px){.hero .slides img{object-position:55% center!important}.hero .slides img.slide-next{object-position:45% center!important}}
.language-bar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:flex-end;gap:8px;background:#fcfdf8;min-height:48px;padding:0 28px;border-bottom:1px solid #c7d0c9}.language-bar button{border:0;background:transparent;color:#365e63;font-size:1rem;min-height:44px;padding:8px 12px;cursor:pointer}.language-bar button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px;font-weight:700}html[lang=en] p,html[lang=en] h1,html[lang=en] h2,html[lang=en] h3,html[lang=en] dd{word-break:normal;overflow-wrap:break-word}.slide-controls .play{width:44px;height:44px;font-size:16px;box-shadow:inset 0 0 0 6px #627579}.hero-copy{max-width:80%!important}
@media(max-width:760px){.language-bar{padding:0 12px}.mobile{top:48px!important}.hero-copy{max-width:none!important}.items article{min-height:320px!important}.items h3{line-height:1.4!important}html[lang=en] .hero h1{font-size:clamp(29px,7.4vw,35px)!important}html[lang=en] .hero-copy .description{font-size:1.12rem!important}.section{scroll-margin-top:128px!important}}
.sidebar nav a{display:block;text-decoration:none;border-bottom:1px solid #c7d0c9;padding:18px 6px;font-size:1.12rem}.mobile nav a{display:block;text-decoration:none;border-bottom:1px solid #c7d0c9;padding:16px 6px;font-size:1.12rem}
@media(max-width:760px){.hero{height:calc(((100vw - 40px)*91/80 + 12px)*1.8)!important}}
@media(max-width:375px){.hero{height:calc(((100vw - 40px)*5/4 + 12px)*1.8)!important}.items article{min-height:400px!important}}
.hero-copy:before{mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%)!important}
.items article{padding:0!important;background:#fffdf7;border-top:2px solid var(--gold)}.items .item-copy{display:block!important}.items .category{line-height:1.55;margin:0 0 8px}.items .desktop-description{font-size:1rem;line-height:1.7;margin-bottom:0}
.about-rows{display:grid;gap:40px;margin-top:28px}.about-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px}.about-row>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.about-text p{margin:0;font-size:1.22rem;line-height:1.9}@media(max-width:760px){.about-rows{gap:30px;margin-top:22px}.about-row{grid-template-columns:minmax(0,1fr);gap:18px}.about-text p{font-size:1.12rem;line-height:1.85}}
/* Match the measured Nagoribi introduction hierarchy; scope every rule to this section. */
#about{width:100%;max-width:calc(78vw - 48px);margin-inline:auto;padding:56px 66px!important}#about>.eyebrow{font-size:14px;line-height:21px;margin:0 0 9px}#about>h2{font-size:clamp(30.4px,2.5vw,36px);line-height:1.55;margin:0 0 26px}#about .about-rows{gap:34px;margin-top:0}#about .about-row{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#about .about-row>img{height:auto;aspect-ratio:1672/941;object-fit:cover;object-position:center 55%}#about .about-text h3{font-size:clamp(20.8px,2vw,25.6px);line-height:1.6;font-weight:700;margin:0 0 12px}#about .about-text p{font-size:17.6px;line-height:1.9;font-weight:400;margin:0}
@media(min-width:761px) and (max-width:1000px){#about{max-width:100%;padding:56px 32px!important}}
@media(max-width:760px){#about{max-width:calc(100% - 4px);padding:38px 24px!important}#about>h2{font-size:30.4px;margin-bottom:20px}#about .about-rows{gap:26px;margin-top:0}#about .about-row{grid-template-columns:minmax(0,1fr);gap:14px}#about .about-row>img{order:0}#about .about-text{order:1}#about .about-text h3{font-size:20.8px;line-height:1.6;margin-bottom:8px}#about .about-text p{font-size:16.96px;line-height:1.85}}
/* Local wash stays entirely in the desktop photo's lower-left quarter. */
.hero-copy::before{content:none!important;display:none!important}.hero::before{content:"";position:absolute;left:0;bottom:0;width:50%;height:50%;z-index:1;pointer-events:none;background:radial-gradient(ellipse 120% 120% at 15% 75%,rgba(255,255,250,.72) 0%,rgba(255,255,250,.52) 55%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 22%),linear-gradient(to right,#000 60%,transparent 100%);mask-composite:intersect}
@media(min-width:761px){.hero-copy{left:28px!important;right:auto!important;bottom:12px!important;width:calc(50% - 44px)!important;max-width:none!important}.hero-copy .tag{margin-bottom:8px!important}.hero h1{line-height:1.1!important;margin-bottom:12px!important}.hero-copy .description{line-height:1.55!important;margin-bottom:12px!important}}
@media(max-width:760px){.hero::before{width:100%;height:50%;background:radial-gradient(ellipse at 42% 65%,rgba(255,255,250,.74) 0%,rgba(255,255,250,.5) 52%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 20%);mask-composite:add}}
@media(min-width:761px){html[lang=en] .hero h1{font-family:"Times New Roman",serif;letter-spacing:-.025em}}
.logo{width:140px;height:168px;object-fit:contain}.mobile .logo{width:56px;height:67px}footer .logo{width:106px;height:128px}
@media(min-width:761px) and (max-width:1000px){.hero::before{width:100%;height:50%;mask-image:linear-gradient(to bottom,transparent 0%,#000 22%)}.hero-copy{left:24px!important;right:24px!important;width:auto!important;bottom:24px!important}}
@media(max-width:760px){.hero-copy{bottom:36px!important}.hero::before{background:radial-gradient(ellipse 80% 70% at 42% 55%,rgba(255,255,250,.8) 0%,rgba(255,255,250,.6) 55%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 16%)}}
.hero-food-frame{position:absolute;inset:0;display:block}.hero .hero-food-frame img{object-position:100% center!important}@media(max-width:760px){.hero .hero-food-frame img{object-position:center!important}.hero-copy{bottom:65px!important}}
@media(min-width:761px){.hero::before{background:radial-gradient(ellipse 120% 120% at 15% 75%,rgba(255,255,250,.75) 0%,rgba(255,255,250,.68) 70%,rgba(255,255,250,.25) 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 22%),linear-gradient(to right,#000 90%,transparent 100%);mask-composite:intersect}html[lang=en] .hero h1{letter-spacing:-.04em}}
@media(max-width:760px){.hero .hero-food-frame img[src*="hero-kabuto"]{object-position:left center!important}}

/* Match the approved reference's compact mobile menu; desktop remains unchanged. */
@media(max-width:760px){
 #menu{width:calc(100% - 4px);margin-inline:auto;padding:8px 12px!important}
 #menu .items{gap:10px!important;margin:10px 0!important}
 #menu .items article{min-height:0!important;aspect-ratio:4/5;grid-template-rows:3fr 2fr!important}
 #menu .items article img{min-height:0;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important}
 #menu .items .item-copy{display:flex!important;align-items:center;padding:6px 8px!important;min-height:0}
 #menu .items .category{display:none!important}
 #menu .items h3{font-size:1rem!important;line-height:1.3!important;margin:0!important}
 #menu .eyebrow{display:none}
 #menu .note{margin:10px 0 0;line-height:1.7}
}
@media(max-width:374px){
 #menu .items .item-copy{padding:4px 6px!important}
 #menu .items h3{font-size:15px!important;line-height:1.25!important}
}

/* Tighten only mobile introduction spacing; preserve approved images and type. */
@media(max-width:760px){
 #about{padding-block:24px!important}
 #about .about-rows{gap:20px}
 #about .about-row{gap:12px}
}

/* Mobile text follows its content rather than reserving an empty 40% row. */
@media(max-width:760px){
 #menu .items article{aspect-ratio:auto;grid-template-rows:auto 1fr!important;align-content:start}
 #menu .items article img{height:auto!important;aspect-ratio:3/2!important}
 #menu .items .item-copy{align-items:flex-start;padding:8px!important}
}
@media(max-width:374px){#menu .items .item-copy{padding:7px 6px!important}}

/* Keep the food and full hero message in the initial mobile viewport. */
@media(max-width:760px){
 .hero{height:min(calc((100vw - 28px)*1.0125 + 94px),calc(100svh - 148px))!important}
 .hero-copy{left:16px!important;right:16px!important;bottom:56px!important}
 .hero-copy .tag{display:none}
 .hero h1{font-size:clamp(28px,7.5vw,34px)!important;line-height:1.3!important;margin-bottom:10px!important}
 html[lang=en] .hero h1{font-size:clamp(26px,6.5vw,30px)!important;line-height:1.3!important}
 .hero-copy .description,html[lang=en] .hero-copy .description{font-size:1rem!important;line-height:1.6!important;margin-bottom:10px!important}
 .hero::before{height:68%;background:linear-gradient(to top,rgba(255,255,250,.93),rgba(255,255,250,.87) 55%,transparent);mask-image:none}
}

@media(max-width:760px){html[lang=en] .hero h1{font-family:"Times New Roman",serif;letter-spacing:-.025em}.hero::before{height:72%;background:linear-gradient(to top,rgba(255,255,250,.94),rgba(255,255,250,.88) 70%,transparent)}}
