/* ============================================================================
   inner.css - every page that is not the front page
   ----------------------------------------------------------------------------
   Load order:
     bootstrap -> general -> shared -> inner -> shared-responsive
               -> inner-responsive -> header-footer

   All base rules, then all @media blocks, shared before page in each half. That
   is not decoration: the harvester writes every media rule after every base rule
   and the responsive layer beats the base layer on source order alone, since both
   are plain classes. Splitting the chrome out without this left the homepage on
   its desktop padding at 450px. check-css-order.py asserts it.

   `shared.css` carries the design's global layer: the header, the footer, the
   benefits bar, the FAQ accordion, the base typography and the utilities. It is
   generated from the homepage extraction and loads on every page, so nothing
   here repeats it.

   HOW SEVERAL SCREENS SHARE ONE FILE
   ----------------------------------
   Each screen's block is that screen's design.css in the design's own order,
   with every selector scoped to its page template:

       .hero-copy  ->  :where(body.page-template-page-about-php) .hero-copy

   `:where()` contributes nothing to specificity, so inside a block the cascade
   is exactly the design's own, and nothing from another screen can reach it.

   That order is load-bearing, which is why the scope has to be there rather
   than a prefix. `.pad` and `.w1170` override the section they sit on below
   1200px; the prefooter's own rule overrides `.w1170` back at 768px. All three
   are plain classes, so only source order decides - and concatenating a second
   screen's stylesheet after the first interleaves two such orders. Every
   attempt to fix that by raising specificity broke something else: the goal
   grid kept its desktop padding at 1099, the prefooter gained 20px of side
   padding on a phone.

   CLASS NAMES
   -----------
   The harvester names classes per screen - `el-section-3` is a different
   element in every export - so each screen's roots are renamed:

     aliased    the design's own hooks, and every root a SHARED template part
                touches: .hero-copy, .goal-grid, .prefoot-title, .img-cover.
                One name on every screen is what lets sh-hero.php and
                sh-goals.php be one file across four inner pages.
     prefixed   everything else, by screen: .ab-* about-us, .tr-* our-trainers.
                The page scope already keeps them apart, so this is for reading
                the markup rather than for correctness.

   Two blocks sit outside any page scope, at the end:

     shared-section refinements   the newer design bundle's 768px treatment of
                the benefits bar and the FAQ. They belong to sections several
                inner pages render, so scoping them to one page would leave the
                others on the older behaviour.

   `check-classes.py` verifies that every class the templates emit has a rule,
   and the reverse. Run it after any rename.

   The rules below are generated. Do not edit by hand: change the extraction's
   css-assignment.json and re-run build-inner-css.sh.
   ============================================================================ */

/* The @media blocks from the file above, loaded after every page
   stylesheet so they still override the base rules they were written
   against - see split-responsive.py for why that is not automatic. */

@media (max-width: 1200px) {
:where(body.page-template-page-about-php) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.page-template-page-about-php) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.page-template-page-about-php) .hero {
  height: auto;
  }

:where(body.page-template-page-about-php) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }

:where(body.page-template-page-about-php) .founders-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-about-php) .mv-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-about-php) .standby-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-about-php) .standby-copy {
  max-width: none;
    padding: 70px 32px 80px;
  }

:where(body.page-template-page-about-php) .standby-img {
  min-height: 420px;
  }

:where(body.page-template-page-about-php) .cmp-table {
  overflow-x: auto;
  }

:where(body.page-template-page-about-php) .cert-grid {
  grid-template-columns: 1fr;
    gap: 44px;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-about-php) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-about-php) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-about-php) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.page-template-page-about-php) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-about-php) .hero-cta {
  margin-top: 30px;
    font-size: 1rem;
    justify-content: center;
    padding: 19px 28px;
  }

:where(body.page-template-page-about-php) #md-about-intro-founders {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.page-template-page-about-php) #md-about-standby {
  padding: 0;
  }

:where(body.page-template-page-about-php) .standby-copy {
  padding: 70px 20px 80px;
  }

:where(body.page-template-page-about-php) #md-about-how-it-works {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.page-template-page-about-php) #md-about-certified {
  padding: 70px 0 80px;
  }

