.bq-venues { padding-bottom: var(--space-9); }
.bq-list { margin: var(--space-6) 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.bq-list li { display: flex; flex-direction: column; }
.bq-list a { display: flex; flex-direction: column; flex: 1; padding-bottom: var(--space-4); border-top: var(--bd) solid var(--c-line); border-bottom: var(--bd) solid var(--c-line); }
.bq-list__img { position: relative; margin-top: var(--space-3); aspect-ratio: calc(var(--space-7) / var(--space-6)); overflow: hidden; }
.bq-list__img img { height: 100%; object-fit: cover; transition: transform var(--t-1); }
.bq-list a:is(:hover, :focus-visible) img { transform: scale(var(--scale)); }
.bq-list__no { position: absolute; bottom: 0; padding: var(--space-1) var(--space-3); background: var(--c-bg); font-family: var(--ff-serif); color: var(--c-accent-2); }
.bq-list__floor { margin-top: var(--space-3); font-size: var(--fs-1); color: var(--c-accent-2); }
.bq-list__name { margin-top: var(--space-1); font-family: var(--ff-serif); font-weight: var(--fw-medium); line-height: var(--lh-2); color: var(--c-accent); }
.bq-list a:is(:hover, :focus-visible) .bq-list__name { color: var(--c-accent-2); }
.bq-list__cap { display: flex; align-items: baseline; gap: var(--space-1); margin-top: auto; padding-top: var(--space-3); font-family: var(--ff-serif); font-size: var(--fs-3); color: var(--c-accent); }
.bq-list__cap-h { font-family: var(--ff-sans); font-size: var(--fs-2); color: var(--c-ink-sub); }
.bq-list__cap b { font-size: var(--fs-7); font-weight: var(--fw-regular); line-height: var(--lh-1); color: var(--c-accent-2); }
.bq-list__arrow { margin-left: auto; }
.bqv { padding-block: var(--space-9); scroll-margin-top: var(--space-8); }
.bqv--tint { background: var(--c-tint); }
.bqv__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: center; }
.bqv__top--rev { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.bqv__top--rev .bqv__img { order: 2; }
.bqv__img { aspect-ratio: calc(var(--space-7) / var(--space-6)); overflow: hidden; }
.bqv__img picture { display: block; height: 100%; }
.bqv__img img { height: 100%; object-fit: cover; }
.bqv__logo { margin-bottom: var(--space-4); }
.bqv__logo img { width: auto; height: var(--space-9); }
.bqv__no { font-family: var(--ff-serif); font-size: var(--fs-6); line-height: var(--lh-1); color: var(--c-accent-2); }
.bqv__floor { display: flex; align-items: center; gap: var(--space-2); margin-top: var(--space-3); font-size: var(--fs-1); letter-spacing: calc(var(--fs-1) * 15 / 100); color: var(--c-accent-2); }
.bqv__floor::before { content: ""; width: var(--space-5); height: var(--bd); background: var(--c-accent-2); }
.bqv__name { margin-top: var(--space-3); font-family: var(--ff-serif); font-size: var(--fs-7); font-weight: var(--fw-medium); line-height: var(--lh-2); letter-spacing: calc(var(--fs-7) * 7 / 100); }
.bqv__copy { margin-top: var(--space-4); font-size: var(--fs-3); }
.bqk { margin-top: var(--space-7); background: var(--c-bg); box-shadow: 0 0 0 var(--bd) var(--c-line); }
.bqk__top { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-6); align-items: start; padding: var(--space-6); }
.bqk__ppl { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); margin-left: calc(var(--space-7) * -1); }
.bqk__ring { position: relative; display: grid; place-content: center; justify-items: center; width: calc(var(--space-9) + var(--space-6)); aspect-ratio: 1; border: var(--bd) solid var(--c-accent); border-radius: var(--r-pill); background: var(--c-accent); color: var(--c-bg); font-family: var(--ff-serif); }
.bqk__arc { position: absolute; pointer-events: none; }
.bqk__arc circle { fill: none; stroke: var(--c-bg); stroke-width: var(--bd-2); transition: stroke-dashoffset calc(var(--t-1) * 2); }
.bqk:hover .bqk__arc circle { stroke-dashoffset: 0; }
.bqk__ring-h { font-family: var(--ff-sans); font-size: var(--fs-2); line-height: var(--lh-2); }
.bqk__ring-v { position: relative; }
.bqk__ring-v b { font-size: var(--fs-9); font-weight: var(--fw-medium); line-height: var(--lh-1); }
.bqk__ring-u { position: absolute; bottom: var(--space-1); font-size: var(--fs-3); }
.bqk__ring-u { margin-left: var(--space-1); }
.bqk__mini { margin: 0; display: grid; grid-template-columns: auto auto; align-items: center; gap: var(--space-1) var(--space-3); }
.bqk__mini dt { font-size: var(--fs-2); color: var(--c-ink-sub); }
.bqk__mini dd { margin: 0; font-family: var(--ff-serif); color: var(--c-accent); }
.bqk__fee-t { font-family: var(--ff-serif); font-weight: var(--fw-medium); color: var(--c-accent); }
.bqk__fee-t small { margin-left: var(--space-2); font-family: var(--ff-sans); font-size: var(--fs-1); font-weight: var(--fw-regular); color: var(--c-ink-sub); }
.bqk__fee-l { margin: var(--space-4) 0 0; display: flex; flex-direction: column; gap: var(--space-4); }
.bqk__fee-l li { display: flex; align-items: center; gap: var(--space-4); }
.bqk__dot { display: flex; justify-content: center; align-items: baseline; flex: none; width: var(--space-8); padding-top: var(--space-2); border-top: var(--bd-2) solid var(--c-accent-2); font-family: var(--ff-serif); color: var(--c-accent); line-height: var(--lh-1); }
.bqk__dot b { font-size: var(--fs-6); font-weight: var(--fw-regular); }
.bqk__dot small { margin-left: var(--space-1); font-family: var(--ff-sans); font-size: var(--fs-2); }
.bqk__fee-b { display: flex; flex-direction: column; }
.bqk__fee-h { font-size: var(--fs-1); color: var(--c-ink-sub); }
.bqk__fee-v { font-family: var(--ff-serif); color: var(--c-accent); }
.bqk__fee-v b { font-size: var(--fs-7); font-weight: var(--fw-regular); line-height: var(--lh-1); }
.bqk__fee-v small { margin-left: var(--space-1); font-size: var(--fs-2); }
.bqk__fee-v.is-main { color: var(--c-accent-2); }
.bqk__fee-v.is-main b { font-size: var(--fs-9); }
.bqk__fee-v .nw { white-space: nowrap; }
.bqk__txt { font-size: var(--fs-4); color: var(--c-accent-2); }
.bqk__day { display: flex; align-items: baseline; gap: var(--space-3); margin-top: var(--space-4); padding-top: var(--space-3); border-top: var(--bd) solid var(--c-line); font-size: var(--fs-2); color: var(--c-ink-sub); }
.bqk__day b { font-family: var(--ff-serif); font-size: var(--fs-5); font-weight: var(--fw-regular); color: var(--c-accent); }
.bqk__info { padding: 0 0 0 var(--space-6); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); border-left: var(--bd) solid var(--c-line); }
.bqk__info li { display: flex; flex-direction: column; gap: var(--space-1); }
.bqk__info-h { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-3); color: var(--c-ink-sub); }
.bqk__info-i { flex: none; width: var(--space-6); height: var(--space-6); fill: none; stroke: var(--c-accent); stroke-width: var(--ext-stroke); stroke-linecap: round; stroke-linejoin: round; }
.bqk__info-v { font-size: var(--fs-5); font-weight: var(--fw-medium); line-height: var(--lh-2); color: var(--c-accent); }
.bqk__info-v small { display: block; font-size: var(--fs-2); font-weight: var(--fw-regular); color: var(--c-ink-sub); }
.bqk__seat { display: grid; grid-template-columns: calc(var(--space-9) * 2) minmax(0, 1fr); align-items: center; gap: var(--space-5); padding: var(--space-5) var(--space-6); background: var(--c-tint); }
.bqk__seat-t { font-family: var(--ff-serif); font-weight: var(--fw-medium); color: var(--c-accent); }
.bqk__seat-t .nw { white-space: nowrap; }
.bqk__seat-l { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-2); }
.bqk__seat-l li { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); text-align: center; }
.bqk__seat-i { width: var(--space-7); height: var(--space-7); fill: none; stroke: var(--c-accent); stroke-width: var(--ext-stroke); }
.bqk__seat-i .c { fill: var(--c-accent); stroke: none; }
.bqk__seat-l .is-na .bqk__seat-i { stroke: var(--c-ink-sub); opacity: var(--op); }
.bqk__seat-l .is-na .bqk__seat-i .c { fill: var(--c-ink-sub); }
.bqk__seat-h { font-size: var(--fs-1); color: var(--c-ink-sub); }
.bqk__seat-v { font-family: var(--ff-serif); color: var(--c-accent); }
.bqk__seat-v b { font-size: var(--fs-6); font-weight: var(--fw-regular); line-height: var(--lh-1); }
.bqk__seat-v small { margin-left: var(--space-1); font-size: var(--fs-1); }
.bqk__na { font-family: var(--ff-sans); font-size: var(--fs-1); color: var(--c-ink-sub); }
.bqk__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); padding: var(--space-4) var(--space-6); }
.bqk__lk { display: flex; align-items: center; gap: var(--space-4); font-size: var(--fs-2); }
.bqk__lk-h { font-size: var(--fs-1); color: var(--c-ink-sub); }
.bqk__lk a, .bqk__lk-v { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--c-accent); }
.bqk__lk-i { display: grid; place-content: center; width: var(--space-5); height: var(--space-5); border: var(--bd) solid var(--c-accent); border-radius: var(--r-pill); font-size: var(--fs-1); }
.bqk__lk a:is(:hover, :focus-visible) { color: var(--c-accent-2); }
.bqv__split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.bqv__tab { font-family: var(--ff-serif); font-size: var(--fs-7); font-weight: var(--fw-medium); letter-spacing: calc(var(--fs-7) * 7 / 100); color: var(--c-accent); }
.bqk--split { margin-top: var(--space-4); }
.bqk--split .bqk__top { grid-template-columns: auto minmax(0, 1fr); padding: var(--space-5); }
.bqk--split .bqk__ppl { margin-left: 0; }
.bqk--split .bqk__ring { width: calc(var(--space-9) + var(--space-4)); }
.bqk--split .bqk__info { grid-column: 1 / -1; padding: var(--space-5) 0 0; border-left: 0; border-top: var(--bd) solid var(--c-line); }
.bqk--split .bqk__seat { grid-template-columns: minmax(0, 1fr); padding: var(--space-5); }
.bqk--split .bqk__links { padding: var(--space-4) var(--space-5); }
.bqv__more { display: flex; justify-content: flex-end; margin-top: var(--space-6); }
.bqv__more .btn-line { gap: var(--space-5); }
.bq-band { display: grid; grid-template-columns: calc(var(--space-9) * 2) minmax(0, 1fr); align-items: center; gap: var(--space-6); margin-top: var(--space-7); padding: var(--space-6); border: var(--bd) solid var(--c-line); }
.bq-band__h { padding-left: var(--space-4); border-left: var(--bd-2) solid var(--c-accent-2); font-family: var(--ff-serif); font-size: var(--fs-5); font-weight: var(--fw-medium); letter-spacing: calc(var(--fs-5) * 7 / 100); color: var(--c-accent); }
.bq-eq { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5) var(--space-3); }
.bq-eq li { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); font-size: var(--fs-1); text-align: center; }
.bq-eq__i { width: var(--space-6); height: var(--space-6); fill: none; stroke: var(--c-accent); stroke-width: var(--ext-stroke); stroke-linecap: round; stroke-linejoin: round; }
.bq-meet { margin-top: var(--space-8); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); align-items: start; }
.bq-meet__h { padding-bottom: var(--space-4); border-bottom: var(--bd-2) solid var(--c-accent); font-family: var(--ff-serif); font-size: var(--fs-6); font-weight: var(--fw-medium); line-height: var(--lh-2); letter-spacing: calc(var(--fs-6) * 7 / 100); }
.bq-meet__h small { margin-left: var(--space-2); font-size: var(--fs-2); color: var(--c-ink-sub); }
.bq-opt li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: var(--bd) solid var(--c-line); }
.bq-opt__n { font-size: var(--fs-3); font-weight: var(--fw-medium); line-height: var(--lh-2); color: var(--c-accent); }
.bq-opt__n small { display: block; margin-top: var(--space-1); font-size: var(--fs-1); font-weight: var(--fw-regular); color: var(--c-ink-sub); }
.bq-opt__p { flex: none; font-family: var(--ff-serif); font-size: var(--fs-5); color: var(--c-accent); white-space: nowrap; }
.bq-rule { margin: 0; }
.bq-rule > div { padding: var(--space-4) 0; border-bottom: var(--bd) solid var(--c-line); }
.bq-rule dt { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-3); font-weight: var(--fw-medium); color: var(--c-accent); }
.bq-rule dt::before { content: ""; width: var(--space-1); height: var(--space-1); border-radius: var(--r-pill); background: var(--c-accent-2); }
.bq-rule dd { margin: var(--space-1) 0 0; padding-left: var(--space-3); font-size: var(--fs-2); }
.bq-rule strong { font-weight: var(--fw-medium); color: var(--c-accent); }
.bq-note { margin-top: var(--space-6); font-size: var(--fs-2); color: var(--c-ink-sub); }
.bq-cta { padding-block: var(--space-8); background: var(--c-accent); color: var(--c-bg); }
.bq-cta__in { display: flex; justify-content: space-between; align-items: center; gap: var(--space-7); }
.bq-cta__copy { font-family: var(--ff-serif); font-size: var(--fs-8); font-weight: var(--fw-medium); line-height: var(--lh-2); letter-spacing: calc(var(--fs-8) * 7 / 100); }
.bq-cta__lead { margin-top: var(--space-3); font-size: var(--fs-3); }
.bq-cta__act { display: flex; flex-direction: column; gap: var(--space-4); }
.bq-cta__tel { display: flex; flex-direction: column; font-size: var(--fs-2); }
.bq-cta__tel a { font-family: var(--ff-serif); font-size: var(--fs-8); }
.bq-cta__btn { display: flex; justify-content: space-between; gap: var(--space-6); padding: var(--space-4) var(--space-6); border: var(--bd) solid var(--c-bg); transition: background-color var(--t-1), color var(--t-1); }
.bq-cta__btn:is(:hover, :focus-visible) { background: var(--c-bg); color: var(--c-accent); }
.bq-cta__sub, .bq-cta__note { font-size: var(--fs-2); }
.bq-cta__sub a { text-decoration: underline; text-underline-offset: var(--space-1); }
@media (prefers-reduced-motion: reduce) {
  .bqk__arc circle { transition: none; }
}
@media (max-width: 1024px) {
  .bq-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-8); }
  .bqk__top { grid-template-columns: auto minmax(0, 1fr); }
  .bqk__ppl { margin-left: 0; }
  .bqk__info { grid-column: 1 / -1; padding: var(--space-5) 0 0; border-left: 0; border-top: var(--bd) solid var(--c-line); }
  .bqv__split { grid-template-columns: minmax(0, 1fr); }
  .bq-meet { grid-template-columns: minmax(0, 1fr); }
  .bq-cta__in { flex-direction: column; align-items: stretch; }
}
@media (max-width: 768px) {
  .bq-venues { padding-bottom: var(--space-8); }
  .bq-list { gap: var(--space-8) var(--space-4); }
  .bq-list__cap { flex-wrap: wrap; }
  .bq-list__cap-h { flex-basis: 100%; }
  .bqv { padding-block: var(--space-8); }
  .bqv__top, .bqv__top--rev { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .bqv__top--rev .bqv__img { order: 0; }
  .bqk, .bqv__split { margin-top: var(--space-5); }
  .bqk__top, .bqk--split .bqk__top { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5) var(--space-4); }
  .bqk__info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bqk__seat { grid-template-columns: minmax(0, 1fr); padding: var(--space-5) var(--space-4); }
  .bqk__seat-l { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-4); }
  .bqk__links { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); }
  .bq-band { grid-template-columns: minmax(0, 1fr); padding: var(--space-5); }
  .bq-eq { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bq-cta__copy { font-size: var(--fs-7); }
}
