@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;600;700&display=swap');:root{--red:#7c201e;--dark:#271c19;--cream:#faf6ef;--gold:#bc8b4c;--muted:#73665e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:'Noto Sans JP',system-ui,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,251,245,.97);border-bottom:1px solid #e9ddd0;backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:22px;justify-content:space-between;min-height:76px}.brand{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}.brand strong{font-family:'Noto Serif JP',serif;font-size:23px;letter-spacing:.09em}.brand small{color:var(--gold);letter-spacing:.2em;font-size:11px;margin-top:8px}.nav{display:flex;gap:24px;font-size:13px;font-weight:600}.nav a:hover,.langs a:hover{color:var(--red)}.langs{display:flex;gap:8px;font-size:12px;white-space:nowrap}.langs a{padding:4px 8px;border-radius:20px}.langs .active{background:var(--red);color:white}.hero{background:linear-gradient(105deg,#321c17 0%,#522620 53%,#2d1712 100%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;min-height:490px;align-items:center}.hero-copy{padding:80px 0}.eyebrow{font-size:12px;letter-spacing:.23em;color:#e5c49a}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(40px,5vw,68px);line-height:1.4;letter-spacing:.07em;margin:20px 0}.hero p{color:#f2dfcc;font-size:16px}.hero-photo{height:100%;min-height:460px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:52% 0 0 0}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#52262050,transparent 35%)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 23px;border-radius:4px;background:#eac99d;color:#46271d;font-weight:700;font-size:14px}.btn.outline{background:transparent;border:1px solid #d6b58c;color:white}.section{padding:82px 0}.section-head{text-align:center;margin-bottom:36px}.kicker{color:var(--gold);letter-spacing:.25em;font-size:12px;font-weight:700}.section h2{font-family:'Noto Serif JP',serif;font-size:clamp(27px,3.5vw,39px);color:var(--red);margin:8px 0 12px}.section-head p{color:var(--muted);font-size:14px}.dishes{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.dish{background:white;border:1px solid #eee4d9;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #54321c0c}.dish img{width:100%;height:158px;object-fit:cover;display:block}.dish h3{text-align:center;font-size:15px;padding:10px 7px 13px;margin:0}.kitchen{background:#f0e7da}.kitchen-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px}.kitchen img{width:100%;height:310px;object-fit:cover;border-radius:12px}.kitchen p,.about p{color:var(--muted)}.about{text-align:center}.about p{max-width:720px;margin:auto}.contact{background:#6e211f;color:#fff}.contact .section-head h2{color:#fff}.contact .section-head .kicker{color:#e6bd8a}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-card{padding:28px;background:#ffffff12;border:1px solid #ffffff30;border-radius:10px}.contact-card h3{font-size:17px;margin:0 0 14px}.contact-card dl{margin:0}.contact-card dt{font-size:12px;color:#edcda7;margin-top:16px}.contact-card dd{margin:2px 0 0;font-size:17px;overflow-wrap:anywhere}.contact-card a{text-decoration:underline;text-underline-offset:4px}.contact-card .btn{margin-top:18px;text-decoration:none}.line-note{font-size:13px;color:#f4daca}.foot{background:#271713;color:#e9d5c1;padding:24px 0;font-size:12px}.foot-inner{display:flex;justify-content:space-between;gap:18px}.disclaimer{font-size:12px;color:#806f63;margin-top:25px;text-align:center}.contact .disclaimer{color:#e9cfc1}@media(max-width:900px){.nav{display:none}.dishes{grid-template-columns:repeat(3,1fr)}.hero-grid{min-height:400px}.hero-copy{padding:55px 0}.hero-photo{min-height:390px}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.header-inner{min-height:67px;gap:8px}.brand strong{font-size:17px}.brand small{font-size:9px}.langs{gap:1px;font-size:11px}.langs a{padding:4px 6px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:48px 0 24px}.hero h1{font-size:39px}.hero-photo{height:245px;min-height:245px}.hero-photo img{border-radius:70px 0 0 0}.section{padding:60px 0}.dishes{grid-template-columns:repeat(2,1fr);gap:11px}.dish img{height:140px}.dish h3{font-size:13px}.kitchen-grid,.contact-grid{grid-template-columns:1fr;gap:22px}.kitchen img{height:230px}.foot-inner{flex-direction:column;gap:5px}}
.line-btn{display:inline-flex;align-items:center;gap:8px;background:#06c755;color:#fff!important;text-decoration:none!important;border-radius:6px;padding:9px 16px;font-weight:700;font-size:14px;transition:background .2s}.line-btn:hover{background:#04a947}.location-note{font-size:12px;opacity:.8;margin:16px 0 0}

/* Shanghai restaurant redesign */
:root{--red:#781b19;--dark:#28130e;--cream:#fff8ee;--gold:#c49a58}body{background:var(--cream)}.header{background:#2a0e0b;color:#fff;border-bottom:2px solid #aa7d3b}.brand strong{color:#f9eee0}.brand small{color:#e2b97b}.nav a:hover{color:#efc18b}.langs .active{background:#921d19}.hero{background:linear-gradient(115deg,#250d09,#5a1913 60%,#31110d)}.hero-grid{min-height:510px}.hero-photo img{border-radius:0;object-position:center}.hero-photo:after{background:linear-gradient(90deg,#43150f80,transparent 35%)}.hero h1{font-size:clamp(40px,5vw,67px);font-weight:700}.hero .eyebrow{color:#f4c68a}.section-head h2,.section h2{color:#83221e}.dishes{grid-template-columns:repeat(3,1fr);gap:20px}.dish img{height:220px}.dish h3{padding:11px 14px 15px;font-size:14px;line-height:1.5}.dish h3 small{font-size:11px;color:#8e7264;display:block;font-weight:400}.feature-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.feature-nav a{border:1px solid #d8bd9e;border-radius:5px;background:#fff;padding:15px 10px;text-align:center;color:#76211b;font-weight:700}.feature-nav a:hover{background:#f4e6d2}.poster-section{background:#f5eadd}.poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.poster-card{background:#fff;border-radius:7px;overflow:hidden;border:1px solid #ead8c0}.poster-card img{width:100%;height:210px;object-fit:cover;display:block}.poster-card h3{font-size:13px;text-align:center;margin:8px;padding:0 4px 6px;line-height:1.45}.kitchen-gallery{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:12px;margin:20px 0}.kitchen-gallery img{width:100%;height:245px;object-fit:cover;border-radius:8px}.contact{background:linear-gradient(125deg,#6b1717,#8d2520);border-top:4px solid #c99b59}.contact-card{background:#ffffff0c}.line-btn{background:#06c755;color:white!important;border-radius:5px;padding:11px 18px;display:inline-block;font-weight:700;text-decoration:none!important}.location-note{font-size:13px;color:#f5d4c4}.disclaimer{font-size:12px}.foot{border-top:1px solid #a87b43}.section-head{max-width:780px;margin-left:auto;margin-right:auto}@media(max-width:900px){.poster-grid{grid-template-columns:repeat(3,1fr)}.dishes{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.feature-nav{grid-template-columns:repeat(2,1fr)}.dishes{grid-template-columns:repeat(2,1fr);gap:10px}.dish img{height:135px}.dish h3{font-size:12px;padding:8px}.poster-grid{grid-template-columns:repeat(2,1fr);gap:9px}.poster-card img{height:150px}.poster-card h3{font-size:11px}.kitchen-gallery{grid-template-columns:1fr 1fr}.kitchen-gallery img{height:165px}.kitchen-gallery img:first-child{grid-column:1/-1;height:220px}.hero-photo img{object-position:center}.header-inner{flex-wrap:wrap;justify-content:space-between}.contact-grid{grid-template-columns:1fr}}
/* Homepage real-food carousel */
.hero-photo.food-carousel{overflow:hidden;isolation:isolate;min-height:460px;background:#26130f;position:relative}
.food-carousel .food-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;pointer-events:none}
.food-carousel .food-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.food-carousel .food-slide img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.food-carousel::after{pointer-events:none;z-index:1}
.food-carousel .slide-label{position:absolute;bottom:54px;left:24px;z-index:2;color:#fff;background:rgba(36,13,10,.68);padding:5px 15px;border-radius:30px;font-size:14px;letter-spacing:.04em;backdrop-filter:blur(5px)}
.food-carousel .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:48px;border:1px solid #ffffff70;border-radius:7px;background:#240c0c94;color:white;font-size:32px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.food-carousel .carousel-arrow:hover,.food-carousel .carousel-arrow:focus-visible{background:#721b19}
.food-carousel .carousel-prev{left:12px}.food-carousel .carousel-next{right:12px}
.food-carousel .carousel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:8px;padding:8px 12px;border-radius:22px;background:#19090988}
.food-carousel .carousel-dot{border:0;border-radius:50%;height:9px;width:9px;padding:0;background:#ffffff80;cursor:pointer;transition:background .2s,transform .2s}
.food-carousel .carousel-dot.is-active{background:#f0c58b;transform:scale(1.3)}
@media(max-width:900px){.hero-photo.food-carousel{min-height:390px}}
@media(max-width:640px){.hero-photo.food-carousel{height:280px;min-height:280px}.food-carousel .slide-label{bottom:48px;left:16px;font-size:12px}.food-carousel .carousel-arrow{width:34px;height:42px;font-size:27px}}
@media(prefers-reduced-motion:reduce){.food-carousel .food-slide{transition:none}}

/* Expanded balanced photo grids */
.kitchen-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kitchen-gallery img{width:100%;height:235px;object-fit:cover;object-position:center;border-radius:7px}
.ambience-heading{text-align:center;margin:35px 0 18px;color:#83221e;font-size:21px}
.ambience-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ambience-gallery img{width:100%;height:190px;object-fit:cover;border-radius:7px}
.poster-card img{object-fit:contain;background:#f7e9d9}
@media(max-width:640px){.kitchen-gallery,.ambience-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kitchen-gallery img,.ambience-gallery img{height:165px}.kitchen-gallery img:first-child{grid-column:auto;height:165px}.poster-card img{height:170px}}

/* Contact LINE QR cards */
.contact-card-with-qr{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,245px);gap:16px;align-items:center;}
.contact-qr-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start;}
.contact-qr-item{background:#fffaf3;color:#61221d;padding:7px 6px 8px;border-radius:7px;text-align:center;box-shadow:0 3px 12px #280b0b25;min-width:0;}
.contact-qr-item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;}
.contact-qr-item span{display:block;font-size:10px;font-weight:700;margin-top:5px;white-space:nowrap;}
@media(max-width:1080px){.contact-card-with-qr{grid-template-columns:1fr}.contact-qr-pair{max-width:260px;margin:4px auto 0;width:100%;}}
@media(max-width:640px){.contact-card-with-qr{grid-template-columns:1fr}.contact-qr-pair{max-width:280px;margin:8px auto 0}.contact-qr-item{padding:9px}}

/* FIX: lock carousel to a single, fixed viewport; never stack slide images */
.hero-grid {align-items:stretch}
.hero-photo.food-carousel {display:block!important;position:relative!important;align-self:stretch;width:100%;height:100%;min-height:510px;overflow:hidden!important;contain:layout paint;isolation:isolate}
.food-carousel .food-slide {position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;visibility:hidden!important;overflow:hidden!important;transform:none!important;transition:opacity .45s ease,visibility .45s ease;pointer-events:none;z-index:0}
.food-carousel .food-slide.is-active {opacity:1!important;visibility:visible!important;pointer-events:auto;z-index:1}
.food-carousel .food-slide > img {position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border:0!important;border-radius:0!important;margin:0!important}
.food-carousel .slide-label {z-index:2}
.food-carousel .carousel-arrow,.food-carousel .carousel-dots {z-index:5}
/* FIX: compact QR pair to the right of contact text on desktop */
.contact-card.contact-card-with-qr {display:grid!important;grid-template-columns:minmax(0,1fr) 170px!important;gap:14px;align-items:center;min-width:0;padding:24px}
.contact-card-with-qr .contact-info {min-width:0}
.contact-card-with-qr .contact-qr-pair {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:170px;max-width:170px;margin:0;align-self:center}
.contact-qr-pair .contact-qr-item {min-width:0;padding:5px 4px 7px;border-radius:6px}
.contact-qr-pair .contact-qr-item img {width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block}
.contact-qr-pair .contact-qr-item span {display:block;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.35;margin-top:6px}
@media(max-width:1100px){.contact-grid{gap:16px}.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 150px!important;padding:20px}.contact-card-with-qr .contact-qr-pair{width:150px;max-width:150px}}
@media(max-width:780px){.contact-grid{grid-template-columns:1fr}.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 170px!important}.contact-card-with-qr .contact-qr-pair{width:170px;max-width:170px}}
@media(max-width:480px){.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 116px!important;gap:8px;padding:13px}.contact-card-with-qr .contact-qr-pair{grid-template-columns:1fr;width:116px;max-width:116px;gap:8px}.contact-qr-pair .contact-qr-item{padding:5px}.contact-qr-pair .contact-qr-item img{width:86px;height:86px;margin:auto}.contact-qr-pair .contact-qr-item span{font-size:10px}.contact-card-with-qr .contact-info h3{font-size:14px}.contact-card-with-qr .contact-info dd{font-size:14px}.contact-card-with-qr .line-btn{font-size:11px;padding:8px 7px}.hero-photo.food-carousel{height:280px;min-height:280px}}
@media(min-width:481px) and (max-width:640px){.hero-photo.food-carousel{height:320px;min-height:320px}}

/* QR scan-friendly sizes, vertically aligned at the RIGHT, not below the contact details */
.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 128px!important}
.contact-card-with-qr .contact-qr-pair{display:grid!important;grid-template-columns:1fr!important;width:128px!important;max-width:128px!important;gap:9px}
.contact-qr-pair .contact-qr-item img{width:108px!important;height:108px!important;margin:auto}
@media(max-width:1100px){.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 128px!important}}
@media(max-width:780px){.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 128px!important}}
@media(max-width:480px){.contact-card.contact-card-with-qr{grid-template-columns:minmax(0,1fr) 112px!important}.contact-card-with-qr .contact-qr-pair{width:112px!important;max-width:112px!important}.contact-qr-pair .contact-qr-item img{width:96px!important;height:96px!important}}

