@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..700;1,6..96,400..600&family=Open+Sans:wght@300;400;500;600;700&display=swap');

/* B.E.T editorial subpage theme — aligned with the current top page */
:root {
  --c-bg: #fff;
  --c-bg-alt: #f4f3f1;
  --c-bg-dark: #1a1a1a;
  --c-text: #333;
  --c-text-sub: #6b6b6b;
  --c-text-mute: #9a9a9a;
  --c-border: #e3e3e1;
  --c-border-light: #f0f0ee;
  --c-accent: #1a1a1a;
  --c-on-dark: #c9c9c9;
  --f-en: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN',
    'Yu Gothic Medium', YuGothic, 'Noto Sans JP', Meiryo, sans-serif;
  --f-jp: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN',
    'Yu Gothic Medium', YuGothic, 'Noto Sans JP', Meiryo, sans-serif;
  --f-title: 'Avenir Next', Avenir, 'Helvetica Neue', 'Noto Sans JP', sans-serif;
  --f-display: 'Bodoni Moda', 'Bodoni 72', Didot, Georgia, serif;
}

body.bet-subpage {
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--f-jp);
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: .015em;
  overflow-x: hidden;
}

.bet-subpage .container { max-width: 1180px; padding-inline: 24px; }
.bet-subpage .container-narrow { max-width: 860px; padding-inline: 24px; }

