/**
 * Breakpoints
 */
/**
 * Layout sizes
 */
/**
 * Color palette ordered by color field according to AFNOR X08-010.
 * Color shades are ordered from lightest (100) to darkest (200).
 * @source https://fr.wikipedia.org/wiki/Champ_chromatique#Recensement_des_champs_chromatiques
 * @source https://adobe.design/stories/design-for-scale/naming-colors-in-design-systems
 */
.hero__surtitle {
  font-size: 1.6rem;
  line-height: 1.25;
}

.hero__text {
  font-size: 1.8rem;
  line-height: 1.25;
}

.scroll__text {
  font-size: 2rem;
  line-height: 1.25;
}

.hero__title {
  font-size: 4rem;
  line-height: 1.25;
}

@media (min-width: 900px) {
  .hero__title {
    font-size: 7rem;
  }
}

.hero {
  position: relative;
  height: 100vh;
  width: 100%;
  min-height: 84rem;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, rgba(0, 48, 87, 0.8), rgba(0, 48, 87, 0.3));
}

.hero__wrapper {
  max-width: 156.4rem;
  width: 100%;
  padding-right: 4rem;
  padding-left: 4rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  padding-top: 12rem;
  color: #ffffff;
}

.hero__content {
  max-width: 92rem;
}
.hero__content :not(:last-child) {
  margin-bottom: 2rem;
}

.hero__surtitle {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  font-weight: 600;
  text-transform: uppercase;
}
.hero__surtitle .hero__monogram {
  margin-right: 0.8rem;
  margin-top: 0.4rem;
}
.hero__surtitle .hero__monogram svg {
  fill: #ffffff;
  width: 1.2rem;
  height: 1.2rem;
}

.hero__title {
  width: 100%;
  font-weight: 700;
}

.hero__text {
  max-width: 52rem;
  font-weight: 400;
}

.hero__scroll {
  position: absolute;
  color: #ffffff;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
}

.hero__scroll::after {
  content: "";
  background-color: #ffffff;
  width: 2px;
  height: 4rem;
  display: block;
  margin: 0 auto;
}

.hero > svg {
  position: absolute;
  bottom: 4.4rem;
  left: 50%;
  fill: #ffffff;
  transform: translate(-50%);
  width: 7.2rem;
  height: 7.2rem;
  mix-blend-mode: soft-light;
}
@supports not (mix-blend-mode: soft-light) {
  .hero > svg {
    opacity: 30%;
  }
}

.scroll__monogram {
  display: block;
  width: 8rem;
  height: 8rem;
  border: solid 2px #ffffff;
  border-radius: 50%;
}
@supports not (mix-blend-mode: soft-light) {
  .scroll__monogram .scroll__monogram svg {
    opacity: 30%;
  }
}

.scroll__text {
  display: none;
}

@media screen and (min-width: 600px) {
  .scroll__text {
    display: block;
    text-transform: uppercase;
    font-weight: 700;
    text-align: center;
  }
  .scroll__text::before {
    content: "";
    background-color: #ffffff;
    width: 2px;
    height: 2rem;
    display: block;
    margin: 0 auto;
  }
  .hero__scroll::after {
    height: 8rem;
  }
  .hero > svg {
    width: 15rem;
    height: 15rem;
    bottom: 7.9rem;
  }
  .scroll__monogram {
    border-radius: 50%;
    width: 15rem;
    height: 15rem;
  }
}
@media screen and (min-width: 1200px) {
  .hero__wrapper {
    padding-top: 24rem;
  }
  .hero__surtitle {
    font-weight: 600;
    font-size: 2rem;
  }
  .hero__monogram svg {
    width: 1.8rem;
    height: 1.8rem;
  }
  .hero__title {
    width: 100%;
    font-weight: 700;
  }
  .hero__text {
    font-weight: 400;
  }
}