.free-class-intro {
  padding: 58px 0;
  background: var(--teal);
  color: #dce4dd;
  border-top: 3px solid var(--gold);
  border-bottom: 1px solid #496a6d;
}

.free-class-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(230px, .45fr);
  gap: 70px;
  align-items: center;
}

.free-class-intro .eyebrow {
  color: #e0b46f;
  margin-bottom: 16px;
  white-space: nowrap;
}

.free-class-intro h2 {
  max-width: 820px;
  margin-bottom: 22px;
  color: var(--white);
  font-size: clamp(2.35rem, 3.4vw, 3.35rem);
}

.free-class-intro-copy > p:not(.eyebrow):not(.free-class-feature):not(.free-class-details) {
  max-width: 820px;
  margin-bottom: 18px;
  font: 400 16px/1.7 Arial, Helvetica, sans-serif;
}

.free-class-feature {
  margin: 24px 0 13px;
  color: #e0b46f;
  font: 700 11px/1.6 Arial, Helvetica, sans-serif;
  letter-spacing: .14em;
}

.free-class-details {
  max-width: 820px;
  margin: 25px 0 0;
  padding-top: 17px;
  border-top: 1px solid #496a6d;
  color: var(--cream);
  font: 600 13px/1.8 Arial, Helvetica, sans-serif;
}

.free-class-details b {
  padding: 0 6px;
  color: var(--gold);
}

.free-class-details strong {
  color: #f3c77e;
}

.free-class-intro-action {
  display: flex;
  justify-content: flex-end;
}

.free-class-intro-button {
  width: 100%;
  max-width: 260px;
  background: var(--white);
  border-color: var(--white);
  color: var(--teal);
  white-space: nowrap;
}

.free-class-intro-button:hover {
  background: var(--cream);
  color: var(--teal);
}

@media (max-width: 800px) {
  .free-class-desktop-break {
    display: none;
  }

  .free-class-intro {
    padding: 48px 0;
  }

  .free-class-intro-grid {
    grid-template-columns: 1fr;
    gap: 29px;
  }

  .free-class-intro h2 {
    margin-bottom: 20px;
    font-size: clamp(2.35rem, 10vw, 3.15rem);
  }

  .free-class-intro-action {
    justify-content: flex-start;
  }

  .free-class-intro-button {
    width: 100%;
    max-width: none;
  }

  .free-class-details {
    font-size: 12px;
  }

  .free-class-details b {
    padding: 0 3px;
  }
}
