html {
  font-size: 62.5%;
}

[data-type="acf/hero"] {
  width: 100%;
  max-width: 100%;
}

.hero {
  --block-height: max(100dvh, 80rem);
  position: relative;
  color: var(--white);
  background-color: var(--black);
}

.hero-title {
  display: flex;
  margin-bottom: 20px;
}

.hero-title h2 {
  font-family: var(--family-title);
  font-size: 98px;
  font-weight: 400;
  line-height: 102px;
  color: var(--white);
}

.hero-title::before {
  content: '';
  width: 16px;
  display: block;
  margin-top: 22px;
  margin-right: 60px;
  background: linear-gradient(180deg, rgb(0, 104, 255) 0%, rgba(0, 70, 170, 0) 100%);
}

.hero-title .title-blue {
  color: var(--primary)
}

.hero-title .title-right {
  padding-left: 90px;
}

.hero-description {
  max-width: 582px;
  font-size: 16px;
  line-height: 24px;
}

.hero .background {
  height: var(--block-height);
}

.hero .container {
  position: relative;
  height: var(--block-height);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 120px;
}

.hero .container p {
  margin: 8px 0 0;
}

.hero-content {
  padding-top: 102px;
  width: calc(100% - 40rem);
  opacity: 0;
  -webkit-transform: translateX(-200px);
  transform: translateX(-200px);
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transition: all 0.6s var(--function) 0.1s;
  transition: all 0.6s var(--function) 0.1s;
}

.hero-scroll-phrase {
  position: absolute;
  bottom: 40px;
  opacity: 0.8;
  font-size: 14px;
  line-height: 24px;
  text-transform: uppercase;
  left: 0;
  right: 0;
  text-align: center;
}

.hero-slide-shadow {
  position: absolute;
  inset: 0;
}

.hero-slide-shadow-1 {
  opacity: 0.8;
  background: linear-gradient(-282deg, #000 35.1%, rgba(0, 0, 0, 0) 54.23%);
}

.hero-slide-shadow-2 {
  opacity: 0.67;
  background: linear-gradient(310deg, #000 16.45%, rgba(0, 0, 0, 0) 27.49%);
}

.hero-slide-shadow-3 {
  opacity: 0.7;
  background: linear-gradient(190deg, #000 8.88%, rgba(0, 0, 0, 0) 26.08%);
}

.hero-down {
  position: absolute;
  right: 90px;
  bottom: 80px;
  color: var(--primary);
  background: #fff;
  padding: 20px;
  border-radius: 100%;
}

.hero-down svg {
  display: block;
}

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

.hero-down:hover svg line,
.hero-down:hover svg path {
  stroke: var(--white);
}

@media (max-width: 1024px) {
  .hero {
    --block-height: max(100dvh, 62rem);
  }

  .hero .container {
    padding: 0 20px 0 40px;
  }

  .hero-content {
    width: 100%;
  }

  .hero-title::before {
    width: 8px;
    margin-top: 15px;
    margin-right: 16px;
  }

  .hero-title h2 {
    font-size: 36px;
    line-height: 40px;
  }

  .hero-title .title-right {
    padding-left: 30px;
  }

  .hero-description {
    padding-right: 80px;
  }

  .hero-down {
    display: none;
  }
}