:where(body.page-template-page-about-php) #md-about-achieved {
  padding-top: 70px;
    padding-bottom: 0;
  }

:where(body.page-template-page-about-php) .quote-card {
  padding: 36px 24px 40px;
  }

:where(body.page-template-page-about-php) .quote-card p {
  font-size: 1.1875rem;
  }

:where(body.page-template-page-about-php) .prefoot-inner {
  padding: 80px 0 90px;
  }

:where(body.page-template-page-about-php) #md-prefooter {
  margin-top: 90px;
  }

:where(body.page-template-page-about-php) .cmp-cell {
  font-size: 0.875rem;
    padding: 14px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
:where(body.post-type-archive-trainers) .gallery-track {
  animation: none;
  }
}

@media (max-width: 1200px) {
:where(body.post-type-archive-trainers) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.post-type-archive-trainers) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.post-type-archive-trainers) .hero {
  height: auto;
  }

:where(body.post-type-archive-trainers) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }

:where(body.post-type-archive-trainers) .trainers-grid {
  grid-template-columns: repeat(2,1fr);
  }

:where(body.post-type-archive-trainers) .goal-grid {
  grid-template-columns: repeat(2,1fr);
  }

:where(body.post-type-archive-trainers) .gallery-item {
  width: calc(50vw - 44px);
  }
}

@media (max-width: 768px) {
:where(body.post-type-archive-trainers) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.post-type-archive-trainers) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.post-type-archive-trainers) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.post-type-archive-trainers) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.post-type-archive-trainers) .hero-cta {
  margin-top: 30px;
    font-size: 1rem;
    justify-content: center;
    padding: 19px 28px;
  }

:where(body.post-type-archive-trainers) #md-trainers-team {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.post-type-archive-trainers) .trainers-grid {
  grid-template-columns: 1fr;
  }

:where(body.post-type-archive-trainers) #md-trainers-goals {
  padding: 70px 20px 80px;
  }

:where(body.post-type-archive-trainers) .goal-grid {
  grid-template-columns: 1fr;
    margin-top: 40px;
  }

:where(body.post-type-archive-trainers) #md-trainers-gallery {
  padding: 70px 0 80px;
  }

:where(body.post-type-archive-trainers) .gallery-item {
  width: calc(100vw - 80px);
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-contact-php) #md-contact-hero .gfield {
  grid-column: 1 / -1;
  }

:where(body.page-template-page-contact-php) #md-contact-hero .gform_footer {
  flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

:where(body.page-template-page-contact-php) #md-contact-hero .gform_footer input[type="submit"], :where(body.page-template-page-contact-php) #md-contact-hero .gform_footer button {
  width: 100%;
  }

:where(body.page-template-page-contact-php) #md-contact-hero .ff-form-terms {
  max-width: none;
  }
}

@media (max-width: 1200px) {
:where(body.page-template-page-contact-php) #ffroot {
  width: 100%;
    min-width: 0;
    transform: none;
    position: static;
  }

:where(body.page-template-page-contact-php) #ffroot h1 {
  font-size: 3rem;
  }

:where(body.page-template-page-contact-php) #ffroot h2 {
  font-size: 2rem;
  }

:where(body.page-template-page-contact-php) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.page-template-page-contact-php) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.page-template-page-contact-php) .contact-grid {
  grid-template-columns: 1fr;
    gap: 48px;
  }

:where(body.page-template-page-contact-php) .contact-img {
  min-height: 420px;
  }

:where(body.page-template-page-contact-php) .goal-grid {
  grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-contact-php) #ffroot h1 {
  font-size: 2.5rem;
  }

:where(body.page-template-page-contact-php) #ffroot h2 {
  font-size: 1.875rem;
  }

:where(body.page-template-page-contact-php) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-contact-php) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-contact-php) #md-contact-hero {
  padding: 56px 0 70px;
  }

:where(body.page-template-page-contact-php) .contact-img {
  min-height: 320px;
  }

:where(body.page-template-page-contact-php) #md-contact-goals {
  padding: 70px 20px 80px;
  }

:where(body.page-template-page-contact-php) .goal-grid {
  grid-template-columns: 1fr;
    margin-top: 40px;
  }
}

