.hero {
  background-color: var(--color-primary);
}

.hero__container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 80px auto 100px auto;
}

.hero__text-wrapper,
.hero__image-wrapper {
  width: 100%;
  height: auto;
  max-width: 50%;
  position: relative;
}

.hero__text-wrapper {
  z-index: 1;
}

.hero__image-wrapper {
  position: relative;
  margin-left: 40px;
  padding-bottom: 50%;
  height: 400px;
  overflow: visible;
}

.hero__image-container {
  position: absolute;
  top: 50%;
  transform: translateY(-47%);
  left: -30px;
  width: 900px;
  max-width: 900px;
  height: auto;
}

.hero__image {
  width: 100%;
  height: auto;
  object-fit: contain;
  clip-path: polygon(
    53.277% 99.941%,
    53.277% 99.941%,
    50.513% 99.895%,
    47.987% 99.275%,
    45.644% 98.217%,
    43.426% 96.855%,
    41.279% 95.324%,
    39.146% 93.759%,
    36.973% 92.293%,
    34.703% 91.063%,
    32.28% 90.203%,
    29.649% 89.847%,
    29.649% 89.847%,
    24.762% 88.533%,
    20.167% 86.917%,
    15.915% 84.922%,
    12.057% 82.468%,
    8.645% 79.477%,
    5.728% 75.87%,
    3.358% 71.569%,
    1.587% 66.496%,
    0.464% 60.571%,
    0.041% 53.716%,
    0.041% 53.716%,
    0% 50.258%,
    0.056% 46.642%,
    0.22% 42.917%,
    0.508% 39.136%,
    0.931% 35.349%,
    1.504% 31.608%,
    2.239% 27.964%,
    3.15% 24.466%,
    4.251% 21.168%,
    5.554% 18.119%,
    5.554% 18.119%,
    7.753% 14.527%,
    10.406% 11.259%,
    13.438% 8.344%,
    16.769% 5.814%,
    20.322% 3.699%,
    24.021% 2.031%,
    27.788% 0.841%,
    31.546% 0.159%,
    35.216% 0.017%,
    38.723% 0.444%,
    38.723% 0.444%,
    43.057% 2.033%,
    47.109% 4.002%,
    50.964% 6.216%,
    54.71% 8.537%,
    58.43% 10.832%,
    62.21% 12.963%,
    66.137% 14.797%,
    70.294% 16.195%,
    74.768% 17.024%,
    79.645% 17.147%,
    79.645% 17.147%,
    82.258% 17.069%,
    84.959% 17.248%,
    87.665% 17.726%,
    90.295% 18.543%,
    92.766% 19.74%,
    94.998% 21.358%,
    96.909% 23.437%,
    98.416% 26.019%,
    99.438% 29.144%,
    99.895% 32.852%,
    99.895% 32.852%,
    99.665% 42.098%,
    97.914% 51.19%,
    94.843% 59.973%,
    90.653% 68.294%,
    85.546% 76.001%,
    79.722% 82.939%,
    73.382% 88.956%,
    66.728% 93.897%,
    59.959% 97.61%,
    53.278% 99.941%
  );
}

.hero__image-bg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-5deg) scale(1.02);
  left: -60px;
  width: 900px;
  height: 100%;
  fill: var(--color-secondary);
}

.hero__preheading {
  position: relative;
  display: block;
  color: var(--color-secondary);
  font-size: 24px;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 10px;
  padding-left: 80px;
  white-space: nowrap;
}

.hero__preheading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 2px;
  background: var(--color-secondary);
}

.hero__heading,
.hero__subtitle {
  color: var(--color-heading-light);
  font-size: 3.25rem;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.hero__subtitle {
  font-size: 40px;
  margin-bottom: 40px;
}

.hero__description {
  color: var(--text-light);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 30px;
  margin-bottom: 40px;
}

.hero__btns-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 20px;
}

.hero__btn {
  display: block;
  padding: 20px 40px;
  background: var(--color-secondary);
  color: var(--white);
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 2px;
  border: solid 1px var(--color-secondary);
  border-radius: 10px;
  transition: all 0.2s ease-in-out;
}

.hero__btn:hover {
  background: var(--color-primary);
  color: var(--color-secondary);
}

@media screen and (max-width: 1399px) {
  .hero__container {
    margin: 40px auto 80px auto;
  }
  .hero__heading {
    font-size: 50px;
  }
  .hero__subtitle {
    font-size: 30px;
  }
  .hero__image-container {
    width: 700px;
  }
  .hero__image {
    width: 700px;
  }
  .hero__image-bg {
    width: 700px;
  }
  .hero__btn {
    padding: 15px 30px;
  }
}

@media screen and (max-width: 1199px) {
  .hero__text-wrapper {
    z-index: 1;
  }
  .hero__image-wrapper {
    margin-left: 40px;
  }
  .hero__image-container {
    left: 10px;
    transform: translateY(-50%) scale(1.1);
  }
  .hero__image-bg {
    left: -40px;
    transform: translateY(-50%) rotate(-5deg) scale(1.02);
  }
  .hero__image-bg {
    width: 600px;
  }
  .hero__btn {
    padding: 15px 30px;
  }
}

@media screen and (max-width: 991px) {
  .hero__container {
    margin: 40px auto 80px auto;
  }
  .hero__preheading {
    font-size: 20px;
    padding-left: 60px;
  }
  .hero__preheading::before {
    width: 40px;
    height: 2px;
    background: var(--color-secondary);
  }
  .hero__heading {
    font-size: 40px;
    margin-bottom: 15px;
  }
  .hero__subtitle {
    font-size: 28px;
  }
  .hero__description {
    margin-top: 20px;
    margin-bottom: 30px;
    font-size: 1.15rem;
  }
  .hero__image-wrapper {
    margin-left: 0;
  }
  .hero__image-container {
    width: 500px;
    left: 40px;
    transform: translateY(-45%) scale(1.1);
  }
  .hero__image-bg {
    left: -20px;
    transform: translateY(-44%) rotate(-12deg) scale(1);
  }
  .hero__btn {
    padding: 15px 30px;
  }
}

@media screen and (max-width: 767px) {
  .hero__container {
    flex-direction: column;
    align-items: normal;
  }
  .hero__text-wrapper {
    max-width: 100%;
  }
  .hero__description {
    display: none;
  }
  .hero__btns-wrapper {
    margin-top: 30px;
    padding: 0;
  }
  .hero__image-wrapper {
    max-width: 100%;
    margin-top: 60px;
    padding-bottom: 0;
  }
  .hero__image-container {
    width: 550px;
    left: 0;
    transform: translateY(-45%) scale(1.1);
  }
  .hero__image-bg {
    left: -65px;
  }
}

@media screen and (max-width: 559px) {
  .hero__image-container {
    position: relative;
    top: 0;
    width: 100%;
    transform: none;
  }
  .hero__image-bg {
    width: 100%;
    left: -15px;
  }
  .hero__image-wrapper {
    margin-top: 40px;
    height: auto;
  }
}

@media screen and (max-width: 529px) {
}

@media screen and (max-width: 479px) {
  .hero__container {
    margin: 40px auto 60px auto;
  }
  .hero__preheading {
    font-size: 1.25rem;
    white-space: unset;
  }
  .hero__heading {
    font-size: 2.15rem;
  }
  .hero__subtitle {
    font-size: 24px;
  }
  .hero__preheading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20%;
    transform: translateY(0);
  }
}

@media screen and (max-width: 419px) {
}
