/* 三點水 3AM — The dark room. Real nightly interior photography is the page material. */
.bs--3am{--night:#11191f;--night-raised:#17242d;--paper:#eef0ea;--soft:#bac4c3;--blue:#6b8fab;--blue-light:#9fb6c9;--ink:#17222a;background:var(--night);color:var(--paper);font-family:"Noto Sans TC",sans-serif}
.bs--3am .bs-head{position:absolute;z-index:5;top:0;width:100%;background:transparent;border:0;color:var(--paper)}
.bs--3am .bs-head__in{min-height:84px}.bs--3am .bs-head__logo img{filter:brightness(0) invert(1)}
.bs--3am .bs-head__nav a:not(.bs-btn),.bs--3am .bs-lang a{color:var(--paper)}
.bs--3am .bs-head__nav .bs-btn,.bs--3am .bs-btn{background:var(--paper);border:0;border-radius:0;color:var(--ink);box-shadow:none}
.bs--3am .bs-btn:hover,.bs--3am .bs-btn:focus-visible{background:var(--blue-light);color:var(--ink);transform:translateY(-2px)}
.bs--3am .bs-hero{min-height:100svh;padding:0;background:var(--night);overflow:hidden}
.bs--3am .bs-hero__grid{position:relative;min-height:100svh;display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:end;padding-top:112px;padding-bottom:50px}
.bs--3am .bs-hero__copy{grid-column:1/span 5;z-index:2;align-self:end;padding-bottom:68px}.bs--3am .bs-hero h1{margin:0;font-family:"Noto Serif TC",serif;font-size:clamp(2.7rem,5.5vw,5.8rem);line-height:1.02;letter-spacing:-.06em;color:var(--paper)}
.bs--3am .bs-hero h1 .en{display:block;margin-top:.38em;font-family:"Cormorant Garamond",serif;font-size:1.15rem;letter-spacing:.01em;color:#c3d2de}
.bs--3am .bs-hero__lede{max-width:31ch;margin:32px 0 0;font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.75;color:var(--soft)}
.bs--3am .bs-hero__actions{margin-top:32px;display:flex;align-items:center;gap:28px}.bs--3am .bs-text-link{color:var(--paper);font-size:1rem;text-decoration:underline;text-underline-offset:5px}.bs--3am .bs-text-link:hover{color:var(--blue-light)}
.bs--3am .bs-hero__photo{margin:0;overflow:hidden;background:var(--night-raised)}.bs--3am .bs-hero__photo img{width:100%;height:100%;display:block;object-fit:cover;filter:brightness(.73) saturate(.76);animation:threeAmDrift 13s ease-in-out infinite alternate}.bs--3am .bs-hero__photo--main{grid-column:7/span 4;align-self:start;margin-top:11svh;height:min(70svh,760px)}.bs--3am .bs-hero__photo--small{grid-column:11/span 2;align-self:end;height:30svh;margin-bottom:15svh}.bs--3am .bs-hero__photo--small img{filter:brightness(.64) saturate(.7);animation-delay:-5s}
.bs--3am .bs-hero__meta{position:absolute;right:calc(var(--gutter, 24px));bottom:42px;display:flex;flex-direction:column;gap:5px;margin:0;color:var(--soft);font-size:1rem}.bs--3am .bs-hero__meta b{font-size:1.1rem;color:var(--paper);font-variant-numeric:tabular-nums}
.bs--3am main>section:not(.bs-hero){padding:140px 0}.bs--3am .bs-alt{background:var(--night-raised)}.bs--3am .bs-sec__head h2,.bs--3am .bs-story h2{color:var(--paper);font-family:"Noto Serif TC",serif;font-size:clamp(2.2rem,4.7vw,5rem);line-height:1.06;letter-spacing:-.05em}.bs--3am .bs-sec__head h2 .en{color:var(--blue-light);font-family:"Cormorant Garamond",serif;font-size:1rem;letter-spacing:0}.bs--3am .bs-sec__head p{color:var(--soft)}
.bs--3am .bs-facts{gap:0;background:var(--night-raised)}.bs--3am .bs-facts>div{background:var(--night);padding:24px}.bs--3am .bs-facts dt{color:var(--blue-light)}.bs--3am .bs-facts dd{color:var(--paper)}.bs--3am .bs-feat__moji{display:none}.bs--3am .bs-points{margin-left:0}.bs--3am .bs-points li{color:var(--paper)}.bs--3am .bs-points .n{color:var(--blue)}.bs--3am .bs-points span{color:var(--soft)}
.bs--3am .bs-story{background:var(--night)}.bs--3am .bs-story__body p{color:var(--soft)}.bs--3am .bs-story__body p:first-child{color:var(--paper);font-family:"Noto Serif TC",serif;font-size:clamp(1.5rem,2.4vw,2.5rem);line-height:1.45}
.bs--3am .bs-gallery{background:var(--night)}.bs--3am .bs-gallery__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(18px,4vw,64px);align-items:end;margin-top:64px}.bs--3am .bs-gallery figure{margin:0}.bs--3am .bs-gallery figure+figure{transform:translateY(100px)}.bs--3am .bs-gallery img{display:block;width:100%;height:clamp(360px,56vw,720px);object-fit:cover;filter:brightness(.72) saturate(.78);transition:filter .5s ease,transform .7s ease}.bs--3am .bs-gallery figure:hover img{filter:brightness(.95) saturate(.9);transform:scale(1.015)}.bs--3am .bs-gallery figcaption{padding-top:16px;color:var(--soft);font-size:1rem}
.bs--3am .menu-venue__title,.bs--3am .menu-group__zh,.bs--3am .menu-item__zh{color:var(--paper)}.bs--3am .menu-venue__sub,.bs--3am .menu-group__en,.bs--3am .menu-item__en,.bs--3am .menu-item__note,.bs--3am .menu-notice{color:var(--soft)}.bs--3am .menu-group{border:0;background:transparent}.bs--3am .menu-list{border:0}.bs--3am .menu-item{border-color:#31404a}.bs--3am .menu-item__price{color:var(--blue-light)}
.bs--3am .bs-faq details{border:0;border-bottom:0;background:transparent;padding:30px 0}.bs--3am .bs-faq summary{color:var(--paper);font-size:clamp(1.35rem,2vw,2.3rem)}.bs--3am .bs-faq p{color:var(--soft)}.bs--3am .bs-visit address,.bs--3am .bs-visit dl{color:var(--paper)}.bs--3am .bs-visit small,.bs--3am .bs-visit dt{color:var(--soft)}.bs--3am .bs-map{filter:grayscale(1) brightness(.65) contrast(1.1)}
.bs--3am .bs-foot{background:var(--paper);color:var(--ink)}.bs--3am .bs-foot a,.bs--3am .bs-foot p{color:var(--ink)}.bs--3am .bs-foot__brand img{filter:none}.bs--3am .bs-dock{background:var(--night);border:0}.bs--3am .bs-dock .bs-btn--line{color:var(--paper);border-color:var(--paper)}
@keyframes threeAmDrift{to{transform:scale(1.055)}}
@media (prefers-reduced-motion:reduce){.bs--3am *{animation:none!important;transition:none!important}}
@media(max-width:760px){.bs--3am .bs-head{position:absolute}.bs--3am .bs-head__in{min-height:64px}.bs--3am .bs-head__logo img{height:30px}.bs--3am .bs-lang{display:flex}.bs--3am .bs-head .bs-lang a{color:var(--paper);padding:6px 6px}.bs--3am .bs-hero{min-height:0}.bs--3am .bs-hero__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;min-height:0;padding-top:76px;padding-bottom:40px;align-items:start}.bs--3am .bs-hero__photo--main{grid-column:1/span 4;grid-row:1;order:0;margin:0;height:auto;aspect-ratio:3/4}.bs--3am .bs-hero__photo--small{grid-column:5/span 2;grid-row:1;order:0;margin:0;align-self:end;height:auto;aspect-ratio:9/16;z-index:auto}.bs--3am .bs-hero__copy{grid-column:1/-1;grid-row:2;order:0;padding:20px 0 0}.bs--3am .bs-hero h1{font-size:clamp(2.4rem,11.5vw,3.6rem);line-height:1.08}.bs--3am .bs-hero__lede{margin-top:18px;max-width:none}.bs--3am .bs-hero__actions{margin-top:26px;gap:12px;flex-wrap:wrap}.bs--3am .bs-hero__actions .bs-btn{flex:1 1 auto;min-height:52px;justify-content:center}.bs--3am .bs-text-link{display:inline-flex;align-items:center;min-height:52px;padding:0 8px}.bs--3am .bs-hero__meta{position:static;grid-column:1/-1;grid-row:3;order:0;margin:8px 0 0;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.bs--3am main>section:not(.bs-hero){padding:84px 0}.bs--3am .bs-sec__head h2,.bs--3am .bs-story h2{font-size:clamp(2rem,9vw,2.8rem)}.bs--3am .bs-gallery__grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;align-items:start}.bs--3am .bs-gallery figure+figure{transform:translateY(48px)}.bs--3am .bs-gallery img{height:auto;aspect-ratio:9/16}.bs--3am .bs-gallery{padding-bottom:132px!important}.bs--3am .bs-story__body p:first-child{font-size:1.4rem}.bs--3am .bs-facts>div{padding:18px}.bs--3am .bs-map{min-height:280px}.bs--3am .bs-foot__bottom{display:block}.bs--3am .bs-dock{background:rgba(17,25,31,.97);border-top:0}.bs--3am .bs-dock .bs-btn{min-height:48px}.bs--3am .bs-foot{padding-bottom:96px}}
@media(max-width:380px){.bs--3am .bs-head__logo img{height:26px}.bs--3am .bs-head .bs-lang a{padding:6px 3px}.bs--3am .bs-hero__actions .bs-btn{flex-basis:100%}.bs--3am .bs-text-link{padding:0}}
/* dark theme fixes for shared components */
.bs--3am .bs-facts{border:0;border-radius:0}.bs--3am .bs-facts>div{border-color:#2a3944}
.bs--3am .bs-faq{border-top-color:#2a3944}.bs--3am .bs-faq details{border-bottom:1px solid #2a3944!important;padding:6px 0!important}
.bs--3am .bs-faq summary::after{color:var(--blue-light)}
@media(max-width:760px){.bs--3am .bs-facts{grid-template-columns:1fr}.bs--3am .bs-facts>div{border-left:0;border-top:1px solid #2a3944}.bs--3am .bs-facts>div:first-child{border-top:0}.bs--3am .bs-faq summary{font-size:1.2rem}.bs--3am .bs-menu__cta .bs-btn{flex:1 1 100%;min-height:52px;justify-content:center}.bs--3am .bs-visit .bs-hero__actions{display:grid;gap:12px}.bs--3am .bs-visit .bs-btn{min-height:48px;justify-content:center}}
@media(max-width:760px){.bs--3am .bs-facts>div{padding:18px 0}.bs--3am .bs-faq summary::after{font-size:1.6rem}}
/* menu: dark image ground; compact thumbnail rows on phones instead of full-width photos */
.bs--3am .menu-item__img{background:var(--night-raised)}
/* 菜單照片放大（KK 11/4）：桌機 72px → 220px、手機縮圖 88px → 128px */
@media(min-width:641px){.bs--3am .menu-item{align-items:center}.bs--3am .menu-item--img{padding:20px 0;gap:28px}.bs--3am .menu-item__img{width:220px;height:220px;border-radius:14px}}
@media(min-width:641px) and (max-width:900px){.bs--3am .menu-item__img{width:180px;height:180px}}
@media(max-width:640px){
.bs--3am .menu-item{grid-template-columns:128px minmax(0,1fr);column-gap:16px;padding:18px 0;border-bottom-color:#2a3944}
.bs--3am .menu-item:not(.menu-item--img){grid-template-columns:minmax(0,1fr)}
.bs--3am .menu-item__img{grid-column:1;grid-row:1/span 4;width:128px;height:128px;aspect-ratio:1/1;margin:0;align-self:start;border-radius:10px}
@media(max-width:360px){.bs--3am .menu-item{grid-template-columns:112px minmax(0,1fr)}.bs--3am .menu-item__img{width:112px;height:112px}}
.bs--3am .menu-item--img .menu-item__names>*,.bs--3am .menu-item--img .menu-item__price{grid-column:2}
.bs--3am .menu-item__zh{font-size:1.08rem}
.bs--3am .menu-item__note{line-height:1.6}
}
.bs--3am .bs-points li{grid-template-columns:minmax(0,1fr);border-color:#2a3944}.bs--3am .bs-points b{color:var(--paper)}
.bs--3am .bs-btn--line,.bs--3am .bs-dock .bs-btn--line{background:transparent;color:var(--paper);border:1px solid var(--paper)}
.bs--3am .bs-btn--line:hover,.bs--3am .bs-btn--line:focus-visible{background:var(--paper);color:var(--ink)}
.bs--3am .menu-item__price .now{color:var(--paper);font-weight:600}.bs--3am .menu-item__price .orig{color:#c3d2de}
.bs--3am .menu-item__note{color:#c7cfcd}
@media(max-width:640px){.bs--3am .menu-item__note{grid-column:1/-1}}
.bs--3am .bs-dock{background:var(--night)!important}.bs--3am .bs-dock .bs-btn--line{background:var(--night)}