@media (max-width: 1200px) {
:where(body.page-template-page-muscle-gain-php) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.page-template-page-muscle-gain-php) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.page-template-page-muscle-gain-php) .hero {
  height: auto;
  }

:where(body.page-template-page-muscle-gain-php) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }

:where(body.page-template-page-muscle-gain-php) .mg-who-grid {
  grid-template-columns: 1fr;
    gap: 44px;
  }

:where(body.page-template-page-muscle-gain-php) .mg-scale-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-muscle-gain-php) .mg-incl-grid {
  grid-template-columns: 1fr;
    gap: 32px;
  }

:where(body.page-template-page-muscle-gain-php) .mg-incl-imgs {
  grid-template-columns: 1fr;
    gap: 24px;
  }

:where(body.page-template-page-muscle-gain-php) .mg-started-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-muscle-gain-php) .res {
  grid-template-columns: 1fr;
    gap: 32px;
  }

:where(body.page-template-page-muscle-gain-php) .ba-card {
  width: 100%;
  }

:where(body.page-template-page-muscle-gain-php) .ba-img {
  height: auto;
    aspect-ratio: 3/4;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-muscle-gain-php) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-muscle-gain-php) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-muscle-gain-php) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.page-template-page-muscle-gain-php) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-muscle-gain-php) .hero-cta {
  margin-top: 30px;
    font-size: 1rem;
    justify-content: center;
    padding: 19px 28px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-intro {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-intro p {
  font-size: 1rem;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-who {
  padding: 70px 0 80px;
  }

:where(body.page-template-page-muscle-gain-php) .mg-who-img {
  height: 350px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-scales {
  padding: 70px 20px 30px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-session-card {
  padding: 36px 24px 40px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-included {
  padding: 70px 20px 80px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-results-copy {
  padding: 70px 0 80px;
  }

:where(body.page-template-page-muscle-gain-php) .res {
  display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 70px;
  }

:where(body.page-template-page-muscle-gain-php) .ba-copy {
  display: contents;
  }

:where(body.page-template-page-muscle-gain-php) .ba-copy h2 {
  max-width: none;
    text-align: center;
    order: 1;
    font-size: 1.875rem;
  }

:where(body.page-template-page-muscle-gain-php) .mg-results-intro {
  text-align: center;
    order: 2;
    margin-top: 16px;
    max-width: none;
    font-size: 1rem;
  }

:where(body.page-template-page-muscle-gain-php) .ba-social {
  order: 3;
    justify-content: center;
    margin-top: 22px;
  }

:where(body.page-template-page-muscle-gain-php) .ba-wrap {
  order: 4;
    display: block;
    margin-top: 32px;
  }

:where(body.page-template-page-muscle-gain-php) .ba-title {
  font-size: 1.0625rem;
  }

:where(body.page-template-page-muscle-gain-php) .ba-arrows {
  order: 5;
    justify-content: center;
    margin-top: 0;
    padding-top: 28px;
  }

:where(body.page-template-page-muscle-gain-php) #md-mg-started {
  padding: 70px 0 80px;
  }

:where(body.page-template-page-muscle-gain-php) .prefoot-inner {
  padding: 80px 0 90px;
  }

:where(body.page-template-page-muscle-gain-php) #md-prefooter {
  margin-top: 90px;
  }
}

@media (max-width: 1200px) {
:where(body.page-template-page-location-php) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.page-template-page-location-php) .hero {
  height: auto;
  }

:where(body.page-template-page-location-php) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }

:where(body.page-template-page-location-php) .hiw-grid {
  grid-template-columns: 1fr 1fr;
  }

:where(body.page-template-page-location-php) .included-grid {
  grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
  }

:where(body.page-template-page-location-php) .areas-head {
  grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
  }

:where(body.page-template-page-location-php) .areas-chips {
  grid-template-columns: repeat(3,1fr);
  }

:where(body.page-template-page-location-php) .female-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-location-php) .female-copy {
  max-width: none;
    padding: 70px 32px;
  }

:where(body.page-template-page-location-php) .female-photo {
  min-height: 0;
    height: 420px;
  }

:where(body.page-template-page-location-php) .goal-grid {
  grid-template-columns: repeat(2,1fr);
  }

:where(body.page-template-page-location-php) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.page-template-page-location-php) .res {
  grid-template-columns: 1fr;
    gap: 32px;
  }

:where(body.page-template-page-location-php) .ba-card {
  width: 100%;
  }

:where(body.page-template-page-location-php) .ba-img {
  height: auto;
    aspect-ratio: 3/4;
  }

:where(body.page-template-page-location-php) .w1146 {
  width: auto;
    max-width: 100%;
  }

:where(body.page-template-page-location-php) .trainers-grid {
  grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-location-php) #md-loc-intro {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.page-template-page-location-php) #md-loc-intro p {
  font-size: 1rem;
  }

