/*
Theme Name: Rintaro
Theme URI: https://example.com/
Description: 二代目おさかなと地酒 凛太郎 専用テーマ。TOP／お店について／お品書き／店舗情報／ご予約の5ページ構成。
Author: Claude Design
Version: 1.0.0
Text Domain: rintaro
*/

:root{
  --bg:#0D0E11; --panel:#111318; --panel2:#15161B;
  --line:#1E2128; --line2:#262A31;
  --ink:#EDE7DA; --ink2:#D8D2C5; --muted:#B4AEA2; --dim:#9C9689; --faint:#807A70;
  --accent:#C08A3E; --accent-lite:#DCA95C; --accent-dark:#4A3A21;
  --cta:#2A1D0E; --cta-line:#3B2A14; --cta-ink:#F1E7D4;
  --mincho:'Zen Old Mincho',"Hiragino Mincho ProN",serif;
  --brush:'Yuji Syuku',"Hiragino Mincho ProN",serif;
  --gothic:'Zen Kaku Gothic New',"Hiragino Kaku Gothic ProN",sans-serif;
  --latin:'Cormorant Garamond',serif;
  --pad-x:clamp(22px,6vw,80px);
  --bar-h:72px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--gothic);font-weight:400;overflow-x:clip;padding-bottom:var(--bar-h);-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-lite)}
