/* The same noren opens onto a bowl of udon; the four city windows live below. */
body[data-food-first] .entrance { min-height:680px; height:100svh; max-height:1050px; }
body[data-food-first] .entrance .inside { background:#f3f0e6; color:#252821; }
body[data-food-first] .entrance-top { top:0; left:0; right:0; padding:20px 4%; background:#f8f7f2f2; color:#252821!important; }
body[data-food-first] .entrance .small-brand img { filter:none!important; }
body[data-food-first] .entrance-top>p { font-size:11px; }
.food-welcome { height:100%; display:grid; grid-template-columns:42% 58%; }
.food-welcome-copy { position:relative; padding:100px 10% 50px 14%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.food-welcome-hello { writing-mode:vertical-rl; font:500 15px/1.3 Shippori,serif; letter-spacing:.2em; padding:14px 8px; border:1px solid #96896b55; margin-bottom:20px; }
.food-welcome-copy h2 { font:500 clamp(40px,4.7vw,72px)/1.48 Shippori,serif; letter-spacing:.04em; white-space:nowrap; }
.food-welcome-copy>p:not(.food-welcome-hello) { font-size:14px; line-height:2; margin-top:24px; letter-spacing:.04em; }
.food-welcome-links { display:flex; flex-wrap:wrap; gap:12px 25px; margin-top:28px; width:100%; }
.food-welcome-links a { display:flex; justify-content:space-between; align-items:center; gap:28px; min-height:44px; border-bottom:1px solid #25282166; font-size:12px; }
.food-welcome-links a>span { font-size:22px; }
.food-welcome-photo { position:relative; margin:0; min-width:0; overflow:hidden; background:#d4c8b1; }
.food-welcome-photo>img { width:100%; height:100%; object-fit:cover; object-position:48% 50%; transition:transform 2.8s cubic-bezier(.16,1,.3,1); }
.entrance[data-enhanced]:not([data-open]) .food-welcome-photo>img { transform:scale(1.035); }
.food-welcome-photo::after { content:""; position:absolute; inset:70% 0 0; background:linear-gradient(transparent,#241d1299); pointer-events:none; }
.food-welcome-photo figcaption { position:absolute; z-index:1; bottom:32px; left:30px; right:30px; color:#fff; display:flex; justify-content:space-between; align-items:end; font-size:11px; letter-spacing:.05em; }
.food-welcome-photo figcaption strong { font:500 25px/1.5 Shippori,serif; }
.food-welcome-copy { transition:opacity 1s .4s,transform 1.3s .4s; }
.entrance[data-enhanced]:not([data-open]) .food-welcome-copy { opacity:0; transform:translateY(14px); }
.signature-dishes { padding:95px 8% 90px; background:#f8f7f2; }
.food-section-heading { display:flex; justify-content:space-between; gap:35px; align-items:end; margin-bottom:45px; }
.food-section-heading h2 { font:500 clamp(32px,3.8vw,52px)/1.5 Shippori,serif; margin-top:18px; }
.food-section-heading>p { font-size:14px; line-height:1.9; max-width:350px; }
.signature-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:6%; align-items:start; }
.signature-dish { min-width:0; }
.signature-dish:nth-child(2) { margin-top:75px; }
.signature-dish-inset { width:240px; max-width:100%; justify-self:center; }
.signature-dish-inset img { aspect-ratio:3/4; }
.signature-dish-inset .signature-dish-meta { display:block; }
.signature-dish-inset h3 { font-size:30px; margin-top:9px; }
.signature-dish figure { overflow:hidden; background:#e6e0d2; aspect-ratio:1.3; }
.signature-dish-inset figure { aspect-ratio:3/4; }
.signature-dish img { width:100%; height:100%; object-fit:cover; }
.signature-dish-meta { margin-top:20px; display:flex; align-items:baseline; gap:16px; }
.signature-dish-meta>span { font-size:10px; color:#6c6b5e; }
.signature-dish h3 { font:500 clamp(25px,2.9vw,39px)/1.55 Shippori,serif; letter-spacing:.02em; }
.signature-dish>p { margin-top:12px; font-size:14px; line-height:1.9; max-width:420px; }
.signature-dish small { display:block; margin-top:10px; font-size:11px; color:#66685e; }
.food-menu-link { display:flex; align-items:center; justify-content:space-between; gap:30px; max-width:300px; margin:40px auto 0; padding:16px 0; min-height:48px; border-bottom:1px solid #25282177; font-size:14px; }
body[data-food-first] .story { padding:65px 8% 70px; background:#ecebdf; display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; align-items:center; }
body[data-food-first] .story-opening { display:block; margin:0; }
body[data-food-first] .story-opening h2 { font:500 clamp(33px,3.7vw,54px)/1.55 Shippori,serif; letter-spacing:.03em; margin:22px 0; }
body[data-food-first] .story-copy { padding:0; margin:0; font-size:15px; line-height:2; letter-spacing:.03em; }
body[data-food-first] .hands-photo { width:100%; height:460px; margin:0; }
body[data-food-first] .hands-photo:after { display:none; }
body[data-food-first] .hands-photo img { object-position:50% 52%; }
body[data-food-first] .craft { padding:80px 8% 90px; }
body[data-food-first] .craft-sequence { margin-top:40px; }
body[data-food-first] .craft-item:nth-child(2) { margin-top:35px; }
body[data-food-first] .craft-item:nth-child(3) { margin-top:70px; }
.location-portal { padding:80px 5% 70px; background:#1d3433; color:#f8f7f2; }
.location-portal-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin:0 3% 35px; }
.location-portal-heading h2 { font:500 clamp(30px,3.7vw,49px)/1.5 Shippori,serif; margin-top:14px; }
.location-portal-heading>p { font-size:13px; line-height:1.9; }
body[data-food-first] .location-portal .four-grid { position:relative; inset:auto; grid-template-rows:repeat(2,280px); gap:8px; }
body[data-food-first] .location-portal .room-label { left:25px; right:25px; bottom:22px; }
body[data-food-first] .location-portal .room-label h2 { font-size:39px; }
body[data-food-first] .location-portal .room-label>p { font-size:11px; }
body[data-food-first] .location-portal .room-visit { min-height:44px; font-size:11px; }
.location-portal .room-photo { transition:transform 1.4s ease; }

@media(max-width:1000px) {
 .food-welcome { grid-template-columns:45% 55%; }
 .food-welcome-copy { padding-left:10%; padding-right:6%; }
 .food-welcome-copy h2 { font-size:clamp(38px,5vw,56px); }
 .food-welcome-links { gap:12px; flex-direction:column; max-width:220px; }
 .food-welcome-copy>p:not(.food-welcome-hello) { font-size:13px; }
}
@media(max-width:760px) {
 body[data-food-first] .entrance { min-height:660px; height:min(100svh,760px); max-height:760px; }
 body[data-food-first] .entrance-top { padding:14px 6%; gap:16px; }
 body[data-food-first] .entrance-top>p { display:none; }
 body[data-food-first] .entrance-top .header-guide { margin-left:auto; }
 body[data-food-first] .entrance-top .curtain-toggle { margin-left:0; gap:12px; }
 .food-welcome { position:absolute; inset:68px 0 0; height:auto; display:flex; flex-direction:column; }
 .food-welcome-photo { flex:1 1 50%; min-height:260px; order:0; }
 .food-welcome-photo>img { position:absolute; inset:0; object-position:50% 53%; }
 .food-welcome-photo figcaption { bottom:15px; left:6%; right:6%; font-size:10px; }
 .food-welcome-photo figcaption strong { font-size:19px; }
 .food-welcome-copy { order:1; flex:0 0 auto; padding:25px 6% 24px; display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; align-items:center; }
 .food-welcome-hello { position:absolute; top:auto; bottom:calc(100% + 24px); right:6%; height:150px; width:34px; white-space:nowrap; padding:14px 8px; margin:0; font-size:13px; line-height:1.4; background:#f8f7f2; border:0; z-index:2; }
 .food-welcome-copy h2 { font-size:clamp(27px,7.1vw,42px); line-height:1.55; letter-spacing:.025em; }
 .food-welcome-copy>p:not(.food-welcome-hello) { font-size:12px; line-height:1.9; margin:0; padding-right:0; }
 .food-welcome-copy>p br { display:none; }
 .food-welcome-links { grid-column:1/-1; flex-direction:row; display:grid; grid-template-columns:1fr 1fr; max-width:none; margin:0; gap:22px; }
 .food-welcome-links a { font-size:12px; gap:14px; }
 .signature-dishes { padding:44px 6% 42px; }
 .food-section-heading { display:block; margin-bottom:24px; }
 .food-section-heading h2 { font-size:29px; margin-top:12px; }
 .food-section-heading>p { font-size:13px; line-height:1.8; margin-top:14px; max-width:none; }
 .signature-grid { gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .signature-dish:nth-child(2) { margin-top:35px; }
 .signature-dish figure { aspect-ratio:.95; }
 .signature-dish-meta { display:block; margin-top:12px; }
 .signature-dish-meta>span { font-size:9px; }
 .signature-dish h3,.signature-dish-inset h3 { font-size:20px; margin-top:7px; line-height:1.5; }
 .signature-dish>p { font-size:13px; line-height:1.8; margin-top:9px; }
 .signature-dish small { font-size:10px; line-height:1.6; }
 .food-menu-link { margin-top:28px; font-size:13px; }
 body[data-food-first] .story { padding:38px 6%; grid-template-columns:1.05fr 1fr; gap:18px; }
 body[data-food-first] .story-opening h2 { font-size:clamp(22px,5.6vw,33px); margin:14px 0; }
 body[data-food-first] .story-copy { font-size:13px; line-height:1.85; letter-spacing:0; }
 body[data-food-first] .story-copy br { display:none; }
 body[data-food-first] .hands-photo { height:100%; min-height:285px; }
 body[data-food-first] .hands-photo img { object-position:49% 50%; }
 body[data-food-first] .craft { padding:42px 6% 44px; }
 body[data-food-first] .editorial-heading { display:block; }
 body[data-food-first] .editorial-heading h2 { font-size:29px; }
 body[data-food-first] .editorial-heading>p { margin:16px 0 0; font-size:13px; line-height:1.8; }
 body[data-food-first] .craft-sequence { display:grid; grid-template-columns:1fr; gap:23px; margin-top:26px; }
 body[data-food-first] .craft-item { display:grid; grid-template-columns:1fr 1.1fr; gap:17px; align-items:center; margin:0!important; }
 body[data-food-first] .craft-item figure { width:100%; aspect-ratio:1; margin:0; }
 body[data-food-first] .craft-text { padding:0; margin:0; }
 body[data-food-first] .craft-number { position:static; font-size:10px; }
 body[data-food-first] .craft-text h3 { font-size:clamp(15px,4.3vw,20px); letter-spacing:0; white-space:nowrap; margin-top:5px; }
 body[data-food-first] .craft-text p { font-size:13px; line-height:1.8; margin-top:8px; }
 .location-portal { padding:42px 4% 36px; }
 .location-portal-heading { display:block; margin:0 2% 24px; }
 .location-portal-heading h2 { font-size:29px; }
 .location-portal-heading>p { font-size:13px; margin-top:13px; }
 body[data-food-first] .location-portal .four-grid { grid-template-rows:repeat(2,220px); gap:6px; }
 body[data-food-first] .location-portal .room-label { left:14px; right:14px; bottom:12px; }
 body[data-food-first] .location-portal .room-label h2 { font-size:28px; }
 body[data-food-first] .location-portal .room-malaysia .room-label h2 { font-size:23px; }
 body[data-food-first] .location-portal .room-label>p { font-size:10px; }
 body[data-food-first] .location-portal .room-visit { position:static; justify-content:space-between; margin-top:8px; gap:10px; min-height:36px; }
}
@media(max-width:360px) {
 .food-welcome-copy { gap:10px 14px; }
 .food-welcome-copy h2 { font-size:25px; }
 .food-welcome-copy>p:not(.food-welcome-hello) { font-size:11px; padding-right:0; }
 .signature-dish h3,.signature-dish-inset h3 { font-size:18px; }
 .signature-dish figure { aspect-ratio:.85; }
 body[data-food-first] .location-portal .four-grid { grid-template-rows:repeat(2,205px); }
 body[data-food-first] .location-portal .room-label { left:11px; right:11px; }
 body[data-food-first] .location-portal .room-malaysia .room-label h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .food-welcome-copy,.food-welcome-photo>img,.location-portal .room-photo { transition:none; } }
html[data-motion=paused] .food-welcome-copy,html[data-motion=paused] .food-welcome-photo>img { transition:none; }
