/* ============================
   SHARED STYLES
   ============================ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root {
  --bg-warm: #f4ede4;
  --bg-light: #faf6f1;
  --ink: #1c1916;
  --ink-light: #3e3832;
  --ink-muted: #6b6560;
  --terracotta: #c2593b;
  --wine: #6e2e38;
  --sand: #d6c7b2;
  --sand-light: #e6ddd0;
  --peach: #e8c4a8;
  --warm-accent: #d4956b;
}

html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'Inter','Noto Sans JP',sans-serif;color:var(--ink);line-height:1.7}

/* ── Animations (shared) ── */
.fi{opacity:0;transform:translateY(50px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.fi.v{opacity:1;transform:translateY(0)}
.fd1{transition-delay:.12s}.fd2{transition-delay:.24s}.fd3{transition-delay:.36s}
.scale-in{opacity:0;transform:scale(.88);transition:opacity 1.2s ease,transform 1.4s cubic-bezier(.16,1,.3,1)}
.scale-in.v{opacity:1;transform:scale(1)}

.sl{font-size:.6rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--terracotta);margin-bottom:20px}

/* ── Shared Nav base ── */
nav{padding:28px 48px;display:flex;justify-content:space-between;align-items:center}
nav .logo{display:flex;align-items:center}
nav .logo img{height:32px;width:auto}

/* ── Shared Footer logo ── */
footer .ft-logo img{height:18px;width:auto}
.archive-footer .ft-logo img{height:16px;width:auto}

/* ── Shared Responsive Nav ── */
@media(max-width:900px){
  nav{padding:20px 24px}
}


/* ============================
   INDEX.HTML SPECIFIC STYLES
   ============================ */

/* ── index: body override ── */
body.page-index{overflow-x:hidden}

/* ── index: BG Layer ── */
#bg-layer{position:fixed;inset:0;z-index:-1;transition:background-color 1.8s cubic-bezier(.4,0,.2,1);background-color:var(--bg-warm)}

/* ── index: Hand-drawn SVG decorations ── */
.deco-svg{position:absolute;pointer-events:none;z-index:0;opacity:.18}
.deco-svg path{fill:none;stroke:var(--warm-accent);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 3s cubic-bezier(.4,0,.2,1)}
.deco-svg.drawn path{stroke-dashoffset:0}

/* ── index: Animations (index-specific values) ── */
.clip-up{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1)}
.clip-up.v{clip-path:inset(0 0 0 0)}

.bg-section{position:relative;transition:color .8s ease}
.bg-section[data-theme="dark"]{color:var(--bg-warm)}
.bg-section[data-theme="dark"] .sl{color:var(--sand)}
.bg-section[data-theme="dark"] .wf-txt .lb{color:var(--peach)}

/* ── index: Nav (fixed + blend mode) ── */
body.page-index nav{position:fixed;top:0;left:0;right:0;z-index:100;mix-blend-mode:difference}
body.page-index nav .logo img{filter:brightness(0) invert(1)}
body.page-index nav .nav-r{font-size:.65rem;letter-spacing:.15em;color:#fff;opacity:.85;text-transform:uppercase}

/* ── index: Hero ── */
.hero{height:100svh;min-height:600px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:var(--bg-warm)}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding:48px 72px 64px;position:relative}
.hero-ey{font-size:.75rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:var(--terracotta);margin-bottom:28px;opacity:0;animation:rise 1s ease .3s forwards}
.hero-copy{opacity:0;animation:rise 1s ease .5s forwards}
.hero-s{font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:400;color:var(--ink-light);line-height:2.2;max-width:520px;margin-bottom:24px}
.hero-s-last{margin-bottom:0;padding-top:20px;border-top:1px solid var(--sand-light)}
.hero-s em{font-style:normal;font-weight:600;color:var(--ink);letter-spacing:.05em}
.hero-brand{font-family:'Inter',sans-serif;font-weight:800;font-style:normal;color:var(--ink);letter-spacing:.08em}
.hero-r{position:relative;overflow:hidden}
.hero-slideshow{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease;transform:scale(1.15);animation:heroZoom 3s cubic-bezier(.16,1,.3,1) .2s forwards}
.hero-slide.active{opacity:1}
.hero-badge{position:absolute;bottom:40px;right:40px;background:var(--bg-light);border-radius:50%;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;animation:rise 1s ease 1.2s forwards;box-shadow:0 4px 30px rgba(0,0,0,.08)}
.hero-badge .m{font-size:.55rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta)}
.hero-badge .d{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:900;line-height:1}
.hero-badge .w{font-size:.55rem;color:var(--ink-muted);letter-spacing:.1em}

