@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--paper:#fbf8f2;--white:#fff;--ink:#292823;--red:#a92c23;--muted:#6d6861;--line:#ddd8ce;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}svg.lucide{width:19px;height:19px;stroke-width:1.6;flex-shrink:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip-link{position:fixed;top:0;left:20px;padding:12px;background:white;transform:translateY(-120%);z-index:99}.skip-link:focus{transform:translateY(0)}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 5.4vw;position:relative;z-index:20;background:var(--paper)}.brand{display:inline-flex;flex-direction:column;line-height:1.2}.brand-name{font-family:var(--serif);font-weight:700;color:var(--red);font-size:30px;letter-spacing:.05em;display:flex;align-items:center;gap:17px}.brand-korean{font-family:var(--sans);font-size:12px;letter-spacing:.08em;font-weight:500}.brand-en{font-size:10px;letter-spacing:.16em;margin-top:9px;font-weight:500}.desktop-nav{display:flex;gap:34px;margin-left:auto;font-size:14px}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--red);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-phone{display:flex;align-items:center;gap:10px;background:var(--ink);color:white;padding:12px 20px;font-size:13px}.header-phone:hover{background:var(--red)}.menu-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer}.mobile-nav{position:absolute;top:88px;width:100%;z-index:25;background:var(--paper);box-shadow:0 8px 16px #29282312;padding:20px 6%}.mobile-nav a{display:block;padding:13px 0}.hero{display:grid;grid-template-columns:49% 51%;min-height:636px;padding:18px 5.4vw 42px;position:relative;overflow:hidden}.hero-copy{padding:44px 34px 0 0;position:relative;z-index:2}.eyebrow{font-size:13px;font-weight:500;letter-spacing:.12em;display:flex;align-items:center;gap:12px;margin:0 0 30px;color:var(--red)}.small-rule{height:1px;width:29px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.1vw,49px);line-height:1.8;letter-spacing:.04em;white-space:nowrap;margin-bottom:22px}h1 em{font-style:normal;color:var(--red)}.hero-description{font-size:16px;line-height:2.1;letter-spacing:.04em;color:var(--muted);margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:13px 23px;font-weight:500;font-size:14px;transition:background .2s,transform .2s}.button-red{background:var(--red);color:white}.button-red:hover{background:#882218;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--ink)}.text-link:hover{color:var(--red)}.hero-location{font-family:var(--sans);font-size:11px;letter-spacing:.15em;margin:46px 0 0;display:flex;gap:16px;color:var(--muted)}.hero-visual{position:relative;min-height:575px}.hero-photo{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 58%}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0001 40%,#0008)}.photo-korean{position:absolute;top:25px;right:25px;writing-mode:vertical-rl;letter-spacing:.22em;color:white;font-size:18px}.photo-caption{position:absolute;bottom:25px;left:28px;right:28px;color:white;display:flex;gap:12px;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:14px;letter-spacing:.04em}.photo-caption span:last-child{font-family:var(--sans);font-size:10px;letter-spacing:.18em}.hero-seal{position:absolute;right:-25px;top:-17px;width:111px;height:111px;border-radius:50%;color:var(--red);background:var(--paper);border:1px solid var(--red);outline:6px solid var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);font-family:var(--serif);font-size:12px;line-height:1.7}.hero-seal strong{font-size:15px;font-weight:500}.hero-seal svg{margin-top:6px;width:15px;height:15px}.hours-strip{display:flex;justify-content:center;align-items:center;gap:4vw;padding:24px 5.4vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hours-strip>div{display:flex;align-items:center;gap:13px}.hours-strip svg{color:var(--red)}.strip-title{font-size:11px;letter-spacing:.12em;color:var(--muted)}.hours-strip strong{font-size:17px;font-weight:500}.hours-strip div>span:last-child{font-size:13px;color:var(--muted)}.hours-strip p{display:flex;gap:8px;align-items:center;font-size:13px;margin:0}.section{padding:96px 8vw;max-width:1440px;margin:auto}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2{font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:.06em;line-height:1.8;margin-bottom:28px}.footer{display:flex;align-items:center;justify-content:space-between;padding:36px 5.4vw;border-top:1px solid var(--line)}.footer p{font-size:12px;letter-spacing:.1em;color:var(--muted);margin:0}.footer-brand .brand-name{font-size:26px}
@media(min-width:1550px){.hero,.site-header,.hours-strip,.footer{padding-right:max(5.4vw,calc((100vw - 1440px)/2));padding-left:max(5.4vw,calc((100vw - 1440px)/2))}.hero{min-height:710px}}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-phone{padding:12px}.hero{grid-template-columns:51% 49%;min-height:590px}.hero-copy{padding-right:14px}.hero-visual{min-height:540px}.hero-actions{gap:16px}.hours-strip{gap:24px;flex-wrap:wrap}.hours-strip div>span:last-child{display:none}.brand-korean{display:none}}
@media(max-width:760px){html{scroll-padding-top:24px}.site-header{height:88px;padding:0 6%;gap:12px}.brand-name{font-size:27px}.brand-en{font-size:9px}.desktop-nav{display:none}.header-phone{margin-left:auto;min-height:42px;width:42px;padding:11px}.header-phone span{display:none}.menu-toggle{display:flex}.hero{display:flex;flex-direction:column;padding:15px 6% 28px;overflow:hidden}.hero-copy{padding:15px 0 32px}.eyebrow{font-size:12px;margin-bottom:20px}h1{font-size:clamp(27px,6.6vw,44px);line-height:1.7;letter-spacing:.03em;margin-bottom:17px;white-space:normal}.hero-description{font-size:14px;margin-bottom:24px}.hero-actions{gap:20px;flex-wrap:wrap}.button{font-size:14px;padding:12px 18px}.text-link{font-size:13px}.hero-location{display:none}.hero-visual{height:410px;min-height:0}.hero-photo{object-position:center 58%}.hero-seal{width:92px;height:92px;right:12px;top:-18px}.hero-seal strong{font-size:13px}.photo-caption{left:19px;right:19px;font-size:12px}.photo-caption span:last-child{display:none}.hours-strip{justify-content:flex-start;padding:20px 6%;gap:15px 25px}.hours-strip>div{gap:8px}.hours-strip strong{font-size:16px}.hours-strip p{font-size:12px}.strip-title{font-size:10px}.section{padding:62px 6%}.section-heading h2{font-size:26px}.footer{padding:28px 6%;gap:20px}.footer-brand .brand-name{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Shared restaurant sections */
.photo-korean{left:25px;right:auto}
.about-section{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}.about-image{position:relative;padding:0 0 25px}.about-image img{width:100%;aspect-ratio:1.3;object-fit:cover}.image-caption{font-family:var(--serif);font-size:13px;letter-spacing:.08em;position:absolute;bottom:0;right:0;color:var(--muted)}.about-copy>p{font-size:16px;line-height:2.1;color:var(--muted);margin-bottom:22px}.section-heading .eyebrow{font-size:12px;gap:16px}.section-heading .eyebrow span{color:#b7a99c}.about-notes{display:flex;gap:24px;padding-top:22px;border-top:1px solid var(--line);font-size:13px}.about-notes span{display:flex;align-items:center;gap:8px}.about-notes svg{color:var(--red)}.menu-section{background:#f0eae0}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.menu-heading .section-heading h2{margin-bottom:0}.menu-heading>p{font-size:15px;color:var(--muted);line-height:2;margin:0 0 7px}.menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%}.menu-image{margin:0;position:relative;align-self:start}.menu-image img{width:100%;aspect-ratio:.96;object-fit:cover}.menu-image figcaption{display:flex;justify-content:space-between;padding:15px 0;font-size:14px;font-family:var(--serif)}.menu-image figcaption span:last-child{color:var(--muted);font-size:13px}.menu-item{padding:0 0 27px;margin-bottom:28px;border-bottom:1px solid #ccc3b7}.menu-item-label{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--red);font-size:12px;letter-spacing:.08em}.menu-item-label span:last-child{margin-left:auto;color:var(--muted);font-size:13px;letter-spacing:.02em}.menu-item h3{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.04em;margin-bottom:12px;line-height:1.7}.menu-item p{font-size:15px;line-height:2;color:var(--muted);margin-bottom:17px}.menu-item .text-link{font-size:13px}.menu-price-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:12px}.menu-price-row strong{font-weight:500;font-size:18px}.menu-price-row strong span{font-size:13px;margin-left:5px}.menu-item .menu-note{font-size:12px;margin-bottom:0;line-height:1.8}.full-menu{font-size:13px}.party-section{background:var(--red);color:white;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:44px 8vw}.party-copy .eyebrow{color:#f2c2b9;margin-bottom:9px;font-size:10px}.party-copy h2{font-family:var(--serif);font-size:24px;font-weight:500;margin-bottom:8px;line-height:1.7}.party-copy>p{font-size:13px;margin-bottom:0;color:#f3d7d1}.party-offer{text-align:center;white-space:nowrap}.party-offer>span{font-size:12px;letter-spacing:.06em}.party-offer p{margin:5px 0 1px;font-size:15px;line-height:1.5}.party-offer strong{font-size:35px;font-weight:500;letter-spacing:.03em;margin-right:5px}.party-offer p>span{display:block;font-size:11px}.party-button{background:var(--paper);color:var(--red);font-size:13px;white-space:nowrap}.party-button:hover{background:white;transform:translateY(-2px)}.visit-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;margin-top:40px}.visit-info h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.8;margin-bottom:24px}.visit-info h3>span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;color:var(--muted);margin-top:4px}.visit-info dl{margin:0}.visit-info dl>div{display:grid;grid-template-columns:116px 1fr;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.visit-info dt{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}.visit-info dt svg{width:17px;height:17px;margin-top:4px}.visit-info dd{margin:0}.visit-map{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.visit-map iframe{border:0;width:100%;height:400px;background:#e5e4df}.visit-map .text-link{font-size:13px}.reservation{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 0 0;margin-top:60px;border-top:1px solid var(--line)}.reservation .eyebrow{font-size:10px;margin-bottom:10px}.reservation h3{font-family:var(--serif);font-size:23px;font-weight:500;margin-bottom:10px}.reservation p:last-child{font-size:13px;color:var(--muted);margin-bottom:0;line-height:1.9}.reservation-phone{display:flex;align-items:center;gap:20px;color:var(--red);font-size:30px;letter-spacing:.02em;line-height:1.8;white-space:nowrap}.reservation-phone:hover{color:#802018}.reservation-phone svg{width:28px;height:28px}.reservation-phone small{display:block;font-size:11px;text-align:center;letter-spacing:.03em;color:var(--muted)}.footer-instagram{display:flex;align-items:center;gap:9px;font-size:12px;margin-left:auto;margin-right:45px}.footer-instagram:hover{color:var(--red)}
@media(max-width:1100px){.about-section{gap:6%}.section-heading h2{font-size:28px}.about-copy>p{font-size:15px}.party-section{gap:25px;padding:38px 6%}.party-copy h2{font-size:20px}.party-button{padding:12px 15px}.party-offer strong{font-size:31px}.visit-layout{gap:6%}.visit-info dl>div{grid-template-columns:106px 1fr}.reservation-phone{font-size:26px}}
@media(max-width:760px){.about-section{display:flex;flex-direction:column-reverse;gap:30px}.about-copy{width:100%}.about-image{width:100%}.about-image img{aspect-ratio:1.35}.image-caption{font-size:12px}.about-copy>p{font-size:16px}.about-notes{font-size:13px;gap:20px}.section-heading .eyebrow{font-size:11px;gap:10px}.desktop-break{display:none}.menu-heading{display:block;margin-bottom:30px}.menu-heading>p{margin-top:20px;font-size:14px}.menu-layout{display:flex;flex-direction:column;gap:30px}.menu-image img{aspect-ratio:1.15;object-position:center}.menu-item{margin-bottom:25px;padding-bottom:25px}.menu-item h3{font-size:24px}.menu-item p{font-size:16px}.menu-item-label{font-size:12px}.menu-item .text-link,.full-menu{font-size:14px}.menu-item .menu-note{font-size:13px}.party-section{display:grid;grid-template-columns:1fr 1fr;gap:25px 15px;padding:32px 6%}.party-copy{grid-column:1/-1}.party-copy h2{font-size:22px}.party-copy>p{font-size:14px}.party-offer{text-align:left}.party-offer strong{font-size:32px}.party-offer p>span{font-size:11px}.party-button{font-size:13px;padding:12px;justify-self:end}.visit-layout{display:flex;flex-direction:column;gap:30px;margin-top:28px}.visit-info dl>div{grid-template-columns:105px 1fr;font-size:14px}.visit-map iframe{height:300px}.reservation{flex-direction:column;align-items:flex-start;padding-top:30px;margin-top:40px;gap:25px}.reservation-phone{font-size:27px;gap:15px}.reservation-phone small{text-align:left;font-size:12px}.reservation p:last-child{font-size:14px}.footer{flex-wrap:wrap}.footer-instagram{margin-left:auto;margin-right:0;font-size:12px}.footer p{width:100%;font-size:10px}.photo-korean{left:20px;right:auto;top:22px}}
@media(max-width:360px){.hero-actions{gap:16px}.party-section{grid-template-columns:1fr}.party-copy{grid-column:auto}.party-button{justify-self:start}.reservation-phone{font-size:24px}}
@media(min-width:761px){.mobile-nav{display:none}}
/* Photo galleries: one-photo layouts stay unchanged until more photos are supplied. */
.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}
.carousel-viewport{position:relative;width:100%;overflow:hidden;touch-action:pan-y pinch-zoom;background:#e5e0d7}
.carousel-viewport:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.carousel-track{display:flex;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,.68,.24,1);will-change:transform}
.carousel-slide{flex:0 0 100%;min-width:0;height:100%;position:relative}
.carousel-slide img{width:100%;height:100%;object-fit:cover;user-select:none}
.hero-visual .carousel-viewport{position:absolute;inset:0;height:100%}
.about-image .carousel-viewport{aspect-ratio:1.3}
.menu-image .carousel-viewport{aspect-ratio:.96}
.about-image .carousel-slide img,.menu-image .carousel-slide img{aspect-ratio:auto;height:100%}
.carousel-controls{position:absolute;inset:auto 18px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:3}
.hero-visual .carousel-controls{bottom:76px}
.carousel-direction{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);border:0;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s}
.carousel-direction:hover{background:var(--red);color:white}
.carousel-direction svg.lucide{width:21px;height:21px}
.carousel-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:0;background:var(--paper);padding:4px 7px;max-width:calc(100% - 112px)}
.carousel-dot{width:28px;height:32px;background:transparent;border:0;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.carousel-dot:before{content:'';width:7px;height:7px;display:block;border-radius:50%;background:#aca397;transition:background .2s,transform .2s}
.carousel-dot[aria-current=true]:before{background:var(--red);transform:scale(1.3)}
.photo-shade,.photo-korean,.photo-caption,.hero-seal{pointer-events:none}
@media(max-width:760px){.about-image .carousel-viewport{aspect-ratio:1.35}.menu-image .carousel-viewport{aspect-ratio:1.15}.menu-image .carousel-dot{width:24px}.carousel-controls{left:14px;right:14px;bottom:14px}.hero-visual .carousel-controls{bottom:67px}}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}
/* Keep the lunch buffet in view when the portrait photos fill the hero. */
.hero-visual img{object-position:center 80%}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.instagram-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:var(--ink)}
.instagram-icon:hover{color:var(--red)}
.instagram-icon svg.lucide{width:20px;height:20px}
.menu-item .lunch-notice{font-size:13px;line-height:1.9}
.lunch-notice a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.site-header{gap:16px}.header-actions{gap:8px}}
@media(max-width:760px){.site-header{gap:8px}.header-actions{gap:4px;margin-left:auto}.header-phone{margin-left:0}.header-instagram{width:36px;height:40px}.menu-item .lunch-notice{font-size:14px}}

