.teaser:not(.teaser--no-media) {
  display: grid;
}

.teaser--default {
  max-width: var(--max-width);
  margin: var(--gutter) auto;
  padding: 0 var(--offset);
  align-items: center;
  gap: 30px 10%;
}

.teaser--no-media {
  max-width: 770px;
}


.teaser--left {
  grid-auto-flow: dense;
}

.teaser--left .teaser__wrapper-content {
  order: 2;
}

.teaser--compact .teaser__wrapper-content,
.teaser--compact .teaser__button {
  margin-top: 15px;
}

.teaser--compact .teaser__topline {
  font-size: 15px;
}

.teaser--default .teaser__topline {
  font-size: 18px;
}

.teaser__topline {
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--tertiary);
  margin-bottom: 10px;
}

.teaser__headline {
  color: var(--primary);
}

.teaser__subline {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.9;
  color: var(--primary);
}

.teaser__wrapper-media {
  text-align: center;
}

@media screen and (min-width: 1441px) {
  .teaser--default.teaser--right:not(.teaser--no-media) .teaser__wrapper-content {
    margin: var(--gutter) var(--offset);
  }

  .teaser--default.teaser--right {
    grid-template-columns: 45% 50%;
  }
  
  .teaser--default.teaser--left {
    grid-template-columns: 40% 50%;
  }
}

@media screen and (min-width: 1440px) {
  .teaser--default .teaser__headline {
    font: var(--trenta);
  }

  .teaser__text {
    font-size: 20px;
    line-height: 1.9;
  }
}

@media (max-width: 1439px) {
  .teaser__headline {
    font: var(--tall);
    font-weight: 600;
  }
}

@media (min-width: 951px) and (max-width: 1440px) {
  .teaser--default {
    grid-template-columns: 1fr 1fr;
  }
}