@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroZoom{to{transform:scale(1)}}

/* ── index: Marquee ── */
.mq-wrap{overflow:hidden;padding:28px 0;background:var(--ink)}
.mq{display:flex;gap:80px;animation:mqScroll 25s linear infinite;white-space:nowrap;width:max-content}
.mq span{font-family:'Playfair Display',serif;font-size:1rem;font-weight:400;font-style:italic;color:var(--sand);letter-spacing:.1em}
@keyframes mqScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── index: Intro ── */
.intro{padding:140px 48px 80px;max-width:1000px;margin:0 auto;text-align:center;position:relative}
.intro-big{font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;line-height:2;letter-spacing:.06em}
.intro-big .ac{color:var(--terracotta)}
.intro-note{margin-top:40px;font-size:.85rem;color:var(--ink-muted);line-height:2;font-weight:400;max-width:540px;margin-left:auto;margin-right:auto}

/* ── index: Photo Grid ── */
.intro-grid{max-width:1200px;margin:0 auto;padding:0 48px 120px;display:grid;grid-template-columns:1.2fr 1fr .8fr;grid-template-rows:280px 280px;gap:16px;position:relative}
.ig-item{border-radius:12px;overflow:hidden}
.ig-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ig-item:hover img{transform:scale(1.04)}
.ig-tall{grid-row:1/3}

/* ── index: Food Header ── */
.food-hd{text-align:center;padding:120px 48px 80px;position:relative}
.food-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;line-height:1.1}
.food-hd h2 em{font-style:italic;color:var(--wine)}
.food-hd .sub{margin-top:24px;font-size:.9rem;color:var(--ink-muted);line-height:2;max-width:500px;margin-left:auto;margin-right:auto;font-weight:400}

