/* Full Range: natural fitness for real life. */
.moving-brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.wordmark-image {
  display: block;
  width: 210px;
  height: 72px;
  background-color: currentColor;
  mask-mode: alpha;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left center;
  mask-position: left center;
}
.site-header nav { gap: 15px; }
.site-header nav > a { font-family: var(--heading); font-size: 14px; font-weight: 500; letter-spacing: -.025em; }
.eyebrow, .small-index, .section-note, .hero-foot, .button, .status,
.class-badge, .course-state, .back-top, .text-link, .discipline-list,
.training-details li > span, .class-time > span, .mono, .experience-number p {
  font-family: var(--body);
  font-weight: 600;
  letter-spacing: .035em;
}
.button { border-radius: 999px; font-size: 13px; letter-spacing: .02em; padding-inline: 26px; }
.philosophy-grid { border: 0; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.philosophy-card { border: 1px solid var(--line); border-radius: 18px; }
.philosophy-card h3 { min-height: 0; margin-top: 0; }
.philosophy-card + .philosophy-card { border: 1px solid var(--line); }
.philosophy-card.featured { border-color: var(--navy); }
.philosophy-card p { font-size: 16px; }
.training-card, .personal-program, .course { border-radius: 18px; }
.status, .class-badge { border-radius: 999px; }
.course-number { opacity: .5; }
.movement-strip > div { font-weight: 600; }
.movement-strip span { opacity: .35; }
.about-copy .small-index { color: var(--yellow); }
.site-footer .wordmark-image { color: var(--navy); }
@media (max-width: 1100px) {
  .site-header { height: 100px; }
  .menu-toggle { display: flex; align-items: center; gap: 15px; border: 0; background: none; font: 13px var(--body); padding: 12px; }
  .menu-lines { width: 22px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
  .site-header nav { display: none; position: absolute; top: 100px; left: 0; right: 0; padding: 25px 36px; background: var(--navy); color: var(--canvas); border-bottom: 1px solid #44505a; box-shadow: 0 20px 30px #0002; }
  .site-header nav.is-open { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
  .site-header nav > a { font-size: 17px; }
  .hero { padding-top: 100px; }
}
@media (max-width: 950px) {
  .philosophy-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .site-header { height: 90px; gap: 12px; }
  .site-header nav { top: 90px; padding-inline: 22px; }
  .hero { padding-top: 90px; }
  .wordmark-image { width: 180px; height: 62px; }
  .menu-toggle { font-size: 0; gap: 0; padding: 12px 0; }
  .button { font-size: 12px; }
  .personal-program .button { font-size: 11px; }
}

/* Coaching and downloadable programs have distinct places in the offer. */
.menu-toggle { font-family: var(--heading); }
.online-coaching { margin-top: 24px; padding: 36px; border: 1px solid var(--line); border-radius: 18px; display: grid; grid-template-columns: .9fr 1fr 1fr; gap: 32px; }
.online-coaching h3 { font-size: 42px; margin: 20px 0; }
.online-coaching h4 { font-size: 25px; letter-spacing: -.035em; }
.online-coaching p { font-size: 16px; color: #48545b; }
.coaching-option { display: flex; flex-direction: column; border-left: 1px solid var(--line); padding-left: 28px; }
.coaching-option p { margin: 18px 0 24px; }
.coaching-option .button { margin-top: auto; gap: 14px; }
.flagship-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.flagship-card { padding: 32px; border-radius: 18px; background: var(--navy); color: var(--canvas); display: flex; flex-direction: column; }
.flagship-card:nth-child(2) { background: #243b4a; }
.flagship-card:nth-child(3) { background: var(--deep); }
.flagship-card .small-index { color: var(--yellow); font-size: 12px; }
.flagship-card h3 { font-size: clamp(28px, 2.8vw, 42px); line-height: 1.1; margin: 30px 0 24px; letter-spacing: -.045em; }
.flagship-card p { font-size: 16px; color: #d1d7d8; }
.flagship-card .program-audience { border-top: 1px solid #ffffff30; padding-top: 22px; margin-top: 24px; }
.program-audience strong { color: var(--canvas); }
.flagship-card .course-state { color: var(--yellow); font-size: 12px; padding-top: 30px; }
.course p { font-size: 16px; }
@media (max-width: 1100px) {
  .online-coaching { grid-template-columns: 1fr 1fr; }
  .online-coaching-intro { grid-column: 1 / -1; max-width: 620px; }
  .coaching-option { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
  .flagship-card { padding: 26px; }
}
@media (max-width: 800px) {
  .flagship-grid { grid-template-columns: 1fr; }
  .flagship-card h3 { font-size: 38px; }
  .flagship-card h3 br { display: none; }
  .flagship-card h3 br::after { content: ' '; }
}
@media (max-width: 620px) {
  .online-coaching { grid-template-columns: 1fr; padding: 28px 25px; gap: 28px; }
  .online-coaching-intro { grid-column: auto; }
}

/* Full Range wordmark and signature. */
.moving-brand { flex-direction:column; align-items:flex-start; gap:5px; }
.wordmark-image { width:190px; height:59px; mask-position:left center; -webkit-mask-position:left center; }
.brand-tagline { font-family:var(--body); font-size:11px; font-weight:500; line-height:1.3; letter-spacing:0; white-space:nowrap; }
.site-header { height:110px; }
@media (max-width:1100px) { .site-header nav { top:110px; } .hero { padding-top:110px; } }
@media (max-width:620px) { .site-header { height:100px; } .site-header nav { top:100px; } .wordmark-image { width:170px; height:53px; } .brand-tagline { font-size:10px; } .hero { padding-top:100px; } }
