.banner {
  max-width: 1440px;
  margin: var(--offset-y) auto;
  padding: 0 var(--offset-x);
} 

.banner__image img {
  width: 100%;
}

.banner__wrapper  {
  padding: 0 var(--offset-x);
  box-sizing: content-box;
}

.banner--scheme .banner__wrapper {
  padding: var(--offset-y) var(--offset-x);
}

.banner--media .banner__wrapper {
  display: flex;
  position: relative;
  gap: 30px 175px;
}

.banner--media.banner--center .banner__wrapper {
  text-align: center;
  flex-direction: column-reverse;
}

.banner--right .banner__wrapper {
  flex-direction: row-reverse;
}

@media (min-width: 1440px) {
  .banner--media .banner__wrapper {
    gap: 0 175px;
  }
}

@media (min-width: 1025px) {
  .banner--media .banner__wrapper {
    gap: 30px 100px;
  }
}

@media (max-width: 1024px) {
  .banner--media .banner__wrapper {
    flex-direction: column;
    gap: 25px 0;
  }
}

.banner--media .banner__media {
  position: relative;
  width: 100%;
}

@media (min-width: 1025px) {
  .banner--media .banner__media {
    max-width: 51%;
  }
}

.banner--media.banner--center .banner__media {
  margin: 0 auto;
}

.banner--media .banner__preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 16/9;
  cursor: pointer;
  opacity: 1;
  visibility: visible;
  transition: opacity, visibility, .25s ease-in-out;
}

.banner__preview .picsy {
  width: 100%;
}

/* @media (min-width: 1025px) {
  .banner--media .banner__preview {
    height: 100%;
  }
} */

.banner--media .banner__preview--hidden {
  opacity: 0;
  visibility: hidden;
}

.banner--media .banner__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner--media .banner__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.banner--media .banner__player {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  @media (min-width: 426px) {
    min-width: 385px;
  }
}

.banner__caption {
  font-size: 14px;
  font-weight: 600;
  margin-top: 5px;
  text-align: center;
}

.banner--media:not(.banner--center) .banner__content {
  margin: 0;
  width: 100%;
  @media (min-width: 1024px) {
    max-width: 40%;
  }
}


.banner--media .banner__content {
  margin-bottom: 25px;
}

.banner__headline {
  margin-bottom: 10px;
  width: 100%;
}

.banner__subtitle {
  font-size: 24px;
}

.banner__subtitle + .banner__body {
  margin-top: 15px;
}

h3.banner__headline,
.banner__body h3 {
  font: var(--grande);
  font-weight: bold;
}

.h4.banner__headline,
.banner__body h4 {
  font: var(--tall);
  font-weight: bold;
}

h5.banner__headline,
.banner__body h5 {
  font: var(--petit);
  font-weight: bold;
}

h6.banner__headline,
.banner__body h6 {
  font: var(--short);
  font-weight: bold;
}

.banner__body {
  font-size: 22px;
  line-height: normal;
}

.banner__body strong {
  font-weight: 600 !important;
}

.banner__body a {
  text-decoration: underline;
}

.banner__body em {
  font-style: italic;
}

.banner__body p {
  margin: 2.5rem 0;
}

.banner__body p:first-child {
  margin-top: 0;
}

.banner__body p:last-child {
  margin-bottom: 0;
}

.banner__links {
  display: flex; 
  flex-direction: column;
}

@media (min-width: 1025px) {
  .banner__body ul,
  .banner__body ol {
    padding-left: 2.5em;
  }

  .banner--media .banner__headline {
    text-align: center;
  }
}

@media (max-width: 1024px) {
  .banner__body ul,
  .banner__body ol {
    padding-left: 1.5em;
  }
}

.banner__body li {
  position: relative;
  margin: 7.5px 0;
}

.banner__body ul li:before {
  content: "";
  position: absolute;
  top: 10px;
  left: -20px;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background-color: var(--pen);
}
.banner__body ol {
  counter-reset: item;
}

.banner__body ol li {
  counter-increment: item;
}

.banner__body ol li:before {
  content: counter(item) '.';
  position: absolute;
  right: calc(100% + 10px);
}

.banner__link {
  font-weight: 600;
  margin-top: 15px;
  padding-bottom: 5px;
  border-bottom: 2px solid var(--pen);
  align-self: flex-start;
}