/* ── index: Wine Feature ── */
.wine-ft{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}
.wine-ft.flip{direction:rtl}
.wine-ft.flip>*{direction:ltr}
.wf-img{overflow:hidden}
.wf-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s cubic-bezier(.16,1,.3,1)}
.wf-img:hover img{transform:scale(1.03)}
.wf-txt{display:flex;flex-direction:column;justify-content:center;padding:80px 64px;position:relative}
.wf-txt .lb{font-size:.6rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--wine);margin-bottom:28px}
.wf-txt h3{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:900;line-height:1.2;margin-bottom:12px}
.wf-txt .en{font-family:'Playfair Display',serif;font-size:1.1rem;font-style:italic;color:var(--ink-muted);margin-bottom:32px}
.wf-txt p{font-size:.9rem;color:var(--ink-light);line-height:2.1;font-weight:400;max-width:420px}
.wf-txt .wd{margin-top:40px;padding-top:32px;border-top:1px solid var(--sand-light)}
.wf-txt .wd h4{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.wf-txt .wd p{font-size:.82rem;color:var(--ink-muted);line-height:1.9}

/* ── index: Wine heading row (image beside title) ── */
.wf-heading-row{display:flex;align-items:center;gap:40px;margin-bottom:32px}
.wf-heading-row.reverse{flex-direction:row-reverse}
.wf-heading-img{width:280px;min-width:280px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;flex-shrink:0}
.wf-heading-img img{width:100%;height:100%;object-fit:cover}
.wf-heading-titles h3{margin-bottom:4px}
.wf-heading-titles .en{margin-bottom:0}

/* ── index: Wine section (full width with padding) ── */
.wine-sec{padding:80px 48px;max-width:1100px;margin:0 auto;position:relative}
.wine-sec .lb{font-size:.6rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--wine);margin-bottom:28px}
.wine-sec h3{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:900;line-height:1.2;margin-bottom:12px}
.wine-sec .en{font-family:'Playfair Display',serif;font-size:1.1rem;font-style:italic;color:var(--ink-muted);margin-bottom:32px}
.wine-sec p{font-size:.9rem;color:var(--ink-light);line-height:2.1;font-weight:400;max-width:600px}
.wine-sec .wd{margin-top:40px;padding-top:32px;border-top:1px solid var(--sand-light)}
.wine-sec .wd h4{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.wine-sec .wd p{font-size:.82rem;color:var(--ink-muted);line-height:1.9}

/* ── index: Beer ── */
.beer-ft{display:grid;grid-template-columns:1fr 1fr}
.beer-img{overflow:hidden;display:flex;align-items:center;justify-content:center;padding:60px;gap:24px}
.beer-img .can{height:320px;object-fit:contain;transition:transform .6s ease;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))}
.beer-img .can:hover{transform:translateY(-8px) rotate(-3deg)}
.beer-txt{display:flex;flex-direction:column;justify-content:center;padding:80px 64px}
.beer-txt .lb{font-size:.6rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;margin-bottom:28px}
.beer-txt h3{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:900;line-height:1.2;margin-bottom:8px}
.beer-txt .en{font-family:'Playfair Display',serif;font-size:1rem;font-style:italic;opacity:.6;margin-bottom:28px}
.beer-txt p{font-size:.9rem;line-height:2.1;font-weight:400;max-width:400px}
.beer-txt .logo-img{margin-top:32px;width:80px;height:80px;border-radius:50%;object-fit:cover;opacity:.8}

