.n-hero {
  background-color: var(--red-500);
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}
.n-hero .swiper-slide-active .n-hero__slide-specialization,
.n-hero .swiper-slide-active .n-hero__slide-headline,
.n-hero .swiper-slide-active .n-hero__slide-description {
  opacity: 1;
  visibility: visible;
  transition: opacity 1000ms ease-in-out, visibility 1000ms ease-in-out;
}
.n-hero__bg {
  transition: opacity 350ms ease-in-out, visibility 350ms ease-in-out;
  position: absolute;
  right: 0;
  width: 100%;
  bottom: 0;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
  filter: grayscale(1);
  pointer-events: none;
  opacity: 0;
}
@media (min-width: 768px) {
  .n-hero__bg {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    width: 100vw;
    max-width: 1920px;
    height: 100%;
    background-position: center;
  }
}
@media (min-width: 1023px) {
  .n-hero__bg {
    background-position: center;
  }
}
.n-hero__bg.is-visible {
  opacity: 1;
}
.n-hero__wrapper {
  display: flex;
}
@media (min-width: 768px) {
  .n-hero__wrapper {
    align-items: center;
    margin-top: auto;
  }
}
.n-hero__slider {
  min-height: 524px;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 30px 0;
  width: 100%;
}
@media (min-width: 576px) {
  .n-hero__slider {
    min-height: 658px;
  }
}
@media (min-width: 768px) {
  .n-hero__slider {
    min-height: 448px;
  }
}
.n-hero__slider .swiper-slide {
  opacity: 0;
  visibility: hidden;
}
.n-hero__slider .swiper-slide.swiper-slide-active {
  opacity: 1;
  visibility: visible;
}
.n-hero__slider-pagination {
  display: flex;
  width: 100%;
}
.n-hero__pagination {
  position: absolute;
  bottom: 50px;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  flex-direction: column;
  align-items: center;
  left: 50%;
  transform: translateX(-50%);
  gap: 14px;
  height: 68px;
  z-index: 99;
}
@media (min-width: 768px) {
  .n-hero__pagination {
    margin-top: 0;
    top: calc(100% - 150px);
    bottom: auto;
    transform: unset;
    left: auto;
    right: 0;
    min-width: 384px;
  }
}
.n-hero__pagination-action {
  border: 0;
  outline: 0;
  background-color: inherit;
  padding: 0;
  margin: 0;
  line-height: 0;
  cursor: pointer;
  width: 13px;
  height: 13px;
}
.n-hero__pagination-action .play {
  display: inline-block;
}
.n-hero__pagination-action .pause {
  display: none;
}
.n-hero__pagination-action.active .play {
  display: none;
}
.n-hero__pagination-action.active .pause {
  display: inline-block;
}
.n-hero__pagination-title {
  color: var(--white-100);
}
.n-hero__pagination-inner {
  display: flex;
  align-items: center;
}
.n-hero__slide {
  padding: 24px 0;
  color: var(--white-100);
  width: 100%;
}
.n-hero__slide-specialization {
  text-transform: uppercase;
  margin-bottom: 4px;
}
.n-hero__slide-headline {
  color: var(--white-100);
  margin-bottom: 16px;
  max-width: 500px;
}
.n-hero__slide-description {
  margin-bottom: 32px;
}
.n-hero__slide-link {
  width: -moz-fit-content;
  width: fit-content;
}
.n-hero__slide-link:hover svg path {
  fill: var(--white-100);
}
.n-hero__slide-link img,
.n-hero__slide-link svg {
  width: 24px;
  height: 24px;
  -o-object-fit: cover;
     object-fit: cover;
}
.n-hero__slide-link svg path {
  transition: fill 150ms ease-in-out !important;
}
.n-hero__slide-specialization, .n-hero__slide-headline, .n-hero__slide-description {
  transition: opacity 200ms ease-out, visibility 200ms ease-out;
  opacity: 0;
  visibility: hidden;
}
.n-hero__decor {
  position: absolute;
  left: calc(50% + 1px);
  transform: translateX(-50%);
  bottom: 0;
  width: 110vw;
  max-width: 1920px;
  height: 60px;
  z-index: 999;
}
@media (min-width: 768px) {
  .n-hero__decor {
    top: auto;
    bottom: -1px;
    left: 0;
    transform: unset;
  }
}
.n-hero__decor img,
.n-hero__decor svg {
  height: 60px;
  width: 100%;
  bottom: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right bottom;
     object-position: right bottom;
}
@media (min-width: 768px) {
  .n-hero__decor img,
.n-hero__decor svg {
    height: 100% !important;
    height: 25px;
  }
}

.swiper-custom-bullet {
  display: none;
  transition: width 600ms ease-in-out, background-color 250ms ease-in-out;
  display: inline-flex;
  cursor: pointer;
  border: 1px solid var(--white-100);
  margin-right: 12px;
  width: 40px;
  border-radius: 3px;
  height: 6px;
  transform-origin: left;
  padding: 1px;
  background-color: var(--white-100);
}
.swiper-custom-bullet:not(.active):hover {
  background-color: var(--red-500);
}
.swiper-custom-bullet-bar {
  display: inline-block;
  width: 100%;
  height: 100%;
  transform-origin: left;
  transform: scaleX(0);
  background-color: var(--red-500);
}
.swiper-custom-bullet.active {
  width: 120px;
}

.swiper-custom-bullet__title {
  color: white;
  font-size: 16px;
  line-height: 1.5em;
  margin-bottom: 4px;
  font-weight: 300;
  letter-spacing: -0.01em;
}

@keyframes bullet-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}