/* Text utility */
/* Mobile utility */
/* link hover utility */
/* Container utility mixin */
/* Container avec variable CSS */
/* Text content styles */
/* Centered content */
/* from... */
/* to... */
/* from... to... */
/* at... */
.s-hero-home {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  color: var(--wp--preset--color--ivory);
  --hero-intro-title-y: 20vh;
}
.s-hero-home__layers, .s-hero-home__mobile {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.s-hero-home__layers--back {
  z-index: 0;
}
.s-hero-home__layers--front {
  z-index: 2;
}
.s-hero-home__layers--front .s-hero-home__image {
  transform-origin: center center;
  will-change: transform;
}
.s-hero-home__mobile {
  display: none;
  z-index: 0;
}
.s-hero-home__layer {
  position: absolute;
  inset: 0;
}
.s-hero-home__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.s-hero-home__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-color: color-mix(in srgb, var(--wp--preset--color--black) 10%, transparent);
}
.s-hero-home__title-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 22vh;
  pointer-events: none;
  will-change: transform;
}
.s-hero-home__display {
  margin: 0;
  max-width: 100%;
  font-family: "HK Grotesk", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 13rem;
  line-height: 0.327;
  letter-spacing: -0.26rem;
  color: var(--wp--preset--color--ivory);
  text-align: center;
  white-space: nowrap;
}
.s-hero-home__inner {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  max-width: 100%;
  margin-bottom: 8vh;
}
.s-hero-home__inner.l-wrapper {
  padding-top: 7.5rem;
  padding-bottom: 0;
}
.s-hero-home__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 2.5rem;
}
.s-hero-home__text {
  margin: 0;
  max-width: 31.875rem;
  opacity: 1;
  font-family: "HK Grotesk", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 2.25rem;
  line-height: 1.2;
  letter-spacing: normal;
  color: var(--wp--preset--color--ivory);
  will-change: transform;
}
.s-hero-home__text p {
  margin: 0;
  opacity: 1;
  font-family: "HK Grotesk", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 2.25rem;
  line-height: 1.2;
  letter-spacing: normal;
  color: var(--wp--preset--color--ivory);
}
.s-hero-home__text p:not(:last-child) {
  margin-bottom: 0.25em;
}
.s-hero-home__text.has-mad-text-type-sous-titre,
.s-hero-home__text p.has-mad-text-type-sous-titre {
  opacity: 1 !important;
  font-family: "HK Grotesk", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 2.25rem;
  line-height: 1.2;
  letter-spacing: normal;
  color: var(--wp--preset--color--ivory);
}
.s-hero-home__scroll {
  flex-shrink: 0;
  margin-left: auto;
  background-color: transparent !important;
  color: var(--wp--preset--color--ivory) !important;
}
.s-hero-home__scroll .c-btn__icon-wrap {
  background-color: transparent !important;
  border-color: currentColor;
  color: inherit;
}
.s-hero-home__scroll .c-btn__icon {
  color: inherit !important;
}
.s-hero-home__intro {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  height: 100dvh;
  z-index: 200;
  pointer-events: auto;
  --hero-intro-w: 10.625rem;
  --hero-intro-h: calc(var(--hero-intro-w) * 1.7619047619);
}
.s-hero-home__intro-veil {
  position: absolute;
  inset: 0;
  background-color: var(--wp--preset--color--ivory);
  -webkit-mask-image: var(--hero-intro-mask), linear-gradient(#000 0 0);
  -webkit-mask-size: var(--hero-intro-w) var(--hero-intro-h), 100% 100%;
  -webkit-mask-position: center center, 0 0;
  -webkit-mask-repeat: no-repeat, no-repeat;
  -webkit-mask-composite: xor;
  mask-image: var(--hero-intro-mask), linear-gradient(#000 0 0);
  mask-size: var(--hero-intro-w) var(--hero-intro-h), 100% 100%;
  mask-position: center center, 0 0;
  mask-repeat: no-repeat, no-repeat;
  mask-composite: exclude;
  will-change: mask-size, -webkit-mask-size;
}
@media screen and (max-width: 991px) {
  .s-hero-home {
    min-height: 35rem;
  }
  .s-hero-home__layers {
    display: none;
  }
  .s-hero-home__mobile {
    display: block;
  }
  .s-hero-home__intro {
    display: none !important;
  }
  .s-hero-home__title-wrap {
    position: relative;
    inset: auto;
    z-index: 3;
    padding: 5rem 1.5rem 1.5rem;
    align-items: center;
    animation: none;
  }
  .s-hero-home__display {
    white-space: normal;
    font-family: "HK Grotesk", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 0.327;
    letter-spacing: -0.26rem;
    color: var(--wp--preset--color--ivory);
    text-align: center;
    line-height: 1;
    letter-spacing: -0.07rem;
  }
  .s-hero-home__inner {
    position: absolute;
    margin-bottom: 1.5rem;
    opacity: 1;
  }
  .s-hero-home__inner.l-wrapper {
    padding-top: 3rem;
    padding-bottom: 0;
  }
  .s-hero-home__footer {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
  }
  .s-hero-home__text {
    flex: 1 1 13.75rem;
    min-width: 0;
    max-width: none;
  }
  .s-hero-home__text,
  .s-hero-home__text p {
    font-family: "HK Grotesk", sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 1.375rem;
    line-height: 1.2;
    letter-spacing: normal;
    color: var(--wp--preset--color--ivory);
  }
  .s-hero-home__scroll {
    flex-shrink: 0;
    margin-left: auto;
  }
}

@media screen and (min-width: 992px) {
  .s-hero-home:not(.is-intro-done):not(.is-intro-skip) {
    overflow: visible;
  }
  .s-hero-home:not(.is-intro-done):not(.is-intro-skip) .s-hero-home__inner {
    pointer-events: none;
  }
  .s-hero-home:not(.is-intro-done):not(.is-intro-skip) .s-hero-home__title-wrap,
  .s-hero-home:not(.is-intro-done):not(.is-intro-skip) .s-hero-home__text {
    transform: translate3d(0, 20vh, 0);
  }
  .s-hero-home:not(.is-intro-done):not(.is-intro-skip) .s-hero-home__layers--front .s-hero-home__image {
    transform: scale(1.45);
  }
  .s-hero-home:not(.is-intro-done):not(.is-intro-skip) .s-hero-home__intro,
  body.is-hero-home-intro .s-hero-home__intro {
    display: block;
  }
  .s-hero-home.is-intro-done .s-hero-home__title-wrap,
  .s-hero-home.is-intro-done .s-hero-home__text {
    transform: none;
    will-change: auto;
  }
  .s-hero-home.is-intro-done .s-hero-home__layers--front .s-hero-home__image {
    transform: none;
    will-change: auto;
  }
  .s-hero-home.is-intro-done .s-hero-home__inner {
    pointer-events: auto;
  }
  .s-hero-home.is-intro-skip .s-hero-home__title-wrap,
  .s-hero-home.is-intro-skip .s-hero-home__text {
    animation: hero-home-title-rise 1.1s ease-out forwards;
  }
  .s-hero-home.is-intro-skip .s-hero-home__inner {
    pointer-events: auto;
  }
  .s-hero-home.is-intro-playing:not(.has-gsap-intro) .s-hero-home__layers--front .s-hero-home__image {
    animation: hero-home-overlay-shrink 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
  .s-hero-home.is-intro-playing:not(.has-gsap-intro) .s-hero-home__title-wrap,
  .s-hero-home.is-intro-playing:not(.has-gsap-intro) .s-hero-home__text {
    animation: hero-home-title-rise 1.2s ease-out forwards;
    animation-delay: 0.35s;
  }
}
@media screen and (min-width: 992px) and (prefers-reduced-motion: no-preference) {
  body.is-hero-home-intro {
    overflow: hidden;
    padding-right: var(--hero-intro-sbw, 0px);
  }
  body.is-hero-home-intro .l-site-header {
    padding-right: var(--hero-intro-sbw, 0px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .s-hero-home__intro {
    display: none !important;
  }
  .s-hero-home__title-wrap,
  .s-hero-home__text,
  .s-hero-home__layers--front .s-hero-home__image {
    animation: none !important;
    transform: none !important;
  }
  .s-hero-home__inner {
    pointer-events: auto !important;
  }
}
@keyframes hero-home-title-rise {
  from {
    transform: translate3d(0, 20vh, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes hero-home-overlay-shrink {
  from {
    transform: scale(1.45);
  }
  to {
    transform: scale(1);
  }
}