/* ── index: Pop-up Food ── */
.popup-ft{display:grid;grid-template-columns:1fr 1fr;background:var(--terracotta);border-radius:24px;margin:40px 48px;padding-bottom:0;margin-bottom:80px;overflow:hidden}
.popup-img{overflow:hidden}
.popup-img img{width:100%;height:100%;object-fit:cover;min-height:400px}
.popup-txt{display:flex;flex-direction:column;justify-content:center;padding:80px 64px;color:var(--bg-light)}
.popup-txt .lb{font-size:.6rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;margin-bottom:28px;color:rgba(255,255,255,.7)}
.popup-txt h3{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:900;line-height:1.2;margin-bottom:8px;color:#fff}
.popup-txt .en{font-family:'Playfair Display',serif;font-size:1rem;font-style:italic;opacity:.6;margin-bottom:28px}
.popup-txt p{font-size:.9rem;line-height:2.1;font-weight:400;max-width:400px;color:rgba(255,255,255,.85)}

/* ── index: Music (full-width DJ) ── */
.music-hero{position:relative;height:70vh;min-height:450px;overflow:hidden;display:flex;align-items:flex-end}
.music-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.music-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,25,22,.75) 0%,rgba(28,25,22,.15) 50%,rgba(28,25,22,.05) 100%)}
.music-hero-content{position:relative;z-index:2;padding:64px;max-width:700px}
.music-hero-content .sl{color:var(--peach);margin-bottom:16px}
.music-hero-content h2{font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;line-height:1.6;color:#fff;margin-bottom:12px}
.music-hero-content .en-sub{font-family:'Playfair Display',serif;font-size:1rem;font-style:italic;color:var(--sand);margin-bottom:24px}
.music-hero-content p{font-size:.88rem;color:var(--sand-light);line-height:2.1;font-weight:400;max-width:500px}

.music-strip{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.ms-item{overflow:hidden;height:400px}
.ms-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ms-item:hover img{transform:scale(1.05)}

/* ── index: Quote ── */
.quote-sec{padding:160px 48px;text-align:center;position:relative}
.quote-sec blockquote{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3.5vw,3rem);font-style:italic;font-weight:400;line-height:1.8;max-width:800px;margin:0 auto}
.quote-sec .attr{margin-top:28px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}

/* ── index: Full image break ── */
.img-break{overflow:hidden;height:50vh;min-height:350px}
.img-break img{width:100%;height:100%;object-fit:cover}

/* ── index: Schedule ── */
.sched{padding:100px 48px;position:relative}
.sched-in{max-width:1000px;margin:0 auto}
.sched h2{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin-bottom:48px}
.sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.sc-card{border:1px solid rgba(128,128,128,.2);border-radius:20px;padding:48px;transition:border-color .5s ease;position:relative;overflow:hidden}
.sc-card:hover{border-color:rgba(128,128,128,.4)}
.sc-card .tag{display:inline-block;font-size:.55rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--terracotta);background:rgba(196,84,42,.1);padding:6px 14px;border-radius:100px;margin-bottom:24px}
.sc-card .bd{font-family:'Playfair Display',serif;font-size:4.5rem;font-weight:900;line-height:1}
.sc-card .yd{font-size:.85rem;opacity:.6;margin-top:4px;margin-bottom:32px;font-weight:400}
.sr{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(128,128,128,.1);font-size:.82rem}
.sr:last-child{border-bottom:none}
.sr .l{opacity:.5}
.sr .r{font-weight:600}
.sc-reserve{display:inline-block;margin-top:28px;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--bg-light);background:var(--terracotta);padding:14px 28px;border-radius:100px;transition:opacity .3s ease}
.sc-reserve:hover{opacity:.85}
.sc-cal-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.sc-cal-links .sc-reserve{margin-top:0;font-size:.65rem;padding:12px 20px}
.sc-reserve-g{background:transparent;color:var(--terracotta);border:1px solid var(--terracotta)}
.sc-reserve-g:hover{background:var(--terracotta);color:var(--bg-light)}
.sc-cal-svg{position:absolute;top:12px;right:12px;width:56px;height:62px;opacity:.1;pointer-events:none}

/* ── index: Venue ── */
.venue-hero-img{overflow:hidden;height:55vh;min-height:400px}
.venue-hero-img img{width:100%;height:100%;object-fit:cover}
.ven-txt-block{max-width:800px;margin:0 auto;padding:80px 48px}
.ven-txt-block h3{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;margin-bottom:8px}
.ven-txt-block .vs{font-size:.85rem;opacity:.5;margin-bottom:28px;font-weight:400}
.ven-txt-block p{font-size:.88rem;opacity:.7;line-height:2;font-weight:400}
.venue-map{position:relative;width:100%;height:560px}
.venue-map iframe{width:100%;height:100%;border:0;filter:saturate(.3) contrast(1.05) brightness(1.05);transition:filter .6s ease}
.venue-map:hover iframe{filter:saturate(.8) contrast(1) brightness(1)}
.venue-map-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px 48px;background:linear-gradient(to top,rgba(28,25,22,.7),transparent);display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}
.vmo-left{color:var(--bg-light)}
.vmo-left h4{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:4px}
.vmo-left span{font-size:.75rem;color:var(--sand-light);font-weight:400}
.vmo-link{pointer-events:auto;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--bg-light);text-decoration:none;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);padding:10px 20px;border-radius:100px;transition:background .3s ease}
.vmo-link:hover{background:rgba(255,255,255,.25)}

/* ── index: Pop-up food side images ── */
.popup-side-imgs{display:flex;flex-direction:column}
.popup-side-imgs img{width:100%;flex:1;object-fit:cover}

/* ── index: Schedule atmosphere strip ── */
.sched-strip{margin-bottom:56px;border-radius:16px;overflow:hidden}
.sched-strip img{width:100%;height:280px;object-fit:cover;border-radius:12px;transition:transform .6s ease}
.sched-strip img:hover{transform:scale(1.03)}