.bet-subpage .page-hero {
  position: relative;
  padding: clamp(132px, 13vw, 184px) 24px clamp(76px, 8.5vw, 118px);
  overflow: hidden;
  background: #fff;
  text-align: center;
}
.bet-subpage .page-hero::after {
  content: '';
  position: absolute;
  left: 50%; bottom: 0;
  width: min(1180px, calc(100% - 48px)); height: 1px;
  background: var(--c-border);
  transform: translateX(-50%);
}
.bet-subpage .page-hero-eyebrow {
  margin: 0 0 20px;
  color: var(--c-text-mute);
  font-family: var(--f-en);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .22em;
}
.bet-subpage .page-hero-headline {
  margin: 0 0 22px;
  color: var(--c-text);
  font-family: var(--f-title);
  font-size: clamp(48px, 6.1vw, 82px);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.bet-subpage .page-hero-headline.page-name-title {
  font-size: clamp(38px, 4.6vw, 56px);
}
.bet-subpage .page-hero-jp {
  margin: 0;
  color: var(--c-text-sub);
  font-family: var(--f-jp);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: .12em;
}
.bet-subpage .page-hero-img {
  width: min(1180px, calc(100% + 48px));
  max-width: 1180px;
  margin: 68px auto -118px;
  aspect-ratio: 2 / 1;
}
.bet-subpage .page-hero-img img { transition: transform 1s cubic-bezier(.2,.65,.25,1); }

.bet-subpage .section { padding: clamp(84px, 9vw, 118px) 0; }
.bet-subpage .section.bg-alt { background: var(--c-bg-alt); }
.bet-subpage .section-pair { gap: clamp(48px, 7vw, 92px); }
.bet-subpage .section-pair-img { overflow: hidden; }
.bet-subpage .section-pair-img img { aspect-ratio: 4 / 5; transition: transform 1s cubic-bezier(.2,.65,.25,1); }
.bet-subpage .section-pair:hover .section-pair-img img,
.bet-subpage .page-hero:hover .page-hero-img img { transform: scale(1.018); }

.bet-subpage .section-eyebrow,
.bet-subpage .featured-meta,
.bet-subpage .blog-article-meta,
.bet-subpage .access-block-label,
.bet-subpage .spotlight-role,
.bet-subpage .supervisor-label {
  color: var(--c-text-mute);
  font-family: var(--f-en);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.bet-subpage .section-headline,
.bet-subpage .center-header .section-headline,
.bet-subpage .faq-group-label {
  color: var(--c-text);
  font-family: var(--f-title);
  font-size: clamp(36px, 4.4vw, 54px);
  font-weight: 300;
  line-height: 1.16;
  letter-spacing: -.025em;
}
.bet-subpage .section-body,
.bet-subpage .pillar-desc,
.bet-subpage .featured-excerpt,
.bet-subpage .blog-article-excerpt,
.bet-subpage .founder-msg,
.bet-subpage .supervisor-desc,
.bet-subpage .access-block-content {
  color: var(--c-text-sub);
  font-family: var(--f-jp);
  font-size: 15px;
  line-height: 2.05;
}
.bet-subpage .center-header { max-width: 760px; margin-bottom: 58px; }

.bet-subpage .btn-outline,
.bet-subpage .btn-fill,
.bet-subpage .btn-white {
  min-width: 142px;
  width: auto;
  height: auto;
  min-height: 42px;
  padding: 10px 26px;
  border: 1px solid #c8c8c6;
  border-radius: 999px;
  background: transparent;
  color: var(--c-text) !important;
  font-family: var(--f-jp);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .04em;
  text-transform: none;
}
.bet-subpage .btn-fill { border-color: var(--c-text); background: var(--c-text); color: #fff !important; }
.bet-subpage .btn-outline:hover,
.bet-subpage .btn-white:hover { border-color: var(--c-text); background: var(--c-text); color: #fff !important; }

.bet-subpage .pillar-num,
.bet-subpage .stat-value { font-family: var(--f-display); }
.bet-subpage .monthly-card-price,
.bet-subpage .reset-price-main,
.bet-subpage .price-row-price,
.bet-subpage .rsv-price-value {
  font-family: var(--f-en);
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
  font-weight: 600;
  letter-spacing: -.02em;
}
.bet-subpage .pillar-title,
.bet-subpage .timeline-step-title,
.bet-subpage .founder-name,
.bet-subpage .trainer-name,
.bet-subpage .spotlight-name,
.bet-subpage .supervisor-name,
.bet-subpage .access-block-title,
.bet-subpage .featured-title,
.bet-subpage .blog-article-title { font-family: var(--f-title); font-weight: 400; }

.bet-subpage .timeline-step,
.bet-subpage .monthly-card,
.bet-subpage .reset-card,
.bet-subpage .access-block,
.bet-subpage .qual {
  border-color: var(--c-border);
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}
.bet-subpage .monthly-card.is-popular,
.bet-subpage .qual.is-featured { border-color: var(--c-text); }
.bet-subpage .qual.is-featured { background: var(--c-text); color: #fff; }

.bet-subpage .spotlight {
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(44px, 6vw, 78px);
  align-items: start;
  max-width: 1120px;
}
.bet-subpage .spotlight-img img { width: 100%; max-height: 680px; object-position: center 28%; }
.bet-subpage .spotlight-name { font-size: clamp(34px, 3.5vw, 46px); }
.bet-subpage .spotlight-title { line-height: 1.8; }
.bet-subpage .spotlight-bio { font-size: 15px; line-height: 2; }
.bet-subpage .quals { gap: 8px; }
.bet-subpage .qual { min-height: 32px; padding: 7px 12px; line-height: 1.45; }

.bet-subpage .access-simple {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(52px, 7vw, 92px);
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 0 12px;
}
.bet-subpage .access-simple-section { padding: 0; }
.bet-subpage .access-info-list { margin: 0; border-top: 1px solid var(--c-text); }
.bet-subpage .access-info-list > div {
  display: grid; grid-template-columns: 94px 1fr; gap: 24px;
  padding: 20px 0; border-bottom: 1px solid var(--c-border);
}
.bet-subpage .access-info-list dt,
.bet-subpage .access-info-list dd { margin: 0; font-size: 14px; line-height: 1.9; }
.bet-subpage .access-info-list dt { color: var(--c-text-mute); }
.bet-subpage .access-info-list dd { color: var(--c-text); }
.bet-subpage .access-stations { margin: 0; padding: 0; border-top: 1px solid var(--c-text); list-style: none; }
.bet-subpage .access-stations li {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 20px 0; border-bottom: 1px solid var(--c-border);
  font-size: 15px;
}
.bet-subpage .access-stations strong { font-weight: 500; font-variant-numeric: tabular-nums; }
.bet-subpage .access-entrance { margin: 26px 0 0; color: var(--c-text-sub); font-size: 13px; line-height: 1.9; }

.bet-subpage .featured-article-img,
.bet-subpage .blog-article-img,
.bet-subpage .spotlight-img,
.bet-subpage .trainer-card-detail-img,
.bet-subpage .map-large { border-radius: 0; background: var(--c-bg-alt); }
.bet-subpage .featured-article-img img,
.bet-subpage .blog-article-img img,
.bet-subpage .spotlight-img img,
.bet-subpage .trainer-card-detail-img img { transition: transform .8s cubic-bezier(.2,.65,.25,1); }
.bet-subpage .featured-article:hover img,
.bet-subpage .blog-grid article:hover img { transform: scale(1.025); }

.bet-subpage .blog-tabs { gap: 10px; border: 0; padding: 0; }
.bet-subpage .blog-tab {
  margin: 0; padding: 7px 18px;
  border: 1px solid var(--c-border); border-radius: 999px;
  color: var(--c-text-sub);
  font-family: var(--f-jp); font-size: 11px; letter-spacing: .04em; text-transform: none;
}
.bet-subpage .blog-tab.is-active { border-color: var(--c-text); background: var(--c-text); color: #fff; }

.bet-subpage .faq-anchors { gap: 8px; }
.bet-subpage .faq-anchor { border-radius: 999px; }
.bet-subpage .faq-group-label { font-size: clamp(28px, 3.2vw, 40px); }
.bet-subpage .faq-item { border-color: var(--c-border); }
.bet-subpage .faq-q { font-size: 15px; line-height: 1.8; }
.bet-subpage .faq-a-inner { font-size: 14px; line-height: 2; }

.bet-subpage .rsv-embed { background: var(--c-bg-alt); }
.bet-subpage .rsv-embed-headline { font-family: var(--f-title); font-weight: 400; letter-spacing: -.02em; }

@media (max-width: 900px) {
  body.bet-subpage { padding-bottom: calc(76px + env(safe-area-inset-bottom)); font-size: 16px; }
  .bet-subpage .container,
  .bet-subpage .container-narrow { padding-inline: 20px; }
  .bet-subpage .page-hero { padding: 112px 20px 68px; }
  .bet-subpage .page-hero::after { width: calc(100% - 40px); }
  .bet-subpage .page-hero-headline { font-size: clamp(44px, 13.5vw, 58px); line-height: 1; }
  .bet-subpage .page-hero-headline.page-name-title { font-size: 36px; }
  .bet-subpage .page-hero-jp { font-size: 16px; line-height: 1.9; }
  .bet-subpage .page-hero-img {
    width: calc(100% + 40px); margin: 48px -20px -68px; aspect-ratio: 4 / 3;
  }
  .bet-subpage .section { padding: 68px 0; }
  .bet-subpage .section-pair { gap: 38px; }
  .bet-subpage .section-pair-img img { aspect-ratio: 4 / 3; }
  .bet-subpage .section-headline,
  .bet-subpage .center-header .section-headline { font-size: 38px; line-height: 1.16; }
  .bet-subpage .section-body,
  .bet-subpage .pillar-desc,
  .bet-subpage .featured-excerpt,
  .bet-subpage .blog-article-excerpt,
  .bet-subpage .founder-msg,
  .bet-subpage .supervisor-desc,
  .bet-subpage .access-block-content { font-size: 16px; line-height: 2; }
  .bet-subpage .center-header { margin-bottom: 42px; }
  .bet-subpage .access-block { padding: 28px 22px; }
  .bet-subpage .spotlight { grid-template-columns: 1fr; gap: 34px; }
  .bet-subpage .spotlight-img img { max-height: none; aspect-ratio: 4 / 5; object-position: center 24%; }
  .bet-subpage .spotlight-bio { font-size: 16px; }
  .bet-subpage .access-simple { grid-template-columns: 1fr; gap: 58px; }
  .bet-subpage .access-info-list > div { grid-template-columns: 78px 1fr; gap: 18px; }
  .bet-subpage .access-info-list dt,
  .bet-subpage .access-info-list dd { font-size: 15px; }
  .bet-subpage .access-stations li { font-size: 16px; }
  .bet-subpage .access-entrance { font-size: 15px; }
  .bet-subpage .faq-q { min-height: 64px; font-size: 16px; }
  .bet-subpage .faq-a-inner { font-size: 15px; }
}
