.hero__image {
  filter: brightness(1.08) saturate(1.03);
}

.hero__media::after {
  background:
    linear-gradient(90deg, rgba(16, 34, 31, 0.3) 0, rgba(16, 34, 31, 0.1) 44%, rgba(16, 34, 31, 0) 100%),
    linear-gradient(180deg, rgba(15, 32, 29, 0.06) 0, rgba(15, 32, 29, 0.16) 100%);
}

.hero__dots {
  gap: 8px;
  z-index: 6;
  isolation: isolate;
}

.hero__dot {
  position: relative;
  width: 20px;
  height: 20px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.hero__dot::before {
  width: 7px;
  height: 7px;
  box-shadow: 0 4px 10px rgba(8, 18, 17, 0.14);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.avis__dots {
  gap: 8px;
}

.avis__dot {
  width: 20px;
  height: 20px;
}

.avis__dot::before {
  width: 6px;
  height: 6px;
}

@media (max-width: 1023px) {
  .hero-badge__actions {
    display: none;
  }
}

@media (min-width: 1024px) {
  .hero-badge {
    width: min(469px, calc(100% - 32px));
    padding: 23px 23px 19px;
    border-radius: 23px;
  }

  .hero-badge__kicker {
    margin-bottom: 8px;
    font-size: 10.5px;
    letter-spacing: 0.155em;
  }

  .hero-badge__title {
    margin-bottom: 8px;
    max-width: 14ch;
    font-size: clamp(31px, 4.1vw, 48px);
  }

  .hero-badge__text {
    margin-bottom: 16px;
    max-width: 35ch;
    font-size: 12.5px;
    line-height: 1.59;
  }

  .hero-badge__actions {
    gap: 10px;
  }

  .hero-badge__btn,
  .hero-badge__link {
    min-height: 42px;
    font-size: 12.5px;
  }
}

@media (max-width: 768px) {
  .hero {
    min-height: clamp(430px, 68svh, 560px);
    aspect-ratio: 4 / 5;
  }

  .hero__image {
    object-position: center 20%;
  }

  .hero__slide:nth-of-type(2) .hero__image {
    position: relative;
    z-index: 1;
    object-fit: cover;
    object-position: center 44%;
    transform: scale(0.92);
  }

  .hero__slide:nth-of-type(3) .hero__image {
    object-position: 46% 20%;
  }

  .hero__slide:nth-of-type(2)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../img/hero-chiro-2-768.jpg") center 44% / cover no-repeat;
    filter: blur(18px) brightness(0.92);
    transform: scale(1.08);
    pointer-events: none;
  }

  .hero__slide:nth-of-type(5) .hero__image {
    object-fit: contain;
    object-position: center 44%;
  }

  .hero__slide:nth-of-type(5) {
    background:
      radial-gradient(circle at 50% 46%, rgba(132, 118, 100, 0.22), rgba(18, 15, 13, 0.88) 72%),
      linear-gradient(180deg, rgba(22, 18, 15, 0.96), rgba(14, 11, 10, 0.96));
  }

  .hero-badge {
    position: absolute;
    z-index: 4;
    width: min(420px, calc(100% - 44px));
    padding: 14px 14px 12px;
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255, 252, 248, 0.64), rgba(255, 255, 255, 0.44));
    border-color: rgba(255, 255, 255, 0.28);
    box-shadow: 0 18px 42px rgba(8, 18, 17, 0.12);
  }

  .hero-badge__kicker {
    margin-bottom: 6px;
    font-size: 10px;
    letter-spacing: 0.12em;
  }

  .hero-badge__title {
    max-width: 12ch;
    margin-bottom: 6px;
    font-size: clamp(22px, 6.6vw, 30px);
  }

  .hero-badge__text {
    margin-bottom: 10px;
    font-size: 12.5px;
    line-height: 1.45;
  }

  .hero-badge__btn,
  .hero-badge__link {
    min-height: 40px;
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .hero {
    min-height: clamp(410px, 64svh, 520px);
    aspect-ratio: 4 / 5.2;
  }

  .hero__image {
    object-position: center 18%;
  }

  .hero__slide:nth-of-type(2) .hero__image {
    object-position: center 43%;
    transform: scale(0.93);
  }

  .hero__slide:nth-of-type(3) .hero__image {
    object-position: 45% 18%;
  }

  .hero__slide:nth-of-type(5) .hero__image {
    object-position: center 42%;
  }

  .hero-badge {
    width: min(360px, calc(100% - 32px));
    padding: 12px 12px 10px;
    border-radius: 16px;
  }

  .hero-badge__title {
    font-size: clamp(20px, 7vw, 26px);
  }

  .hero-badge__text {
    font-size: 12px;
    line-height: 1.4;
  }

  .hero__media::after {
    background:
      linear-gradient(180deg, rgba(16, 34, 31, 0.08) 0, rgba(16, 34, 31, 0.08) 28%, rgba(16, 34, 31, 0.28) 100%);
  }

  .hero__dots {
    gap: 7px;
  }

  .hero__dot {
    width: 18px;
    height: 18px;
  }

  .hero__dot::before {
    width: 6px;
    height: 6px;
  }

  .avis__dots {
    gap: 7px;
  }

  .avis__dot {
    width: 18px;
    height: 18px;
  }

  .avis__dot::before {
    width: 5px;
    height: 5px;
  }
}