/* ── index: Venue gallery ── */
.venue-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 48px 60px;max-width:1400px;margin:0 auto}
.venue-gallery img{width:100%;height:280px;object-fit:cover;border-radius:12px;transition:transform .6s ease}
.venue-gallery img:hover{transform:scale(1.03)}

/* ── index: Closing ── */
.closing{position:relative;height:80vh;min-height:500px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.closing-bg{position:absolute;inset:0;background:url('img/night-window.webp') center/cover no-repeat}
.closing-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,25,22,.45),rgba(28,25,22,.65))}
.closing-content{position:relative;z-index:2;padding:48px}
.closing h2{font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;line-height:2.2;color:var(--bg-light);margin-bottom:40px}
.closing .tl{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2vw,1.6rem);font-style:italic;color:var(--sand-light);letter-spacing:.05em}

footer{padding:40px 48px;display:flex;justify-content:space-between;align-items:center;background:var(--ink)}
footer .ft-logo img{height:18px;width:auto;opacity:.7;filter:brightness(0) invert(1)}
footer span{font-size:.65rem;color:var(--ink-muted);letter-spacing:.08em}

/* ── index: Vol.00 Photo Gallery ── */
.vol-gallery{padding:80px 48px 100px;position:relative}
.vol-gallery-in{max-width:1200px;margin:0 auto}
.vol-gallery-hd{text-align:center;margin-bottom:48px}
.vol-gallery-hd .sl{margin-bottom:12px}
.vol-gallery-hd h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;margin-bottom:8px}
.vol-gallery-hd .sub{font-size:.85rem;color:var(--ink-muted);font-weight:400}
.vol-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:280px 280px;gap:12px}
.vol-grid .vg-item{border-radius:12px;overflow:hidden}
.vol-grid .vg-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.vol-grid .vg-item:hover img{transform:scale(1.04)}
.vol-grid .vg-wide{grid-column:span 2}

/* ── index: Past Events ── */
.past-events{padding:0 48px 100px}
.past-events-in{max-width:1000px;margin:0 auto;border-top:1px solid rgba(128,128,128,.15);padding-top:48px}
.past-events-hd{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.past-events-hd .sl{margin-bottom:0}
.past-events-hd h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;opacity:.6}
.pe-card{display:flex;align-items:center;gap:32px;padding:20px 28px;border:1px solid rgba(128,128,128,.12);border-radius:14px;opacity:.7;transition:opacity .3s ease}
.pe-card:hover{opacity:1}
.pe-date{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;white-space:nowrap;min-width:80px}
.pe-info{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.75rem;color:var(--ink-muted);font-weight:400}
.pe-info span{white-space:nowrap}
.pe-badge{font-size:.55rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:rgba(128,128,128,.1);padding:4px 10px;border-radius:100px;white-space:nowrap}

