/* Final responsive leader text alignment. Desktop presentation is restored explicitly;
   mobile text is anchored at the upper-left on every interior page. */
@media (min-width: 901px) {
  html body.interior-page main > section.jmf-matched-interior-hero,
  html body.interior-page main > section.jmf-mockup-leader,
  html body.interior-page main > section.jmf-trc-hero {
    align-items: center !important;
  }

  html body.interior-page .jmf-hero-copy-lock {
    align-self: center !important;
    justify-content: center !important;
  }

  html body.interior-page .jmf-trc-hero-inner {
    justify-content: center !important;
  }
}

@media (max-width: 900px) {
  /* Every mobile leader starts at the upper-left. */
  html body.interior-page main > section.jmf-matched-interior-hero,
  html body.interior-page main > section.jmf-mockup-leader,
  html body.interior-page main > section.jmf-trc-hero {
    align-items: flex-start !important;
  }

  html body.interior-page main > section.jmf-matched-interior-hero > .container,
  html body.interior-page main > section.jmf-matched-interior-hero > .products-hero-inner,
  html body.interior-page main > section.jmf-matched-interior-hero > .page-hero-inner,
  html body.interior-page main > section.jmf-matched-interior-hero .products-hero-inner,
  html body.interior-page main > section.jmf-matched-interior-hero .page-hero-inner,
  html body.interior-page main > section.jmf-mockup-leader > .container,
  html body.interior-page main > section.jmf-mockup-leader > .products-hero-inner,
  html body.interior-page main > section.jmf-mockup-leader > .page-hero-inner {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html body.interior-page .jmf-hero-copy-lock,
  html body.interior-page .products-hero-copy,
  html body.interior-page .page-hero-copy {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding-top: 22px !important;
    align-self: flex-start !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  html body.interior-page .jmf-matched-interior-title,
  html body.interior-page .products-hero-title,
  html body.interior-page .page-hero-title,
  html body.interior-page .jmf-hero-copy-lock h1,
  html body.interior-page .jmf-hero-copy-lock p,
  html body.interior-page .jmf-mockup-subtitle {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  /* Training Resources follows the same upper-left alignment. */
  html body.interior-page main > section.jmf-trc-hero > .jmf-trc-hero-inner {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 auto !important;
    padding: 22px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  html body.interior-page .jmf-trc-hero h1,
  html body.interior-page .jmf-trc-hero p {
    color: #ffffff !important;
    width: 100% !important;
    max-width: 88% !important;
    padding: 0 !important;
    text-align: left !important;
  }

  html body.interior-page .jmf-trc-hero h1 { margin: 0 !important; }
  html body.interior-page .jmf-trc-hero p { margin: 10px 0 0 !important; }
}

@media (max-width: 520px) {
  html body.interior-page .jmf-hero-copy-lock,
  html body.interior-page .products-hero-copy,
  html body.interior-page .page-hero-copy {
    padding-top: 18px !important;
  }

  html body.interior-page main > section.jmf-trc-hero > .jmf-trc-hero-inner {
    padding-top: 18px !important;
  }
}