@media (max-width: 720px) {
  .hero {
    min-height: clamp(404px, 63svh, 504px);
    aspect-ratio: 4 / 5.26;
  }

  .hero__image {
    object-position: center 17.5%;
  }

  .hero__slide:nth-of-type(2) .hero__image {
    object-position: center 42.6%;
    transform: scale(0.936);
  }

  .hero__slide:nth-of-type(3) .hero__image {
    object-position: 44.5% 17.5%;
  }

  .hero__slide:nth-of-type(5) .hero__image {
    object-position: center 41.2%;
  }

  .hero-badge {
    width: min(344px, calc(100% - 30px));
    padding: 11px 11px 9px;
    border-radius: 15px;
  }

  .hero-badge__kicker {
    margin-bottom: 5px;
    font-size: 9.8px;
    letter-spacing: 0.11em;
  }

  .hero-badge__title {
    margin-bottom: 5px;
    font-size: clamp(19px, 6.2vw, 24px);
  }

  .hero-badge__text {
    margin-bottom: 9px;
    font-size: 11.8px;
    line-height: 1.38;
  }

  .hero-badge__btn,
  .hero-badge__link {
    min-height: 38px;
    font-size: 11.5px;
  }

  .hero__dots {
    gap: 6px;
  }

  .hero__dot {
    width: 17px;
    height: 17px;
  }

  .hero__dot::before {
    width: 5.5px;
    height: 5.5px;
  }
}

@media (max-width: 680px) {
  .hero {
    min-height: clamp(398px, 62svh, 494px);
    aspect-ratio: 4 / 5.32;
  }

  .hero__image {
    object-position: center 16.8%;
  }

  .hero__slide:nth-of-type(2) .hero__image {
    object-position: center 42.2%;
    transform: scale(0.938);
  }

  .hero__slide:nth-of-type(3) .hero__image {
    object-position: 44% 16.8%;
  }

  .hero__slide:nth-of-type(5) .hero__image {
    object-position: center 40.8%;
  }

  .hero-badge {
    width: min(332px, calc(100% - 28px));
    padding: 11px 10px 9px;
    border-radius: 15px;
  }

  .hero-badge__kicker {
    font-size: 9.6px;
  }

  .hero-badge__title {
    font-size: clamp(19px, 6vw, 22px);
  }

  .hero-badge__text {
    margin-bottom: 8px;
    font-size: 11.6px;
    line-height: 1.36;
  }

  .hero-badge__btn,
  .hero-badge__link {
    min-height: 37px;
    font-size: 11.25px;
  }
}

@media (max-width: 640px) {
  .hero {
    min-height: clamp(390px, 60svh, 480px);
    aspect-ratio: 4 / 5.4;
  }

  .hero__image {
    object-position: center 16%;
  }

  .hero__slide:nth-of-type(2) .hero__image {
    object-position: center 42%;
    transform: scale(0.94);
  }

  .hero__slide:nth-of-type(3) .hero__image {
    object-position: 43.5% 16%;
  }

  .hero__slide:nth-of-type(5) .hero__image {
    object-position: center 40%;
  }

  .hero-badge {
    width: min(320px, calc(100% - 24px));
    padding: 11px 11px 9px;
    border-radius: 15px;
  }

  .hero-badge__kicker {
    font-size: 9.5px;
  }

  .hero-badge__title {
    font-size: 20px;
  }

  .hero-badge__text {
    margin-bottom: 8px;
    font-size: 11.5px;
  }
}