/* ── index: Responsive ── */
@media(max-width:900px){
  body.page-index nav .nav-r{display:none}
  .hero{grid-template-columns:1fr;height:auto}
  .hero-l{padding:120px 32px 48px;min-height:50vh}
    .hero-s{font-size:.88rem;line-height:2}
  .hero-r{height:55vh}
  .hero-badge{bottom:20px;right:20px;width:90px;height:90px}
  .hero-badge .d{font-size:1.6rem}
  .intro{padding:100px 32px 60px}
  .intro-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px;padding:0 24px 100px}
  .ig-tall{grid-row:auto}
  .wine-ft,.wine-ft.flip{grid-template-columns:1fr;direction:ltr}
  .wine-ft.flip>*{direction:ltr}
  .wf-img{height:55vh}.wf-txt{padding:56px 32px}
  .wine-sec{padding:60px 32px}
  .wf-heading-row,.wf-heading-row.reverse{flex-direction:column;gap:24px}
  .wf-heading-img{width:100%;min-width:auto;aspect-ratio:4/3}
  .beer-ft{grid-template-columns:1fr}
  .beer-img{padding:40px 32px}.beer-img .can{height:200px}
  .beer-txt{padding:56px 32px}
  .popup-ft{grid-template-columns:1fr;margin:32px 24px 0;border-radius:16px}
  .popup-img img{height:50vh}.popup-txt{padding:56px 32px}
  .music-in{grid-template-columns:1fr;gap:40px}
  .music-hero-content{padding:40px 32px}
  .sched{padding:100px 32px}
  .sched-grid{grid-template-columns:1fr}
  .venue-hero-img{height:40vh;min-height:280px}
  .ven-txt-block{padding:56px 32px}
  .popup-food-imgs{flex-direction:column}
  .popup-food-imgs img{width:100%;height:100px}
  .venue-map{height:320px}
  .venue-map-overlay{padding:20px 24px;flex-direction:column;align-items:flex-start;gap:12px}
  footer{padding:32px 24px;flex-direction:column;gap:8px}
  .deco-svg{display:none}
  .vol-gallery{padding:60px 24px 80px}
  .vol-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .vol-grid .vg-wide{grid-column:span 2}
  .past-events{padding:0 24px 80px}
  .pe-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px}
}


/* ============================
   VOL00.HTML SPECIFIC STYLES
   ============================ */

/* ── vol00: body override ── */
body.page-vol00{background:var(--bg-warm)}

/* ── vol00: Animations (vol00-specific overrides) ── */
body.page-vol00 .fi{transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
body.page-vol00 .fd1{transition-delay:.1s}
body.page-vol00 .fd2{transition-delay:.2s}
body.page-vol00 .fd3{transition-delay:.3s}
.fd4{transition-delay:.4s}
body.page-vol00 .scale-in{transform:scale(.92);transition:opacity 1s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}
body.page-vol00 .sl{margin-bottom:16px}

/* ── vol00: Nav ── */
nav a{text-decoration:none;color:var(--ink)}
nav .back{font-size:.7rem;letter-spacing:.1em;color:var(--ink-muted);transition:color .3s ease}
nav .back:hover{color:var(--ink)}

/* ── vol00: Hero ── */
.archive-hero{position:relative;height:70vh;min-height:400px;overflow:hidden;display:flex;align-items:flex-end}
.archive-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.archive-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,25,22,.7) 0%,rgba(28,25,22,.1) 50%,rgba(28,25,22,.03) 100%)}
.archive-hero-content{position:relative;z-index:2;padding:64px;max-width:800px}
.archive-hero-content .vol{font-size:.65rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--peach);margin-bottom:12px}
.archive-hero-content h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;color:#fff;line-height:1.1;margin-bottom:16px}
.archive-hero-content .meta{display:flex;flex-wrap:wrap;gap:24px;font-size:.8rem;color:var(--sand-light);font-weight:400}
.archive-hero-content .meta span{white-space:nowrap}

/* ── vol00: Intro ── */
.archive-intro{max-width:800px;margin:0 auto;padding:80px 48px 60px;text-align:center}
.archive-intro p{font-size:1rem;color:var(--ink-light);line-height:2.2;font-weight:400}
.archive-intro .lead{font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:700;line-height:2;color:var(--ink);margin-bottom:24px}

/* ── vol00: Photo Gallery ── */
.gallery{max-width:1300px;margin:0 auto;padding:0 48px 100px}
.gallery-hd{margin-bottom:40px}
.gallery-hd h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-grid .g-item{border-radius:10px;overflow:hidden;height:280px}
.gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery-grid .g-item:hover img{transform:scale(1.04)}
.gallery-grid .g-wide{grid-column:span 2}
.gallery-grid .g-tall{grid-row:span 2;height:auto}

/* ── vol00: Menu Section ── */
.menu-sec{max-width:1100px;margin:0 auto;padding:0 48px 100px}
.menu-sec-hd{margin-bottom:48px}
.menu-sec-hd h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900;margin-bottom:8px}
.menu-sec-hd .en{font-family:'Playfair Display',serif;font-size:1rem;font-style:italic;color:var(--ink-muted)}

