/* The main pass scope stays visible even when the full comparison is folded. */
.terms-heading { padding-bottom: 8px; }
.pass-scope { max-width: 680px; margin: 20px auto 0; text-align: left; }
.pass-scope>div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 12px 16px;
  margin-top: 8px;
  border-radius: 6px;
  background: #ffffff06;
}
.pass-scope dt { font-size: 12px; color: #c5c5bc; }
.pass-scope dd { margin: 0; font-size: 14px; color: #e3e3da; }
.pass-scope strong { color: var(--yellow); }
.tier-details { border-bottom: 1px solid var(--line); }
.tier-details>summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: fit-content;
  max-width: calc(100% - 36px);
  min-height: 46px;
  margin: 18px auto 24px;
  padding: 11px 22px;
  border: 1px solid #77776b;
  border-radius: 999px;
  list-style: none;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}
.tier-details>summary::-webkit-details-marker { display: none; }
.tier-less, .tier-details[open] .tier-more { display: none; }
.tier-details[open] .tier-less { display: inline; }
.tier-chevron { font-size: 20px; line-height: 1; }
.tier-details[open] .tier-chevron { transform: rotate(180deg); }
.tier-table-hint { display: none; }
.tier-details .table-scroll:focus-visible { outline-offset: -3px; }
@media(hover:hover) {
  .tier-details>summary:hover { border-color: var(--yellow); color: var(--yellow); }
}

@media(max-width:640px) {
  /* Descriptions: 13–14px. Conditions and supporting information: at least 12px. */
  .hero-description { font-size: 13px; line-height: 1.8; }
  .section-description,
  .event-section .section-description,
  .event-description { font-size: 14px; line-height: 1.8; }
  .price-note,
  .program-card>p:not(.mini-label),
  .facility-stage figcaption p,
  .facility-facts span,
  .facility-gallery figcaption,
  .empty-card p,
  .trainer-layout p,
  .subtle,
  .final-cta p:last-child,
  .footer>.container>p { font-size: 13px; line-height: 1.8; }
  .price-note,
  .program-card>p:not(.mini-label),
  .empty-card p,
  .trainer-layout p { color: #bdbdb4; }
  .program-card>p:not(.mini-label) { min-height: 5.4em; }
  .program-card .mini-label { font-size: 10px; letter-spacing: .04em; overflow-wrap: anywhere; }
  .program-card>a { font-size: 12px; }
  .facility-tabs button { font-size: 12px; }
  .facility-gallery figcaption { padding-inline: 10px; }
  .facility-gallery figcaption span { font-size: 10px; }
  .facility-stage figcaption { bottom: 20px; }
  .facility-stage figcaption p { margin-top: 8px; }
  .empty-card h4 { font-size: 15px; }
  .coming { font-size: 12px; }
  .group-heading>span { font-size: 10px; }
  .group-heading { gap: 12px; }
  .faq-list summary { font-size: 14px; line-height: 1.65; }
  .faq-list details>p { font-size: 13px; line-height: 1.9; padding-inline: 24px 12px; }
  .price-caption,
  .included,
  .event-note,
  .terms-foot,
  .terms-foot span,
  .programs-section .subtle,
  .location-info .subtle,
  .disclosure,
  .copy-status { font-size: 12px; line-height: 1.85; }
  .price-caption,
  .terms-foot,
  .terms-foot span,
  .programs-section .subtle,
  .location-info .subtle,
  .disclosure { color: #b8b8af; }
  .event-note { color: #37330e; text-align: left; }
  .terms-heading { padding: 24px 16px 4px; }
  .terms-heading h3 { font-size: 18px; line-height: 1.55; }
  .pass-scope { margin-top: 16px; }
  .pass-scope>div { grid-template-columns: 1fr; gap: 4px; padding: 12px 14px; }
  .pass-scope dt { font-size: 12px; }
  .pass-scope dd { font-size: 14px; line-height: 1.75; }
  .tier-details>summary { font-size: 13px; margin-block: 18px 20px; }
  .tier-table-hint { display: block; font-size: 12px; color: #b8b8af; margin: 0 16px 12px; }
  .tier-details table { font-size: 12px; line-height: 1.8; }
  .terms-foot { text-align: left; padding: 20px 18px; }
  .terms-foot a { font-size: 12px; }
  .footer-links { font-size: 13px; gap: 20px; }
  .disclosure { text-align: left; }
  .footer-bottom { font-size: 10px; letter-spacing: .03em; gap: 12px; flex-wrap: wrap; }
}