/* Karaoke is a small extra alongside the food menu. */
.karaoke-note{display:grid;grid-template-columns:1fr 220px;align-items:center;gap:32px;margin-top:32px;padding-top:28px;border-top:1px solid #ccc3b7;scroll-margin-top:100px}
.karaoke-copy,.night-photo{min-width:0}
.karaoke-copy h3{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:20px;font-weight:500;margin:0 0 9px;line-height:1.6}
.karaoke-copy h3 svg{width:19px;height:19px;color:var(--red);flex-shrink:0}
.karaoke-copy p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 6px}
.karaoke-copy .karaoke-price{margin:0;color:var(--ink)}
.karaoke-price strong{font-weight:500}
.night-photo{position:relative;margin:0}
.night-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;aspect-ratio:16/10;padding:16px;text-align:center;background:#fbf8f280;color:var(--muted)}
.night-photo-placeholder svg.lucide{width:22px;height:22px;stroke-width:1.4}
.night-photo-placeholder>span{font-size:12px;line-height:1.6}
.night-photo>img,.night-photo .carousel-viewport{width:100%;aspect-ratio:16/10;object-fit:cover}
.night-photo .carousel-slide img{height:100%;aspect-ratio:auto}
@media(max-width:760px){.karaoke-note{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:24px}.karaoke-copy h3{font-size:19px}.night-photo{width:100%;max-width:260px}}