:where(body.page-template-page-location-php) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-location-php) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.page-template-page-location-php) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-location-php) .hero-cta {
  margin-top: 30px;
    font-size: 1rem;
    justify-content: center;
    padding: 19px 28px;
  }

:where(body.page-template-page-location-php) .hiw-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-location-php) .included-grid {
  grid-template-columns: 1fr;
    gap: 36px;
  }

:where(body.page-template-page-location-php) #md-loc-howitworks {
  padding: 70px 0 80px;
  }

:where(body.page-template-page-location-php) #md-loc-included {
  padding-bottom: 80px;
  }

:where(body.page-template-page-location-php) #md-loc-areas {
  padding-bottom: 80px;
  }

:where(body.page-template-page-location-php) .areas-chips {
  grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

:where(body.page-template-page-location-php) .female-copy {
  padding: 60px 20px;
  }

:where(body.page-template-page-location-php) .female-photo {
  height: 320px;
  }

:where(body.page-template-page-location-php) .prefoot-inner {
  padding: 80px 0 90px;
  }

:where(body.page-template-page-location-php) #md-prefooter {
  margin-top: 90px;
  }

:where(body.page-template-page-location-php) #md-loc-areas {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.page-template-page-location-php) .prob-wrap {
  padding: 70px 20px 90px;
  }

:where(body.page-template-page-location-php) [data-prob-track] .prob-col {
  flex: none;
    width: 82%;
    scroll-snap-align: start;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

:where(body.page-template-page-location-php) .prob-problem {
  padding: 24px 20px 26px;
  }

:where(body.page-template-page-location-php) .prob-title {
  font-size: 1.25rem;
    line-height: 1.3;
    margin: 12px 0 0;
  }

:where(body.page-template-page-location-php) .prob-fix {
  padding: 24px 20px 26px;
  }

:where(body.page-template-page-location-php) .prob-fix p {
  margin: 12px 0 0;
    font-size: 1rem;
  }

:where(body.page-template-page-location-php) .prog-wrap {
  padding: 70px 20px 90px;
  }

:where(body.page-template-page-location-php) .goal-grid {
  grid-template-columns: 1fr;
    margin-top: 40px;
  }

:where(body.page-template-page-location-php) .goal-cta {
  font-size: 0.8125rem;
  }

:where(body.page-template-page-location-php) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-location-php) .res {
  display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 70px;
  }

:where(body.page-template-page-location-php) .ba-copy {
  display: contents;
  }

:where(body.page-template-page-location-php) .ba-copy h2 {
  max-width: none;
    text-align: center;
    order: 1;
    font-size: 1.875rem;
  }

:where(body.page-template-page-location-php) .results-intro {
  text-align: center;
    order: 2;
    margin-top: 16px;
    max-width: none;
    font-size: 1rem;
  }

:where(body.page-template-page-location-php) .ba-social {
  order: 3;
    justify-content: center;
    margin-top: 22px;
  }

:where(body.page-template-page-location-php) .ba-wrap {
  order: 4;
    display: block;
    margin-top: 32px;
  }

:where(body.page-template-page-location-php) .ba-title {
  font-size: 1.0625rem;
  }

:where(body.page-template-page-location-php) .ba-arrows {
  order: 5;
    justify-content: center;
    margin-top: 0;
    padding-top: 28px;
  }

:where(body.page-template-page-location-php) .team-wrap {
  padding: 73px 0 80px;
  }