/* Kitchen gallery: 3 balanced images in row one, 2 wide images in row two. */
.kitchen-gallery {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:stretch;}
.kitchen-gallery > img {grid-column:span 2;display:block;width:100%;height:240px;min-width:0;object-fit:cover;object-position:center;border-radius:8px;}
.kitchen-gallery > img:nth-child(4),.kitchen-gallery > img:nth-child(5){grid-column:span 3;}
@media(max-width:640px){
 .kitchen-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .kitchen-gallery > img,.kitchen-gallery > img:nth-child(4),.kitchen-gallery > img:nth-child(5){grid-column:span 1;height:165px;}
 .kitchen-gallery > img:last-child:nth-child(odd){grid-column:1/-1;height:215px;}
}

/* Header logo: independent from the original carousel, kitchen and QR layouts. */
.header-brand-logo{display:block;flex:0 0 auto;width:96px;height:58px;object-fit:contain;object-position:center;border-radius:3px}
@media(max-width:640px){.header-brand-logo{width:58px;height:40px}}

/* Added landline: consistent spacing for three phone contact rows */
.contact-card-with-qr .contact-info dt{margin-top:11px;line-height:1.4}
.contact-card-with-qr .contact-info dd{margin-top:3px;line-height:1.5}
.contact-card-with-qr .contact-info .contact-landline-label{margin-top:11px}
.contact-card-with-qr .contact-info .contact-landline a{white-space:nowrap}
@media(max-width:480px){.contact-card-with-qr .contact-info dt{margin-top:9px;font-size:11px}.contact-card-with-qr .contact-info dd{font-size:13px}}
