@media (min-width: 768px) {
  .lp-shell {
    width: min(100%, 1240px);
    padding: 0 32px;
  }

  .lp-page {
    /* background: #101722; */
  }

  .lp-hero {
    padding-top: 34px;
  }

  .lp-logo {
    max-width: 186px;
    max-height: 54px;
  }

  .lp-hero__copy {
    text-align: center;
  }

  .lp-section-heading {
    display: grid;
  }

  .lp-title {
    max-width: 1060px;
    margin-left: auto;
    margin-right: auto;
    font-size: 4.25rem;
  }

  .lp-subtitle,
  .lp-mode-note {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .lp-step-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .lp-step-list.is-carousel {
    display: grid;
    overflow: visible;
    padding: 0;
    margin: 0;
  }

  .lp-step-card {
    height: 100%;
  }

  .lp-step-list.is-carousel .lp-step-card {
    flex: initial;
  }

  .lp-step-card__screen-frame {
    width: min(100%, 240px);
  }

  .lp-highlights-section {
    margin-top: auto;
    padding: 40px 0 30px;
  }

  .lp-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (min-width: 1200px) {
  .lp-step-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  .lp-step-card {
    padding: 20px 16px 18px;
  }

  .lp-step-card__title {
    font-size: 1.48rem;
  }

  .lp-step-card__description {
    font-size: 0.92rem;
  }

  .lp-step-card__number {
    font-size: 3.8rem;
  }

  .lp-step-card__copy {
    padding-right: 12px;
    min-height: 90px;
  }

  .lp-step-card__screen {
    margin-top: 20px;
  }

  .lp-step-card__screen-frame {
    width: min(100%, 184px);
    border-radius: 28px;
  }
}

@media (max-width: 390px) {
  .lp-shell {
    padding: 0 16px;
    margin-bottom: 30px;
  }

  .lp-logo {
    max-width: 144px;
  }

  .lp-title {
    font-size: 2.18rem;
  }

  .lp-subtitle {
    font-size: 0.96rem;
  }

  .lp-tab {
    min-width: 0;
    flex: 1 1 0;
    padding: 10px 12px;
  }

  .lp-step-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .lp-step-card__number {
    font-size: 4.2rem;
  }

  .lp-step-card__copy {
    padding-right: 12px;
    min-height: 90px;
  }

  .lp-step-card__title {
    font-size: 1.72rem;
  }

  .lp-step-card__screen-frame {
    width: min(100%, 214px);
  }

  .lp-step-list.is-carousel .lp-step-card {
    flex-basis: calc(100% - 10px);
  }
}