:where(body.page-template-page-location-php) .trainers-grid {
  grid-template-columns: 1fr;
  }

:where(body.page-template-page-location-php) .trainer-skills {
  gap: 6px;
  }

:where(body.page-template-page-location-php) .btn-blue {
  font-size: 0.9375rem;
  }
}

@media (max-width: 1200px) {
:where(body.single-trainers) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.single-trainers) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.single-trainers) .hero-grid {
  grid-template-columns: 1fr;
    gap: 36px;
  }

:where(body.single-trainers) .hero-media {
  grid-template-columns: 1fr;
  }

:where(body.single-trainers) .hero-media video {
  height: 420px;
  }

:where(body.single-trainers) .approach-grid {
  grid-template-columns: 1fr;
    gap: 36px;
  }

:where(body.single-trainers) .philo-grid {
  grid-template-columns: 1fr 1fr;
  }

:where(body.single-trainers) .split-grid {
  grid-template-columns: 1fr;
    gap: 44px;
  }

:where(body.single-trainers) .session-grid {
  grid-template-columns: 1fr;
  }

:where(body.single-trainers) .goal-grid {
  grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 768px) {
:where(body.single-trainers) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.single-trainers) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.single-trainers) #md-tn-hero {
  padding-top: 56px;
    background: linear-gradient(180deg, #F7F2EA 0px, #F7F2EA 940px, #ffffff 940px);
  }

:where(body.single-trainers) .hero-cta-row {
  flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

:where(body.single-trainers) .philo-grid {
  grid-template-columns: 1fr;
  }

:where(body.single-trainers) .approach-card {
  padding: 44px 24px 48px;
  }

:where(body.single-trainers) .quote-card {
  padding: 36px 24px 40px;
  }

:where(body.single-trainers) .quote-card p {
  font-size: 1.1875rem;
  }

:where(body.single-trainers) .banner-inner {
  padding: 70px 24px 76px;
  }

:where(body.single-trainers) #md-tn-session {
  padding: 70px 0 80px;
  }

:where(body.single-trainers) #md-goals {
  padding: 70px 20px 80px;
  }

:where(body.single-trainers) .goal-grid {
  grid-template-columns: 1fr;
    margin-top: 40px;
  }

:where(body.single-trainers) .slider-arrows button {
  width: 44px;
    height: 44px;
  }

:where(body.single-trainers) .slider-row {
  flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }

:where(body.single-trainers) .slider-view {
  flex: none;
    width: 100%;
    order: 1;
  }

:where(body.single-trainers) .slider-arrows {
  order: 2;
  }

:where(body.single-trainers) #md-tn-gallery {
  margin-top: 60px;
  }

:where(body.single-trainers) #md-tn-who [data-photo] {
  height: 220px;
  }

:where(body.single-trainers) #md-tn-nutrition [data-photo] {
  height: 308px;
  }

:where(body.single-trainers) #md-tn-programs {
  margin-top: 60px;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-blog-php) .cr-pager a {
  width: 50px;
    height: 50px;
    font-size: 0.8125rem;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
  }
}

@media (max-width: 1200px) {
:where(body.page-template-page-blog-php) .blog-grid {
  grid-template-columns: repeat(2,1fr);
  }

:where(body.page-template-page-blog-php) #ffroot {
  width: 100%;
    min-width: 0;
    transform: none;
    position: static;
  }

:where(body.page-template-page-blog-php) #ffroot h1 {
  font-size: 3rem;
  }

:where(body.page-template-page-blog-php) #ffroot h2 {
  font-size: 2rem;
  }

:where(body.page-template-page-blog-php) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.page-template-page-blog-php) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.page-template-page-blog-php) .hero {
  height: auto;
  }

:where(body.page-template-page-blog-php) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-blog-php) #md-blog-listing {
  padding: 70px 20px 0;
    box-sizing: border-box;
    width: 100%;
  }

:where(body.page-template-page-blog-php) .blog-grid {
  grid-template-columns: 1fr;
    row-gap: 48px;
  }

:where(body.page-template-page-blog-php) #ffroot .blog-grid article h2 {
  font-size: 1.5rem;
    line-height: 1.35;
  }