.menu-columns{display:flex;flex-direction:column;gap:60px}
.wine-entries-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px}
.food-items-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px}

.menu-block{margin-bottom:48px}
.menu-block h3{font-size:.95rem;font-weight:700;letter-spacing:.05em;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--sand-light)}
.menu-block h4{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-top:24px;margin-bottom:12px}
.menu-item{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;font-size:.88rem}
.menu-item .name{font-weight:400;color:var(--ink-light);line-height:1.6;flex:1}
.menu-item .price{font-family:'Playfair Display',serif;font-weight:600;font-size:.85rem;white-space:nowrap;margin-left:16px;color:var(--ink)}
.menu-item-sub{font-size:.78rem;color:var(--ink-muted);line-height:1.6;padding:0 0 8px;margin-top:-4px}

/* ── Wine entry extended ── */
.wine-taste{font-size:.78rem;color:var(--terracotta);font-style:italic;margin-top:4px;line-height:1.5}
.wine-comment{font-size:.82rem;color:var(--ink-light);line-height:1.7;margin-top:8px}
.wine-producer-block{margin-top:10px;padding:10px 14px;background:rgba(0,0,0,.025);border-radius:6px;font-size:.76rem;color:var(--ink-muted);line-height:1.65}
.wine-producer-name{font-weight:600;color:var(--ink-light);margin-bottom:2px}
.wine-producer-trivia{font-style:italic;margin-bottom:4px}

/* ── vol00: Wine List ── */
.wine-block{margin-bottom:40px}
.wine-block h3{font-size:.95rem;font-weight:700;letter-spacing:.05em;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--sand-light);display:flex;align-items:center;gap:8px}
.wine-cat{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);margin-top:28px;margin-bottom:16px}
.wine-entry{margin-bottom:24px}
.wine-entry .wine-name{font-size:.9rem;font-weight:600;color:var(--ink);line-height:1.5;margin-bottom:2px}
.wine-entry .wine-name-en{font-family:'Playfair Display',serif;font-size:.78rem;font-style:italic;color:var(--ink-muted);margin-bottom:8px}
.wine-entry .wine-detail{font-size:.78rem;color:var(--ink-muted);line-height:1.8;font-weight:400}
.wine-entry .wine-note{font-size:.8rem;color:var(--ink-light);line-height:1.8;font-weight:400;margin-top:6px;font-style:italic}

/* ── vol00: Menu Photos ── */
.menu-photos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:60px}
.menu-photos img{width:100%;height:260px;object-fit:cover;border-radius:10px;transition:transform .6s ease}
.menu-photos img:hover{transform:scale(1.03)}

/* ── vol00: Drink Price ── */
.drink-price{display:flex;gap:32px;margin-bottom:40px;padding:24px 0;border-bottom:1px solid var(--sand-light)}
.dp-item{display:flex;align-items:baseline;gap:12px}
.dp-item .dp-label{font-size:.82rem;color:var(--ink-muted);font-weight:400}
.dp-item .dp-val{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700}

/* ── vol00: Footer ── */
.archive-footer{padding:60px 48px;text-align:center}
.archive-footer a.back-btn{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--bg-light);background:var(--ink);padding:16px 36px;border-radius:100px;transition:opacity .3s ease}
.archive-footer a.back-btn:hover{opacity:.8}
.archive-footer .ft-logo{margin-top:40px}
.archive-footer .ft-logo img{height:16px;width:auto;opacity:.5}
.archive-footer .copy{margin-top:16px;font-size:.65rem;color:var(--ink-muted);letter-spacing:.08em}

