.hero {
  position: relative;
  background-color: var(--color-primary--2);
}

.hero:not(:has(.hero__image img)) {
  height: 405px;
}

.hero__wrapper {
  display: flex;
  flex-direction: column-reverse;
  justify-content: end;
  gap: 24px;
}
.hero__content-wrapper {
  padding: 0 1rem;
  padding-bottom: 24px;
}
.hero__title,
.hero__text {
  max-width: 514px;
}

.hero__title {
  color: #000;
  font-family: var(--font-europa);
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
}


.hero__image {
  position: relative;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}
.hero__image img {
  width: 100%;
  height: auto;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 170px;
}
.hero__image:has(img)::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 111px;
  height: 111px;
  background-image: url('../../images/hero/red-symbol.svg');
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 2;
}
.hero__date {
  font-family: var(--font-europa);
  color: var(--color-primary--1);
  font-size: var(--heading-size-s);
  font-weight: 700;
  line-height: 130%;
}

@media all and (min-width: 750px) {

  .hero {
    border-bottom-right-radius: 400px;
  }

  .hero:has(.hero__image img) {
    background: linear-gradient(180deg,rgba(243, 241, 241, 1) 80%, rgba(255, 255, 255, 1) 80%);
  }
  .hero__wrapper {
    display: flex;
    flex-direction: row;
    gap: 5rem;
  }
  .hero__content {
    margin-right: auto;
    margin-left: 10vw;
  }
  .hero__content-wrapper {
    padding: 2rem 0;
  }
  .hero__image:has(img)::after {
    top: 0;
    left: 0;
  }
}
@media all and (min-width: 1000px){
  .hero__image {
    flex-shrink: 1;
  }
}
@media all and (min-width: 1300px){
  .hero__image:has(img)::after {
    top: unset;
    bottom: 20%;
    left: -75px;
    width: 150px;
    height: 150px;
  }
}
@media all and (min-width: 1440px){
  .hero__content {
    margin-left: 13vw;
  }
}
@media all and (min-width: 1750px){
  .hero__image:has(img)::after {
    width: 213px;
    height: 213px;
    left: -107px;
  }

  .hero__title {
    font-size: 67px;
    line-height: 130%;
  }
}