:where(body.page-template-page-blog-php) #ffroot h1 {
  font-size: 2.25rem;
  }

:where(body.page-template-page-blog-php) #ffroot h2 {
  font-size: 1.875rem;
  }

:where(body.page-template-page-blog-php) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-blog-php) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-blog-php) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.page-template-page-blog-php) #ffroot .hero-copy h1 {
  font-size: 3.125rem;
    line-height: 1.1;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-blog-php) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-blog-php) .prefoot-inner {
  padding: 80px 0 90px;
  }

:where(body.page-template-page-blog-php) #md-prefooter {
  margin-top: 90px;
  }
}

@media (max-width: 450px) {
:where(body.page-template-page-blog-php) #ffroot .hero-copy h1 {
  font-size: 2.625rem;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-blog-php) .cr-pager {
  flex-wrap: nowrap;
    gap: 6px;
  }

:where(body.page-template-page-blog-php) .cr-pager button, :where(body.page-template-page-blog-php) .cr-pager span {
  width: 50px;
    height: 50px;
    font-size: 0.8125rem;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-client-results-php) .cr-pager a {
  width: 50px;
    height: 50px;
    font-size: 0.8125rem;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
  }
}

@media (max-width: 1200px) {
:where(body.page-template-page-client-results-php) #ffroot {
  width: 100%;
    min-width: 0;
    transform: none;
    position: static;
  }

:where(body.page-template-page-client-results-php) #ffroot h1 {
  font-size: 3rem;
  }

:where(body.page-template-page-client-results-php) #ffroot h2 {
  font-size: 2rem;
  }

:where(body.page-template-page-client-results-php) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.page-template-page-client-results-php) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.page-template-page-client-results-php) .hero {
  height: auto;
  }

:where(body.page-template-page-client-results-php) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-client-results-php) #ffroot h1 {
  font-size: 2.25rem;
  }

:where(body.page-template-page-client-results-php) #ffroot h2 {
  font-size: 1.875rem;
  }

:where(body.page-template-page-client-results-php) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-client-results-php) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.page-template-page-client-results-php) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.page-template-page-client-results-php) #ffroot .hero-copy h1 {
  font-size: 3.125rem;
    line-height: 1.1;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-client-results-php) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.page-template-page-client-results-php) .hero-cta {
  margin-top: 30px;
    font-size: 1rem;
    justify-content: center;
    padding: 19px 28px;
  }
}

@media (max-width: 450px) {
:where(body.page-template-page-client-results-php) #ffroot .hero-copy h1 {
  font-size: 2.625rem;
  }
}

@media (max-width: 1200px) {
:where(body.page-template-page-client-results-php) .goal-grid {
  grid-template-columns: repeat(2,1fr);
  }

:where(body.page-template-page-client-results-php) .cr-card {
  grid-template-columns: 360px 1fr;
    gap: 32px;
  }

:where(body.page-template-page-client-results-php) .cr-photo {
  height: 240px;
  }
}

@media (max-width: 768px) {
:where(body.page-template-page-client-results-php) .cr-head {
  grid-template-columns: 1fr;
    gap: 24px;
  }

:where(body.page-template-page-client-results-php) .cr-list {
  margin-top: 48px;
    gap: 20px;
  }

:where(body.page-template-page-client-results-php) .cr-card {
  grid-template-columns: 1fr;
    gap: 20px;
    padding: 16px;
  }

:where(body.page-template-page-client-results-php) .cr-photo {
  height: auto;
    aspect-ratio: 3/4;
  }

:where(body.page-template-page-client-results-php) .cr-titlerow h3 {
  font-size: 1.3125rem;
  }

:where(body.page-template-page-client-results-php) .hero-social {
  flex-direction: column;
    gap: 10px;
  }

:where(body.page-template-page-client-results-php) .hero-social > div:last-child {
  font-size: 1rem;
  }

:where(body.page-template-page-client-results-php) .cr-card p {
  font-size: 0.9375rem;
    line-height: 1.6;
  }

:where(body.page-template-page-client-results-php) .cr-pager {
  flex-wrap: nowrap;
    gap: 6px;
  }

:where(body.page-template-page-client-results-php) .cr-pager button, :where(body.page-template-page-client-results-php) .cr-pager span {
  width: 50px;
    height: 50px;
    font-size: 0.8125rem;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
  }

:where(body.page-template-page-client-results-php) #md-client-results {
  padding: 70px 20px 90px;
    box-sizing: border-box;
    width: 100%;
  }
}