/* ── vol00: Responsive ── */
@media(max-width:900px){
  .archive-hero{height:50vh;min-height:300px}
  .archive-hero-content{padding:32px 24px}
  .archive-intro{padding:60px 24px 40px}
  .gallery{padding:0 24px 80px}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-grid .g-item{height:200px}
  .gallery-grid .g-wide{grid-column:span 2}
  .gallery-grid .g-tall{grid-row:auto;height:200px}
  .menu-sec{padding:0 24px 80px}
  .menu-columns{gap:40px}
    .wine-entries-grid,.food-items-grid{grid-template-columns:1fr}
  .menu-photos{grid-template-columns:1fr;gap:12px}
  .menu-photos img{height:220px}
  .drink-price{flex-direction:column;gap:16px}
  .archive-footer{padding:48px 24px}
  .wines-hero{height:30vh;min-height:200px}
  .wines-filter{padding:16px 24px}
  .wines-filter-row{gap:8px}
  .wines-filter-btn{padding:5px 12px;font-size:.75rem}
  .wines-list{padding:16px 24px 60px;column-count:1}
  .wine-archive-entry{padding:20px}
  .wine-archive-head{flex-direction:column;gap:4px}
}

/* ============================
   WINES ARCHIVE PAGE
   ============================ */

.page-wines{background:var(--bg-warm)}

.wines-hero{position:relative;height:40vh;min-height:280px;display:flex;align-items:flex-end;background:var(--ink);color:#fff}
.wines-hero-content{padding:48px clamp(24px,5vw,80px)}
.wines-hero-content .vol{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-bottom:8px}
.wines-hero-content h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:8px}
.wines-hero-sub{font-size:.9rem;opacity:.6}

/* Filter bar */
.wines-filter{position:sticky;top:0;z-index:90;background:var(--bg-warm);padding:20px clamp(24px,5vw,80px);border-bottom:1px solid var(--sand-light)}
.wines-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.wines-filter-row:last-child{margin-bottom:0}
.wines-filter-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);min-width:50px}
.wines-filter-btn{border:1px solid var(--sand);background:transparent;color:var(--ink-light);padding:6px 16px;border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .2s ease;font-family:inherit}
.wines-filter-btn:hover{border-color:var(--ink-muted);color:var(--ink)}
.wines-filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.wines-count{font-size:.8rem;color:var(--ink-muted);padding:8px clamp(24px,5vw,80px) 0}

/* Wine list */
.wines-list{padding:24px clamp(24px,5vw,80px) 80px;column-count:2;column-gap:24px}
.wines-cat-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-top:32px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--sand-light);column-span:all}
.wines-cat-label:first-child{margin-top:0}

/* Wine entry (vol01 style) */
.wine-archive-entry{background:var(--bg-light);border-radius:8px;padding:28px;margin-bottom:16px;transition:transform .3s ease;break-inside:avoid}
.wine-archive-entry:hover{transform:translateY(-2px)}
.wine-archive-entry[hidden]{display:none}
.wine-archive-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.wine-archive-name{font-weight:600;font-size:1.05rem}
.wine-archive-vol{font-size:.72rem;color:#fff;background:var(--ink-muted);padding:2px 10px;border-radius:10px;white-space:nowrap}
.wine-archive-name-en{font-size:.82rem;color:var(--ink-muted);margin-bottom:10px}
.wine-archive-detail{font-size:.8rem;color:var(--ink-light);line-height:1.6;margin-bottom:10px}
.wine-archive-taste{font-size:.85rem;font-style:italic;color:var(--warm-accent);margin-bottom:10px}
.wine-archive-comment{font-size:.82rem;color:var(--ink-light);line-height:1.7;margin-bottom:14px}
.wine-archive-producer{border-top:1px solid var(--sand-light);padding-top:12px;margin-top:12px}
.wine-archive-producer-name{font-weight:600;font-size:.85rem;margin-bottom:4px}
.wine-archive-producer-trivia{font-size:.78rem;font-style:italic;color:var(--warm-accent);margin-bottom:6px}
.wine-archive-producer-desc{font-size:.78rem;color:var(--ink-muted);line-height:1.6}