/* Text utility */
/* Mobile utility */
/* link hover utility */
/* Container utility mixin */
/* Container avec variable CSS */
/* Text content styles */
/* Centered content */
/* from... */
/* to... */
/* from... to... */
/* at... */
/* FONT WEIGHTS */
.s-hero-home--bg-white {
  background-color: #ffffff;
  color: var(--wp--preset--color--alteal-blue-dark, #001a24);
}

.s-hero-home--bg-blue-light {
  background-color: #bfe9ff;
  color: var(--wp--preset--color--alteal-blue-dark, #001a24);
}

.s-hero-home--bg-blue-cta {
  background-color: #004e6a;
  color: var(--wp--preset--color--alteal-white, #ffffff);
}

.s-hero-home--bg-blue-dark {
  background-color: #001a24;
  color: var(--wp--preset--color--alteal-white, #ffffff);
}

.s-hero-home--bg-green-light {
  background-color: #ecffac;
  color: var(--wp--preset--color--alteal-blue-dark, #001a24);
}

.s-hero-home--bg-green {
  background-color: #85cc1d;
  color: var(--wp--preset--color--alteal-blue-dark, #001a24);
}

.s-hero-home--bg-mid-grey {
  background-color: #d5d5d5;
  color: var(--wp--preset--color--alteal-blue-dark, #001a24);
}

.s-hero-home--bg-black {
  background-color: #000000;
  color: var(--wp--preset--color--alteal-white, #ffffff);
}

.s-hero-home--bg-light-grey {
  background-color: #C8C8C8;
  color: var(--wp--preset--color--alteal-blue-dark, #001a24);
}

.s-hero-home {
  position: relative;
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
  margin-bottom: -2.5rem;
  box-sizing: border-box;
}
.s-hero-home .l-wrapper {
  width: 100%;
}
.s-hero-home .l-container-full {
  box-sizing: border-box;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 4rem;
  padding-right: 4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .s-hero-home .l-container-full {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 991px) {
  .s-hero-home .l-container-full {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.s-hero-home__layout {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 37.5rem;
  padding-bottom: 7.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 991px) {
  .s-hero-home__layout {
    min-height: 30rem;
    padding: 2rem;
  }
}

.s-hero-home__stage {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 50%;
  width: calc(100vw - 3rem);
  max-width: none;
  transform: translateX(-50%);
  border-radius: 1.5rem;
  overflow: hidden;
  isolation: isolate;
  pointer-events: none;
}

.s-hero-home-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.s-hero-home-bg__media {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 110%;
  min-width: 100%;
  height: auto;
  min-height: 140%;
  transform: translate(-50%, -42%);
  object-fit: cover;
  pointer-events: none;
}
@media screen and (max-width: 991px) {
  .s-hero-home-bg__media {
    width: 100%;
    min-height: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
  }
}
.s-hero-home-bg__ellipse {
  position: absolute;
  left: -36%;
  top: 1.3125rem;
  width: 94%;
  height: 133%;
  background: radial-gradient(70% 80% at 18% 88%, rgba(0, 26, 36, 0.72) 0%, rgba(0, 26, 36, 0.45) 42%, rgba(0, 26, 36, 0) 72%);
  mix-blend-mode: multiply;
  pointer-events: none;
}
@media screen and (max-width: 991px) {
  .s-hero-home-bg__ellipse {
    left: -20%;
    top: 0;
    width: 120%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 26, 36, 0.15) 0%, rgba(0, 26, 36, 0.65) 100%);
    mix-blend-mode: normal;
  }
}

.s-hero-home__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 33.25rem;
  color: var(--wp--preset--color--alteal-white, #ffffff);
}
@media screen and (max-width: 1024px) {
  .s-hero-home__content {
    max-width: 30rem;
  }
}
@media screen and (max-width: 991px) {
  .s-hero-home__content {
    max-width: none;
  }
}

.s-hero-home__ttl {
  margin: 0;
  font-family: "Panton", sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 3.625rem;
  color: var(--wp--preset--color--alteal-white, #ffffff);
}
@media screen and (max-width: 991px) {
  .s-hero-home__ttl {
    font-size: 2.5rem;
    line-height: 2.75rem;
  }
}

.s-hero-home__intro {
  margin: 0;
  font-family: "Gotham", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.625rem;
  color: var(--wp--preset--color--alteal-white, #ffffff);
}
@media screen and (max-width: 991px) {
  .s-hero-home__intro {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.s-hero-home__intro p {
  margin: 0;
}