::selection{background:var(--accent);color:var(--bg)}
summary::-webkit-details-marker{display:none}
summary{list-style:none;cursor:pointer}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,44px);background:rgba(13,14,17,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:10px;flex-shrink:0}
.brand__name{font-family:var(--brush);font-weight:400;font-size:clamp(15px,2.4vw,19px);letter-spacing:.14em;color:var(--ink)}
.brand:hover .brand__name{color:var(--ink)}
.brand__since{font-family:var(--latin);font-style:italic;font-size:12px;color:#7E7869;letter-spacing:.08em}
.site-nav{display:flex;align-items:center;gap:clamp(12px,2.2vw,28px);flex-wrap:wrap;justify-content:flex-end}
.site-nav a{font-size:12px;letter-spacing:.18em;color:var(--dim);padding-bottom:3px;border-bottom:1px solid transparent}
.site-nav a:hover{color:var(--ink)}
.site-nav a.is-current{color:var(--ink);border-bottom-color:var(--accent)}

/* ---------- layout ---------- */
.section{padding:clamp(48px,8vw,100px) var(--pad-x)}
.section--tight{padding-top:0}
.section--flush{padding:0}
.section--panel{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--rule{border-top:1px solid var(--line)}
.wrap{max-width:1000px;margin:0 auto}
.wrap--wide{max-width:1120px;margin:0 auto}
.eyebrow{margin:0 0 10px;font-family:var(--latin);font-size:12px;letter-spacing:.34em;color:var(--accent)}
.page-head{padding:clamp(56px,9vw,110px) var(--pad-x) clamp(30px,5vw,56px);border-bottom:1px solid var(--line)}
.page-head--hero{position:relative;padding:clamp(84px,14vw,160px) var(--pad-x) clamp(72px,12vw,130px);background-size:cover;background-position:center;background-color:var(--bg)}
.page-head--hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,17,.82) 0%,rgba(13,14,17,.62) 45%,rgba(13,14,17,.9) 100%)}
.page-head--hero .page-sub a{color:var(--accent-lite);text-shadow:0 2px 16px rgba(0,0,0,.8)}
.page-head--hero>.wrap{position:relative}
.page-head--hero .eyebrow{color:var(--accent-lite)}
.page-head--hero .page-title{color:#F3EEE3;text-shadow:0 2px 24px rgba(0,0,0,.75)}
.page-head--hero .page-sub{color:var(--ink2);text-shadow:0 2px 16px rgba(0,0,0,.8)}
.page-title{margin:0 0 18px;font-family:var(--brush);font-weight:400;font-size:clamp(28px,5.4vw,46px);letter-spacing:.12em}
.page-title--bare{margin-bottom:0}
.page-sub{margin:0;max-width:640px;font-size:14px;line-height:2.1;color:var(--muted)}
h2.h2{margin:0 0 clamp(24px,4vw,44px);font-family:var(--brush);font-weight:400;font-size:clamp(20px,3.6vw,28px);letter-spacing:.1em}
h2.h2--sm{font-size:clamp(18px,3.2vw,24px)}
h3.h3{margin:0 0 12px;font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.08em}
.note{margin:0;font-size:12.5px;line-height:1.95;color:var(--dim)}
.body{margin:0;font-size:14px;line-height:2.1;color:var(--muted)}
.body--ink{color:var(--ink2)}

/* ---------- grids ---------- */
.grid{display:grid;gap:clamp(20px,3vw,32px)}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,44px)}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(28px,4vw,56px)}
.grid--2fix{grid-template-columns:repeat(2,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--2fix{grid-template-columns:repeat(2,1fr)}
@media (max-width:520px){ .grid--2fix{grid-template-columns:1fr} }
.grid--thumbs{grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1080px){ .grid--4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .grid--4:not(.grid--keep2){grid-template-columns:1fr} }
.cols{columns:290px 2;column-gap:clamp(32px,4.5vw,56px)}
.cols>*{break-inside:avoid;margin:0 0 clamp(32px,4.5vw,52px)}

/* ---------- photos ---------- */
.photo{overflow:hidden;background:var(--panel);display:block}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.ratio-43{aspect-ratio:4/3}
.ratio-11{aspect-ratio:1/1}
.ratio-169{aspect-ratio:16/9}
.ratio-32{aspect-ratio:3/2}
.ratio-1610{aspect-ratio:16/10}
.band{width:100%;height:clamp(220px,30vw,380px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;display:block}
.band--tall{height:clamp(220px,34vw,400px)}
.band--mid{height:clamp(200px,30vw,340px)}
.map{width:100%;aspect-ratio:4/3;border:1px solid #23262D;display:block;filter:grayscale(.25) contrast(1.05)}

/* ---------- hero ---------- */
.hero{position:relative;height:min(86vh,760px);min-height:520px;overflow:hidden;border-bottom:1px solid var(--line)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;background-size:cover;background-position:center}
.hero__slide.is-active{opacity:1}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,17,.72) 0%,rgba(13,14,17,.35) 40%,rgba(13,14,17,.92) 100%)}
.hero__inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(48px,9vh,90px) clamp(20px,5vw,80px) clamp(84px,14vh,130px)}
.hero__row{display:flex;flex-direction:row-reverse;align-items:center;gap:clamp(14px,3vw,38px);max-height:100%}
.hero__title{writing-mode:vertical-rl;margin:0;font-family:var(--brush);font-weight:400;font-size:clamp(22px,min(5.2vw,5.6vh),46px);letter-spacing:.16em;line-height:1.15;white-space:nowrap;text-shadow:0 2px 30px rgba(0,0,0,.7)}
.hero__sub{writing-mode:vertical-rl;margin:0;font-family:var(--mincho);font-weight:500;font-size:clamp(13px,min(2.7vw,2.2vh),16px);line-height:2.5;letter-spacing:.14em;color:#E4DED1;max-height:min(62vh,460px);text-shadow:0 2px 20px rgba(0,0,0,.8)}
.hero__logo{width:min(24vw,140px);height:auto;max-height:42vh;object-fit:contain;margin-left:clamp(4px,1.5vw,20px);opacity:.95;filter:drop-shadow(0 2px 18px rgba(0,0,0,.6))}
.hero__scroll{position:absolute;left:clamp(20px,5vw,56px);bottom:26px;display:flex;align-items:center;gap:12px;font-family:var(--latin);font-size:12px;letter-spacing:.3em;color:var(--dim)}
.hero__scroll i{display:block;width:1px;height:44px;background:linear-gradient(180deg,#8A8377,transparent)}

/* ---------- lead ---------- */
.lead{padding:clamp(60px,10vw,130px) var(--pad-x);text-align:center}
.lead p{margin:0 auto;max-width:720px;font-family:var(--mincho);font-size:clamp(15px,3.1vw,20px);line-height:2.5;letter-spacing:.08em;color:#E4DED1;text-wrap:pretty}
.mincho-copy{margin:0;font-family:var(--mincho);font-size:clamp(14px,2.6vw,17px);line-height:2.4;letter-spacing:.06em;color:var(--ink2)}
.centered{text-align:center}
@media (max-width:768px){ br.pc-br{display:none} .lead p{text-align:left} }
@media (max-width:400px){ .lead p{font-size:14.5px;letter-spacing:.02em;line-height:2.3} }

/* ---------- cards / lists ---------- */
.pillar h3{margin:0 0 12px;font-family:var(--mincho);font-weight:600;font-size:clamp(17px,3vw,21px);letter-spacing:.06em;line-height:1.7}
.pillar .eyebrow{margin:20px 0 8px}
.tile h4{margin:16px 0 6px;font-family:var(--mincho);font-weight:600;font-size:16px;letter-spacing:.06em}
.tile p{margin:0;font-size:13px;line-height:1.9;color:var(--muted)}
.scene .label{margin:16px 0 8px;font-family:var(--latin);font-size:12px;letter-spacing:.2em;color:var(--accent)}
.scene h3{margin:0 0 10px;font-family:var(--mincho);font-weight:600;font-size:17px;letter-spacing:.08em}
.scene p{margin:0;font-size:13.5px;line-height:2;color:var(--muted)}
.linklike{display:inline-flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.14em;color:var(--accent);border-bottom:1px solid var(--accent-dark);padding-bottom:6px}
.linklike:hover{border-bottom-color:var(--accent)}

.spec{margin:0;display:grid;grid-template-columns:minmax(88px,8em) 1fr}
.spec--digest{grid-template-columns:6.5em 1fr}
.spec dt{padding:14px 0;border-top:1px solid var(--line);font-size:12.5px;letter-spacing:.1em;color:var(--dim)}
.spec dd{margin:0;padding:14px 0;border-top:1px solid var(--line);font-size:14px;line-height:2;color:var(--ink2)}

.timeline__row{display:grid;grid-template-columns:minmax(84px,110px) 1fr;gap:clamp(16px,3vw,40px);padding:22px 0;border-top:1px solid var(--line)}
.timeline__year{font-family:var(--latin);font-size:15px;letter-spacing:.1em;color:var(--accent);padding-top:2px}
.timeline__body{font-size:14px;line-height:2.1;color:#D0CABD;text-wrap:pretty}
blockquote.quote{margin:clamp(36px,5vw,56px) 0 0;padding:clamp(26px,4vw,40px);background:var(--panel);border-left:2px solid var(--accent)}
blockquote.quote p{margin:0;font-family:var(--mincho);font-size:clamp(15px,2.8vw,19px);line-height:2.3;letter-spacing:.06em;color:#E4DED1}
.kanji{font-family:var(--mincho);font-weight:800;font-size:clamp(120px,26vw,240px);line-height:1;color:var(--ink);text-shadow:0 0 60px rgba(192,138,62,.18)}
.list-bar{margin:0;padding:0;list-style:none;display:grid;gap:16px}
.list-bar li{padding-left:18px;border-left:1px solid var(--line2);font-size:14px;line-height:2.1;color:var(--muted)}
.list-num{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.list-num li{display:flex;gap:14px;font-size:14.5px;line-height:2;color:#D0CABD}
.list-num span{font-family:var(--mincho);color:var(--accent)}

/* ---------- menu ---------- */
.today{padding:clamp(24px,4vw,36px);border:1px solid var(--accent-dark);background:#15120C}
.today h2{margin:0 0 14px;font-family:var(--brush);font-weight:400;font-size:clamp(19px,3.4vw,26px);letter-spacing:.1em}
.today p{margin:0;font-size:14px;line-height:2.1;color:#B8B2A5}
.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:20px 0;border-top:1px solid var(--line)}
.dish h3{margin:0 0 6px;font-family:var(--mincho);font-weight:600;font-size:16.5px;letter-spacing:.06em}
.dish p{margin:0;font-size:13px;line-height:1.9;color:var(--dim)}
.menu-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line)}
.menu-row span:first-child{font-size:14.5px;line-height:1.7;color:var(--ink2)}
.price{font-family:var(--latin);font-size:16px;letter-spacing:.04em;color:var(--accent);white-space:nowrap}
.price--lg{font-size:17px}
.chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.chip{padding:18px 12px;border:1px solid var(--line2);text-align:center;font-family:var(--mincho);font-size:14.5px;letter-spacing:.08em}
.sake-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.sake{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px;border:1px solid var(--line2);background:var(--panel)}
.sake span:first-child{font-family:var(--mincho);font-size:16px;letter-spacing:.08em}
.tag{font-size:11px;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-dark);padding:3px 8px;white-space:nowrap}

/* ---------- info ---------- */
.seat{border:1px solid var(--line2);background:var(--panel)}
.seat__body{padding:22px 24px 26px}
.seat__n{margin:0 0 10px;font-family:var(--latin);font-size:28px;color:var(--accent);line-height:1}
.seat h3{margin:0 0 10px;font-family:var(--mincho);font-weight:600;font-size:16px;letter-spacing:.08em;color:var(--accent)}
br.sp-br{display:none}
@media (max-width:768px){ br.sp-br{display:inline} }
.seat p{margin:0;font-size:13.5px;line-height:2;color:var(--muted)}
.charter{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;margin-top:clamp(28px,4vw,44px)}
.charter__text{padding:clamp(24px,4vw,36px);border-left:2px solid var(--accent);background:var(--panel2);display:flex;flex-direction:column;justify-content:center}
.faq{border-top:1px solid var(--line)}
.faq summary{padding:20px 0;display:flex;gap:14px;align-items:baseline;font-family:var(--mincho);font-size:15.5px;letter-spacing:.06em;color:var(--ink)}
.faq summary span{font-family:var(--latin);color:var(--accent)}
.faq p{margin:0;padding:0 0 22px 28px;font-size:14px;line-height:2.1;color:var(--muted)}

/* ---------- reserve ---------- */
.tel-card{padding:clamp(30px,5vw,52px);background:var(--cta);border:1px solid var(--cta-line);text-align:center}
.tel-card__label{margin:0 0 14px;font-size:12.5px;letter-spacing:.2em;color:#C8A87A}
.tel-card__num{display:inline-block;font-family:var(--latin);font-size:clamp(34px,8vw,58px);letter-spacing:.06em;color:var(--cta-ink);line-height:1.2}
.tel-card__num:hover{color:#fff}
.tel-card__hours{margin:16px 0 0;font-size:13px;letter-spacing:.1em;color:#C8A87A}
.entry-content{border:1px solid var(--line2);background:var(--panel);padding:clamp(20px,4vw,32px);font-size:14px;line-height:2}
.entry-content a{color:var(--accent)}

/* ---------- cta / footer ---------- */
.cta{padding:clamp(50px,8vw,96px) var(--pad-x);background:var(--cta);border-top:1px solid var(--cta-line);text-align:center}
.cta h2{margin:0 0 26px;font-family:var(--brush);font-weight:400;font-size:clamp(19px,3.4vw,28px);letter-spacing:.1em;line-height:1.8;color:var(--cta-ink)}
.btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 30px;background:var(--accent);color:#14100A;font-size:15px;letter-spacing:.1em;font-weight:500;border:1px solid var(--accent)}
.btn:hover{background:var(--accent-lite);color:#14100A}
.btn--ghost{background:transparent;border:1px solid #8C6B36;color:var(--cta-ink)}
.btn--ghost:hover{background:transparent;border-color:var(--accent);color:#fff}
.site-footer{padding:clamp(40px,6vw,70px) var(--pad-x);border-top:1px solid var(--line);background:#0A0B0E}
.site-footer__grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;align-items:start}
.site-footer__id{display:flex;align-items:center;gap:clamp(20px,3vw,32px)}
.site-footer__logo{height:104px;width:auto;display:block;flex-shrink:0;opacity:.9}
@media (max-width:768px){ .site-footer__id{gap:18px} .site-footer__logo{height:84px} }
.site-footer p{margin:0;font-size:13px;line-height:2;color:var(--dim)}
.footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(14px,2.4vw,28px);justify-content:flex-end}
@media (max-width:768px){ .footer-nav{justify-content:flex-start} }
.footer-nav a{font-size:13px;letter-spacing:.14em;color:var(--dim)}
.footer-nav a:hover{color:var(--ink)}
.site-footer .copyright{max-width:1120px;margin:clamp(30px,5vw,48px) auto 0;font-family:var(--latin);font-size:11px;letter-spacing:.2em;color:#4E4A44}
.tel-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;border-top:1px solid var(--line);background:rgba(13,14,17,.94);backdrop-filter:blur(14px)}
.tel-bar a{flex:1;padding:18px 12px;text-align:center;font-size:13.5px;letter-spacing:.12em;color:var(--ink)}
.tel-bar a:hover{color:var(--accent)}
.tel-bar a.is-primary{background:var(--accent);color:#14100A;font-weight:500}
.tel-bar a.is-primary:hover{background:var(--accent-lite);color:#14100A}
.tel-bar__top{flex:0 0 auto !important;width:56px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:0 !important;border-left:1px solid var(--line);font-size:15px;color:var(--ink)}
.tel-bar__top:hover{color:var(--accent);background:#15171C}

@media (prefers-reduced-motion:reduce){ .hero__slide{transition:none} }

/* ---------- mobile ---------- */
@media (max-width:860px){
  .site-header{flex-wrap:wrap;gap:10px;padding-bottom:10px}
  .brand__since{display:none}
  .site-nav{width:100%;justify-content:space-between;gap:8px}
  .site-nav a{font-size:11px;letter-spacing:.06em}
}
@media (max-width:768px){
  .timeline__row{grid-template-columns:1fr;gap:4px;padding:18px 0}
  .spec, .spec--digest{grid-template-columns:5.5em 1fr}
  .spec dt{font-size:12px}
  .btns{flex-direction:column}
  .btns>*{width:100%;justify-content:center;text-align:center}
  .kanji{font-size:34vw}
  .cols{columns:1}
}
@media (max-width:520px){
  .dish{grid-template-columns:1fr;gap:6px}
  .dish .price{justify-self:end}
  .grid--thumbs{grid-template-columns:repeat(2,1fr);gap:10px}
  .spec, .spec--digest{grid-template-columns:1fr}
  .spec dt{padding-bottom:0}
  .spec dd{padding-top:4px;border-top:0}
  .chip-grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:480px}
}

/* ---------- signatures ---------- */
.sig{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.sig__photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#16181D}
.sig__photo img{width:100%;height:100%;object-fit:cover;display:block}
.sig__badge{position:absolute;left:0;bottom:0;padding:10px 16px;background:rgba(13,14,17,.82);font-family:var(--latin);font-size:12px;letter-spacing:.3em;color:var(--accent-lite)}
.sig__title{margin:0 0 14px;font-family:var(--mincho);font-weight:600;font-size:clamp(30px,6vw,52px);letter-spacing:.22em;line-height:1.2}
.sig__rule{display:block;width:56px;height:1px;background:var(--accent);margin:0 0 20px}
.sig__lead{margin:0 0 clamp(26px,3.5vw,40px);font-size:14px;line-height:2.1;color:var(--muted);max-width:34em}
.sig__row{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2vw,22px);align-items:baseline;padding:18px 0;border-top:1px solid var(--line2)}
.sig__no{font-family:var(--latin);font-size:14px;letter-spacing:.14em;color:var(--accent)}
.sig__row h4{margin:0 0 6px;font-family:var(--mincho);font-weight:600;font-size:clamp(16px,2.4vw,19px);letter-spacing:.08em;line-height:1.6}
.sig__row p{margin:0;font-size:13px;line-height:1.95;color:var(--dim)}
@media (max-width:768px){ .sig{grid-template-columns:1fr;gap:28px} .sig__photo{aspect-ratio:3/2} }

.sake-split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(26px,4vw,48px);align-items:start}
.sake-split__img{width:100%;height:auto;display:block;background:var(--panel)}
.sake-split .sake-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media (max-width:520px){ .sake-split{grid-template-columns:1fr} }

.menu-chips{margin-top:20px;padding-top:18px;border-top:1px solid var(--line2)}
.menu-chips__label{margin:0 0 12px;font-size:12.5px;letter-spacing:.1em;color:var(--dim)}
.chip-grid--sm{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.chip--sm{padding:14px 10px;font-size:14px;letter-spacing:.06em}

/* ---------- menu anchors / course ---------- */
.menu-anchors{position:sticky;top:56px;z-index:40;padding:12px var(--pad-x);border-bottom:1px solid var(--line);background:rgba(13,14,17,.94);backdrop-filter:blur(14px)}
.menu-anchors__inner{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(12px,2.4vw,26px)}
.menu-anchors a{flex:none;font-size:12px;letter-spacing:.14em;color:var(--dim);padding-bottom:2px;border-bottom:1px solid transparent;white-space:nowrap}
.menu-anchors a:hover{color:var(--ink);border-bottom-color:var(--accent-dark)}
[id^="menu-"]{scroll-margin-top:110px}
@media (max-width:860px){
  .menu-anchors{top:84px;padding:0;background:#15120C;border-top:1px solid var(--cta-line);border-bottom:1px solid var(--cta-line);backdrop-filter:none}
  .menu-anchors__inner{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;padding:0 4px}
  .menu-anchors__inner::-webkit-scrollbar{display:none}
  .menu-anchors a{font-size:12.5px;color:#C8A87A;padding:14px;border-bottom:0;min-height:44px;display:flex;align-items:center}
  [id^="menu-"]{scroll-margin-top:150px}
}
.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,28px)}
@media (max-width:520px){ .course-grid{grid-template-columns:1fr} }
.course{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,3vw,30px);border:1px solid var(--line2);background:var(--panel2)}
.course__head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.course__head h3{margin:0;font-family:var(--mincho);font-weight:600;font-size:clamp(16px,2.4vw,19px);letter-spacing:.06em;line-height:1.6}
.course__price{font-family:var(--latin);font-size:22px;letter-spacing:.04em;color:var(--accent);white-space:nowrap}
.course__tag{align-self:flex-start;font-size:11px;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-dark);padding:3px 8px}
.course__note{margin:0;font-size:13px;line-height:1.95;color:var(--muted)}
.course__items{margin:0;padding-top:12px;border-top:1px solid var(--line2);font-size:13px;line-height:2;color:var(--ink2)}

.tax-note{padding:12px var(--pad-x) 0;background:var(--panel);border-top:1px solid var(--line)}
.tax-note + .section--panel{border-top:0}
.tax-note p{max-width:1000px;margin:0 auto;text-align:right;font-size:12px;letter-spacing:.08em;color:var(--dim)}
.nomihodai{margin:0 0 clamp(26px,4vw,42px);padding:clamp(18px,2.6vw,24px) clamp(20px,3vw,28px);border:1px solid var(--accent-dark);background:#15120C}
.nomihodai__lead{margin:0 0 8px;font-family:var(--mincho);font-size:clamp(15px,2.2vw,17px);letter-spacing:.06em;color:var(--cta-ink)}
.nomihodai__lead span{color:var(--accent-lite)}
.nomihodai__body{margin:0;font-size:13px;line-height:2;color:#B8B2A5}

/* ---------- reserve seat picker ---------- */
.seat-card{display:flex;flex-direction:column;border:1px solid var(--line2);background:var(--panel)}
.seat-card__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;gap:12px}
.seat-card__label{margin:0 0 6px;font-family:var(--latin);font-size:11.5px;letter-spacing:.24em;color:var(--accent)}
.seat-card__name{margin:0;font-family:var(--mincho);font-weight:600;font-size:18px;letter-spacing:.08em;color:var(--ink)}
.seat-card__text{margin:0;font-size:13.5px;line-height:2;color:var(--muted);flex:1}
.seat-card__note{margin:0;font-size:12.5px;line-height:1.9;color:var(--accent)}
.seat-card__btn{justify-content:center;padding:15px 16px;font-size:14px}
.seat-picker{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){ .seat-picker{grid-template-columns:1fr} }
.callout-note{margin:0 0 clamp(20px,3vw,28px);padding:16px 20px;background:#15120C;border:1px solid var(--accent-dark);font-size:14px;line-height:1.9;color:var(--cta-ink)}

.seat-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.seat-pair .photo{height:clamp(200px,28vw,340px);overflow:hidden}
.seat-pair .photo img{width:100%;height:100%;object-fit:cover;display:block}
