@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&family=Oswald:wght@400;500;600&family=Roboto+Condensed:wght@400;500;600&display=swap');

:root{color-scheme:dark;--paper:#eee6d5;--muted:#d0cbbb;--red:#ba181d;--line:#61513a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:74px}body{margin:0;background:#080906;color:var(--paper);font-family:'Roboto Condensed','Arial Narrow',Arial,sans-serif}.menu{max-width:1024px;margin:auto;background:radial-gradient(ellipse at 60% 25%,#17150e55,transparent 45%),#080906;overflow:hidden}.brand{position:relative;padding:28px 40px 22px;text-align:center;min-height:250px}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:28px}.seal{display:grid;place-items:center;width:170px;height:170px;border:10px solid var(--red);border-radius:49% 53% 47% 51%;outline:3px solid #b7191b;outline-offset:5px;font-family:serif;font-size:104px;line-height:1;transform:rotate(-8deg);box-shadow:inset 5px 2px 0 #b7191b}.brand h1{font-family:'Kaushan Script','Brush Script MT',cursive;font-weight:400;font-size:116px;line-height:1.15;margin:-15px 0 0}.brand-lockup p{font-size:25px;letter-spacing:7px;margin:5px 0 0}.japanese{position:absolute;left:42px;top:45px;color:#b8a58c;font-family:serif;font-size:34px;line-height:1.4}.tagline{font-size:17px;letter-spacing:4px;margin:24px 0 0;color:#d2bea2}.tagline span{margin:0 7px}.category-nav{display:none}.feature{display:grid;position:relative;isolation:isolate;border-bottom:1px solid var(--line)}.ramen{grid-template-columns:52% 48%;min-height:398px}.section-content{position:relative;z-index:1;padding:12px 30px 20px 55px}h2{display:table;position:relative;isolation:isolate;font-family:'Kaushan Script','Brush Script MT',cursive;font-size:46px;font-weight:400;line-height:1.2;margin:0 0 15px;padding:3px 28px 7px 9px;transform:rotate(-1deg)}h2:before{content:'';position:absolute;z-index:-1;inset:0 -30px 0 -13px;background:var(--red);clip-path:polygon(4% 8%,32% 0,87% 7%,73% 13%,100% 20%,83% 28%,98% 36%,80% 43%,100% 50%,87% 58%,98% 66%,78% 70%,96% 79%,80% 84%,90% 92%,20% 98%,1% 88%,3% 68%,0 55%,4% 40%,1% 25%)}.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:7px 0;border-bottom:1px solid #71624a60}.menu-item:last-child{border-bottom:0}h3{font-size:21px;font-weight:500;margin:0;line-height:1.2}.price{font-size:22px;font-weight:500;white-space:nowrap}.menu-item p{grid-column:1/-1;font-size:16px;line-height:1.35;color:var(--muted);margin:1px 0 0}.food-photo{background-image:url('assets/sakura-reference.jpg');background-repeat:no-repeat;position:relative}.ramen-photo{background-size:1024px 1536px;background-position:-533px -248px;min-height:398px;mask-image:linear-gradient(to right,transparent,#000 9%)}.noodles{grid-template-columns:45% 55%;min-height:378px}.noodles .section-content{padding:15px 52px 14px 28px}.noodles-photo{background-size:1024px 1536px;background-position:0 -650px;mask-image:linear-gradient(to right,#000 93%,transparent)}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;padding-top:16px}.bottom-grid>section{min-width:0;position:relative}.bottom-grid>section+section{border-left:1px solid var(--line)}.bottom-grid .section-content{padding:0 55px}.bottom-grid h2{font-size:40px;margin-bottom:10px}.compact .menu-item{padding:3px 0;border:0}.compact h3,.compact .price{font-size:19px;font-weight:400}.sides-photo{height:172px;background-size:1024px 1536px;background-position:0 -1260px}.drinks-photo{height:172px;background-size:1024px 1536px;background-position:-512px -1278px}footer{text-align:center;padding:5px 30px 24px}.footer-brand{display:flex;align-items:center;justify-content:center;gap:20px}.footer-brand b{font-family:'Kaushan Script',cursive;font-weight:400;font-size:43px}.footer-brand span{height:1px;width:140px;background:#baad92}footer p{font-size:13px;letter-spacing:5px;margin:1px 0 10px}.back-top{color:#bcae95;text-decoration:none;font-size:13px}a:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
@media(min-width:760px){.brand:after{content:'✿';position:absolute;right:12px;top:-30px;font-size:150px;color:#a71c22;transform:rotate(-25deg);opacity:.75}}
@media(max-width:759px){.brand{padding:30px 16px 22px;min-height:0}.japanese{font-size:20px;left:16px;top:23px}.brand-lockup{gap:18px;padding-left:20px}.seal{width:91px;height:91px;font-size:60px;border-width:6px;outline-width:2px;outline-offset:3px}.brand h1{font-size:65px;margin:0}.brand-lockup p{font-size:12px;letter-spacing:3px}.tagline{font-size:10px;letter-spacing:1.8px;line-height:1.7;margin:22px 0 0}.tagline span{margin:0 3px}.category-nav{display:flex;position:sticky;top:0;z-index:10;background:#090a07f5;backdrop-filter:blur(12px);border-block:1px solid #61513a88;justify-content:space-around;padding:8px 10px;gap:4px}.category-nav a{color:var(--paper);font-size:15px;text-decoration:none;padding:9px 13px;border-radius:3px}.category-nav a.active{background:var(--red)}.feature{display:flex;flex-direction:column;min-height:0}.section-content,.noodles .section-content{padding:24px 24px 16px}h2{font-size:38px;margin-bottom:15px}.menu-item{padding:10px 0}h3{font-size:19px}.price{font-size:20px}.menu-item p{font-size:15px;max-width:92%}.food-photo{align-self:center;width:100%;max-width:490px}.ramen-photo{height:320px;min-height:0;background-size:850px 1275px;background-position:right -203px;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 93%,transparent)}.noodles-photo{order:2;height:300px;background-size:850px 1275px;background-position:0 -539px;mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 90%,transparent)}.bottom-grid{grid-template-columns:1fr;padding-top:0}.bottom-grid>section+section{border-left:0;border-top:1px solid var(--line)}.bottom-grid .section-content{padding:25px 24px 12px}.compact .menu-item{padding:6px 0}.bottom-grid h2{font-size:38px}.compact h3,.compact .price{font-size:18px}.sides-photo,.drinks-photo{margin:auto;height:165px;background-size:850px 1275px}.sides-photo{background-position:0 -1043px}.drinks-photo{background-position:right -1060px}footer{padding-top:22px}.footer-brand span{width:65px}.footer-brand b{font-size:38px}}
@media(max-width:359px){.brand h1{font-size:52px}.seal{width:72px;height:72px;font-size:47px}.japanese{font-size:16px}.brand-lockup{gap:12px}.tagline{letter-spacing:.8px}.section-content,.noodles .section-content,.bottom-grid .section-content{padding-left:18px;padding-right:18px}.category-nav a{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original artwork preserves the exact calligraphy, enso brush circle,
   Chinese lettering, blossom branches and painted category marks. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{padding:0;min-height:0;height:auto;aspect-ratio:1024 / 250;overflow:hidden}
.brand:after{display:none}
.original-brand{display:block;position:absolute;top:0;left:0;width:100%;height:auto;max-width:none}
.section-content h2{padding:0;transform:none;color:transparent;background-image:url('assets/sakura-reference.jpg');background-repeat:no-repeat;background-size:1024px 1536px;width:310px;height:75px;margin:0 0 6px -24px;font-size:0;line-height:0}
.section-content h2:before{display:none}
#ramen-heading{background-position:-31px -258px}
#noodles-heading{background-position:-447px -666px;margin-left:-39px}
.bottom-grid .section-content h2{width:260px;height:60px;font-size:0;margin-left:-12px}
#sides-heading{background-position:-43px -1035px}
#drinks-heading{background-position:-520px -1035px}
.original-footer{height:92px;max-width:650px;margin:auto;background:url('assets/sakura-reference.jpg') center -1432px / 1024px 1536px no-repeat}
@media(max-width:759px){
 .brand{padding:0;aspect-ratio:1024 / 250;min-height:0}
 .section-content h2{background-size:890.88px 1336.32px;width:270px;height:65px;margin-left:-12px;margin-bottom:9px;font-size:0}
 #ramen-heading{background-position:-26.97px -224.46px}
 #noodles-heading{background-position:-388.89px -579.42px;margin-left:-12px}
 .bottom-grid .section-content h2{background-size:1024px 1536px;width:260px;height:60px;font-size:0;margin-left:-12px}
 .original-footer{background-size:870.4px 1305.6px;background-position:center -1217.2px;height:82px}
}

/* Keep the noodle crop above the next heading in the source poster. */
@media(min-width:760px){
 .noodles-photo{height:345px;min-height:0;max-height:345px;align-self:start;width:100%;background-position:0 -650px}
}

/* On phones, retain the exact two-column, three-row reference composition.
   The HTML menu stays available to assistive technology; browser pinch zoom
   remains enabled by the viewport meta tag. */
.mobile-poster{display:none}
@media(max-width:759px){
 .mobile-poster{display:block;width:100%;height:auto;margin:0}
 .menu{width:100%;max-width:1024px}
 .menu > :not(.mobile-poster){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
 .menu footer .back-top{display:none}
}