@media (max-width: 450px) {
:where(body.page-template-page-client-results-php) .goal-wrap {
  padding-top: 70px;
    padding-bottom: 80px;
  }

:where(body.page-template-page-client-results-php) .goal-grid {
  grid-template-columns: 1fr;
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
:where(body.single-post) .bs-content > figure img {
  height: 440px;
  }
}

@media (max-width: 768px) {
:where(body.single-post) .bs-content > h2 {
  font-size: 1.75rem;
    margin-top: 24px;
  }

:where(body.single-post) .bs-content > h3 {
  font-size: 1.3125rem;
  }

:where(body.single-post) .bs-content > p:first-of-type {
  font-size: 1.1875rem;
  }

:where(body.single-post) .bs-content > figure img {
  height: 300px;
  }

:where(body.single-post) .bs-content > ul {
  padding: 28px 22px 28px 44px;
  }

:where(body.single-post) #md-blog-single li {
  font-size: 1rem;
  }
}

@media (max-width: 1200px) {
:where(body.single-post) #ffroot {
  width: 100%;
    min-width: 0;
    transform: none;
    position: static;
  }

:where(body.single-post) #ffroot h1 {
  font-size: 3rem;
  }

:where(body.single-post) #ffroot h2 {
  font-size: 2rem;
  }

:where(body.single-post) .w1170 {
  width: auto;
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
  }

:where(body.single-post) .pad {
  padding-left: 32px;
    padding-right: 32px;
  }

:where(body.single-post) .hero {
  height: auto;
  }

:where(body.single-post) .hero-copy {
  padding: 70px 0 90px;
    max-width: none;
  }
}

@media (max-width: 768px) {
:where(body.single-post) #ffroot .bs-blog-grid article h2 {
  font-size: 1.5rem;
    line-height: 1.35;
  }

:where(body.single-post) #ffroot h1 {
  font-size: 2.25rem;
  }

:where(body.single-post) #ffroot h2 {
  font-size: 1.875rem;
  }

:where(body.single-post) .w1170 {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.single-post) .pad {
  padding-left: 20px;
    padding-right: 20px;
  }

:where(body.single-post) .hero-copy {
  padding: 64px 0 72px;
    text-align: center;
  }

:where(body.single-post) #ffroot .hero-copy h1 {
  font-size: 3.125rem;
    line-height: 1.1;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.single-post) .hero-copy p {
  font-size: 1.125rem;
    margin-left: auto;
    margin-right: auto;
  }

:where(body.single-post) .prefoot-inner {
  padding: 80px 0 90px;
  }

:where(body.single-post) #md-prefooter {
  margin-top: 90px;
  }
}

@media (max-width: 450px) {
:where(body.single-post) #ffroot .hero-copy h1 {
  font-size: 2.625rem;
  }
}

@media (max-width:768px) {
:where(body.single-post) .bs-h2 {
  font-size: 1.75rem;
    margin-top: 24px;
  }

:where(body.single-post) .bs-faq-q {
  font-size: 1.125rem;
  }

:where(body.single-post) #md-blog-single p, :where(body.single-post) #md-blog-single li span {
  font-size: 1rem;
  }

:where(body.single-post) #md-blog-single {
  padding-top: 60px;
  }
}

@media (max-width: 1200px) {
.herocell {
  flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 26px;
    padding: 44px 20px 48px;
    border-left: none;
    background: #FBF7F0;
  }

.herocell img {
  width: 56px;
    height: 56px;
  }

.herocell div {
  font-size: 1.1875rem;
    line-height: 1.35;
  }

.faq {
  grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 768px) {
.herocell {
  gap: 10px;
    padding: 24px 20px 24px;
  }

.herocell img {
  width: 50px;
    height: 50px;
  }

.herocell div {
  font-size: 0.9375rem;
  }

.faq {
  padding-top: 70px;
  }
}
