.surf99-bbq-document {
  --bbq-bg: #050a0d;
  --bbq-surface: #0d1920;
  --bbq-surface-warm: #191814;
  --bbq-surface-green: #101c18;
  --bbq-text: #f5f2ea;
  --bbq-body: #cbd5d9;
  --bbq-meta: #8fc0d0;
  --bbq-line: #294650;
  --bbq-red: #f04438;
  background: var(--bbq-bg);
}

.surf99-bbq-document main { padding-top: var(--header-height); background: var(--bbq-bg); }
.surf99-bbq-document .nav-guide[aria-current="page"]::after { transform: scaleX(1); }
.bbq-shell { width: min(1320px, calc(100% - 96px)); margin-inline: auto; }

.bbq-hero {
  border-bottom: 1px solid var(--bbq-line);
  background: radial-gradient(circle at 84% 24%, rgba(240, 68, 56, 0.12), transparent 28%), radial-gradient(circle at 74% 56%, rgba(63, 149, 175, 0.15), transparent 34%), var(--bbq-bg);
}
.bbq-hero-inner { padding-block: clamp(74px, 8vw, 118px) clamp(60px, 7vw, 92px); }
.bbq-hero h1 { max-width: 15.5em; margin-top: 26px; color: var(--bbq-text); font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(48px, 5.3vw, 74px); font-weight: 600; letter-spacing: .01em; line-height: 1.18; }
.bbq-hero-copy { margin-top: 28px; color: var(--bbq-body); font-size: clamp(16px, 1.45vw, 19px); line-height: 1.95; }
.bbq-access { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 34px; max-width: 1000px; margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(143, 192, 208, .32); }
.bbq-access strong { color: var(--bbq-meta); font-family: var(--condensed); font-size: 13px; letter-spacing: .16em; }
.bbq-access strong small { display: block; margin-top: 6px; color: var(--bbq-text); font-family: var(--sans); font-size: 11px; letter-spacing: .08em; }
.bbq-access p { color: #d7e1e4; font-size: 15px; line-height: 1.9; }

.bbq-plan { border-bottom: 1px solid var(--bbq-line); background: #091116; }
.bbq-plan-inner { padding-block: clamp(46px, 6vw, 72px); }
.bbq-plan-header { display: grid; grid-template-columns: 170px minmax(280px, .8fr) minmax(320px, 1.25fr); align-items: end; gap: 32px; }
.bbq-plan-header > span { color: var(--bbq-meta); font-family: var(--condensed); font-size: 13px; font-weight: 800; letter-spacing: .18em; }
.bbq-plan-header h2 { color: var(--bbq-text); font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.35; }
.bbq-plan-header p { color: var(--bbq-body); font-size: 14px; line-height: 1.85; }
.bbq-plan-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.bbq-plan-card { position: relative; min-height: 228px; padding: clamp(26px, 3.2vw, 40px); overflow: hidden; border: 1px solid rgba(143, 192, 208, .38); background: #0d1920; }
.bbq-plan-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--bbq-meta); content: ""; }
.bbq-plan-card--quick { background: linear-gradient(140deg, rgba(43, 96, 116, .24), transparent 62%), #0d1920; }
.bbq-plan-card--local { background: linear-gradient(140deg, rgba(240, 68, 56, .13), transparent 62%), #151714; }
.bbq-plan-card--local::before { background: var(--bbq-red); }
.bbq-plan-card > span { display: block; color: var(--bbq-meta); font-family: var(--condensed); font-size: 13px; font-weight: 900; letter-spacing: .16em; }
.bbq-plan-card--local > span { color: #f58b82; }
.bbq-plan-card h3 { margin-top: 18px; color: var(--bbq-text); font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(25px, 2.5vw, 34px); font-weight: 600; line-height: 1.35; }
.bbq-plan-card p { max-width: 34em; margin-top: 18px; color: var(--bbq-body); font-size: 14px; line-height: 1.9; }

.bbq-guide { padding-block: 24px 84px; }
.bbq-group { margin-top: 28px; padding: clamp(30px, 4vw, 52px); border: 1px solid var(--bbq-line); }
.bbq-group--supermarkets { background: var(--bbq-surface-green); }
.bbq-group--sake-shop { background: var(--bbq-surface-warm); }
.bbq-group--local-specialists { background: var(--bbq-surface); }
.bbq-group-header { display: grid; grid-template-columns: 130px minmax(280px, .9fr) minmax(280px, 1fr); align-items: end; gap: 32px; margin-bottom: 30px; }
.bbq-group-number { color: #38505a; font-family: var(--condensed); font-size: clamp(72px, 7vw, 100px); font-weight: 900; letter-spacing: -.07em; line-height: .8; }
.bbq-group-en { display: block; margin-bottom: 4px; color: var(--bbq-meta); font-family: var(--condensed); font-size: 13px; font-weight: 800; letter-spacing: .18em; }
.bbq-group h2 { color: var(--bbq-text); font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(27px, 3vw, 38px); font-weight: 600; line-height: 1.35; }
.bbq-group-header > p { color: var(--bbq-body); font-size: 14px; line-height: 1.8; }

.bbq-store-list { display: grid; gap: 16px; }
.bbq-store { display: grid; grid-template-columns: minmax(230px, 1fr) minmax(280px, 1.45fr); gap: 24px 36px; padding: 30px; border: 1px solid rgba(143, 192, 208, .34); background: rgba(5, 10, 13, .5); }
.bbq-store-heading { position: relative; min-width: 0; padding-right: 140px; }
.bbq-store-type { display: block; margin-bottom: 7px; color: var(--bbq-meta); font-family: var(--condensed); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.bbq-store h3 { color: var(--bbq-text); font-size: clamp(21px, 2vw, 28px); line-height: 1.35; }
.bbq-drive { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; text-align: right; }
.bbq-drive b { color: var(--bbq-red); font-family: var(--condensed); font-size: 15px; }
.bbq-drive small { margin-top: 3px; color: #9fb2ba; font-size: 11px; }
.bbq-store-desc { align-self: center; color: var(--bbq-body); font-size: 14px; line-height: 1.85; }
.bbq-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.bbq-tags span { padding: 7px 10px; border: 1px solid rgba(143, 192, 208, .32); color: #dce8eb; font-size: 11px; }
.bbq-store-meta { display: grid; grid-template-columns: 1fr 1.25fr .9fr; gap: 16px; }
.bbq-store-meta div { min-width: 0; padding-left: 13px; border-left: 1px solid rgba(143, 192, 208, .3); }
.bbq-store-meta dt { color: var(--bbq-meta); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.bbq-store-meta dd { margin-top: 5px; color: var(--bbq-text); font-size: 12px; line-height: 1.6; }
.bbq-store-actions { grid-column: 1 / -1; display: flex; gap: 10px; padding-top: 20px; border-top: 1px solid rgba(143, 192, 208, .25); }
.bbq-store-actions a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 17px; border: 1px solid var(--bbq-line); color: var(--bbq-text); font-family: var(--condensed); font-size: 12px; font-weight: 800; letter-spacing: .05em; transition: background-color 180ms ease-out, border-color 180ms ease-out; }
.bbq-store-actions a:first-child { border-color: var(--bbq-red); color: #fff; }
.bbq-store-actions a:hover, .bbq-store-actions a:focus-visible { border-color: var(--bbq-meta); background: rgba(143, 192, 208, .1); }
.bbq-store-actions a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.bbq-notice { padding: 34px 20px 0; color: var(--bbq-meta); font-size: 13px; letter-spacing: .04em; line-height: 1.8; text-align: center; }
.bbq-back { display: flex; width: fit-content; min-height: 48px; align-items: center; margin-top: 34px; color: var(--bbq-text); font-family: var(--condensed); font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.bbq-back:hover { color: var(--bbq-meta); }

.surf99-bbq-document .site-footer { grid-template-columns: auto 1fr auto auto; }
.bbq-footer-guide, .bbq-footer-book { display: inline-flex; min-height: 48px; align-items: center; font-size: 13px; font-weight: 800; white-space: nowrap; }
.bbq-footer-guide { color: var(--bbq-meta); }
.bbq-footer-book { padding-inline: 22px; border: 1px solid var(--bbq-red); color: var(--bbq-red); }

@media (max-width: 1050px) {
  .bbq-plan-header { grid-template-columns: 140px 1fr; }
  .bbq-plan-header > p { grid-column: 2; }
  .bbq-group-header { grid-template-columns: 100px 1fr; }
  .bbq-group-header > p { grid-column: 2; }
  .bbq-store { grid-template-columns: 1fr; }
  .bbq-store-desc { grid-column: 1; }
}
@media (max-width: 900px) {
  .bbq-shell { width: min(100% - 40px, 760px); }
  .bbq-access { grid-template-columns: 1fr; gap: 12px; }
  .bbq-plan-header { grid-template-columns: 1fr; gap: 12px; }
  .bbq-plan-header > p { grid-column: 1; max-width: 46em; }
  .bbq-group { padding: 26px 22px; }
  .bbq-group-header { grid-template-columns: 72px 1fr; gap: 20px; }
  .bbq-group-header > p { grid-column: 1 / -1; }
  .bbq-group-number { font-size: 58px; }
  .surf99-bbq-document .site-footer { grid-template-columns: 1fr auto; }
  .bbq-footer-guide, .bbq-footer-book { grid-column: 1 / 3; }
}
@media (max-width: 600px) {
  .bbq-shell { width: calc(100% - 32px); }
  .bbq-hero-inner { padding-block: 64px 54px; }
  .bbq-hero h1 { font-size: clamp(39px, 11.5vw, 54px); }
  .bbq-hero-copy br { display: none; }
  .bbq-plan-options { grid-template-columns: 1fr; }
  .bbq-plan-card { min-height: 0; padding: 28px 22px; }
  .bbq-guide { width: 100%; }
  .bbq-group { margin-top: 18px; padding: 26px 16px; border-right: 0; border-left: 0; }
  .bbq-group-header { grid-template-columns: 58px 1fr; gap: 14px; }
  .bbq-group-number { font-size: 48px; }
  .bbq-group h2 { font-size: 24px; }
  .bbq-store { gap: 20px; padding: 23px 16px; }
  .bbq-store-heading { padding-right: 0; }
  .bbq-drive { position: static; align-items: flex-start; margin-top: 12px; text-align: left; }
  .bbq-store-meta { grid-template-columns: 1fr; }
  .bbq-store-actions { flex-direction: column; }
  .bbq-store-actions a { justify-content: center; }
  .bbq-notice, .bbq-back { margin-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) { .bbq-store-actions a { transition-duration: .01ms !important; } }
