@charset "UTF-8";
/* ==========================================================
   FONTS — ALTENS
   ========================================================== */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap");
/* ==========================================================
   COLORS — ALTENS
   ========================================================== */
/* ----------------------------------------------------------
   CSS VARIABLES
   ---------------------------------------------------------- */
:root {
  --color-primary-green: #23afa2;
  --color-primary-yellow: #f9d64d;
  --color-primary-purple: #3f3d5d;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-dark-green: #152724;
  --color-light-green: #eaf2eb;
  --color-pur-elec-1: #77458e;
  --color-pur-elec-2: #502a69;
  --color-pur-elec-3: #a64e90;
  --color-pur-xtl: #4c77b8;
  --color-pur-biom: #2b4693;
  --color-pur-biognv: #a3c145;
}

/* ==========================================================
   BASE TYPOGRAPHY
   ========================================================== */
/* ==========================================================
   BASE
   Styles globaux du thème
   ========================================================== */
/* ----------------------------------------------------------
   BOX SIZING
   ---------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ----------------------------------------------------------
   DOCUMENT
   ---------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #152724;
}

/* ----------------------------------------------------------
   RESET
   ---------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}

textarea {
  resize: vertical;
}

/* ----------------------------------------------------------
   LINKS
   ---------------------------------------------------------- */
a {
  color: inherit;
  text-decoration: none;
}

/* ----------------------------------------------------------
   TYPOGRAPHY
   ---------------------------------------------------------- */
strong,
b {
  font-weight: 800 !important;
}

/* ----------------------------------------------------------
   ACCESSIBILITY
   ---------------------------------------------------------- */
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

[hidden] {
  display: none !important;
}

/* ----------------------------------------------------------
   SCREEN READER TEXT
   WordPress accessibility helper
   ---------------------------------------------------------- */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  position: fixed !important;
  top: 10px;
  left: 10px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 12px 16px;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  background: #fff;
  color: #000;
}

/* ----------------------------------------------------------
   WORDPRESS
   ---------------------------------------------------------- */
.alignleft {
  float: left;
  margin-right: 1.5rem;
  margin-bottom: 1rem;
}

.alignright {
  float: right;
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.wp-caption {
  max-width: 100%;
}

.wp-caption-text {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}

/* ----------------------------------------------------------
   SELECTION
   ---------------------------------------------------------- */
::-moz-selection {
  background-color: #f9d64d;
  color: #152724;
}
::selection {
  background-color: #f9d64d;
  color: #152724;
}

::-moz-selection {
  background-color: #f9d64d;
  color: #152724;
}

/* ----------------------------------------------------------
   REDUCED MOTION
   ---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    scroll-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
.site-header {
  transform: translate3d(0, 0, 0);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
  will-change: transform;
}
.site-header__logo {
  display: block;
  width: 175px;
  flex-shrink: 0;
}
.site-header__logo-full {
  display: block;
  width: 100%;
  height: auto;
}
.site-header__logo-compact {
  display: none;
  width: 100%;
  height: auto;
}
.site-header__secondary-nav .menu {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header__secondary-nav .menu-item a {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-header__secondary-nav .menu-item a:hover {
  opacity: 0.7;
}
.site-header__main {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}
.site-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.75rem 1.75rem;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.site-header__cta:hover {
  transform: translateY(-2px);
}
.site-header__cta--outline {
  border: 1.5px solid currentColor;
  color: inherit;
  background-color: transparent;
}
.site-header__cta--outline:hover {
  background-color: #23afa2;
  color: #fff;
}
.site-header__cta--primary {
  border: 1.5px solid transparent;
  background-color: #23afa2;
  color: #fff;
}
.site-header__cta--primary:hover {
  background-color: #152724;
}
.site-header.is-visible {
  transform: translate3d(0, 0, 0);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.site-header.is-hidden {
  transform: translate3d(0, -100%, 0);
  box-shadow: none;
}

.header-nav {
  min-width: 0;
}
.header-nav .menu {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-nav .menu-item {
  position: relative;
}
.header-nav .menu-item > a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 2.25rem 0;
  color: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}
.header-nav .menu-item > a:hover {
  opacity: 0.65;
}
.header-nav .sub-menu {
  display: none;
  position: absolute;
  z-index: 50;
  top: 100%;
  left: -1.25rem;
  min-width: 250px;
  margin: 0;
  padding: 0.75rem;
  list-style: none;
  background-color: #fff;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}
.header-nav .sub-menu .menu-item {
  width: 100%;
}
.header-nav .sub-menu .menu-item > a {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  white-space: nowrap;
}
.header-nav .sub-menu .sub-menu {
  top: 0;
  left: 100%;
}
.header-nav .menu-item-has-children > a::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.header-nav .menu-item-has-children:hover > .sub-menu {
  display: block;
}
.header-nav .menu-item-has-children:hover > a::after {
  transform: rotate(225deg);
}

.mobile-navigation {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.mobile-navigation.is-open {
  visibility: visible;
  opacity: 1;
}
.mobile-navigation__inner {
  min-height: 100%;
}
.mobile-navigation__nav {
  width: 100%;
}
.mobile-navigation__nav .menu,
.mobile-navigation__nav .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-navigation__menu > .menu-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.mobile-navigation__menu > .menu-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 1rem 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
}
.mobile-navigation__menu .menu-item-has-children > a::after {
  content: "";
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.mobile-navigation__menu .menu-item-has-children.is-open > a::after {
  transform: rotate(225deg);
}
.mobile-navigation__menu .menu-item-has-children.is-open > .sub-menu {
  display: flex;
}
.mobile-navigation__menu .sub-menu {
  display: none;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0 1rem 1rem;
}
.mobile-navigation__menu .sub-menu .menu-item > a {
  display: block;
  padding: 0.35rem 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.mobile-navigation__menu .sub-menu .menu-item > a:hover, .mobile-navigation__menu .sub-menu .menu-item > a:focus-visible {
  color: #fff;
}
.mobile-navigation__menu .sub-menu .sub-menu {
  padding: 0.5rem 0 0.5rem 1rem;
}
.mobile-navigation__cta {
  font-weight: 700;
}
.mobile-navigation__secondary-nav .menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-navigation__secondary-nav a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.mobile-navigation__secondary-nav a:hover, .mobile-navigation__secondary-nav a:focus-visible {
  color: #fff;
}

.header-promo {
  position: relative;
  display: flex;
  align-items: center;
  height: 38px;
  overflow: hidden;
  background-color: #239789;
  color: #fff;
}
.header-promo__viewport {
  width: 100%;
  overflow: hidden;
}
.header-promo__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: header-promo-scroll 30s linear infinite;
  will-change: transform;
}
.header-promo__group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.header-promo__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  padding: 0 4rem;
  font-size: 1rem;
  line-height: 1.4;
  white-space: nowrap;
}
.header-promo__item a {
  color: inherit;
  font-weight: 800;
  transition: opacity 0.2s ease;
}
.header-promo__item a:hover {
  opacity: 0.7;
}
.header-promo__close {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #fff;
  color: #152724;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.header-promo__close:hover {
  opacity: 0.8;
  transform: translateY(-50%) scale(1.08);
}
.header-promo.is-hidden {
  display: none;
}
.header-promo:hover .header-promo__track {
  animation-play-state: paused;
}

@keyframes header-promo-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .header-promo__track {
    animation: none;
  }
}
.header-nav .mega-menu {
  position: static;
}
.header-nav .mega-menu > .sub-menu {
  position: fixed;
  z-index: 100;
  top: auto;
  left: 50%;
  display: none;
  width: 100vw;
  max-width: 100%;
  min-height: 400px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  border-radius: 0;
  background-color: #152724;
  box-shadow: none;
  transform: translateX(-50%);
}
.header-nav .mega-menu:hover > .sub-menu {
  display: grid;
  grid-template-columns: minmax(400px, 40%) minmax(250px, 26%) minmax(250px, 34%);
  grid-template-rows: auto min-content min-content min-content 1fr;
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 0.5rem;
  align-items: start;
}
.header-nav .mega-menu .mega-menu__visual {
  grid-column: 1;
  grid-row: 1/-1;
  width: 100%;
  height: 100%;
  min-height: 400px;
  border-top-right-radius: 24px;
  border-bottom-right-radius: 24px;
  overflow: hidden;
}
.header-nav .mega-menu .mega-menu__visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
  filter: grayscale(100%);
}
.header-nav .mega-menu > .sub-menu::before {
  content: "NOS DOMAINES";
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  padding: 5rem 3rem 1.5rem;
  color: rgba(255, 255, 255, 0.35);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
  pointer-events: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item {
  grid-column: 2;
  position: static;
  align-self: start;
  width: auto;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0;
  padding: 0 3rem;
}
.header-nav .mega-menu > .sub-menu > .menu-item:hover > .sub-menu {
  display: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item:nth-of-type(1) {
  grid-row: 2;
}
.header-nav .mega-menu > .sub-menu > .menu-item:nth-of-type(2) {
  grid-row: 3;
}
.header-nav .mega-menu > .sub-menu > .menu-item:nth-of-type(3) {
  grid-row: 4;
}
.header-nav .mega-menu > .sub-menu > .menu-item > a {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 0.65rem 1rem;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.header-nav .mega-menu > .sub-menu > .menu-item > a::after {
  display: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item > a:hover, .header-nav .mega-menu > .sub-menu > .menu-item > a:focus-visible {
  color: #f9d64d;
}
.header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  display: none;
  width: 34%;
  height: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu::before {
  content: "NOS PRODUITS";
  display: block;
  padding: 5rem 3rem 1.5rem;
  color: rgba(255, 255, 255, 0.35);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
  pointer-events: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item {
  position: static;
  width: auto;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0;
  padding: 0 3rem;
}
.header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 0.65rem 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  white-space: normal;
  transition: color 0.2s ease, transform 0.2s ease;
}
.header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a::after {
  display: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover, .header-nav .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a:focus-visible {
  color: #f9d64d;
  transform: translateX(4px);
}
.header-nav .mega-menu > .sub-menu > .menu-item.is-active > a {
  position: relative;
  z-index: 1;
  padding: 0.65rem 1rem;
  background-color: #f9d64d;
  color: #152724;
  font-weight: 800;
  transform: rotate(-1deg);
}
.header-nav .mega-menu > .sub-menu > .menu-item.is-active > a:hover, .header-nav .mega-menu > .sub-menu > .menu-item.is-active > a:focus-visible {
  color: #152724;
}
.header-nav .mega-menu > .sub-menu > .menu-item.is-active > a::before {
  display: none;
}
.header-nav .mega-menu > .sub-menu > .menu-item.is-active > .sub-menu {
  display: block;
}
.header-nav .mega-menu > .sub-menu > .menu-item:hover > a {
  position: relative;
  z-index: 1;
  padding: 0.65rem 1rem;
  background-color: #f9d64d;
  color: #152724;
  font-weight: 800;
  transform: rotate(-1deg);
}
.header-nav .mega-menu > .sub-menu > .menu-item:hover > a:hover, .header-nav .mega-menu > .sub-menu > .menu-item:hover > a:focus-visible {
  color: #152724;
}
.header-nav .mega-menu > .sub-menu > .menu-item:hover > a::before {
  display: none;
}

.header-nav .mega-menu-simple {
  position: static;
}
.header-nav .mega-menu-simple > .sub-menu {
  position: fixed;
  z-index: 100;
  top: auto;
  left: 50%;
  display: none;
  width: 100vw;
  max-width: 100%;
  min-height: 400px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  border-radius: 0;
  background-color: #152724;
  box-shadow: none;
  transform: translateX(-50%);
}
.header-nav .mega-menu-simple > .sub-menu::before {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  padding: 5rem 5rem 1.5rem;
  color: rgba(255, 255, 255, 0.35);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
  pointer-events: none;
}
.header-nav .mega-menu-simple:hover > .sub-menu {
  display: grid;
  grid-template-columns: minmax(400px, 40%) minmax(300px, 60%);
  grid-auto-rows: min-content;
  align-content: start;
  align-items: start;
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 0.5rem;
}
.header-nav .mega-menu-simple .mega-menu-simple__visual {
  grid-column: 1;
  grid-row: 1/span 20;
  width: 100%;
  height: 100%;
  min-height: 400px;
  border-top-right-radius: 24px;
  border-bottom-right-radius: 24px;
  overflow: hidden;
}
.header-nav .mega-menu-simple .mega-menu-simple__visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
  filter: grayscale(100%);
}
.header-nav .mega-menu-simple > .sub-menu > .menu-item {
  grid-column: 2;
  position: static;
  width: auto;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0;
  padding: 0 5rem;
}
.header-nav .mega-menu-simple > .sub-menu > .menu-item > .sub-menu {
  display: none;
}
.header-nav .mega-menu-simple > .sub-menu > .menu-item > a {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 0.3rem 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  white-space: normal;
  transition: color 0.2s ease, transform 0.2s ease;
}
.header-nav .mega-menu-simple > .sub-menu > .menu-item > a::after {
  display: none;
}
.header-nav .mega-menu-simple > .sub-menu > .menu-item > a:hover, .header-nav .mega-menu-simple > .sub-menu > .menu-item > a:focus-visible {
  color: #f9d64d;
  transform: translateX(4px);
}
.header-nav .mega-menu-simple.mega-menu-electricite > .sub-menu::before {
  content: "NOS OFFRES";
}
.header-nav .mega-menu-simple.mega-menu-stations > .sub-menu::before {
  content: "NOS STATIONS";
}
.header-nav .mega-menu-simple.mega-menu-services > .sub-menu::before {
  content: "NOS SERVICES";
}

.mega-menu__image-data,
.mega-menu__domain-image-data {
  display: none;
}

.floating-phone {
  position: fixed;
  z-index: 250;
  top: 28%;
  right: 0;
  transform: translateY(-50%);
}
.floating-phone__toggle {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  width: 72px;
  min-height: 54px;
  padding: 0 1.25rem 0 0;
  overflow: hidden;
  border: 0;
  border-radius: 14px 0 0 14px;
  background-color: #f9d64d;
  color: #ffffff;
  cursor: pointer;
  transition: width 0.35s ease, background-color 0.25s ease, padding 0.35s ease;
}
.floating-phone__number {
  display: block;
  width: 0;
  overflow: hidden;
  opacity: 0;
  white-space: nowrap;
  font-size: 1rem;
  font-weight: 800;
  transition: width 0.35s ease, opacity 0.25s ease;
}
.floating-phone__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
}
.floating-phone__icon svg {
  width: 100%;
  height: 100%;
}
.floating-phone__call {
  position: absolute;
  inset: 0;
  display: none;
}
.floating-phone {
  /**
   * Ouverture :
   * - au hover sur desktop
   * - au focus clavier
   * - avec .is-open via le JS
   */
}
.floating-phone:hover .floating-phone__toggle, .floating-phone:focus-within .floating-phone__toggle, .floating-phone.is-open .floating-phone__toggle {
  width: auto;
  padding: 0 1.25rem;
}
.floating-phone:hover .floating-phone__number, .floating-phone:focus-within .floating-phone__number, .floating-phone.is-open .floating-phone__number {
  width: auto;
  opacity: 1;
}
.floating-phone {
  /**
   * Le lien téléphone est activé uniquement
   * lorsque le composant a été ouvert au clic.
   */
}
.floating-phone.is-open .floating-phone__call {
  display: block;
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .site-header__secondary-nav .menu {
    gap: 1rem;
  }
  .site-header__cta {
    min-height: 40px;
    padding: 0.6rem 0.85rem;
    border-radius: 8px;
    font-size: 11px;
    letter-spacing: 0.07em;
  }
  .header-nav .menu {
    gap: 1rem;
  }
  .header-nav .menu-item > a {
    gap: 0.65rem;
    padding: 1.8rem 0;
    font-size: 14px;
  }
  .header-nav .menu-item-has-children > a::after {
    width: 6px;
    height: 6px;
  }
}
@media (min-width: 1120px) and (max-width: 1279px) {
  .site-header__logo {
    width: 125px;
  }
  .header-nav .menu {
    gap: 0.75rem;
  }
}
@media (min-width: 1024px) and (max-width: 1119px) {
  .site-header__logo {
    width: 100px;
  }
  .site-header__logo-full {
    display: block;
  }
  .site-header__logo-compact {
    display: none;
  }
  .site-header__cta {
    padding-right: 0.7rem;
    padding-left: 0.7rem;
    letter-spacing: 0.05em;
  }
  .header-nav .menu {
    gap: 1rem;
  }
  .header-nav .menu-item > a {
    gap: 0.3rem;
  }
}
@media (max-width: 1023px) {
  .site-header__logo {
    width: 150px;
  }
  .site-header__logo-full {
    display: block;
  }
  .site-header__logo-compact {
    display: none;
  }
  .mobile-navigation {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: block;
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    background-color: #152724;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .mobile-navigation.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-navigation__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-navigation__header {
    position: sticky;
    z-index: 20;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    width: 100%;
    background-color: #152724;
  }
  .mobile-navigation__nav {
    display: block;
    width: 100%;
    margin-top: 1rem;
  }
  .mobile-navigation__nav .menu,
  .mobile-navigation__nav .sub-menu {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-navigation__menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-navigation__menu > .menu-item {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
  .mobile-navigation__menu > .menu-item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    padding: 1rem 0;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    opacity: 1;
    transform: none;
    transition: color 0.2s ease, opacity 0.2s ease;
  }
  .mobile-navigation__menu > .menu-item > a:hover, .mobile-navigation__menu > .menu-item > a:focus-visible {
    color: #f9d64d;
    opacity: 1;
  }
  .mobile-navigation__menu .menu-item-has-children > a::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    margin-top: -4px;
    margin-left: 1rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.25s ease;
  }
  .mobile-navigation__menu .menu-item-has-children.is-open > a::after {
    transform: rotate(225deg);
  }
  .mobile-navigation__menu .menu-item-has-children.is-open > .sub-menu {
    display: flex;
  }
  .mobile-navigation__menu .sub-menu {
    position: static;
    display: none;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0 0 1rem 1rem;
    overflow: visible;
    list-style: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  .mobile-navigation__menu .sub-menu::before {
    display: none;
  }
  .mobile-navigation__menu .sub-menu > .menu-item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  .mobile-navigation__menu .sub-menu > .menu-item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.65rem 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.75);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    white-space: normal;
    opacity: 1;
    transform: none;
    transition: color 0.2s ease, opacity 0.2s ease;
  }
  .mobile-navigation__menu .sub-menu > .menu-item > a:hover, .mobile-navigation__menu .sub-menu > .menu-item > a:focus-visible {
    background: transparent;
    color: #f9d64d;
    opacity: 1;
    transform: none;
  }
  .mobile-navigation__menu .sub-menu .sub-menu {
    padding: 0 0 0.75rem 1rem;
  }
  .mobile-navigation .mega-menu,
  .mobile-navigation .mega-menu-simple {
    position: relative;
    display: block;
    width: 100%;
  }
  .mobile-navigation .mega-menu > .sub-menu,
  .mobile-navigation .mega-menu-simple > .sub-menu {
    position: static;
    display: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0 0 1rem 1rem;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu::before,
  .mobile-navigation .mega-menu-simple > .sub-menu::before {
    display: none;
  }
  .mobile-navigation .mega-menu.is-open > .sub-menu,
  .mobile-navigation .mega-menu-simple.is-open > .sub-menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    grid-template-columns: none;
    grid-template-rows: none;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 0;
    align-items: stretch;
  }
  .mobile-navigation .mega-menu:hover > .sub-menu,
  .mobile-navigation .mega-menu-simple:hover > .sub-menu {
    display: none;
  }
  .mobile-navigation .mega-menu.is-open:hover > .sub-menu,
  .mobile-navigation .mega-menu-simple.is-open:hover > .sub-menu {
    display: flex;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.75rem 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
    opacity: 1;
    transform: none;
    transition: color 0.2s ease, opacity 0.2s ease;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > a:hover, .mobile-navigation .mega-menu > .sub-menu > .menu-item > a:focus-visible {
    background: transparent;
    color: #f9d64d;
    opacity: 1;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu {
    position: static;
    display: none;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0 0 1rem 1rem;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu::before {
    display: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
    display: block;
    width: 100%;
    padding: 0.45rem 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: normal;
    opacity: 1;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a::after {
    display: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover, .mobile-navigation .mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a:focus-visible {
    background: transparent;
    color: #f9d64d;
    opacity: 1;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-open > a {
    background: transparent;
    color: #ffffff;
    font-weight: 600;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-open > .sub-menu {
    display: flex;
    flex-direction: column;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-active > a {
    padding: 0.75rem 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-active > a::before {
    display: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-active > .sub-menu {
    display: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-active.is-open > a {
    color: #ffffff;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-active.is-open > .sub-menu {
    display: flex;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item:hover > a {
    padding: 0.75rem 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
    transform: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item:hover > .sub-menu {
    display: none;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-open:hover > a {
    color: #ffffff;
  }
  .mobile-navigation .mega-menu > .sub-menu > .menu-item.is-open:hover > .sub-menu {
    display: flex;
  }
  .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item > a {
    display: block;
    width: 100%;
    padding: 0.65rem 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: normal;
    opacity: 1;
    transform: none;
    transition: color 0.2s ease, opacity 0.2s ease;
  }
  .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item > a::after {
    display: none;
  }
  .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item > a:hover, .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item > a:focus-visible {
    background: transparent;
    color: #f9d64d;
    opacity: 1;
    transform: none;
  }
  .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item > .sub-menu {
    position: static;
    display: none;
    width: 100%;
    min-width: 0;
    height: auto;
    padding: 0 0 0.75rem 1rem;
    background: transparent;
    border: 0;
    box-shadow: none;
    transform: none;
  }
  .mobile-navigation .mega-menu-simple > .sub-menu > .menu-item.is-open > .sub-menu {
    display: flex;
    flex-direction: column;
  }
  .mobile-navigation .mega-menu__visual,
  .mobile-navigation .mega-menu-simple__visual,
  .mobile-navigation .mega-menu__image-data,
  .mobile-navigation .mega-menu__domain-image-data {
    display: none;
  }
  .mobile-navigation__actions {
    display: flex;
    width: 100%;
  }
  .mobile-navigation__cta {
    font-weight: 700;
  }
  .mobile-navigation__secondary-nav {
    display: block;
    width: 100%;
  }
  .mobile-navigation__secondary-nav .menu {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-navigation__secondary-nav .menu-item {
    display: block;
    width: 100%;
  }
  .mobile-navigation__secondary-nav a {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
  }
  .mobile-navigation__secondary-nav a:hover, .mobile-navigation__secondary-nav a:focus-visible {
    color: #ffffff;
  }
  .header-promo {
    height: 36px;
  }
  .header-promo__item {
    padding: 0 2rem;
    font-size: 0.875rem;
  }
  .header-promo__close {
    right: 1rem;
    width: 24px;
    height: 24px;
  }
  .floating-phone {
    top: auto;
    right: 1rem;
    bottom: 1rem;
    transform: none;
  }
  .floating-phone__toggle {
    justify-content: center;
    width: 54px;
    height: 54px;
    min-height: 54px;
    padding: 0;
    border-radius: 50%;
  }
  .floating-phone__number {
    display: none;
  }
  .floating-phone:hover .floating-phone__toggle, .floating-phone:focus-within .floating-phone__toggle, .floating-phone.is-open .floating-phone__toggle {
    width: 54px;
    padding: 0;
  }
  .floating-phone:hover .floating-phone__number, .floating-phone:focus-within .floating-phone__number, .floating-phone.is-open .floating-phone__number {
    display: none;
    width: 0;
    opacity: 0;
  }
}
@media (max-width: 639px) {
  .site-header__logo {
    width: 135px;
  }
  .mobile-navigation__menu > .menu-item > a {
    min-height: 52px;
  }
  .mobile-navigation__actions {
    flex-direction: column;
  }
  .mobile-navigation__cta {
    width: 100%;
  }
  .header-promo {
    height: 34px;
  }
  .header-promo__item {
    gap: 0.35rem;
    padding: 0 1.5rem;
    font-size: 0.75rem;
  }
  .header-promo__close {
    right: 0.5rem;
    width: 22px;
    height: 22px;
  }
  .floating-phone {
    right: 0.75rem;
    bottom: 0.75rem;
  }
  .floating-phone__toggle {
    width: 50px;
    height: 50px;
    min-height: 50px;
  }
  .floating-phone__icon {
    width: 26px;
    height: 26px;
  }
  .floating-phone:hover .floating-phone__toggle, .floating-phone:focus-within .floating-phone__toggle, .floating-phone.is-open .floating-phone__toggle {
    width: 50px;
  }
}
body.mobile-menu-open {
  overflow: hidden;
}
body.mobile-menu-open .header-promo {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
body.mobile-menu-open .floating-phone {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.site-footer__column-title, .site-footer__contact-title, .site-footer__address-title {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.site-footer__contact-title {
  line-height: 1.15;
}
.site-footer__text, .site-footer__address, .site-footer__phone {
  font-size: 1rem;
  line-height: 1.4;
}
.site-footer__phone {
  font-weight: 800;
}
.site-footer__bottom-text {
  font-size: clamp(0.875rem, 0.82rem + 0.15vw, 1rem);
  line-height: 1.4;
}
.site-footer__menu, .site-footer__legal-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__menu li, .site-footer__legal-menu li {
  margin: 0;
}
.site-footer__menu li + li, .site-footer__legal-menu li + li {
  margin-top: 0.5rem;
}
.site-footer__menu a, .site-footer__legal-menu a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer__menu a:hover, .site-footer__menu a:focus-visible, .site-footer__legal-menu a:hover, .site-footer__legal-menu a:focus-visible {
  color: #f9d64d;
}
.site-footer__legal-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
}
.site-footer__legal-menu li {
  margin: 0;
}
.site-footer__legal-menu li + li {
  margin-top: 0;
}
.site-footer__legal-menu a {
  font-size: clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem);
}
.site-footer__social svg {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
}
.site-footer__language {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 1.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.site-footer__language:hover {
  color: #fff;
}
.site-footer__language.is-active {
  color: #152724;
  background-color: #fff;
  font-weight: 700;
}
.site-footer__flag {
  display: inline-flex;
  width: 27px;
  height: 18px;
  overflow: hidden;
  border-radius: 2px;
}
.site-footer__flag span {
  width: 9px;
  height: 100%;
}
.site-footer__flag span:nth-child(1) {
  background-color: #0055a4;
}
.site-footer__flag span:nth-child(2) {
  background-color: #ffffff;
}
.site-footer__flag span:nth-child(3) {
  background-color: #ef4135;
}

.footer-banner {
  position: relative;
  width: 100%;
  min-height: 48px;
}
.footer-banner__track {
  min-height: 48px;
  font-weight: 800;
}

.home-hero__overlay {
  background-color: rgba(21, 39, 36, 0.72);
}
.home-hero__title {
  max-width: 1250px;
  color: #ffffff;
  font-size: clamp(2.5rem, 1.3rem + 4vw, 5.5rem);
  font-weight: 800;
  line-height: 0.98;
  text-wrap: balance;
}
.home-hero__words {
  position: relative;
  width: 100%;
  height: clamp(4rem, 3rem + 4vw, 7rem);
  margin-top: clamp(2rem, 1rem + 3vw, 4rem);
  overflow: hidden;
}
.home-hero__word {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f9d64d;
  font-size: clamp(2.5rem, 1.5rem + 3.5vw, 5rem);
  font-weight: 800;
  line-height: 1;
  opacity: 0;
  transform: translateY(100%);
  transition: transform 0.65s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.45s ease;
}
.home-hero__word.is-active {
  opacity: 1;
  transform: translateY(0);
}
.home-hero__word.is-leaving {
  opacity: 0;
  transform: translateY(-100%);
}
.home-hero__scroll {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #ffffff;
  transition: color 0.2s ease, transform 0.2s ease;
}
.home-hero__scroll svg {
  width: 36px;
  height: 36px;
}
.home-hero__scroll:hover, .home-hero__scroll:focus-visible {
  color: #f9d64d;
}

.hero-product__title {
  font-size: clamp(2.5rem, 1.5rem + 2.5vw, 3.875rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.hero-product__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.hero-product__content {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  line-height: 1.35;
}
.hero-product__content p {
  margin: 0;
}
.hero-product__content strong {
  font-weight: 800;
}
.hero-product__shape {
  transform: rotate(-12deg);
}
.hero-product__shape--yellow {
  background: linear-gradient(to top right, #ffc600 0%, #ffe383 100%);
}
.hero-product__shape--purple {
  background: linear-gradient(to top right, #152724 0%, #445250 100%);
}
.hero-product__shape--green {
  background: linear-gradient(to top right, #152724 -30%, #24ae9b 100%);
}

.hero-inner__title {
  font-size: clamp(2.5rem, 1.5rem + 2.5vw, 3.875rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}
.hero-inner__content {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  line-height: 1.35;
}
.hero-inner__content p {
  margin: 0 0 1.25rem;
}
.hero-inner__content p:last-child {
  margin-bottom: 0;
}
.hero-inner__content strong {
  font-weight: 800;
}
.hero-inner__banner {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-weight: 800;
  line-height: 1.2;
  transform: rotate(-1.5deg);
}
.hero-inner__banner > div {
  position: relative;
  z-index: 1;
}

.news-page__breadcrumb,
.site-breadcrumb {
  font-size: 14px;
  line-height: 1.4;
}
.news-page__breadcrumb__inner,
.site-breadcrumb__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.news-page__breadcrumb a,
.site-breadcrumb a {
  font-size: 14px;
  color: inherit;
  transition: color 0.2s ease;
}
.news-page__breadcrumb a:hover,
.site-breadcrumb a:hover {
  color: #23afa2;
  text-decoration: underline;
}
.news-page__breadcrumb .breadcrumb_last,
.site-breadcrumb .breadcrumb_last {
  color: #23afa2;
  font-weight: 600;
}
.news-page__breadcrumb__bg-dark span,
.site-breadcrumb__bg-dark span {
  color: white;
}
.news-page__breadcrumb__bg-dark a,
.site-breadcrumb__bg-dark a {
  color: white;
}

/**
 * ============================================================
 * STATIONS MAP
 * ============================================================
 */
.stations-map {
  /**
   * --------------------------------------------------------
   * TITLE
   * --------------------------------------------------------
   */
}
.stations-map__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * SEARCH / SELECT
   * --------------------------------------------------------
   */
}
.stations-map__search, .stations-map__select {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.stations-map__search::-webkit-search-cancel-button {
  display: none;
}
.stations-map__select {
  cursor: pointer;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * MAP
   * --------------------------------------------------------
   */
}
.stations-map__map {
  position: relative;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * MARKERS
   * --------------------------------------------------------
   */
}
.stations-map__marker {
  opacity: 0.6;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.stations-map__marker:hover {
  z-index: 20;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}
.stations-map__marker:focus-visible {
  z-index: 20;
  opacity: 1;
  outline: 2px solid #f9d64d;
  outline-offset: 4px;
}
.stations-map__marker.is-active {
  z-index: 20;
  opacity: 1;
}
.stations-map__marker.hidden {
  display: none;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * MARKER ICON
   * --------------------------------------------------------
   */
}
.stations-map__marker-icon {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * DEVELOPMENT DOT
   * --------------------------------------------------------
   *
   * Petit point rouge affiché lorsque :
   *
   * 'development' => true
   *
   * dans les données du marker.
   */
}
.stations-map__development-dot {
  position: absolute;
  z-index: 5;
  top: -4px;
  right: -4px;
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #dc3535;
  pointer-events: none;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * ACTIVE STATION
   * --------------------------------------------------------
   */
}
.stations-map.has-active-station .stations-map__marker {
  opacity: 0.6;
}
.stations-map.has-active-station .stations-map__marker.is-active {
  z-index: 20;
  opacity: 1;
}
.stations-map.has-active-station .stations-map__marker:not(.is-active):hover {
  opacity: 1;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * POPUP
   * --------------------------------------------------------
   */
}
.stations-map__popup {
  max-height: min(760px, 100vh - 40px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.stations-map__popup[aria-hidden=false] {
  opacity: 1;
}
.stations-map__popup.hidden {
  display: none;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * POPUP TITLE
   * --------------------------------------------------------
   */
}
.stations-map__popup-title {
  font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * HOURS
   * --------------------------------------------------------
   */
}
.stations-map__hours {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * ADDRESS
   * --------------------------------------------------------
   */
}
.stations-map__address {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.stations-map__address p {
  margin: 0;
}
.stations-map__address p + p {
  margin-top: 0.15rem;
}
.stations-map__address strong {
  font-weight: 800;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * LABEL
   * --------------------------------------------------------
   */
}
.stations-map__label {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * TEXT
   * --------------------------------------------------------
   */
}
.stations-map__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.stations-map__text p {
  margin: 0;
}
.stations-map__text p + p {
  margin-top: 0.75rem;
}
.stations-map__text strong {
  font-weight: 800;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * SERVICES
   * --------------------------------------------------------
   */
}
.stations-map__services {
  position: relative;
}
.stations-map__services-title {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.625rem);
  font-weight: 800;
  line-height: 1;
}
.stations-map__service-label {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}
.stations-map {
  /**
   * --------------------------------------------------------
   * TABLET
   * --------------------------------------------------------
   */
}
@media (max-width: 1023px) {
  .stations-map__popup {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 100;
    width: calc(100% - 48px);
    max-width: 560px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    transform: translate(-50%, -50%);
  }
}
.stations-map {
  /**
   * --------------------------------------------------------
   * MOBILE
   * --------------------------------------------------------
   */
}
@media (max-width: 639px) {
  .stations-map__marker {
    width: 38px;
    height: 38px;
  }
  .stations-map__development-dot {
    top: -3px;
    right: -3px;
    width: 10px;
    height: 10px;
  }
  .stations-map__popup {
    width: calc(100% - 32px);
    max-height: calc(100vh - 32px);
    border-radius: 18px;
  }
  .stations-map__popup-title {
    font-size: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);
  }
  .stations-map__services-title {
    font-size: 1.25rem;
  }
}

.co2-simulator {
  /**
   * --------------------------------------------------
   * TYPOGRAPHIE
   * --------------------------------------------------
   */
}
.co2-simulator__title {
  font-size: clamp(2.5rem, 1.8rem + 2.5vw, 4rem);
  font-weight: 700;
  line-height: 1.05;
}
.co2-simulator__intro {
  font-size: 1rem;
  line-height: 1.45;
}
.co2-simulator__tab {
  font-size: 1rem;
  font-weight: 500;
  color: #24ae9b;
  background-color: rgba(36, 174, 155, 0.12);
}
.co2-simulator__tab:hover {
  background-color: rgba(36, 174, 155, 0.2);
}
.co2-simulator__tab.is-active {
  color: #fff;
  background-color: #24ae9b;
}
.co2-simulator__input {
  font-size: 1rem;
}
.co2-simulator__input::-moz-placeholder {
  color: rgba(21, 39, 36, 0.7);
}
.co2-simulator__input::placeholder {
  color: rgba(21, 39, 36, 0.7);
}
.co2-simulator__submit, .co2-simulator__download, .co2-simulator__restart {
  font-size: 1rem;
  font-weight: 700;
}
.co2-simulator {
  /**
   * --------------------------------------------------
   * RÉSULTATS
   * --------------------------------------------------
   */
}
.co2-simulator__result-row {
  font-size: 1rem;
}
.co2-simulator__result-row strong {
  font-weight: 800;
}
.co2-simulator__result-note {
  font-size: 0.75rem;
  line-height: 1.35;
}
.co2-simulator__legal {
  font-size: 0.75rem;
  font-style: italic;
  line-height: 1.4;
}
.co2-simulator {
  /**
   * --------------------------------------------------
   * IMPRESSION / PDF
   * --------------------------------------------------
   */
}
@media print {
  .co2-simulator header,
  .co2-simulator footer,
  .co2-simulator .co2-simulator__download,
  .co2-simulator .co2-simulator__restart {
    display: none !important;
  }
  .co2-simulator__section {
    padding: 0;
  }
  .co2-simulator__result {
    display: block !important;
  }
  .co2-simulator__results-card {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .co2-simulator__chart-card {
    box-shadow: none;
  }
}

.error-404 {
  min-height: 650px;
}
.error-404__breadcrumb {
  position: relative;
  z-index: 10;
}
.error-404__content {
  isolation: isolate;
}
.error-404__number {
  position: absolute;
  z-index: -2;
  top: 2%;
  left: 50%;
  color: #ececec;
  font-size: clamp(11rem, 30vw, 23rem);
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.08em;
  white-space: nowrap;
  transform: translateX(-50%);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.error-404__inner {
  padding-top: clamp(8rem, 17vw, 16rem);
}
.error-404__title {
  font-size: clamp(2.25rem, 1.5rem + 3vw, 4.5rem);
  font-weight: 800;
  line-height: 1.05;
}
.error-404__highlight {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.error-404__highlight::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -0.1em;
  bottom: 0.05em;
  left: -0.1em;
  height: 0.75em;
  background: #f9d64d;
}
.error-404__text p {
  margin-bottom: 0.5rem;
}
.error-404__text p:last-child {
  margin-bottom: 0;
}
.error-404__text strong {
  font-weight: 800;
}
.error-404__button {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}
.error-404__pump {
  z-index: -1;
  top: 4%;
  right: -16%;
}
.error-404__cable {
  z-index: -1;
  bottom: -2%;
  left: -16%;
}

@media (max-width: 767px) {
  .error-404__content {
    min-height: 470px;
  }
  .error-404__number {
    top: 8%;
    font-size: clamp(9rem, 45vw, 13rem);
  }
  .error-404__inner {
    padding-top: 8rem;
  }
  .error-404__pump {
    top: 10%;
    right: -28%;
    width: 200px;
  }
  .error-404__cable {
    bottom: 0;
    left: -45%;
    width: 340px;
  }
}
/* Réutilisable sur du texte court, sur une seule ligne. */
.liquid-fill {
  --liquid-color: #24AE9B;
  --liquid-empty-color: #ececec;
  --liquid-duration: 4s;
  --liquid-delay: 0.3s;
  display: inline-grid;
  vertical-align: baseline;
  white-space: nowrap;
  color: var(--liquid-empty-color);
}

.liquid-fill__base,
.liquid-fill__liquid {
  grid-area: 1/1;
  font: inherit;
  letter-spacing: inherit;
}

.liquid-fill__liquid {
  color: var(--liquid-color);
  pointer-events: none;
  /* Les deux textes se superposent exactement, sans changer la police. */
  animation: liquid-fill-rise var(--liquid-duration) linear var(--liquid-delay) both;
}

/* Une surface peu ample et rapide évoque un liquide peu visqueux.
   Les points sortent du cadre au début et à la fin : aucun résidu gris. */
@keyframes liquid-fill-rise {
  0.00000% {
    clip-path: polygon(-20% 108%, 4.167% 109.66%, 8.333% 110.728%, 12.5% 110.86%, 16.667% 110.078%, 20.833% 108.74%, 25% 107.35%, 29.167% 106.34%, 33.333% 105.922%, 37.5% 106.06%, 41.667% 106.572%, 45.833% 107.26%, 50% 108%, 54.167% 108.74%, 58.333% 109.428%, 62.5% 109.94%, 66.667% 110.078%, 70.833% 109.66%, 75% 108.65%, 79.167% 107.26%, 83.333% 105.922%, 87.5% 105.14%, 91.667% 105.272%, 95.833% 106.34%, 120% 108%, 120% 112%, -20% 112%);
  }
  2.08333% {
    clip-path: polygon(-20% 104.632%, 4.167% 106.184%, 8.333% 107.384%, 12.5% 107.911%, 16.667% 107.735%, 20.833% 107.061%, 25% 106.183%, 29.167% 105.335%, 33.333% 104.632%, 37.5% 104.105%, 41.667% 103.784%, 45.833% 103.754%, 50% 104.135%, 54.167% 104.983%, 58.333% 106.183%, 62.5% 107.413%, 66.667% 108.232%, 70.833% 108.262%, 75% 107.384%, 79.167% 105.832%, 83.333% 104.135%, 87.5% 102.904%, 91.667% 102.583%, 95.833% 103.256%, 120% 104.632%, 120% 112%, -20% 112%);
  }
  4.16667% {
    clip-path: polygon(-20% 101.548%, 4.167% 102.617%, 8.333% 103.626%, 12.5% 104.367%, 16.667% 104.786%, 20.833% 104.917%, 25% 104.786%, 29.167% 104.367%, 33.333% 103.626%, 37.5% 102.617%, 41.667% 101.548%, 45.833% 100.767%, 50% 100.629%, 54.167% 101.317%, 58.333% 102.707%, 62.5% 104.367%, 66.667% 105.705%, 70.833% 106.217%, 75% 105.705%, 79.167% 104.367%, 83.333% 102.707%, 87.5% 101.317%, 91.667% 100.629%, 95.833% 100.767%, 120% 101.548%, 120% 112%, -20% 112%);
  }
  6.25000% {
    clip-path: polygon(-20% 98.951%, 4.167% 99.272%, 8.333% 99.799%, 12.5% 100.501%, 16.667% 101.349%, 20.833% 102.228%, 25% 102.901%, 29.167% 103.077%, 33.333% 102.551%, 37.5% 101.351%, 41.667% 99.799%, 45.833% 98.423%, 50% 97.749%, 54.167% 98.071%, 58.333% 99.301%, 62.5% 100.999%, 66.667% 102.551%, 70.833% 103.429%, 75% 103.399%, 79.167% 102.58%, 83.333% 101.349%, 87.5% 100.149%, 91.667% 99.301%, 95.833% 98.92%, 120% 98.951%, 120% 112%, -20% 112%);
  }
  8.33333% {
    clip-path: polygon(-20% 96.905%, 4.167% 96.393%, 8.333% 96.255%, 12.5% 96.674%, 16.667% 97.683%, 20.833% 99.074%, 25% 100.412%, 29.167% 101.193%, 33.333% 101.062%, 37.5% 99.993%, 41.667% 98.333%, 45.833% 96.674%, 50% 95.605%, 54.167% 95.474%, 58.333% 96.255%, 62.5% 97.593%, 66.667% 98.983%, 70.833% 99.993%, 75% 100.412%, 79.167% 100.274%, 83.333% 99.762%, 87.5% 99.074%, 91.667% 98.333%, 95.833% 97.593%, 120% 96.905%, 120% 112%, -20% 112%);
  }
  10.41667% {
    clip-path: polygon(-20% 95.317%, 4.167% 94.087%, 8.333% 93.268%, 12.5% 93.238%, 16.667% 94.116%, 20.833% 95.668%, 25% 97.365%, 29.167% 98.596%, 33.333% 98.917%, 37.5% 98.244%, 41.667% 96.868%, 45.833% 95.316%, 50% 94.116%, 54.167% 93.589%, 58.333% 93.765%, 62.5% 94.439%, 66.667% 95.317%, 70.833% 96.165%, 75% 96.868%, 79.167% 97.395%, 83.333% 97.716%, 87.5% 97.746%, 91.667% 97.365%, 95.833% 96.517%, 120% 95.317%, 120% 112%, -20% 112%);
  }
  12.50000% {
    clip-path: polygon(-20% 93.96%, 4.167% 92.3%, 8.333% 90.962%, 12.5% 90.45%, 16.667% 90.962%, 20.833% 92.3%, 25% 93.96%, 29.167% 95.35%, 33.333% 96.038%, 37.5% 95.9%, 41.667% 95.119%, 45.833% 94.05%, 50% 93.04%, 54.167% 92.3%, 58.333% 91.881%, 62.5% 91.75%, 66.667% 91.881%, 70.833% 92.3%, 75% 93.04%, 79.167% 94.05%, 83.333% 95.119%, 87.5% 95.9%, 91.667% 96.038%, 95.833% 95.35%, 120% 93.96%, 120% 112%, -20% 112%);
  }
  14.58333% {
    clip-path: polygon(-20% 92.532%, 4.167% 90.835%, 8.333% 89.283%, 12.5% 88.404%, 16.667% 88.435%, 20.833% 89.254%, 25% 90.484%, 29.167% 91.684%, 33.333% 92.532%, 37.5% 92.913%, 41.667% 92.883%, 45.833% 92.561%, 50% 92.035%, 54.167% 91.332%, 58.333% 90.484%, 62.5% 89.605%, 66.667% 88.932%, 70.833% 88.756%, 75% 89.283%, 79.167% 90.483%, 83.333% 92.035%, 87.5% 93.411%, 91.667% 94.084%, 95.833% 93.762%, 120% 92.532%, 120% 112%, -20% 112%);
  }
  16.66667% {
    clip-path: polygon(-20% 90.745%, 4.167% 89.407%, 8.333% 88.017%, 12.5% 87.007%, 16.667% 86.588%, 20.833% 86.726%, 25% 87.238%, 29.167% 87.926%, 33.333% 88.667%, 37.5% 89.407%, 41.667% 90.095%, 45.833% 90.607%, 50% 90.745%, 54.167% 90.326%, 58.333% 89.317%, 62.5% 87.926%, 66.667% 86.588%, 70.833% 85.807%, 75% 85.938%, 79.167% 87.007%, 83.333% 88.667%, 87.5% 90.326%, 91.667% 91.395%, 95.833% 91.526%, 120% 90.745%, 120% 112%, -20% 112%);
  }
  18.75000% {
    clip-path: polygon(-20% 88.401%, 4.167% 87.728%, 8.333% 86.849%, 12.5% 86.001%, 16.667% 85.299%, 20.833% 84.772%, 25% 84.451%, 29.167% 84.42%, 33.333% 84.801%, 37.5% 85.649%, 41.667% 86.849%, 45.833% 88.08%, 50% 88.899%, 54.167% 88.929%, 58.333% 88.051%, 62.5% 86.499%, 66.667% 84.801%, 70.833% 83.571%, 75% 83.249%, 79.167% 83.923%, 83.333% 85.299%, 87.5% 86.851%, 91.667% 88.051%, 95.833% 88.577%, 120% 88.401%, 120% 112%, -20% 112%);
  }
  20.83333% {
    clip-path: polygon(-20% 85.452%, 4.167% 85.583%, 8.333% 85.452%, 12.5% 85.033%, 16.667% 84.293%, 20.833% 83.283%, 25% 82.214%, 29.167% 81.433%, 33.333% 81.295%, 37.5% 81.983%, 41.667% 83.374%, 45.833% 85.033%, 50% 86.371%, 54.167% 86.883%, 58.333% 86.371%, 62.5% 85.033%, 66.667% 83.374%, 70.833% 81.983%, 75% 81.295%, 79.167% 81.433%, 83.333% 82.214%, 87.5% 83.283%, 91.667% 84.293%, 95.833% 85.033%, 120% 85.452%, 120% 112%, -20% 112%);
  }
  22.91667% {
    clip-path: polygon(-20% 82.016%, 4.167% 82.895%, 8.333% 83.568%, 12.5% 83.744%, 16.667% 83.217%, 20.833% 82.017%, 25% 80.465%, 29.167% 79.089%, 33.333% 78.416%, 37.5% 78.738%, 41.667% 79.968%, 45.833% 81.665%, 50% 83.217%, 54.167% 84.096%, 58.333% 84.065%, 62.5% 83.246%, 66.667% 82.016%, 70.833% 80.816%, 75% 79.968%, 79.167% 79.587%, 83.333% 79.617%, 87.5% 79.939%, 91.667% 80.465%, 95.833% 81.168%, 120% 82.016%, 120% 112%, -20% 112%);
  }
  25.00000% {
    clip-path: polygon(-20% 78.35%, 4.167% 79.74%, 8.333% 81.078%, 12.5% 81.86%, 16.667% 81.728%, 20.833% 80.66%, 25% 79%, 29.167% 77.34%, 33.333% 76.272%, 37.5% 76.14%, 41.667% 76.922%, 45.833% 78.26%, 50% 79.65%, 54.167% 80.66%, 58.333% 81.078%, 62.5% 80.94%, 66.667% 80.428%, 70.833% 79.74%, 75% 79%, 79.167% 78.26%, 83.333% 77.572%, 87.5% 77.06%, 91.667% 76.922%, 95.833% 77.34%, 120% 78.35%, 120% 112%, -20% 112%);
  }
  27.08333% {
    clip-path: polygon(-20% 74.783%, 4.167% 76.335%, 8.333% 78.032%, 12.5% 79.262%, 16.667% 79.584%, 20.833% 78.911%, 25% 77.535%, 29.167% 75.983%, 33.333% 74.783%, 37.5% 74.256%, 41.667% 74.432%, 45.833% 75.105%, 50% 75.984%, 54.167% 76.832%, 58.333% 77.535%, 62.5% 78.061%, 66.667% 78.383%, 70.833% 78.413%, 75% 78.032%, 79.167% 77.184%, 83.333% 75.984%, 87.5% 74.754%, 91.667% 73.935%, 95.833% 73.904%, 120% 74.783%, 120% 112%, -20% 112%);
  }
  29.16667% {
    clip-path: polygon(-20% 71.629%, 4.167% 72.967%, 8.333% 74.626%, 12.5% 76.017%, 16.667% 76.705%, 20.833% 76.567%, 25% 75.786%, 29.167% 74.717%, 33.333% 73.707%, 37.5% 72.967%, 41.667% 72.548%, 45.833% 72.417%, 50% 72.548%, 54.167% 72.967%, 58.333% 73.707%, 62.5% 74.717%, 66.667% 75.786%, 70.833% 76.567%, 75% 76.705%, 79.167% 76.017%, 83.333% 74.626%, 87.5% 72.967%, 91.667% 71.629%, 95.833% 71.117%, 120% 71.629%, 120% 112%, -20% 112%);
  }
  31.25000% {
    clip-path: polygon(-20% 69.101%, 4.167% 69.92%, 8.333% 71.151%, 12.5% 72.351%, 16.667% 73.199%, 20.833% 73.58%, 25% 73.549%, 29.167% 73.228%, 33.333% 72.701%, 37.5% 71.999%, 41.667% 71.151%, 45.833% 70.272%, 50% 69.599%, 54.167% 69.423%, 58.333% 69.949%, 62.5% 71.149%, 66.667% 72.701%, 70.833% 74.077%, 75% 74.751%, 79.167% 74.429%, 83.333% 73.199%, 87.5% 71.501%, 91.667% 69.949%, 95.833% 69.071%, 120% 69.101%, 120% 112%, -20% 112%);
  }
  33.33333% {
    clip-path: polygon(-20% 67.255%, 4.167% 67.393%, 8.333% 67.905%, 12.5% 68.593%, 16.667% 69.333%, 20.833% 70.074%, 25% 70.762%, 29.167% 71.274%, 33.333% 71.412%, 37.5% 70.993%, 41.667% 69.983%, 45.833% 68.593%, 50% 67.255%, 54.167% 66.474%, 58.333% 66.605%, 62.5% 67.674%, 66.667% 69.333%, 70.833% 70.993%, 75% 72.062%, 79.167% 72.193%, 83.333% 71.412%, 87.5% 70.074%, 91.667% 68.683%, 95.833% 67.674%, 120% 67.255%, 120% 112%, -20% 112%);
  }
  35.41667% {
    clip-path: polygon(-20% 65.965%, 4.167% 65.439%, 8.333% 65.117%, 12.5% 65.087%, 16.667% 65.468%, 20.833% 66.316%, 25% 67.516%, 29.167% 68.746%, 33.333% 69.565%, 37.5% 69.596%, 41.667% 68.717%, 45.833% 67.165%, 50% 65.468%, 54.167% 64.238%, 58.333% 63.916%, 62.5% 64.589%, 66.667% 65.965%, 70.833% 67.517%, 75% 68.717%, 79.167% 69.244%, 83.333% 69.068%, 87.5% 68.395%, 91.667% 67.516%, 95.833% 66.668%, 120% 65.965%, 120% 112%, -20% 112%);
  }
  37.50000% {
    clip-path: polygon(-20% 64.96%, 4.167% 63.95%, 8.333% 62.881%, 12.5% 62.1%, 16.667% 61.962%, 20.833% 62.65%, 25% 64.04%, 29.167% 65.7%, 33.333% 67.038%, 37.5% 67.55%, 41.667% 67.038%, 45.833% 65.7%, 50% 64.04%, 54.167% 62.65%, 58.333% 61.962%, 62.5% 62.1%, 66.667% 62.881%, 70.833% 63.95%, 75% 64.96%, 79.167% 65.7%, 83.333% 66.119%, 87.5% 66.25%, 91.667% 66.119%, 95.833% 65.7%, 120% 64.96%, 120% 112%, -20% 112%);
  }
  39.58333% {
    clip-path: polygon(-20% 63.884%, 4.167% 62.684%, 8.333% 61.132%, 12.5% 59.756%, 16.667% 59.083%, 20.833% 59.404%, 25% 60.635%, 29.167% 62.332%, 33.333% 63.884%, 37.5% 64.762%, 41.667% 64.732%, 45.833% 63.913%, 50% 62.683%, 54.167% 61.483%, 58.333% 60.635%, 62.5% 60.254%, 66.667% 60.284%, 70.833% 60.605%, 75% 61.132%, 79.167% 61.835%, 83.333% 62.683%, 87.5% 63.561%, 91.667% 64.235%, 95.833% 64.411%, 120% 63.884%, 120% 112%, -20% 112%);
  }
  41.66667% {
    clip-path: polygon(-20% 62.395%, 4.167% 61.326%, 8.333% 59.667%, 12.5% 58.007%, 16.667% 56.938%, 20.833% 56.807%, 25% 57.588%, 29.167% 58.926%, 33.333% 60.317%, 37.5% 61.326%, 41.667% 61.745%, 45.833% 61.607%, 50% 61.095%, 54.167% 60.407%, 58.333% 59.667%, 62.5% 58.926%, 66.667% 58.238%, 70.833% 57.726%, 75% 57.588%, 79.167% 58.007%, 83.333% 59.017%, 87.5% 60.407%, 91.667% 61.745%, 95.833% 62.526%, 120% 62.395%, 120% 112%, -20% 112%);
  }
  43.75000% {
    clip-path: polygon(-20% 60.251%, 4.167% 59.577%, 8.333% 58.201%, 12.5% 56.649%, 16.667% 55.449%, 20.833% 54.923%, 25% 55.099%, 29.167% 55.772%, 33.333% 56.651%, 37.5% 57.499%, 41.667% 58.201%, 45.833% 58.728%, 50% 59.049%, 54.167% 59.08%, 58.333% 58.699%, 62.5% 57.851%, 66.667% 56.651%, 70.833% 55.42%, 75% 54.601%, 79.167% 54.571%, 83.333% 55.449%, 87.5% 57.001%, 91.667% 58.699%, 95.833% 59.929%, 120% 60.251%, 120% 112%, -20% 112%);
  }
  45.83333% {
    clip-path: polygon(-20% 57.371%, 4.167% 57.233%, 8.333% 56.452%, 12.5% 55.383%, 16.667% 54.374%, 20.833% 53.633%, 25% 53.214%, 29.167% 53.083%, 33.333% 53.214%, 37.5% 53.633%, 41.667% 54.374%, 45.833% 55.383%, 50% 56.452%, 54.167% 57.233%, 58.333% 57.371%, 62.5% 56.683%, 66.667% 55.293%, 70.833% 53.633%, 75% 52.295%, 79.167% 51.783%, 83.333% 52.295%, 87.5% 53.633%, 91.667% 55.293%, 95.833% 56.683%, 120% 57.371%, 120% 112%, -20% 112%);
  }
  47.91667% {
    clip-path: polygon(-20% 53.865%, 4.167% 54.246%, 8.333% 54.216%, 12.5% 53.895%, 16.667% 53.368%, 20.833% 52.665%, 25% 51.817%, 29.167% 50.939%, 33.333% 50.265%, 37.5% 50.089%, 41.667% 50.616%, 45.833% 51.816%, 50% 53.368%, 54.167% 54.744%, 58.333% 55.417%, 62.5% 55.096%, 66.667% 53.865%, 70.833% 52.168%, 75% 50.616%, 79.167% 49.738%, 83.333% 49.768%, 87.5% 50.587%, 91.667% 51.817%, 95.833% 53.017%, 120% 53.865%, 120% 112%, -20% 112%);
  }
  50.00000% {
    clip-path: polygon(-20% 50%, 4.167% 50.74%, 8.333% 51.428%, 12.5% 51.94%, 16.667% 52.078%, 20.833% 51.66%, 25% 50.65%, 29.167% 49.26%, 33.333% 47.922%, 37.5% 47.14%, 41.667% 47.272%, 45.833% 48.34%, 50% 50%, 54.167% 51.66%, 58.333% 52.728%, 62.5% 52.86%, 66.667% 52.078%, 70.833% 50.74%, 75% 49.35%, 79.167% 48.34%, 83.333% 47.922%, 87.5% 48.06%, 91.667% 48.572%, 95.833% 49.26%, 120% 50%, 120% 112%, -20% 112%);
  }
  52.08333% {
    clip-path: polygon(-20% 46.135%, 4.167% 46.983%, 8.333% 48.183%, 12.5% 49.413%, 16.667% 50.232%, 20.833% 50.262%, 25% 49.384%, 29.167% 47.832%, 33.333% 46.135%, 37.5% 44.904%, 41.667% 44.583%, 45.833% 45.256%, 50% 46.632%, 54.167% 48.184%, 58.333% 49.384%, 62.5% 49.911%, 66.667% 49.735%, 70.833% 49.061%, 75% 48.183%, 79.167% 47.335%, 83.333% 46.632%, 87.5% 46.105%, 91.667% 45.784%, 95.833% 45.754%, 120% 46.135%, 120% 112%, -20% 112%);
  }
  54.16667% {
    clip-path: polygon(-20% 42.629%, 4.167% 43.317%, 8.333% 44.707%, 12.5% 46.367%, 16.667% 47.705%, 20.833% 48.217%, 25% 47.705%, 29.167% 46.367%, 33.333% 44.707%, 37.5% 43.317%, 41.667% 42.629%, 45.833% 42.767%, 50% 43.548%, 54.167% 44.617%, 58.333% 45.626%, 62.5% 46.367%, 66.667% 46.786%, 70.833% 46.917%, 75% 46.786%, 79.167% 46.367%, 83.333% 45.626%, 87.5% 44.617%, 91.667% 43.548%, 95.833% 42.767%, 120% 42.629%, 120% 112%, -20% 112%);
  }
  56.25000% {
    clip-path: polygon(-20% 39.749%, 4.167% 40.071%, 8.333% 41.301%, 12.5% 42.999%, 16.667% 44.551%, 20.833% 45.429%, 25% 45.399%, 29.167% 44.58%, 33.333% 43.349%, 37.5% 42.149%, 41.667% 41.301%, 45.833% 40.92%, 50% 40.951%, 54.167% 41.272%, 58.333% 41.799%, 62.5% 42.501%, 66.667% 43.349%, 70.833% 44.228%, 75% 44.901%, 79.167% 45.077%, 83.333% 44.551%, 87.5% 43.351%, 91.667% 41.799%, 95.833% 40.423%, 120% 39.749%, 120% 112%, -20% 112%);
  }
  58.33333% {
    clip-path: polygon(-20% 37.605%, 4.167% 37.474%, 8.333% 38.255%, 12.5% 39.593%, 16.667% 40.983%, 20.833% 41.993%, 25% 42.412%, 29.167% 42.274%, 33.333% 41.762%, 37.5% 41.074%, 41.667% 40.333%, 45.833% 39.593%, 50% 38.905%, 54.167% 38.393%, 58.333% 38.255%, 62.5% 38.674%, 66.667% 39.683%, 70.833% 41.074%, 75% 42.412%, 79.167% 43.193%, 83.333% 43.062%, 87.5% 41.993%, 91.667% 40.333%, 95.833% 38.674%, 120% 37.605%, 120% 112%, -20% 112%);
  }
  60.41667% {
    clip-path: polygon(-20% 36.116%, 4.167% 35.589%, 8.333% 35.765%, 12.5% 36.439%, 16.667% 37.317%, 20.833% 38.165%, 25% 38.868%, 29.167% 39.395%, 33.333% 39.716%, 37.5% 39.746%, 41.667% 39.365%, 45.833% 38.517%, 50% 37.317%, 54.167% 36.087%, 58.333% 35.268%, 62.5% 35.238%, 66.667% 36.116%, 70.833% 37.668%, 75% 39.365%, 79.167% 40.596%, 83.333% 40.917%, 87.5% 40.244%, 91.667% 38.868%, 95.833% 37.316%, 120% 36.116%, 120% 112%, -20% 112%);
  }
  62.50000% {
    clip-path: polygon(-20% 35.04%, 4.167% 34.3%, 8.333% 33.881%, 12.5% 33.75%, 16.667% 33.881%, 20.833% 34.3%, 25% 35.04%, 29.167% 36.05%, 33.333% 37.119%, 37.5% 37.9%, 41.667% 38.038%, 45.833% 37.35%, 50% 35.96%, 54.167% 34.3%, 58.333% 32.962%, 62.5% 32.45%, 66.667% 32.962%, 70.833% 34.3%, 75% 35.96%, 79.167% 37.35%, 83.333% 38.038%, 87.5% 37.9%, 91.667% 37.119%, 95.833% 36.05%, 120% 35.04%, 120% 112%, -20% 112%);
  }
  64.58333% {
    clip-path: polygon(-20% 34.035%, 4.167% 33.332%, 8.333% 32.484%, 12.5% 31.605%, 16.667% 30.932%, 20.833% 30.756%, 25% 31.283%, 29.167% 32.483%, 33.333% 34.035%, 37.5% 35.411%, 41.667% 36.084%, 45.833% 35.762%, 50% 34.532%, 54.167% 32.835%, 58.333% 31.283%, 62.5% 30.404%, 66.667% 30.435%, 70.833% 31.254%, 75% 32.484%, 79.167% 33.684%, 83.333% 34.532%, 87.5% 34.913%, 91.667% 34.883%, 95.833% 34.561%, 120% 34.035%, 120% 112%, -20% 112%);
  }
  66.66667% {
    clip-path: polygon(-20% 32.745%, 4.167% 32.326%, 8.333% 31.317%, 12.5% 29.926%, 16.667% 28.588%, 20.833% 27.807%, 25% 27.938%, 29.167% 29.007%, 33.333% 30.667%, 37.5% 32.326%, 41.667% 33.395%, 45.833% 33.526%, 50% 32.745%, 54.167% 31.407%, 58.333% 30.017%, 62.5% 29.007%, 66.667% 28.588%, 70.833% 28.726%, 75% 29.238%, 79.167% 29.926%, 83.333% 30.667%, 87.5% 31.407%, 91.667% 32.095%, 95.833% 32.607%, 120% 32.745%, 120% 112%, -20% 112%);
  }
  68.75000% {
    clip-path: polygon(-20% 30.899%, 4.167% 30.929%, 8.333% 30.051%, 12.5% 28.499%, 16.667% 26.801%, 20.833% 25.571%, 25% 25.249%, 29.167% 25.923%, 33.333% 27.299%, 37.5% 28.851%, 41.667% 30.051%, 45.833% 30.577%, 50% 30.401%, 54.167% 29.728%, 58.333% 28.849%, 62.5% 28.001%, 66.667% 27.299%, 70.833% 26.772%, 75% 26.451%, 79.167% 26.42%, 83.333% 26.801%, 87.5% 27.649%, 91.667% 28.849%, 95.833% 30.08%, 120% 30.899%, 120% 112%, -20% 112%);
  }
  70.83333% {
    clip-path: polygon(-20% 28.371%, 4.167% 28.883%, 8.333% 28.371%, 12.5% 27.033%, 16.667% 25.374%, 20.833% 23.983%, 25% 23.295%, 29.167% 23.433%, 33.333% 24.214%, 37.5% 25.283%, 41.667% 26.293%, 45.833% 27.033%, 50% 27.452%, 54.167% 27.583%, 58.333% 27.452%, 62.5% 27.033%, 66.667% 26.293%, 70.833% 25.283%, 75% 24.214%, 79.167% 23.433%, 83.333% 23.295%, 87.5% 23.983%, 91.667% 25.374%, 95.833% 27.033%, 120% 28.371%, 120% 112%, -20% 112%);
  }
  72.91667% {
    clip-path: polygon(-20% 25.217%, 4.167% 26.096%, 8.333% 26.065%, 12.5% 25.246%, 16.667% 24.016%, 20.833% 22.816%, 25% 21.968%, 29.167% 21.587%, 33.333% 21.617%, 37.5% 21.939%, 41.667% 22.465%, 45.833% 23.168%, 50% 24.016%, 54.167% 24.895%, 58.333% 25.568%, 62.5% 25.744%, 66.667% 25.217%, 70.833% 24.017%, 75% 22.465%, 79.167% 21.089%, 83.333% 20.416%, 87.5% 20.738%, 91.667% 21.968%, 95.833% 23.665%, 120% 25.217%, 120% 112%, -20% 112%);
  }
  75.00000% {
    clip-path: polygon(-20% 21.65%, 4.167% 22.66%, 8.333% 23.078%, 12.5% 22.94%, 16.667% 22.428%, 20.833% 21.74%, 25% 21%, 29.167% 20.26%, 33.333% 19.572%, 37.5% 19.06%, 41.667% 18.922%, 45.833% 19.34%, 50% 20.35%, 54.167% 21.74%, 58.333% 23.078%, 62.5% 23.86%, 66.667% 23.728%, 70.833% 22.66%, 75% 21%, 79.167% 19.34%, 83.333% 18.272%, 87.5% 18.14%, 91.667% 18.922%, 95.833% 20.26%, 120% 21.65%, 120% 112%, -20% 112%);
  }
  77.08333% {
    clip-path: polygon(-20% 17.984%, 4.167% 18.832%, 8.333% 19.535%, 12.5% 20.061%, 16.667% 20.383%, 20.833% 20.413%, 25% 20.032%, 29.167% 19.184%, 33.333% 17.984%, 37.5% 16.754%, 41.667% 15.935%, 45.833% 15.904%, 50% 16.783%, 54.167% 18.335%, 58.333% 20.032%, 62.5% 21.262%, 66.667% 21.584%, 70.833% 20.911%, 75% 19.535%, 79.167% 17.983%, 83.333% 16.783%, 87.5% 16.256%, 91.667% 16.432%, 95.833% 17.105%, 120% 17.984%, 120% 112%, -20% 112%);
  }
  79.16667% {
    clip-path: polygon(-20% 14.548%, 4.167% 14.967%, 8.333% 15.707%, 12.5% 16.717%, 16.667% 17.786%, 20.833% 18.567%, 25% 18.705%, 29.167% 18.017%, 33.333% 16.626%, 37.5% 14.967%, 41.667% 13.629%, 45.833% 13.117%, 50% 13.629%, 54.167% 14.967%, 58.333% 16.626%, 62.5% 18.017%, 66.667% 18.705%, 70.833% 18.567%, 75% 17.786%, 79.167% 16.717%, 83.333% 15.707%, 87.5% 14.967%, 91.667% 14.548%, 95.833% 14.417%, 120% 14.548%, 120% 112%, -20% 112%);
  }
  81.25000% {
    clip-path: polygon(-20% 11.599%, 4.167% 11.423%, 8.333% 11.949%, 12.5% 13.149%, 16.667% 14.701%, 20.833% 16.077%, 25% 16.751%, 29.167% 16.429%, 33.333% 15.199%, 37.5% 13.501%, 41.667% 11.949%, 45.833% 11.071%, 50% 11.101%, 54.167% 11.92%, 58.333% 13.151%, 62.5% 14.351%, 66.667% 15.199%, 70.833% 15.58%, 75% 15.549%, 79.167% 15.228%, 83.333% 14.701%, 87.5% 13.999%, 91.667% 13.151%, 95.833% 12.272%, 120% 11.599%, 120% 112%, -20% 112%);
  }
  83.33333% {
    clip-path: polygon(-20% 9.255%, 4.167% 8.474%, 8.333% 8.605%, 12.5% 9.674%, 16.667% 11.333%, 20.833% 12.993%, 25% 14.062%, 29.167% 14.193%, 33.333% 13.412%, 37.5% 12.074%, 41.667% 10.683%, 45.833% 9.674%, 50% 9.255%, 54.167% 9.393%, 58.333% 9.905%, 62.5% 10.593%, 66.667% 11.333%, 70.833% 12.074%, 75% 12.762%, 79.167% 13.274%, 83.333% 13.412%, 87.5% 12.993%, 91.667% 11.983%, 95.833% 10.593%, 120% 9.255%, 120% 112%, -20% 112%);
  }
  85.41667% {
    clip-path: polygon(-20% 7.468%, 4.167% 6.238%, 8.333% 5.916%, 12.5% 6.589%, 16.667% 7.965%, 20.833% 9.517%, 25% 10.717%, 29.167% 11.244%, 33.333% 11.068%, 37.5% 10.395%, 41.667% 9.516%, 45.833% 8.668%, 50% 7.965%, 54.167% 7.439%, 58.333% 7.117%, 62.5% 7.087%, 66.667% 7.468%, 70.833% 8.316%, 75% 9.516%, 79.167% 10.746%, 83.333% 11.565%, 87.5% 11.596%, 91.667% 10.717%, 95.833% 9.165%, 120% 7.468%, 120% 112%, -20% 112%);
  }
  87.50000% {
    clip-path: polygon(-20% 6.04%, 4.167% 4.65%, 8.333% 3.962%, 12.5% 4.1%, 16.667% 4.881%, 20.833% 5.95%, 25% 6.96%, 29.167% 7.7%, 33.333% 8.119%, 37.5% 8.25%, 41.667% 8.119%, 45.833% 7.7%, 50% 6.96%, 54.167% 5.95%, 58.333% 4.881%, 62.5% 4.1%, 66.667% 3.962%, 70.833% 4.65%, 75% 6.04%, 79.167% 7.7%, 83.333% 9.038%, 87.5% 9.55%, 91.667% 9.038%, 95.833% 7.7%, 120% 6.04%, 120% 112%, -20% 112%);
  }
  89.58333% {
    clip-path: polygon(-20% 4.683%, 4.167% 3.483%, 8.333% 2.635%, 12.5% 2.254%, 16.667% 2.284%, 20.833% 2.605%, 25% 3.132%, 29.167% 3.835%, 33.333% 4.683%, 37.5% 5.561%, 41.667% 6.235%, 45.833% 6.411%, 50% 5.884%, 54.167% 4.684%, 58.333% 3.132%, 62.5% 1.756%, 66.667% 1.083%, 70.833% 1.404%, 75% 2.635%, 79.167% 4.332%, 83.333% 5.884%, 87.5% 6.762%, 91.667% 6.732%, 95.833% 5.913%, 120% 4.683%, 120% 112%, -20% 112%);
  }
  91.66667% {
    clip-path: polygon(-20% 3.095%, 4.167% 2.407%, 8.333% 1.667%, 12.5% 0.926%, 16.667% 0.238%, 20.833% -0.274%, 25% -0.412%, 29.167% 0.007%, 33.333% 1.017%, 37.5% 2.407%, 41.667% 3.745%, 45.833% 4.526%, 50% 4.395%, 54.167% 3.326%, 58.333% 1.667%, 62.5% 0.007%, 66.667% -1.062%, 70.833% -1.193%, 75% -0.412%, 79.167% 0.926%, 83.333% 2.317%, 87.5% 3.326%, 91.667% 3.745%, 95.833% 3.607%, 120% 3.095%, 120% 112%, -20% 112%);
  }
  93.75000% {
    clip-path: polygon(-20% 1.049%, 4.167% 1.08%, 8.333% 0.699%, 12.5% -0.149%, 16.667% -1.349%, 20.833% -2.58%, 25% -3.399%, 29.167% -3.429%, 33.333% -2.551%, 37.5% -0.999%, 41.667% 0.699%, 45.833% 1.929%, 50% 2.251%, 54.167% 1.577%, 58.333% 0.201%, 62.5% -1.351%, 66.667% -2.551%, 70.833% -3.077%, 75% -2.901%, 79.167% -2.228%, 83.333% -1.349%, 87.5% -0.501%, 91.667% 0.201%, 95.833% 0.728%, 120% 1.049%, 120% 112%, -20% 112%);
  }
  95.83333% {
    clip-path: polygon(-20% -1.548%, 4.167% -0.767%, 8.333% -0.629%, 12.5% -1.317%, 16.667% -2.707%, 20.833% -4.367%, 25% -5.705%, 29.167% -6.217%, 33.333% -5.705%, 37.5% -4.367%, 41.667% -2.707%, 45.833% -1.317%, 50% -0.629%, 54.167% -0.767%, 58.333% -1.548%, 62.5% -2.617%, 66.667% -3.626%, 70.833% -4.367%, 75% -4.786%, 79.167% -4.917%, 83.333% -4.786%, 87.5% -4.367%, 91.667% -3.626%, 95.833% -2.617%, 120% -1.548%, 120% 112%, -20% 112%);
  }
  97.91667% {
    clip-path: polygon(-20% -4.632%, 4.167% -3.256%, 8.333% -2.583%, 12.5% -2.904%, 16.667% -4.135%, 20.833% -5.832%, 25% -7.384%, 29.167% -8.262%, 33.333% -8.232%, 37.5% -7.413%, 41.667% -6.183%, 45.833% -4.983%, 50% -4.135%, 54.167% -3.754%, 58.333% -3.784%, 62.5% -4.105%, 66.667% -4.632%, 70.833% -5.335%, 75% -6.183%, 79.167% -7.061%, 83.333% -7.735%, 87.5% -7.911%, 91.667% -7.384%, 95.833% -6.184%, 120% -4.632%, 120% 112%, -20% 112%);
  }
  100.00000% {
    clip-path: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .liquid-fill__liquid {
    animation: none;
    clip-path: none;
  }
}
/**
 * ==========================================================
 * QUOTE FORM
 * ==========================================================
 */
.quote-page {
  background-color: #152724;
}

/**
 * ----------------------------------------------------------
 * HEADER
 * ----------------------------------------------------------
 */
.quote-page__header {
  position: relative;
  z-index: 20;
}

.quote-page__logo {
  transition: opacity 0.2s ease;
}
.quote-page__logo:hover {
  opacity: 0.8;
}

/**
 * ----------------------------------------------------------
 * FORMULAIRE
 * ----------------------------------------------------------
 */
.quote-form {
  min-height: 100vh;
}

/**
 * ----------------------------------------------------------
 * PROGRESSION
 * ----------------------------------------------------------
 */
.quote-form__progress-number {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1;
}

.quote-form__progress-label {
  padding-top: 10px;
  font-size: clamp(0.75rem, 0.7rem + 0.2vw, 0.875rem);
  font-weight: 600;
  line-height: 1.3;
}

.quote-form__progress-step {
  transition: color 0.3s ease, opacity 0.3s ease;
}
.quote-form__progress-step.is-active .quote-form__progress-number,
.quote-form__progress-step.is-active .quote-form__progress-label {
  color: #24ae9b;
}
.quote-form__progress-step.is-active .quote-form__progress-label {
  font-weight: 700;
}
.quote-form__progress-step.is-active .quote-form__progress-dot {
  background-color: #24ae9b;
}

.quote-form__progress-bar {
  transition: width 0.4s ease;
}

/**
 * ----------------------------------------------------------
 * QUESTIONS
 * ----------------------------------------------------------
 */
.quote-form__question {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.quote-form__question.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.quote-form__question {
  /**
   * La première question est visible immédiatement.
   */
}
.quote-form__question[data-quote-question=energy] {
  opacity: 1;
  transform: none;
}

/**
 * ----------------------------------------------------------
 * TITRES
 * ----------------------------------------------------------
 */
.quote-form__title {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.6rem, 1.25rem + 1vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
}

/**
 * Surlignage jaune de la maquette.
 */
.quote-form__highlight {
  position: relative;
  z-index: 1;
  display: inline;
  color: #152724;
  /**
   * box-decoration-break permet au fond de fonctionner
   * correctement si le texte passe sur plusieurs lignes.
   */
  padding: 0 0.08em;
  background-color: #f9d64d;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/**
 * ----------------------------------------------------------
 * CARTES
 * ----------------------------------------------------------
 */
.quote-form__choice {
  position: relative;
  background-color: transparent;
  transition: border-color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
  /**
   * Évite certains effets natifs mobiles sur les labels.
   */
  -webkit-tap-highlight-color: transparent;
}
.quote-form__choice:hover {
  border-color: #24ae9b;
}
.quote-form__choice:focus-within {
  border-color: #24ae9b;
}
.quote-form__choice {
  /**
   * État sélectionné.
   */
}
.quote-form__choice.is-active {
  border-color: rgb(36, 174, 155);
  background-color: rgba(36, 174, 155, 0.2);
}
.quote-form__choice.is-active .quote-form__choice-label {
  color: #24ae9b;
}

.quote-form__tooltip-toggle {
  border: 1px solid #23afa2;
}

.quote-form__tooltip {
  font-size: 14px;
  font-weight: 500;
}

/**
 * ----------------------------------------------------------
 * ICÔNES
 * ----------------------------------------------------------
 */
.quote-form__choice-image {
  display: block;
  transition: transform 0.25s ease, filter 0.25s ease;
}

.quote-form__choice:hover .quote-form__choice-image {
  transform: translateY(-2px);
}

/**
 * ----------------------------------------------------------
 * LABEL DES CARTES
 * ----------------------------------------------------------
 */
.quote-form__choice-label {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-weight: 700;
  line-height: 1.25;
  transition: color 0.25s ease;
}

/**
 * ----------------------------------------------------------
 * INPUTS
 * ----------------------------------------------------------
 */
.quote-form__input {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  transition: border-color 0.25s ease, opacity 0.25s ease, background-color 0.25s ease;
}
.quote-form__input::-moz-placeholder {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 500;
}
.quote-form__input::placeholder {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 500;
}
.quote-form__input:hover {
  border-color: rgba(255, 255, 255, 0.9);
}
.quote-form__input:focus {
  border-color: #24ae9b;
}
.quote-form__input.is-disabled, .quote-form__input:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

/**
 * ----------------------------------------------------------
 * CHECKBOX
 * ----------------------------------------------------------
 */
.quote-form__checkbox {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  margin: 0;
  border: 2px solid rgba(255, 255, 255, 0.75);
  border-radius: 7px;
  background: transparent;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.quote-form__checkbox::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 8px;
  width: 7px;
  height: 12px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  opacity: 0;
  transform: rotate(45deg) scale(0.7);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.quote-form__checkbox:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}
.quote-form__checkbox:hover {
  border-color: #ffffff;
}
.quote-form__checkbox:focus-visible {
  outline: 2px solid #23afa2;
  outline-offset: 3px;
}
.quote-form__checkbox-label {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/**
 * ----------------------------------------------------------
 * MESSAGE D'ERREUR
 * ----------------------------------------------------------
 */
.quote-form__message {
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
}

/**
 * ----------------------------------------------------------
 * BOUTONS
 * ----------------------------------------------------------
 */
.quote-form__next {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.quote-form__next:hover {
  transform: translateY(-1px);
}
.quote-form__next:active {
  transform: translateY(0);
}

/**
 * ----------------------------------------------------------
 * RESPONSIVE
 * ----------------------------------------------------------
 */
@media (max-width: 767px) {
  .quote-form__title {
    line-height: 1.3;
  }
  .quote-form__choice {
    min-height: 140px;
  }
  .quote-form__choice-image {
    width: 54px;
    height: 54px;
  }
  .quote-form__progress-label {
    padding-inline: 0.25rem;
  }
}
@media (max-width: 479px) {
  .quote-form__progress-number {
    font-size: 1rem;
  }
  .quote-form__progress-label {
    font-size: 0.6875rem;
  }
}
/**
 * ----------------------------------------------------------
 * ACCESSIBILITÉ
 * ----------------------------------------------------------
 */
@media (prefers-reduced-motion: reduce) {
  .quote-form__question,
  .quote-form__choice,
  .quote-form__choice-image,
  .quote-form__input,
  .quote-form__next,
  .quote-form__progress-bar {
    transition: none;
  }
  .quote-form__question {
    transform: none;
  }
}
.offers-section__eyebrow {
  color: #23afa2;
  font-size: 1rem;
  font-weight: 800;
}
.offers-section__title {
  color: #ffffff;
  font-weight: 800;
  line-height: 1.05;
  text-wrap: balance;
}
.offers-section__intro {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1.0625rem);
  line-height: 1.65;
}
.offers-section__intro p {
  margin: 0;
}
.offers-section__intro p + p {
  margin-top: 1rem;
}
.offers-section__intro strong {
  font-weight: 800;
}
.offers-section__carousel .swiper-wrapper {
  align-items: stretch;
}
.offers-section__carousel .swiper-slide {
  height: auto;
}
.offers-section__legal {
  color: white;
  line-height: 1.6;
}
.offers-section__legal p {
  font-size: 14px;
}
.offers-section__bottom-cta {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.offers-section__arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.offers-card__overlay {
  background: rgba(35, 175, 162, 0.33);
}
.offers-card__title {
  color: #ffffff;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.625rem);
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
  text-wrap: balance;
}
.offers-card__content {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(0.8125rem, 0.76rem + 0.15vw, 0.9375rem);
  line-height: 1.55;
}
.offers-card__content p {
  margin: 0;
}
.offers-card__content p + p {
  margin-top: 0.35rem;
}
.offers-card__content ul,
.offers-card__content ol {
  margin-top: 0.75rem;
  padding-left: 1.25rem;
}
.offers-card__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.offers-card__badge {
  font-size: clamp(0.6875rem, 0.64rem + 0.15vw, 0.8125rem);
  font-weight: 800;
  line-height: 1.2;
}

.content-split__title {
  font-weight: 800;
  line-height: 0.98;
  text-wrap: balance;
}
.content-split__content {
  max-width: 720px;
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.375rem);
  font-weight: 500;
  line-height: 1.35;
}
.content-split__content p {
  margin: 0;
}
.content-split__content p + p {
  margin-top: 1rem;
}
.content-split__content strong {
  font-weight: 800;
}
.content-split__content a {
  color: inherit;
}
.content-split__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.products-by-domain__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.products-by-domain__intro {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.25rem);
  font-weight: 500;
  line-height: 1.25;
}
.products-by-domain__intro p {
  margin: 0;
}
.products-by-domain__intro p + p {
  margin-top: 1rem;
}
.products-by-domain__tab {
  font-size: clamp(0.875rem, 0.82rem + 0.2vw, 1rem);
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid #23afa2;
}
.products-by-domain__tab.is-active {
  color: #ffffff;
  background-color: #23afa2;
  border-color: #23afa2;
}
.products-by-domain__brand {
  font-size: clamp(0.875rem, 0.82rem + 0.2vw, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
}
.products-by-domain__product-title {
  margin-top: 0.15rem;
  font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem);
  font-weight: 700;
  line-height: 0.95;
  text-transform: uppercase;
}
.products-by-domain__value {
  font-size: clamp(3.5rem, 2.5rem + 3vw, 5.5rem);
  font-weight: 700;
  line-height: 0.8;
}
.products-by-domain__value small {
  padding-bottom: 0.15em;
  font-size: 0.5em;
  font-weight: 500;
  line-height: 1;
}
.products-by-domain__panel[hidden] {
  display: none;
}

.feature-banner__title {
  font-weight: 800;
  line-height: 0.98;
  text-wrap: balance;
}
.feature-banner__text {
  font-size: 1rem;
  line-height: 1.5;
}
.feature-banner__text p {
  margin: 0;
}
.feature-banner__text p + p {
  margin-top: 1rem;
}
.feature-banner__text strong {
  font-weight: 800;
}
.feature-banner__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.sectors-grid__title,
.vision-grid__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.sectors-grid__intro,
.vision-grid__intro {
  font-weight: 500;
  line-height: 1.35;
}
.sectors-grid__intro p,
.vision-grid__intro p {
  margin: 0;
}
.sectors-grid__intro p + p,
.vision-grid__intro p + p {
  margin-top: 1.5rem;
}
.sectors-grid__intro strong,
.vision-grid__intro strong {
  font-weight: 800;
}
.sectors-grid__card,
.vision-grid__card {
  height: auto;
}
.sectors-grid__card-title,
.vision-grid__card-title {
  font-size: clamp(1.375rem, 1.1rem + 0.6vw, 1.75rem);
  font-weight: 800;
  line-height: 1.1;
}
.sectors-grid__card-subtitle,
.vision-grid__card-subtitle {
  font-size: clamp(0.9375rem, 0.88rem + 0.15vw, 1.0625rem);
  font-weight: 800;
  line-height: 1.35;
}
.sectors-grid__card-subtitle strong,
.vision-grid__card-subtitle strong {
  font-weight: 800;
}
.sectors-grid__card-description, .sectors-grid__content,
.vision-grid__card-description,
.vision-grid__content {
  font-size: clamp(0.9375rem, 0.88rem + 0.15vw, 1.0625rem);
  font-weight: 500;
  line-height: 1.4;
}
.sectors-grid__card-description p, .sectors-grid__content p,
.vision-grid__card-description p,
.vision-grid__content p {
  margin: 0;
}
.sectors-grid__card-description p + p, .sectors-grid__content p + p,
.vision-grid__card-description p + p,
.vision-grid__content p + p {
  margin-top: 1rem;
}
.sectors-grid__card-description strong, .sectors-grid__content strong,
.vision-grid__card-description strong,
.vision-grid__content strong {
  font-weight: 800;
}
.sectors-grid__arrow,
.vision-grid__arrow {
  border: 1px solid #23afa2;
}
.sectors-grid__arrow.swiper-button-disabled,
.vision-grid__arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

/**
 * ==========================================================
 * SECTORS GRID — ACTIVE / HOVER
 * ==========================================================
 */
.sectors-grid {
  /**
   * ------------------------------------------------------
   * IMAGE
   * ------------------------------------------------------
   */
}
.sectors-grid__image {
  transform: scale(1);
  transition: transform 0.7s ease-out;
}
.sectors-grid {
  /**
   * ------------------------------------------------------
   * OVERLAY
   * ------------------------------------------------------
   */
}
.sectors-grid__overlay {
  opacity: 1;
  transition: opacity 0.5s ease;
}
.sectors-grid {
  /**
   * ------------------------------------------------------
   * DESCRIPTION
   * ------------------------------------------------------
   */
}
.sectors-grid__card-description {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.sectors-grid {
  /**
   * ------------------------------------------------------
   * ICÔNE
   * ------------------------------------------------------
   */
}
.sectors-grid__arrow-icon {
  transform: translate(0, 0);
  transition: transform 0.3s ease;
}
.sectors-grid {
  /**
   * ------------------------------------------------------
   * PREMIÈRE CARTE ACTIVE PAR DÉFAUT
   * ------------------------------------------------------
   */
}
.sectors-grid__card.is-active .sectors-grid__image {
  transform: scale(1.05);
}
.sectors-grid__card.is-active .sectors-grid__card-description {
  opacity: 1;
  transform: translateY(0);
}
.sectors-grid__card.is-active .sectors-grid__arrow-icon {
  transform: translate(0.25rem, -0.25rem);
}
.sectors-grid {
  /**
   * ------------------------------------------------------
   * HOVER D'UNE CARTE
   * ------------------------------------------------------
   */
}
.sectors-grid__card:hover .sectors-grid__image {
  transform: scale(1.05);
}
.sectors-grid__card:hover .sectors-grid__card-description {
  opacity: 1;
  transform: translateY(0);
}
.sectors-grid__card:hover .sectors-grid__arrow-icon {
  transform: translate(0.25rem, -0.25rem);
}
.sectors-grid {
  /**
   * ------------------------------------------------------
   * FERMETURE DE LA CARTE ACTIVE
   * ------------------------------------------------------
   *
   * Lorsqu'une autre carte est survolée,
   * la première carte active se referme.
   */
}
.sectors-grid__slider:has(.sectors-grid__card:hover) .sectors-grid__card.is-active:not(:hover) .sectors-grid__image {
  transform: scale(1);
}
.sectors-grid__slider:has(.sectors-grid__card:hover) .sectors-grid__card.is-active:not(:hover) .sectors-grid__card-description {
  opacity: 0;
  transform: translateY(1rem);
}
.sectors-grid__slider:has(.sectors-grid__card:hover) .sectors-grid__card.is-active:not(:hover) .sectors-grid__arrow-icon {
  transform: translate(0, 0);
}

/**
 * ==========================================================
 * SECTORS GRID — MOBILE / TABLETTE
 * ==========================================================
 *
 * Pas de hover fiable sur tactile.
 * Le contenu reste donc visible.
 */
.latest-articles__tab {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
}
.latest-articles__tab.is-active {
  color: #ffffff;
  background-color: #23afa2;
  border-color: #23afa2;
}
.latest-articles__dot.is-active {
  width: 84px;
  background-color: #23afa2;
}
.latest-articles__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.latest-articles__subtitle {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.25rem);
  font-weight: 800;
  line-height: 1.2;
}
.latest-articles__subtitle strong {
  font-weight: 800;
}
.latest-articles__category {
  font-size: 0.875rem;
  line-height: 1;
}
.latest-articles__date {
  font-size: 1rem;
  line-height: 1.4;
}
.latest-articles__card-title {
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.5625rem);
  font-weight: 600;
  line-height: 1.1;
}
.latest-articles__arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.clients-trust__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.clients-trust__logos-track {
  animation: clients-trust-marquee 60s linear infinite;
  will-change: transform;
}
.clients-trust__logo {
  opacity: 0.35;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.clients-trust__logo:hover {
  opacity: 1;
  transform: scale(1.03);
}

@keyframes clients-trust-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.newsletter-section__contact-title {
  font-size: clamp(2.25rem, 1.7rem + 2vw, 3rem);
  font-weight: 800;
  line-height: 1.05;
}
.newsletter-section__title {
  font-size: clamp(2.5rem, 2rem + 1.8vw, 3rem);
  font-weight: 800;
  line-height: 1;
}
.newsletter-section__subtitle {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.newsletter-section__input {
  font-size: 1rem;
  font-weight: 500;
}
.newsletter-section__button, .newsletter-section__submit {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.newsletter-section__button:hover, .newsletter-section__submit:hover {
  border: 1px solid white;
}

.newsletter-section__consent-label {
  line-height: 1.5;
}
.newsletter-section__consent-label:hover .newsletter-section__checkbox-visual {
  border-color: #24ae9b;
}
.newsletter-section__checkbox-visual {
  position: relative;
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 6px;
  background: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.newsletter-section__checkbox-visual::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  opacity: 0;
  transform: rotate(45deg) scale(0.7);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.newsletter-section__checkbox:checked + .newsletter-section__consent-label .newsletter-section__checkbox-visual {
  border-color: #24ae9b;
  background-color: #24ae9b;
}
.newsletter-section__checkbox:checked + .newsletter-section__consent-label .newsletter-section__checkbox-visual::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}
.newsletter-section__checkbox:focus-visible + .newsletter-section__consent-label .newsletter-section__checkbox-visual {
  outline: 3px solid rgba(36, 174, 155, 0.35);
  outline-offset: 3px;
}

.newsletter-actu {
  /**
   * ------------------------------------------------------
   * CONSENTEMENT
   * ------------------------------------------------------
   */
}
.newsletter-actu__consent-wrapper {
  width: 100%;
}
.newsletter-actu__consent-label {
  width: 100%;
  line-height: 1.5;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.newsletter-actu__consent-label:hover .newsletter-actu__checkbox-visual {
  border-color: #24ae9b;
}
.newsletter-actu__consent {
  display: block;
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.5;
}
.newsletter-actu {
  /**
   * ------------------------------------------------------
   * CHECKBOX
   * ------------------------------------------------------
   */
}
.newsletter-actu__checkbox-visual {
  position: relative;
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 6px;
  background-color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.newsletter-actu__checkbox-visual::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 6px;
  height: 10px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  opacity: 0;
  transform: rotate(45deg) scale(0.7);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.newsletter-actu {
  /**
   * ------------------------------------------------------
   * CHECKED
   * ------------------------------------------------------
   */
}
.newsletter-actu__checkbox:checked + .newsletter-actu__consent-label .newsletter-actu__checkbox-visual {
  border-color: #24ae9b;
  background-color: #24ae9b;
}
.newsletter-actu__checkbox:checked + .newsletter-actu__consent-label .newsletter-actu__checkbox-visual::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}
.newsletter-actu {
  /**
   * ------------------------------------------------------
   * FOCUS CLAVIER
   * ------------------------------------------------------
   */
}
.newsletter-actu__checkbox:focus-visible + .newsletter-actu__consent-label .newsletter-actu__checkbox-visual {
  outline: 3px solid rgba(36, 174, 155, 0.35);
  outline-offset: 3px;
}
.newsletter-actu {
  /**
   * ------------------------------------------------------
   * SUBMIT
   * ------------------------------------------------------
   */
}
.newsletter-actu__submit {
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid #23afa2;
}
.newsletter-actu__submit:hover {
  border: 1px solid white;
}

.icon-features__eyebrow {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.icon-features__title {
  font-weight: 800;
  line-height: 1;
}
.icon-features__highlight {
  display: block;
}
.icon-features__item-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.icon-features__item-content {
  font-size: 1rem;
  line-height: 1.35;
}
.icon-features__item-content p {
  margin: 0;
}
.icon-features__item-content strong {
  font-weight: 800;
}
.icon-features__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.benefits-strip__eyebrow {
  font-size: clamp(1.5rem, 1.25rem + 0.7vw, 2rem);
  font-weight: 800;
  line-height: 1;
}
.benefits-strip__title {
  font-size: clamp(1.5rem, 1.25rem + 0.7vw, 2rem);
  font-weight: 800;
  line-height: 1;
}
.benefits-strip__content {
  font-size: 1rem;
  line-height: 1.35;
}
.benefits-strip__content p {
  margin: 0;
}
.benefits-strip__content strong {
  font-weight: 800;
}
.benefits-strip__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.strategy-grid__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.strategy-grid__content {
  font-size: 1rem;
  line-height: 1.35;
}
.strategy-grid__content p {
  margin: 0;
}
.strategy-grid__content p + p {
  margin-top: 1.5rem;
}
.strategy-grid__content strong {
  font-weight: 800;
}
.strategy-grid__card-title {
  font-size: clamp(1.375rem, 1.1rem + 0.6vw, 1.5rem);
  font-weight: 800;
  line-height: 1.1;
}
.strategy-grid__card-content {
  font-size: 1rem;
  line-height: 1.35;
}
.strategy-grid__card-content p {
  margin: 0;
}
.strategy-grid__card-content p + p {
  margin-top: 1rem;
}
.strategy-grid__card-content strong {
  font-weight: 800;
}
.strategy-grid__marquee-track {
  animation: strategy-grid-marquee 25s linear infinite;
  will-change: transform;
}
.strategy-grid__marquee-text {
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.375rem);
  font-weight: 800;
  line-height: 1.2;
}
.strategy-grid__marquee-separator {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}
.strategy-grid__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

@keyframes strategy-grid-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.cta-highlight__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.cta-highlight__content {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  line-height: 1.35;
}
.cta-highlight__content p {
  margin: 0;
}
.cta-highlight__content p + p {
  margin-top: 1.5rem;
}
.cta-highlight__content strong {
  font-weight: 800;
}
.cta-highlight__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.contact-cta__title {
  font-size: clamp(2rem, 1.25rem + 2.5vw, 2.1875rem);
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.contact-cta__content {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  line-height: 1.35;
}
.contact-cta__content p {
  margin: 0;
}
.contact-cta__content p + p {
  margin-top: 1.5rem;
}
.contact-cta__content strong {
  font-weight: 800;
}
.contact-cta__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.faq-section__title {
  font-size: clamp(2rem, 1.25rem + 2.5vw, 3.125rem);
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.faq-section__question {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}
.faq-section__answer {
  display: none;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.4s ease, opacity 0.3s ease;
}
.faq-section__answer ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
  list-style-type: disc;
}
.faq-section__answer ol {
  margin: 1rem 0;
  padding-left: 1.5rem;
  list-style-type: decimal;
}
.faq-section__answer li {
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
}
.faq-section__answer li:last-child {
  margin-bottom: 0;
}
.faq-section__answer ul ul,
.faq-section__answer ol ul {
  list-style-type: circle;
}
.faq-section__answer ul ul,
.faq-section__answer ul ol,
.faq-section__answer ol ul,
.faq-section__answer ol ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.faq-section__answer-inner {
  min-height: 0;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.5;
}
.faq-section__answer-inner p {
  margin: 0;
}
.faq-section__answer-inner p + p {
  margin-top: 1rem;
}
.faq-section__answer-inner strong {
  font-weight: 800;
}
.faq-section__answer-inner a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.faq-section__item.is-open .faq-section__answer {
  display: grid;
  grid-template-rows: 1fr;
  opacity: 1;
}
.faq-section__item.is-open .faq-section__icon-vertical {
  transform: rotate(90deg);
}

.image-banner {
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
}
.image-banner__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.image-banner__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.image-banner__content p {
  margin: 0;
}
.image-banner__content p + p {
  margin-top: 1.25rem;
}
.image-banner__content strong {
  font-weight: 800;
}
.image-banner__content ul {
  margin-top: 1rem;
  padding-left: 1.5rem;
  list-style: disc;
}
.image-banner__content ol {
  margin-top: 1rem;
  padding-left: 1.5rem;
  list-style: decimal;
}
.image-banner__content li {
  display: list-item;
}
.image-banner__content li + li {
  margin-top: 0.25rem;
}
.image-banner__feature-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.image-banner__feature-content {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
}
.image-banner__feature-content p {
  margin: 0;
}
.image-banner__feature-content strong {
  font-weight: 800;
}
.image-banner--icons {
  min-height: 440px;
}
.image-banner__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.content-offer__title {
  font-size: clamp(2rem, 1.5rem + 2vw, 3.125rem);
  font-weight: 800;
  line-height: 1;
}
.content-offer__content {
  font-size: 1rem;
  line-height: 1.4;
}
.content-offer__content p {
  margin: 0;
}
.content-offer__content p + p {
  margin-top: 1rem;
}
.content-offer__content ul {
  margin-top: 1rem;
  padding-left: 1.25rem;
  list-style: disc;
}
.content-offer__content li + li {
  margin-top: 0.5rem;
}
.content-offer__content strong {
  font-weight: 800;
}
.content-offer__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
.content-offer__co2-value {
  width: -moz-max-content;
  width: max-content;
  position: relative;
  font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  transform: rotate(-1deg);
}
.content-offer__co2-text {
  font-size: 1rem;
  font-weight: 500;
}
.content-offer__co2-text p {
  margin: 0;
}
.content-offer__co2-text strong {
  font-weight: 800;
}

.solar-carousel__stage {
  position: relative;
}
.solar-carousel__card {
  top: 50%;
  left: 50%;
  min-height: 350px;
  z-index: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.9);
  filter: blur(4px);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.solar-carousel__card--simple .solar-carousel__card-title {
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);
  font-weight: 700;
  line-height: 1.05;
}
.solar-carousel__card.is-active {
  z-index: 20;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
  filter: blur(0);
}
.solar-carousel__card.is-prev {
  z-index: 10;
  opacity: 0.55;
  transform: translate(-100%, -50%) scale(0.9);
  filter: blur(4px);
}
.solar-carousel__card.is-next {
  z-index: 10;
  opacity: 0.55;
  transform: translate(2%, -50%) scale(0.9);
  filter: blur(4px);
}
.solar-carousel__card.is-hidden {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}
.solar-carousel__title {
  font-size: clamp(2rem, 1.25rem + 2.5vw, 3.125rem);
  font-weight: 800;
  line-height: 0.95;
}
.solar-carousel__card-title {
  font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem);
  font-weight: 800;
  line-height: 1.15;
}
.solar-carousel__card-content {
  font-size: 1rem;
  line-height: 1.3;
}
.solar-carousel__card-content p {
  margin: 0;
}
.solar-carousel__card-content p + p {
  margin-top: 1rem;
}
.solar-carousel__card-content strong {
  font-weight: 800;
}

.parking-solutions__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.parking-solutions__item-title {
  font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.375rem);
  font-weight: 800;
  line-height: 1.1;
}
.parking-solutions__item-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
.parking-solutions__item-content p {
  margin: 0;
}
.parking-solutions__item-content p + p {
  margin-top: 1rem;
}
.parking-solutions__item-content strong {
  font-weight: 800;
}

.icon-content-list {
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
}
.icon-content-list__title {
  font-size: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
  font-weight: 800;
  line-height: 1;
}
.icon-content-list__title-suffix {
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.375rem);
  font-weight: 800;
  line-height: 1.2;
}
.icon-content-list__item-title {
  font-size: clamp(1.125rem, 1rem + 0.35vw, 1.375rem);
  font-weight: 800;
  line-height: 1.2;
}
.icon-content-list__item-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.icon-content-list__item-content p {
  margin: 0;
}
.icon-content-list__item-content p + p {
  margin-top: 1rem;
}
.icon-content-list__item-content a {
  text-decoration: underline;
}
.icon-content-list__trigger {
  cursor: pointer;
}
.icon-content-list__item {
  transition: background-color 0.3s ease;
}
.icon-content-list__item:hover {
  background-color: rgba(255, 255, 255, 0.06);
}
.icon-content-list__item.is-open .icon-content-list__toggle [data-icon-content-plus] {
  transform: rotate(90deg);
}

.contact-person-card__title {
  font-size: clamp(2rem, 1.25rem + 2.5vw, 2.1875rem);
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.contact-person-card__name {
  font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.375rem);
  font-weight: 800;
  line-height: 1.1;
}
.contact-person-card__job {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}
.contact-person-card__contact {
  font-size: 1rem;
  line-height: 1.35;
}
.contact-person-card__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.stacked-steps__card, .stacked-steps__image {
  will-change: transform;
}
.stacked-steps__card.is-visible, .stacked-steps__image.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.stacked-steps__number {
  font-size: clamp(4rem, 2.5rem + 4vw, 6rem);
  font-weight: 800;
  line-height: 0.9;
}
.stacked-steps__title {
  font-size: clamp(1.5rem, 1.2rem + 0.6vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
}
.stacked-steps__content {
  font-size: 1rem;
  line-height: 1.35;
}
.stacked-steps__content p {
  margin: 0;
}
.stacked-steps__content p + p {
  margin-top: 1rem;
}
.stacked-steps__content ul {
  margin-top: 0.75rem;
  padding-left: 1.25rem;
  list-style: disc;
}
.stacked-steps__content li + li {
  margin-top: 0.25rem;
}
.stacked-steps__content strong {
  font-weight: 800;
}
.stacked-steps__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.logo-carousel__title {
  font-weight: 800;
  line-height: 0.95;
}
.logo-carousel__slide {
  opacity: 0;
  pointer-events: none;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.45s ease, filter 0.45s ease;
  will-change: transform, opacity, filter;
}
.logo-carousel__slide.is-active {
  z-index: 30;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) translateX(0) scale(1);
  filter: none;
}
.logo-carousel__slide.is-prev {
  z-index: 20;
  opacity: 0.6;
  pointer-events: auto;
  transform: translate(-50%, -50%) translateX(-105%) scale(0.96);
}
.logo-carousel__slide.is-next {
  z-index: 20;
  opacity: 0.6;
  pointer-events: auto;
  transform: translate(-50%, -50%) translateX(105%) scale(0.96);
}
.logo-carousel__slide.is-prev-far {
  z-index: 10;
  opacity: 0.3;
  pointer-events: auto;
  transform: translate(-50%, -50%) translateX(-210%) scale(0.92);
}
.logo-carousel__slide.is-next-far {
  z-index: 10;
  opacity: 0.3;
  pointer-events: auto;
  transform: translate(-50%, -50%) translateX(210%) scale(0.92);
}
.logo-carousel__slide.is-hidden {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.88);
}
.logo-carousel__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.centered-content-badge__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.centered-content-badge__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.centered-content-badge__content p {
  margin: 0;
}
.centered-content-badge__content p + p {
  margin-top: 1rem;
}
.centered-content-badge__content strong {
  font-weight: 800;
}

.capacity-cards__title {
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.capacity-cards__intro {
  font-size: 1rem;
  line-height: 1.5;
}
.capacity-cards__intro p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.capacity-cards__intro strong {
  font-weight: 800;
}
.capacity-cards {
  /**
   * --------------------------------------------
   * CARTE AVEC CONTENU
   * --------------------------------------------
   */
}
.capacity-cards__value {
  font-size: clamp(1.5rem, 1.5rem + 1.5vw, 2.3rem);
  font-weight: 800;
  line-height: 1;
}
.capacity-cards__unit--title {
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);
  font-weight: 700;
  line-height: 1.2;
}
.capacity-cards__unit {
  /**
   * Unité des cartes simples :
   * m³, L, kg...
   */
}
.capacity-cards__unit--measure {
  font-size: clamp(2rem, 1.5rem + 1.5vw, 3.25rem);
  font-weight: 500;
  line-height: 1;
}
.capacity-cards__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}
.capacity-cards__content p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.capacity-cards__content strong {
  font-weight: 800;
}
.capacity-cards {
  /**
   * --------------------------------------------
   * CARTE SIMPLE
   * Exemple : 20 m³
   * --------------------------------------------
   */
}
.capacity-cards__value-number {
  font-size: clamp(2.5rem, 2rem + 1.5vw, 3.75rem);
  font-weight: 800;
  line-height: 1;
}
.capacity-cards {
  /**
   * --------------------------------------------
   * GRANDE VALEUR EN ARRIÈRE-PLAN
   * --------------------------------------------
   */
}
.capacity-cards__decor {
  font-size: clamp(4rem, 4rem + 8vw, 6rem);
  font-weight: 800;
  line-height: 0.8;
  white-space: nowrap;
}
.capacity-cards__card {
  opacity: 0;
  transform: translateX(-80px);
  transition: opacity 0.65s ease, transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--capacity-card-index, 0) * 180ms);
}
.capacity-cards.is-visible .capacity-cards__card {
  opacity: 1;
  transform: translateX(0);
}

.media-content__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.media-content__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
.media-content__content p {
  margin: 0;
}
.media-content__content p + p {
  margin-top: 1rem;
}
.media-content__content strong {
  font-weight: 800;
}
.media-content__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
.media-content__source {
  font-size: 0.875rem;
  line-height: 1.3;
}

.featured-posts-carousel {
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
}
.featured-posts-carousel__slide {
  display: none;
}
.featured-posts-carousel__slide.is-active {
  display: block;
}
.featured-posts-carousel__section-title {
  font-weight: 800;
  line-height: 0.95;
}
.featured-posts-carousel__category {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}
.featured-posts-carousel__title {
  font-size: clamp(2rem, 1.4rem + 2vw, 3.125rem);
  font-weight: 800;
  line-height: 1;
}
.featured-posts-carousel__excerpt {
  font-size: 1rem;
  line-height: 1.45;
}
.featured-posts-carousel__excerpt p {
  margin: 0;
}
.featured-posts-carousel__excerpt strong {
  font-weight: 800;
}
.featured-posts-carousel__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.featured-posts-carousel__navigation {
  position: absolute;
  z-index: 10;
  bottom: 1.5rem;
}
.featured-posts-carousel__dot {
  cursor: pointer;
  opacity: 0.35;
}
.featured-posts-carousel__dot.is-active {
  opacity: 1;
  background-color: #24ae9b;
}

.feature-media__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.feature-media__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
.feature-media__text p {
  margin: 0;
}
.feature-media__text p + p {
  margin-top: 1rem;
}
.feature-media__text strong {
  font-weight: 800;
}
.feature-media__button {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.text-media-split__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.text-media-split__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
.text-media-split__content p {
  margin: 0;
}
.text-media-split__content p + p {
  margin-top: 1.5rem;
}
.text-media-split__content ul,
.text-media-split__content ol {
  margin-top: 0.75rem;
  padding-left: 1.25rem;
}
.text-media-split__content ul {
  list-style: disc;
}
.text-media-split__content ol {
  list-style: decimal;
}
.text-media-split__content li + li {
  margin-top: 0.35rem;
}
.text-media-split__content strong {
  font-weight: 800;
}
.text-media-split__content a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.text-media-split__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.usage-solutions {
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
}
.usage-solutions__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.usage-solutions__intro, .usage-solutions__bottom-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
.usage-solutions__intro p, .usage-solutions__bottom-content p {
  margin: 0;
}
.usage-solutions__intro p + p, .usage-solutions__bottom-content p + p {
  margin-top: 1rem;
}
.usage-solutions__intro strong, .usage-solutions__bottom-content strong {
  font-weight: 800;
}
.usage-solutions__tab {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: #23afa2;
  border: 1px solid #23afa2;
}
.usage-solutions__tab.is-active {
  color: #ffffff;
  background-color: #23afa2;
}
.usage-solutions__panel {
  display: none;
}
.usage-solutions__panel.is-active {
  display: block;
}
.usage-solutions__card-title {
  font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem);
  font-weight: 800;
  line-height: 1.15;
}
.usage-solutions__notice-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}
.usage-solutions__notice-link {
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
}
.usage-solutions .swiper-button-lock,
.usage-solutions .usage-solutions__navigation:has(.swiper-button-lock) {
  display: none;
}
.usage-solutions__arrow {
  border: 1px solid #23afa2;
}
.usage-solutions__arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.whitepapers-carousel {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.whitepapers-carousel__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.whitepapers-carousel__stage {
  position: relative;
  width: calc(100% - 32px);
  max-width: 1490px;
  height: clamp(430px, 34vw, 560px);
  margin-inline: auto;
  overflow: hidden;
}
.whitepapers-carousel__slide {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(100% - 260px, 1080px);
  height: clamp(360px, 28vw, 455px);
  z-index: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.9);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.whitepapers-carousel__slide.is-active {
  z-index: 30;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
  filter: blur(0);
}
.whitepapers-carousel__slide.is-prev {
  z-index: 10;
  pointer-events: auto;
  transform: translate(-65%, -50%) scale(0.88);
  filter: blur(5px);
}
.whitepapers-carousel__slide.is-next {
  z-index: 10;
  opacity: 0.5;
  pointer-events: auto;
  transform: translate(-35%, -50%) scale(0.88);
  filter: blur(5px);
}
.whitepapers-carousel__slide.is-hidden {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}
.whitepapers-carousel__card-title {
  font-size: clamp(1.5rem, 1.15rem + 1vw, 2.25rem);
  font-weight: 800;
  line-height: 1;
}
.whitepapers-carousel__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.whitepapers-carousel__content p {
  margin: 0;
}
.whitepapers-carousel__content p + p {
  margin-top: 1rem;
}
.whitepapers-carousel__content strong {
  font-weight: 800;
}
.whitepapers-carousel__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
.whitepapers-carousel__arrow {
  transition: opacity 0.25s ease;
}
.whitepapers-carousel__arrow:hover {
  opacity: 0.7;
}

.challenges-grid__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.challenges-grid__intro {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.challenges-grid__intro p {
  margin: 0;
}
.challenges-grid__intro p + p {
  margin-top: 1.25rem;
}
.challenges-grid__intro strong {
  font-weight: 800;
}
.challenges-grid__card {
  background: linear-gradient(135deg, #152724 0%, #152724 35%, rgba(35, 175, 162, 0.85) 160%);
}
.challenges-grid__card-title {
  font-size: clamp(1.375rem, 1.15rem + 0.5vw, 1.75rem);
  font-weight: 800;
  line-height: 1.05;
}
.challenges-grid__card-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.challenges-grid__card-content p {
  margin: 0;
}
.challenges-grid__card-content p + p {
  margin-top: 0.75rem;
}
.challenges-grid__card-content strong {
  font-weight: 800;
}

.solutions-list__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.solutions-list__item-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}
.solutions-list__item-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.solutions-list__item-content p {
  margin: 0;
}
.solutions-list__item-content p + p {
  margin-top: 0.75rem;
}
.solutions-list__item-content strong {
  font-weight: 800;
}
.solutions-list__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.pages-carousel {
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
}
.pages-carousel__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.pages-carousel__overlay {
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.05) 0%, rgba(21, 39, 36, 0.35) 45%, rgba(21, 39, 36, 0.95) 100%);
}
.pages-carousel__card-title {
  font-size: clamp(1.125rem, 1rem + 0.35vw, 1.5rem);
  font-weight: 800;
  line-height: 1.05;
}
.pages-carousel__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
.pages-carousel__arrow {
  transition: opacity 0.25s ease, background-color 0.25s ease;
}
.pages-carousel__arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.timeline__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.timeline__wrapper {
  min-height: 500px;
}
.timeline__line {
  background-color: rgba(249, 214, 77, 0.35);
}
.timeline__line-progress {
  transform: scaleY(0);
  transition: transform 0.15s linear;
  will-change: transform;
}
.timeline__item {
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.timeline__item[data-side=left] {
  transform: translateX(-30px);
}
.timeline__item[data-side=right] {
  transform: translateX(30px);
}
.timeline__item.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.timeline__dot {
  transform-origin: center;
  scale: 0.7;
  transition: scale 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}
.is-visible .timeline__dot {
  scale: 1;
  box-shadow: 0 0 0 6px rgba(249, 214, 77, 0.18);
}
.timeline__label {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-weight: 800;
  line-height: 1.15;
}
.timeline__item-title {
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.375rem);
  font-weight: 800;
  line-height: 1.15;
}
.timeline__item-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.timeline__item-content p {
  margin: 0;
}
.timeline__item-content p + p {
  margin-top: 1rem;
}
.timeline__item-content strong {
  font-weight: 800;
}

.features-highlight__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.features-highlight__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.features-highlight__content p {
  margin: 0;
}
.features-highlight__content p + p {
  margin-top: 1rem;
}
.features-highlight__content strong {
  font-weight: 800;
}
.features-highlight__item-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.features-highlight__item-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.features-highlight__item-content p {
  margin: 0;
}
.features-highlight__item-content strong {
  font-weight: 800;
}
.features-highlight__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.solutions-highlight__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.solutions-highlight__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.solutions-highlight__content p {
  margin: 0;
}
.solutions-highlight__content p + p {
  margin-top: 1rem;
}
.solutions-highlight__content strong {
  font-weight: 800;
}
.solutions-highlight__item-title {
  font-size: clamp(1.5rem, 1.3rem + 0.5vw, 2rem);
  font-weight: 800;
  line-height: 1.05;
}
.solutions-highlight__item-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.solutions-highlight__item-content p {
  margin: 0;
}
.solutions-highlight__item-content p + p {
  margin-top: 0.75rem;
}
.solutions-highlight__item-content strong {
  font-weight: 800;
}
.solutions-highlight__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.values-cards__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.values-cards__card {
  background: linear-gradient(135deg, #152724 0%, #152724 35%, rgba(35, 175, 162, 0.85) 160%);
}
.values-cards__card-title {
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.375rem);
  font-weight: 800;
  line-height: 1.1;
}
.values-cards__card-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.values-cards__card-content p {
  margin: 0;
}
.values-cards__card-content p + p {
  margin-top: 1.25rem;
}
.values-cards__card-content strong {
  font-weight: 800;
}
.values-cards__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.quote-banner__icon {
  font-size: clamp(3rem, 2rem + 3vw, 5rem);
  font-weight: 800;
  line-height: 0.6;
}
.quote-banner__quote {
  font-size: clamp(1.25rem, 1.05rem + 0.65vw, 1.75rem);
  font-weight: 500;
  line-height: 1.25;
}
.quote-banner__quote strong {
  font-weight: 800;
}
.quote-banner__author {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}

.contributions-highlight__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}

.content-image-split__eyebrow {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}
.content-image-split__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.content-image-split__content {
  font-size: clamp(1.125rem, 1.03rem + 0.25vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
}
.content-image-split__content p {
  margin: 0;
}
.content-image-split__content p + p {
  margin-top: 1.75rem;
}
.content-image-split__content strong {
  font-weight: 800;
}
.content-image-split__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.certifications__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}

.centered-content__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.centered-content__content {
  font-size: clamp(1.125rem, 1.05rem + 0.25vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
}
.centered-content__content p {
  margin: 0;
}
.centered-content__content p + p {
  margin-top: 1rem;
}
.centered-content__content strong {
  font-weight: 800;
}
.centered-content__bottom {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
}
.centered-content__bottom p {
  margin: 0;
}
.centered-content__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.media-carousel__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.media-carousel__content {
  font-size: 1rem;
  line-height: 1.2;
}
.media-carousel__content p {
  margin: 0;
}
.media-carousel__content p + p {
  margin-top: 1rem;
}
.media-carousel__content strong {
  font-weight: 800;
}
.media-carousel__slide {
  transition: opacity 0.45s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0.65;
  transform: scale(0.92);
}
.media-carousel__slide.swiper-slide-active {
  z-index: 2;
  opacity: 1;
  transform: scale(1);
}
.media-carousel__image {
  height: clamp(320px, 36vw, 420px);
}
.media-carousel__pagination .swiper-pagination-bullet {
  width: 30px;
  height: 8px;
  margin: 0 !important;
  border-radius: 999px;
  background-color: #23afa2;
  opacity: 0.3;
  transition: width 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
.media-carousel__pagination .swiper-pagination-bullet-active {
  width: 80px;
  background-color: #23afa2;
  opacity: 1;
}

.group-expertise__overlay {
  background: linear-gradient(90deg, rgba(21, 39, 36, 0.96) 0%, rgba(21, 39, 36, 0.9) 50%, rgba(21, 39, 36, 0.82) 100%);
}
.group-expertise__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.group-expertise__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.group-expertise__content p {
  margin: 0;
}
.group-expertise__content p + p {
  margin-top: 1.5rem;
}
.group-expertise__content strong {
  font-weight: 800;
}
.group-expertise__logos-slider {
  width: 100%;
  min-width: 0;
}

.group-stats__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.group-stats__title-highlight {
  display: inline-block;
  transform: rotate(-0.5deg);
}
.group-stats__value {
  font-size: clamp(2.5rem, 2rem + 2vw, 4rem);
  font-weight: 800;
  line-height: 1;
}
.group-stats__value--highlighted {
  font-size: clamp(3rem, 2rem + 3vw, 5rem);
}
.group-stats__value--highlighted span {
  transform: rotate(-1deg);
}
.group-stats__label {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.75rem);
  font-weight: 800;
  line-height: 1.05;
}
.group-stats__label strong {
  font-weight: 800;
}

.business-activities__card {
  isolation: isolate;
}
.business-activities__overlay {
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.18) 0%, rgba(21, 39, 36, 0.45) 45%, rgba(21, 39, 36, 0.95) 100%);
  transition: background 0.4s ease;
}
.business-activities__card:hover .business-activities__overlay {
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.25) 0%, rgba(21, 39, 36, 0.55) 45%, rgba(21, 39, 36, 0.98) 100%);
}
.business-activities__title {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.75rem);
  font-weight: 800;
  line-height: 1.05;
}
.business-activities__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}
.business-activities__content p {
  margin: 0;
}
.business-activities__content p + p {
  margin-top: 1.25rem;
}
.business-activities__content strong {
  font-weight: 800;
}

.testimonials-grid {
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
}
.testimonials-grid__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.testimonials-grid__swiper {
  width: 100%;
  min-width: 0;
  overflow: visible;
}
.testimonials-grid__slide {
  height: auto;
}
.testimonials-grid__item {
  height: 100%;
}
.testimonials-grid__image {
  height: clamp(260px, 50vw, 390px);
}
.testimonials-grid__quote-icon {
  height: 35px;
  font-size: clamp(3rem, 2.5rem + 1vw, 4rem);
  font-weight: 800;
  line-height: 1;
}
.testimonials-grid__quote {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.15;
}
.testimonials-grid__quote p {
  margin: 0;
}
.testimonials-grid__quote p + p {
  margin-top: 1rem;
}
.testimonials-grid__quote strong {
  font-weight: 800;
}
.testimonials-grid__name {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.testimonials-grid__role {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.testimonials-grid__pagination .swiper-pagination-bullet {
  width: 30px;
  height: 8px;
  margin: 0 !important;
  border-radius: 999px;
  background-color: #ffffff;
  opacity: 0.3;
  transition: width 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
.testimonials-grid__pagination .swiper-pagination-bullet-active {
  width: 80px;
  background-color: #23afa2;
  opacity: 1;
}

.press-articles__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.press-articles__content {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-weight: 500;
  line-height: 1.15;
}
.press-articles__content p {
  margin: 0;
}
.press-articles__content p + p {
  margin-top: 1.25rem;
}
.press-articles__content strong {
  font-weight: 800;
}
.press-articles__box-title {
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.375rem);
  font-weight: 800;
  line-height: 1.15;
}
.press-articles__link {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-underline-offset: 2px;
}

.reviews-carousel__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.reviews-carousel__stage {
  height: clamp(460px, 36vw, 540px);
}
.reviews-carousel__track {
  width: 100%;
  height: 100%;
}
.reviews-carousel__card {
  width: min(1060px, 70vw);
  height: clamp(390px, 31vw, 470px);
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.82);
  filter: blur(5px);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), filter 0.45s ease;
  will-change: transform, filter;
}
.reviews-carousel__card.is-active {
  z-index: 10;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
  filter: blur(0);
}
.reviews-carousel__card.is-prev {
  z-index: 5;
  opacity: 0.9;
  transform: translate(-65%, -50%) scale(0.88);
  filter: blur(4px);
}
.reviews-carousel__card.is-next {
  z-index: 5;
  opacity: 0.9;
  transform: translate(-35%, -50%) scale(0.88);
  filter: blur(4px);
}
.reviews-carousel__image {
  min-height: 100%;
}
.reviews-carousel__quote-icon {
  height: 35px;
  font-size: clamp(3rem, 2.5rem + 1vw, 4rem);
  font-weight: 800;
  line-height: 1;
}
.reviews-carousel__quote {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.15;
}
.reviews-carousel__quote p {
  margin: 0;
}
.reviews-carousel__quote p + p {
  margin-top: 1rem;
}
.reviews-carousel__quote strong {
  font-weight: 800;
}
.reviews-carousel__name {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}
.reviews-carousel__role {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.reviews-carousel__arrow {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.reviews-carousel__arrow:hover {
  opacity: 0.7;
}
.reviews-carousel__arrow--prev:hover {
  transform: translateY(-50%) translateX(-4px);
}
.reviews-carousel__arrow--next:hover {
  transform: translateY(-50%) translateX(4px);
}

.cee-process__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.cee-process__intro {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.cee-process__intro p {
  margin: 0;
}
.cee-process__intro p + p {
  margin-top: 1rem;
}
.cee-process__intro strong {
  font-weight: 800;
}
.cee-process__helper {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.cee-process__helper p {
  margin: 0;
}
.cee-process__helper-arrow {
  pointer-events: none;
}
.cee-process__line {
  background: linear-gradient(90deg, #152724 0%, #23afa2 100%);
}
.cee-process__line--mobile {
  background: linear-gradient(180deg, #152724 0%, #23afa2 100%);
}
.cee-process__number {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 2px #23afa2;
}
.cee-process__step-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}
.cee-process__step-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}
.cee-process__step-content p {
  margin: 0;
}
.cee-process__step-content p + p {
  margin-top: 1rem;
}
.cee-process__step-content strong {
  font-weight: 800;
}

.cee-steps__title {
  font-weight: 800;
  line-height: 0.98;
  text-wrap: balance;
}
.cee-steps__number {
  font-size: clamp(2.5rem, 2rem + 1.5vw, 4rem);
  font-weight: 800;
  line-height: 1;
  transform: rotate(-2deg);
}
.cee-steps__item:nth-child(even) .cee-steps__number {
  transform: rotate(-1deg);
}
.cee-steps__step-title {
  font-size: clamp(1.125rem, 1.05rem + 0.25vw, 1.375rem);
  font-weight: 800;
  line-height: 1.15;
}
.cee-steps__step-content {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.25rem);
  font-weight: 500;
  line-height: 1.2;
}
.cee-steps__step-content p {
  margin: 0;
}
.cee-steps__step-content p + p {
  margin-top: 1rem;
}
.cee-steps__step-content strong {
  font-weight: 800;
}

.documents-download__title {
  font-size: clamp(2rem, 1.25rem + 2.5vw, 3.125rem);
  font-weight: 800;
  line-height: 1;
}
.documents-download__item-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.emergency-contacts__title {
  font-size: clamp(2rem, 1.5rem + 1.5vw, 3.125rem);
  font-weight: 800;
  line-height: 0.95;
}
.emergency-contacts__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.emergency-contacts__content p {
  margin: 0;
}
.emergency-contacts__content p + p {
  margin-top: 2rem;
}
.emergency-contacts__content strong {
  font-weight: 800;
}
.emergency-contacts__content a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.emergency-contacts__content a:hover {
  opacity: 0.7;
}

.cta-media-card__title {
  font-size: clamp(2rem, 1.6rem + 1.25vw, 3.125rem);
  font-weight: 800;
  line-height: 1;
  text-wrap: balance;
}
.cta-media-card__content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.cta-media-card__content p {
  margin: 0;
}
.cta-media-card__content p + p {
  margin-top: 1rem;
}
.cta-media-card__content strong {
  font-weight: 800;
}
.cta-media-card__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

/**
    * --------------------------------------------------
    * DIAGRAMME SCHEMAS
    * --------------------------------------------------
    */
.content-diagram__title {
  font-size: clamp(2rem, 1.4rem + 2vw, 4rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.content-diagram__content {
  line-height: 1.45;
}
.content-diagram__content p {
  margin: 0;
}
.content-diagram__content p + p {
  margin-top: 1.5rem;
}
.content-diagram__content strong {
  font-weight: 800;
}
.content-diagram {
  /**
   * --------------------------------------------------
   * ENERGY CIRCLE
   * --------------------------------------------------
   */
}
.content-diagram__energy-circle {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
}
.content-diagram__circle {
  z-index: 0;
  border: 1.5px solid currentColor;
}
.content-diagram__circle::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1.5px solid currentColor;
  border-radius: inherit;
}
.content-diagram__energy-item {
  min-width: 0;
}
.content-diagram__energy-icon {
  width: clamp(100px, 24vw, 130px);
  height: clamp(100px, 24vw, 130px);
}
.content-diagram__energy-text {
  min-width: 0;
}
.content-diagram__energy-title {
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.375rem);
  font-weight: 800;
  line-height: 1.15;
}
.content-diagram__energy-content {
  font-size: 1rem;
  line-height: 1.3;
}
.content-diagram__energy-content p {
  margin: 0;
}
.content-diagram {
  /**
   * --------------------------------------------------
   * TABLET / DESKTOP
   * Diagramme radial à partir du breakpoint Tailwind md
   * --------------------------------------------------
   */
}
@media (min-width: 768px) {
  .content-diagram__energy-circle {
    --circle-size: clamp(280px, calc(45vw - 80px), 480px);
    --radius: calc(var(--circle-size) / 2);
    --icon-size: clamp(95px, 10vw, 150px);
    --text-width: clamp(200px, 23vw, 340px);
    --text-gap: clamp(0.75rem, 1.8vw, 2rem);
    --circle-center-y: 55%;
    position: relative;
    height: clamp(580px, 60vw, 760px);
  }
  .content-diagram {
    /**
     * CERCLE CENTRAL
     */
  }
  .content-diagram__circle {
    top: var(--circle-center-y);
    left: 50%;
    width: var(--circle-size);
    height: var(--circle-size);
    transform: translate(-50%, -50%);
  }
  .content-diagram {
    /**
     * ITEMS RADIAUX
     */
  }
  .content-diagram__energy-item {
    position: absolute;
    top: var(--circle-center-y);
    left: 50%;
    width: var(--icon-size);
    height: var(--icon-size);
    margin-top: calc(var(--icon-size) / -2);
    margin-left: calc(var(--icon-size) / -2);
    transform: rotate(var(--angle)) translateX(var(--radius)) rotate(var(--angle-reverse));
    z-index: 2;
  }
  .content-diagram__energy-icon {
    width: var(--icon-size);
    height: var(--icon-size);
  }
  .content-diagram {
    /**
     * TEXTES
     */
  }
  .content-diagram__energy-text {
    position: absolute;
    width: var(--text-width);
    margin: 0;
  }
  .content-diagram {
    /**
     * TEXTE DU HAUT
     */
  }
  .content-diagram__energy-item--top .content-diagram__energy-text {
    bottom: calc(100% + var(--text-gap));
    left: 50%;
    width: min(420px, 40vw);
    transform: translateX(-50%);
    text-align: center;
  }
  .content-diagram {
    /**
     * TEXTES À DROITE
     */
  }
  .content-diagram__energy-item--right .content-diagram__energy-text {
    top: 50%;
    left: calc(100% + var(--text-gap));
    transform: translateY(-50%);
    text-align: left;
  }
  .content-diagram {
    /**
     * TEXTES À GAUCHE
     */
  }
  .content-diagram__energy-item--left .content-diagram__energy-text {
    top: 50%;
    right: calc(100% + var(--text-gap));
    transform: translateY(-50%);
    text-align: right;
  }
}

.contact-form__tab {
  position: relative;
  z-index: 1;
  min-height: 52px;
  border: 1px solid #23afa2;
  background-color: rgba(35, 175, 162, 0.1);
  color: #23afa2;
  font-size: clamp(0.875rem, 0.82rem + 0.2vw, 1rem);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.contact-form__tab:hover {
  background-color: rgba(35, 175, 162, 0.15);
}
.contact-form__tab.is-active {
  border-color: #23afa2;
  background-color: #23afa2;
  color: #ffffff;
}
.contact-form__tab.is-active:hover {
  background-color: #23afa2;
  color: #ffffff;
}
.contact-form__panel[hidden] {
  display: none;
}

.origin-guarantee__title {
  font-weight: 800;
  line-height: 1.05;
}
.origin-guarantee__number {
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1;
}
.origin-guarantee__card-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}
.origin-guarantee__card-content {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}
.origin-guarantee__card-content p {
  margin: 0;
}

.simulator-card__title {
  font-weight: 800;
  line-height: 0.95;
}
.simulator-card__text {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.25rem);
  font-weight: 500;
  line-height: 1.25;
}
.simulator-card__text p {
  margin: 0;
}
.simulator-card__text p + p {
  margin-top: 1rem;
}
.simulator-card__button {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.solar-solutions__title {
  font-weight: 800;
  line-height: 1.05;
}
.solar-solutions__highlight {
  white-space: nowrap;
}
.solar-solutions__media {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.solar-solutions__media.is-active {
  visibility: visible;
  opacity: 1;
}
.solar-solutions__media-title {
  font-size: clamp(1.375rem, 1.1rem + 0.8vw, 2rem);
  font-weight: 800;
  line-height: 1;
}
.solar-solutions__tab-title {
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  font-weight: 800;
  line-height: 1.2;
}
.solar-solutions__icon-vertical {
  transition: transform 0.25s ease;
}
.solar-solutions__tab {
  background-color: rgba(21, 39, 36, 0.1);
  color: #152724;
}
.solar-solutions__tab:hover {
  background-color: rgba(21, 39, 36, 0.2);
}
.solar-solutions__tab.is-active {
  background-color: #152724;
  color: #fff;
}
.solar-solutions__panel {
  display: none;
}
.solar-solutions__panel.is-active {
  display: block;
}
.solar-solutions__content {
  font-size: 1rem;
  line-height: 1.25;
}
.solar-solutions__content p {
  margin: 0 0 1rem;
}
.solar-solutions__content p:last-child {
  margin-bottom: 0;
}
.solar-solutions__content strong {
  font-weight: 800;
}

.cgv-documents__title {
  font-weight: 700;
  line-height: 1.1;
}
.cgv-documents__document-title {
  font-weight: 600;
}

.reading-progress__bar {
  transform: scaleX(0);
  will-change: transform;
}

.single-article__hero {
  min-height: 520px;
}
.single-article__hero-overlay {
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.72) 0%, rgba(21, 39, 36, 0.92) 100%);
}
.single-article__title {
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.single-article__intro {
  font-weight: 500;
  line-height: 1.4;
}
.single-article__date, .single-article__category, .single-article__breadcrumb {
  font-size: 0.875rem;
  font-weight: 500;
}
.single-article .site-breadcrumb a {
  color: inherit;
  text-decoration: none;
  font-size: 14px;
}

/**
 * ============================================================
 * SINGLE ARTICLE — GUTENBERG
 * ============================================================
 */
.single-article__body {
  color: #152724;
  /**
   * ========================================================
   * DEFAULT CONTENT WIDTH
   * ========================================================
   *
   * Tous les blocs Gutenberg standards restent contenus.
   * Les Group Altens sont volontairement exclus pour
   * pouvoir prendre toute la largeur.
   */
}
.single-article__body > h2,
.single-article__body > h3,
.single-article__body > h4,
.single-article__body > h5,
.single-article__body > h6,
.single-article__body > p,
.single-article__body > ul,
.single-article__body > ol,
.single-article__body > blockquote,
.single-article__body > figure,
.single-article__body > .wp-block-image,
.single-article__body > .wp-block-gallery,
.single-article__body > .wp-block-columns,
.single-article__body > .wp-block-table,
.single-article__body > .wp-block-buttons {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.single-article__body {
  /**
   * ========================================================
   * HEADINGS
   * ========================================================
   */
}
.single-article__body h2 {
  margin-top: clamp(3.5rem, 6vw, 6rem);
  margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
  font-size: clamp(2rem, 1.25rem + 2.5vw, 3.125rem);
  font-weight: 800;
  line-height: 1.05;
  text-wrap: balance;
}
.single-article__body h3 {
  margin-top: clamp(2.5rem, 4vw, 4rem);
  margin-bottom: 1.5rem;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  text-wrap: balance;
}
.single-article__body h4 {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  font-weight: 700;
  line-height: 1.2;
}
.single-article__body h5 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);
  font-weight: 700;
  line-height: 1.25;
}
.single-article__body h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}
.single-article__body {
  /**
   * ========================================================
   * TEXT
   * ========================================================
   */
}
.single-article__body p,
.single-article__body li,
.single-article__body a,
.single-article__body button,
.single-article__body input,
.single-article__body textarea,
.single-article__body select,
.single-article__body label {
  font-size: 1rem;
}
.single-article__body p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
}
.single-article__body strong,
.single-article__body b {
  font-weight: 800;
}
.single-article__body {
  /**
   * ========================================================
   * LINKS
   * ========================================================
   */
}
.single-article__body a {
  color: #23afa2;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s ease;
}
.single-article__body a:hover {
  opacity: 0.7;
}
.single-article__body {
  /**
   * ========================================================
   * LISTS
   * ========================================================
   */
}
.single-article__body ul,
.single-article__body ol {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  line-height: 1.5;
}
.single-article__body ul {
  list-style: disc;
}
.single-article__body ol {
  list-style: decimal;
}
.single-article__body li + li {
  margin-top: 0.625rem;
}
.single-article__body li::marker {
  font-weight: 800;
}
.single-article__body {
  /**
   * ========================================================
   * CAPTIONS
   * ========================================================
   */
}
.single-article__body figcaption,
.single-article__body .wp-element-caption {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
}
.single-article__body .wp-block-table.is-style-article-table {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  margin-right: auto;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  margin-left: auto;
  overflow: visible;
}
.single-article__body .wp-block-table.is-style-article-table table {
  width: 100%;
  border: 0;
  border-collapse: separate;
  border-spacing: 1.5rem 0;
  table-layout: fixed;
}
.single-article__body .wp-block-table.is-style-article-table th,
.single-article__body .wp-block-table.is-style-article-table td {
  border: 0;
}
.single-article__body .wp-block-table.is-style-article-table {
  /**
   * ------------------------------------------------
   * HEADER
   * ------------------------------------------------
   */
}
.single-article__body .wp-block-table.is-style-article-table thead::after {
  content: "";
  display: table-row;
  height: 1rem;
}
.single-article__body .wp-block-table.is-style-article-table thead th {
  padding: 1.75rem 2.5rem;
  color: #ffffff;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  text-align: left;
}
.single-article__body .wp-block-table.is-style-article-table thead th:first-child {
  background: #23afa2;
  border-radius: 24px;
}
.single-article__body .wp-block-table.is-style-article-table thead th:last-child {
  background: #f9d64d;
  border-radius: 24px;
}
.single-article__body .wp-block-table.is-style-article-table thead th p {
  margin-bottom: 0;
  font-size: 24px;
}
.single-article__body .wp-block-table.is-style-article-table {
  /**
   * ------------------------------------------------
   * BODY
   * ------------------------------------------------
   */
}
.single-article__body .wp-block-table.is-style-article-table tbody {
  filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.08));
}
.single-article__body .wp-block-table.is-style-article-table tbody td {
  position: relative;
  padding: 2rem 2.5rem;
  background: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  vertical-align: top;
}
.single-article__body .wp-block-table.is-style-article-table tbody td p {
  margin-bottom: 0;
}
.single-article__body .wp-block-table.is-style-article-table tbody tr:first-child td:first-child {
  border-radius: 24px 0 0 0;
}
.single-article__body .wp-block-table.is-style-article-table tbody tr:first-child td:last-child {
  border-radius: 24px 0 0 0;
}
.single-article__body .wp-block-table.is-style-article-table tbody tr:last-child td:first-child {
  border-radius: 0 0 24px 24px;
}
.single-article__body .wp-block-table.is-style-article-table tbody tr:last-child td:last-child {
  border-radius: 0 0 24px 24px;
}
.single-article__body .wp-block-table.is-style-article-table tbody {
  /**
   * Separator
   */
}
.single-article__body .wp-block-table.is-style-article-table tbody tr:not(:last-child) td::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 2.5rem;
  width: 160px;
  height: 1px;
  background: #23afa2;
}
.single-article__body .wp-block-table.is-style-article-table tbody tr:not(:last-child) td:last-child::after {
  background: #f9d64d;
}
.single-article__body {
  /**
   * ========================================================
   * IMAGE STYLE
   * ========================================================
   */
}
.single-article__body .wp-block-image.is-style-article-image {
  position: relative;
  width: 100%;
  height: clamp(320px, 38vw, 520px);
  margin-top: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  overflow: hidden;
  border-radius: 24px;
}
.single-article__body .wp-block-image.is-style-article-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.single-article__body .wp-block-image.is-style-article-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(21, 39, 36, 0) 35%, rgba(21, 39, 36, 0.25) 60%, rgba(21, 39, 36, 0.85) 100%);
}
.single-article__body .wp-block-image {
  /**
  * Native Gutenberg rounded
  */
}
.single-article__body .wp-block-image.is-style-rounded img {
  border-radius: 24px;
}
.single-article__body .wp-block-image {
  /**
  * Native Gutenberg centered
  */
}
.single-article__body .wp-block-image.aligncenter {
  margin-right: auto;
  margin-left: auto;
}
.single-article__body .wp-block-image.aligncenter img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.single-article__body {
  /**
   * ========================================================
   * HIGHLIGHT
   * ========================================================
   */
}
.single-article__body mark {
  padding: 0 0.06em;
  color: inherit !important;
  background: linear-gradient(to bottom, transparent 5%, #f9d64d 5%, #f9d64d 95%, transparent 95%) !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.single-article__body {
  /**
   * Sur fond jaune → highlight blanc
   */
}
.single-article__body .is-style-article-yellow mark {
  background: linear-gradient(to bottom, transparent 5%, #ffffff 5%, #ffffff 95%, transparent 95%) !important;
}

/**
 * ============================================================
 * ARTICLE — PARTNERS
 * ============================================================
 */
.article-partners {
  width: 100%;
  padding-top: clamp(4rem, 7vw, 7rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
  background: #f9d64d;
  color: #152724;
}
.article-partners__container {
  width: calc(100% - 32px);
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
.article-partners__title {
  margin: 0 0 clamp(3rem, 6vw, 5rem) !important;
  font-weight: 800;
  line-height: 1.05;
  text-align: center;
  text-wrap: balance;
}
.article-partners__title mark {
  padding: 0 0.08em;
  background: #ffffff !important;
  color: #152724 !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.article-partners__list {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
}
.article-partners__item {
  display: grid !important;
  grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.6fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
  margin: 0;
}
.article-partners__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  margin: 0;
}
.article-partners__logo img {
  display: block;
  width: auto;
  max-width: 230px;
  max-height: 130px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.article-partners__content {
  min-width: 0;
}
.article-partners__name {
  margin: 0 0 1rem !important;
  font-size: 1rem !important;
  font-weight: 800;
  line-height: 1.3;
}
.article-partners__description {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}
.article-partners__description strong {
  font-weight: 800;
}

/**
 * ============================================================
 * ARTICLE — EVALUATION
 * ============================================================
 */
.article-evaluation {
  width: 100%;
  padding-top: clamp(4rem, 7vw, 7rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
  background: #f9d64d;
  color: #152724;
}
.article-evaluation__container {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.article-evaluation__title {
  max-width: 900px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-weight: 800;
  line-height: 1.05;
}
.article-evaluation__title mark {
  padding: 0 0.06em;
  background: #ffffff !important;
  color: #152724 !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.article-evaluation__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: clamp(3rem, 6vw, 5rem) 0;
  text-align: center;
}
.article-evaluation__main-score {
  display: inline-flex !important;
  align-items: baseline !important;
  width: auto;
  padding: 0.15em 0.3em;
  background: #152724;
  color: #ffffff;
  transform: rotate(-0.7deg);
}
.article-evaluation__main-score p {
  margin: 0 !important;
  color: inherit;
  font-size: clamp(3rem, 2rem + 4vw, 5rem) !important;
  font-weight: 800;
  line-height: 1;
}
.article-evaluation__score-value, .article-evaluation__score-total {
  margin: 0 !important;
}
.article-evaluation__main-description {
  max-width: 600px;
  margin: 1rem 0 0 !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}
.article-evaluation__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
.article-evaluation__item {
  text-align: center;
}
.article-evaluation__item-title {
  margin: 0 0 1.5rem !important;
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem) !important;
  font-weight: 800;
  line-height: 1.2;
}
.article-evaluation__item-score {
  display: flex !important;
  align-items: baseline;
  justify-content: center;
  gap: 0;
  margin-bottom: 1rem;
}
.article-evaluation__item-score p {
  margin: 0 !important;
  font-size: clamp(2.5rem, 2rem + 1.5vw, 3.5rem) !important;
  font-weight: 800;
  line-height: 1;
}
.article-evaluation__item-description {
  margin: 0 !important;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}

/**
 * ============================================================
 * ARTICLE — 2 IMAGES
 * ============================================================
 */
.article-two-images {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin: clamp(2rem, 4vw, 3.5rem) auto;
}
.article-two-images__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
}
.article-two-images .wp-block-column {
  min-width: 0;
  margin: 0;
}
.article-two-images__figure {
  width: 100%;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 20px;
  aspect-ratio: 16/8;
}
.article-two-images__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.article-two-images img {
  border-radius: 20px;
}

/**
 * ============================================================
 * ARTICLE — IMAGE + BADGE
 * ============================================================
 */
.article-image-badge {
  position: relative;
  width: calc(100% - 32px);
  max-width: 1200px;
  margin: clamp(2rem, 4vw, 3.5rem) auto clamp(4rem, 6vw, 6rem);
}
.article-image-badge__media {
  position: relative;
  width: 100%;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 20px;
}
.article-image-badge__media::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.05) 0%, rgba(21, 39, 36, 0.2) 35%, rgba(21, 39, 36, 0.75) 100%);
}
.article-image-badge__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/5;
  -o-object-fit: cover;
     object-fit: cover;
}
.article-image-badge__badge {
  position: absolute;
  z-index: 2;
  right: clamp(-2rem, -1.5vw, -1rem);
  bottom: clamp(-3rem, -3vw, -2rem);
  width: clamp(130px, 15vw, 210px);
  margin: 0 !important;
}
.article-image-badge__badge-image {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/**
 * ============================================================
 * ARTICLE — SECTION SOMBRE
 * ============================================================
 */
.article-dark-section {
  position: relative;
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-top: clamp(4rem, 7vw, 6rem);
  padding-bottom: clamp(4rem, 7vw, 6rem);
  overflow: hidden;
  background: radial-gradient(ellipse 65% 50% at 50% 0%, #23afa2 0%, #152724 70%);
  color: #ffffff;
}
.article-dark-section__container {
  position: relative;
  z-index: 2;
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.article-dark-section__title {
  max-width: 1200px;
  margin-top: 0 !important;
  font-weight: 800;
  line-height: 1.02;
  color: #ffffff;
}
.article-dark-section__title mark {
  color: #152724 !important;
}
.article-dark-section__content {
  max-width: 1100px;
  color: #ffffff;
}
.article-dark-section__content p {
  margin: 0 0 1.5rem;
  color: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}
.article-dark-section__content p:last-child {
  margin-bottom: 0;
}
.article-dark-section__content ul,
.article-dark-section__content ol {
  margin: 1.5rem 0 0;
  padding-left: 1.5rem;
  color: inherit;
}
.article-dark-section__content li {
  margin-bottom: 0.25rem;
  color: inherit;
}
.article-dark-section__content li:last-child {
  margin-bottom: 0;
}
.article-dark-section__content strong {
  font-weight: 800;
}
.article-dark-section__content a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/**
 * ============================================================
 * ARTICLE — INFOS CLÉS
 * ============================================================
 */
.article-key-infos {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-top: clamp(3.5rem, 6vw, 4.5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
  border-top: 12px solid #f9d64d;
  background: #152724;
  color: #ffffff;
}
.article-key-infos__container {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.article-key-infos__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2.5rem, 6vw, 6rem);
  margin: 0;
}
.article-key-infos__item {
  min-width: 0;
}
.article-key-infos__title {
  margin: 0 0 1rem !important;
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
}
.article-key-infos__highlight {
  display: inline;
  padding: 0;
  background: transparent !important;
  color: #f9d64d !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.article-key-infos__content {
  margin: 0 !important;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
.article-key-infos__content strong {
  font-weight: 800;
}
.article-key-infos__content a {
  color: inherit;
}

/**
 * ============================================================
 * ARTICLE — FAQ
 * ============================================================
 */
.article-faq {
  padding-top: clamp(4rem, 7vw, 7rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
  background: #ffffff;
}
.article-faq__container {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.article-faq {
  /**
   * --------------------------------------------------------
   * TITLE
   * --------------------------------------------------------
   */
}
.article-faq__title {
  max-width: 650px;
  margin-top: 0 !important;
  margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
  color: #152724;
  font-size: clamp(2.5rem, 1.8rem + 2vw, 3.125rem);
  font-weight: 800;
  line-height: 0.95;
  text-wrap: balance;
}
.article-faq__title mark {
  padding: 0 0.06em;
  background: #f9d64d !important;
  color: #152724 !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.article-faq {
  /**
   * --------------------------------------------------------
   * ITEMS
   * --------------------------------------------------------
   */
}
.article-faq__items {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin: 0;
}
.article-faq {
  /**
   * --------------------------------------------------------
   * ITEM / DETAILS
   * --------------------------------------------------------
   */
}
.article-faq__item {
  width: 100%;
  padding: 30px 4.75rem 30px 1.5rem;
  margin-bottom: 20px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 14px;
  background: rgba(21, 39, 36, 0.07);
  /**
   * Supprime le marker natif de <details>.
   */
}
.article-faq__item > summary {
  list-style: none;
}
.article-faq__item > summary::-webkit-details-marker {
  display: none;
}
.article-faq__item > summary::marker {
  content: "";
}
.article-faq {
  /**
   * --------------------------------------------------------
   * QUESTION
   * --------------------------------------------------------
   */
}
.article-faq__question {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 64px;
  margin: 0 !important;
  padding: 1rem 4.75rem 1rem 1.5rem;
  color: #152724;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  /**
   * Cercle sombre.
   */
}
.article-faq__question::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #152724;
  transform: translateY(-50%);
}
.article-faq__question {
  /**
   * Barre horizontale.
   */
}
.article-faq__question::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(1.5rem + 8px);
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background: #ffffff;
  transform: translateY(-50%);
}
.article-faq {
  /**
   * Barre verticale du +
   */
}
.article-faq__question {
  background-image: linear-gradient(#ffffff, #ffffff);
  background-repeat: no-repeat;
  background-size: 2px 14px;
  background-position: calc(100% - 1.5rem - 14px) 50%;
}
.article-faq {
  /**
   * --------------------------------------------------------
   * ANSWER
   * --------------------------------------------------------
   */
}
.article-faq__answer {
  margin: 0 !important;
  padding-top: 16px;
  color: #152724;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}
.article-faq {
  /**
   * --------------------------------------------------------
   * OPEN
   * --------------------------------------------------------
   */
}
.article-faq__item[open] .article-faq__question {
  /**
   * Cache la barre verticale du +
   * pour obtenir un -
   */
  background-size: 0 0;
}

/**
 * ============================================================
 * ARTICLE — ICONES INFORMATIONS
 * ============================================================
 */
.article-icon-infos {
  padding-top: clamp(3rem, 6vw, 6rem);
  padding-bottom: clamp(3rem, 6vw, 6rem);
  background: #ffffff;
}
.article-icon-infos__container {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.article-icon-infos__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(2rem, 4vw, 4rem);
  margin: 0;
}
.article-icon-infos__item {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  text-align: center;
}
.article-icon-infos__item img {
  width: 102px;
  height: 102px;
}
.article-icon-infos__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 102px;
  height: 102px;
  margin: 0 0 1.75rem !important;
}
.article-icon-infos__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.article-icon-infos__title {
  margin: 0 0 0.15rem !important;
  font-size: 18px !important;
  font-weight: 800;
  line-height: 1.3;
  color: #152724;
}
.article-icon-infos__text {
  max-width: 260px;
  margin: 0 !important;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  color: #152724;
}

/**
 * ============================================================
 * ARTICLE — CITATION
 * ============================================================
 */
.article-quote {
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  background: #ffffff;
}
.article-quote__container {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.article-quote__blockquote {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.article-quote__icon {
  display: block;
  height: 42px;
  margin: 0 0 0.75rem !important;
  font-size: clamp(3rem, 2.5rem + 1vw, 4rem) !important;
  font-weight: 800;
  line-height: 1;
  color: #f9d64d;
}
.article-quote__text {
  max-width: 1050px;
  margin: 0 !important;
  font-weight: 500;
  line-height: 1.35;
  color: #152724;
}
.article-quote__text strong {
  font-weight: 800;
}
.article-quote__footer {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2rem;
}
.article-quote__author {
  position: relative;
  z-index: 0;
  display: inline-block;
  width: auto;
  margin: 0 !important;
  padding: 0 0.1em;
  font-size: 1rem !important;
  font-weight: 800;
  line-height: 1.15;
  color: #152724;
}
.article-quote__author::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #f9d64d;
  transform: rotate(-0.4deg);
}
.article-quote__position {
  margin: 0.15rem 0 0 !important;
  font-size: 1rem !important;
  font-weight: 500;
  line-height: 1.3;
  color: #152724;
}

.article-table {
  padding-top: clamp(2rem, 5vw, 4rem);
  padding-bottom: clamp(2rem, 5vw, 4rem);
  background: #ffffff;
}
.article-table__container {
  width: calc(100% - 32px);
  max-width: 1300px;
  margin-right: auto;
  margin-left: auto;
}
.article-table__head, .article-table__row {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 12px;
  margin: 0;
}
.article-table__head {
  margin-bottom: 16px;
}
.article-table__head .wp-block-column {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  background: #23afa2;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}
.article-table__head .wp-block-column p {
  margin: 0 !important;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
}
.article-table__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.article-table__row {
  padding: 1.25rem 1rem;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}
.article-table__row .wp-block-column {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0 1rem;
}
.article-table__row .wp-block-column p {
  margin: 0 !important;
  color: #152724;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

/**
 * ============================================================
 * ARTICLE — CARTES INFORMATIONS
 * ============================================================
 */
.article-cards {
  padding-top: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}
.article-cards__container {
  width: calc(100% - 32px);
  max-width: 1300px;
  margin-right: auto;
  margin-left: auto;
}
.article-cards__grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}
.article-cards__item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 112px;
  margin: 0 !important;
  padding: 1.25rem;
  border-radius: 22px;
  background: rgba(249, 214, 77, 0.18);
}
.article-cards__text {
  margin: 0 !important;
  color: #152724;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.article-cards__text strong {
  font-weight: 800;
}

/**
 * ============================================================
 * RESPONSIVE ARTICLE COMPONENTS
 * ============================================================
 */
@media (max-width: 1023px) {
  .article-partners__item {
    gap: 2rem;
  }
  .article-evaluation__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .article-key-infos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .article-icon-infos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .article-cards__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .article-table__head {
    display: none !important;
  }
  .article-table__row {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    overflow: hidden;
  }
  .article-table__row .wp-block-column {
    display: grid;
    grid-template-columns: 140px 1fr;
    justify-content: initial;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(21, 39, 36, 0.08);
    text-align: left;
  }
  .article-table__row .wp-block-column::before {
    padding-right: 1rem;
    color: #152724;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.2;
  }
  .article-table__row .wp-block-column p {
    text-align: left;
  }
  .article-table__row .wp-block-column:nth-child(1)::before {
    content: "Type d’opération";
  }
  .article-table__row .wp-block-column:nth-child(2)::before {
    content: "Catégorie";
  }
  .article-table__row .wp-block-column:nth-child(3)::before {
    content: "Entrée en vigueur";
  }
  .article-table__row .wp-block-column:nth-child(4)::before {
    content: "Bonification";
  }
  .article-table__row .wp-block-column:last-child {
    border-bottom: 0;
  }
}
@media (max-width: 767px) {
  .article-partners__item {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }
  .article-partners__logo {
    min-height: 80px;
  }
  .article-partners__logo img {
    max-width: 180px;
    max-height: 100px;
  }
  .article-evaluation__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .article-two-images__grid {
    grid-template-columns: 1fr;
  }
  .article-two-images__figure {
    aspect-ratio: 16/10;
  }
  .article-image-badge {
    margin-bottom: 4.5rem;
  }
  .article-image-badge__image {
    aspect-ratio: 16/10;
  }
  .article-image-badge__badge {
    right: 0;
    bottom: -3rem;
    width: 120px;
  }
  .article-key-infos__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .article-faq__title {
    margin-bottom: 2rem !important;
  }
  .article-faq__question {
    min-height: 60px;
    padding: 1rem 4rem 1rem 1.25rem;
    font-size: 0.8125rem;
  }
  .article-faq__question::before {
    right: 1.25rem;
    width: 28px;
    height: 28px;
  }
  .article-faq__question::after {
    right: calc(1.25rem + 7px);
    width: 14px;
  }
  .article-faq__question {
    background-position: calc(100% - 1.25rem - 13px) 50%;
  }
  .article-faq__answer {
    padding: 0 4rem 1.25rem 1.25rem;
  }
  .article-icon-infos__grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .article-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .article-cards__item {
    min-height: 105px;
    padding: 1rem;
  }
}
@media (max-width: 600px) {
  .article-table__row .wp-block-column {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .article-table__row .wp-block-column::before {
    padding-right: 0;
  }
}
@media (max-width: 480px) {
  .article-cards__grid {
    grid-template-columns: 1fr;
  }
}
.sigle-altens {
  position: absolute;
  aspect-ratio: 1/1;
  height: unset;
  width: max(40vw, 320px);
  left: max(-20vw, -200px);
  max-width: 500px;
  top: 50%;
}

.highlight-marker {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 0.08em;
  color: #152724;
}
.highlight-marker::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0.06em -0.05em -0.02em;
  background-color: #f9d64d;
  transform: scaleX(0) rotate(0);
  transform-origin: left center;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.highlight-marker.is-visible::before {
  transform: scaleX(1) rotate(0);
}
.highlight-marker.highlight_white:before {
  background-color: white;
}
.highlight-marker.highlight-marker-rotate::before {
  transform: scaleX(0) rotate(0);
}
.highlight-marker.highlight-marker-rotate.is-visible::before {
  transform: scaleX(1) rotate(0);
}
.highlight-marker.highlight-norotate.is-visible::before {
  transform: scaleX(1) rotate(0deg);
}

.marquee {
  width: 100%;
  transform: rotate(-1.05deg);
  transform-origin: center;
  min-height: 52px;
}
.marquee__track {
  animation: marquee-scroll 22s linear infinite;
  will-change: transform;
}
.marquee__text, .marquee__separator {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  font-weight: 800;
  line-height: 1;
}

@keyframes marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-25%);
  }
}
.news-page {
  /**
   * --------------------------------------------------------
   * LOAD MORE
   * --------------------------------------------------------
   */
}
.news-page__load-more {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
.news-page {
  /**
   * --------------------------------------------------------
   * EMPTY / NO RESULTS
   * --------------------------------------------------------
   */
}
.news-page__empty, .news-page__no-results {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

/**
 * ============================================================
 * NEWS FILTERS
 * ============================================================
 */
.news-filters {
  /**
   * --------------------------------------------------------
   * SEARCH
   * --------------------------------------------------------
   */
}
.news-filters__search {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.news-filters__search::-moz-placeholder {
  opacity: 0.5;
}
.news-filters__search::placeholder {
  opacity: 0.5;
}
.news-filters__search::-webkit-search-cancel-button {
  display: none;
}
.news-filters {
  /**
   * --------------------------------------------------------
   * CATEGORIES
   * --------------------------------------------------------
   */
}
.news-filters__category {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}
.news-filters__category.is-active {
  color: #ffffff;
  background-color: #23afa2;
}

/**
 * ============================================================
 * NEWS GRID
 * ============================================================
 */
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

/**
 * ============================================================
 * NEWS CARD
 * ============================================================
 */
.news-card {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border-radius: 20px;
  background-color: #152724;
  /**
   * --------------------------------------------------------
   * PATTERN DESKTOP
   * --------------------------------------------------------
   *
   * 1 : 2/3
   * 2 : 1/3
   *
   * 3 : 1/3
   * 4 : 2/3
   *
   * Puis le pattern recommence.
   */
}
.news-card:nth-child(4n+1) {
  grid-column: span 2;
}
.news-card:nth-child(4n+2) {
  grid-column: span 1;
}
.news-card:nth-child(4n+3) {
  grid-column: span 1;
}
.news-card:nth-child(4n+4) {
  grid-column: span 2;
}
.news-card--large {
  grid-column: span 2;
}
.news-card--large .news-card__title {
  max-width: 520px;
}
.news-card--small {
  grid-column: span 1;
}
.news-card--small .news-card__title {
  max-width: 330px;
}
.news-card {
  /**
   * ========================================================
   * IMAGE
   * ========================================================
   */
}
.news-card--image > img {
  transition: transform 0.7s ease;
}
.news-card--image .news-card__overlay {
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.05) 0%, rgba(21, 39, 36, 0.15) 35%, rgba(21, 39, 36, 0.9) 100%);
}
.news-card--image:hover > img {
  transform: scale(1.04);
}
.news-card {
  /**
   * ========================================================
   * SANS IMAGE
   * ========================================================
   */
}
.news-card--plain .news-card__background {
  background: linear-gradient(120deg, #000000 0%, #135f53 100%);
}
.news-card {
  /**
   * --------------------------------------------------------
   * OVERLAY
   * --------------------------------------------------------
   */
}
.news-card__overlay {
  pointer-events: none;
  background: linear-gradient(180deg, rgba(21, 39, 36, 0.05) 0%, rgba(21, 39, 36, 0.15) 35%, rgba(21, 39, 36, 0.92) 100%);
}
.news-card {
  /**
   * --------------------------------------------------------
   * CATEGORY
   * --------------------------------------------------------
   */
}
.news-card__category {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
}
.news-card {
  /**
   * --------------------------------------------------------
   * DATE
   * --------------------------------------------------------
   */
}
.news-card__date {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
}
.news-card {
  /**
   * --------------------------------------------------------
   * TITLE
   * --------------------------------------------------------
   */
}
.news-card__title {
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.75rem);
  font-weight: 800;
  line-height: 1.05;
}
.news-card {
  /**
   * --------------------------------------------------------
   * LARGE CARD
   * --------------------------------------------------------
   */
}
.news-card:nth-child(4n+1) .news-card__title, .news-card:nth-child(4n+4) .news-card__title {
  max-width: 520px;
}
.news-card {
  /**
   * --------------------------------------------------------
   * SMALL CARD
   * --------------------------------------------------------
   */
}
.news-card:nth-child(4n+2) .news-card__title, .news-card:nth-child(4n+3) .news-card__title {
  max-width: 330px;
}
.news-card {
  /**
   * --------------------------------------------------------
   * ARROW
   * --------------------------------------------------------
   */
}
.news-card__arrow {
  transition: transform 0.3s ease;
}
.news-card:hover .news-card__arrow {
  transform: translate(4px, -4px);
}

/**
 * ============================================================
 * NEWSLETTER
 * ============================================================
 */
.newsletter-actu__content {
  background: linear-gradient(110deg, #000000 0%, #135f53 100%);
}
.newsletter-actu {
  /**
   * --------------------------------------------------------
   * TITLE
   * --------------------------------------------------------
   */
}
.newsletter-actu__title {
  font-size: clamp(2rem, 1.5rem + 1.5vw, 2.75rem);
  font-weight: 800;
  line-height: 1.02;
}
.newsletter-actu {
  /**
   * --------------------------------------------------------
   * SUBTITLE
   * --------------------------------------------------------
   */
}
.newsletter-actu__subtitle {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-weight: 800;
  line-height: 1.3;
}
.newsletter-actu {
  /**
   * --------------------------------------------------------
   * TEXT
   * --------------------------------------------------------
   */
}
.newsletter-actu__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.newsletter-actu__text p {
  margin: 0;
}
.newsletter-actu {
  /**
   * --------------------------------------------------------
   * INPUT
   * --------------------------------------------------------
   */
}
.newsletter-actu__input {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}

/**
 * ============================================================
 * FORMULAIRE
 * ============================================================
 */
.frm_style_formidable-style.with_frm_style .form-field {
  margin-bottom: 10px;
}

.with_frm_style input[type=text],
.with_frm_style input[type=password],
.with_frm_style input[type=email],
.with_frm_style input[type=number],
.with_frm_style input[type=url],
.with_frm_style input[type=tel],
.with_frm_style input[type=file],
.with_frm_style input[type=search],
.with_frm_style select,
.with_frm_style .frm-card-element.StripeElement {
  min-height: 54px;
}

.contact-form-message {
  display: flex !important;
  flex-direction: column;
  align-self: stretch;
}
.contact-form-message .contact-form-message-field {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}
.contact-form-message .contact-form-message-field .frm_primary_label {
  flex-shrink: 0;
}
.contact-form-message .contact-form-message-field textarea {
  flex: 1;
  width: 100%;
  height: auto !important;
  min-height: 0;
  resize: vertical;
}

.frm_style_formidable-style.with_frm_style .frm_section_heading {
  margin-top: 0;
}

.frm_style_formidable-style.with_frm_style .frm-show-form .frm_section_heading .frm_section_spacing {
  margin-top: 0;
  padding-top: 0;
}

.frm_style_formidable-style.with_frm_style .frm-show-form .frm_section_heading h3[class*=frm_pos_] {
  border: 0;
}

.frm_pos_top.frm_section_spacing {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
}
.frm_pos_top.frm_section_spacing::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -0.1em;
  right: -0.1em;
  bottom: -0.05em;
  height: 1.5em;
  background-color: #f9d64d;
  transform: rotate(-1deg);
  transform-origin: left center;
}

.contact-form-rgpd {
  margin-top: 24px;
}

.contact-form-submit {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}
.contact-form-submit .frm_button_submit.frm_final_submit {
  border: none !important;
  background: #23afa2 !important;
  text-transform: uppercase;
  font-weight: 700 !important;
  min-width: 280px;
  font-size: 16px !important;
  padding: 10px 32px !important;
}
.contact-form-submit .frm_button_submit.frm_final_submit:hover {
  background: #152724 !important;
}

.content-gutenberg {
  color: #152724;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
}
.content-gutenberg p {
  margin: 0 0 1.25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  color: #152724;
}
.content-gutenberg p:last-child {
  margin-bottom: 0;
}
.content-gutenberg h2,
.content-gutenberg h3,
.content-gutenberg h4,
.content-gutenberg h5,
.content-gutenberg h6 {
  color: #152724;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  text-wrap: balance;
}
.content-gutenberg h2 {
  margin: 3.5rem 0 1.25rem;
  font-size: clamp(1.75rem, 1.45rem + 1vw, 2.5rem);
  line-height: 1.1;
}
.content-gutenberg h2:first-child {
  margin-top: 0;
}
.content-gutenberg h3 {
  margin: 2.5rem 0 1rem;
  font-size: clamp(1.35rem, 1.2rem + 0.5vw, 1.75rem);
  line-height: 1.2;
}
.content-gutenberg h4 {
  margin: 2rem 0 0.75rem;
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.35rem);
  line-height: 1.3;
}
.content-gutenberg h5 {
  margin: 1.75rem 0 0.75rem;
  font-size: 1.125rem;
  line-height: 1.4;
}
.content-gutenberg h6 {
  margin: 1.5rem 0 0.75rem;
  font-size: 1rem;
  line-height: 1.4;
}
.content-gutenberg strong,
.content-gutenberg b {
  font-weight: 800;
}
.content-gutenberg a {
  color: #23afa2;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.content-gutenberg a:hover, .content-gutenberg a:focus-visible {
  color: #152724;
}
.content-gutenberg ul,
.content-gutenberg ol {
  margin: 1rem 0 1.5rem;
  padding-left: 1.5rem;
}
.content-gutenberg ul li,
.content-gutenberg ol li {
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
  font-size: 1rem;
  line-height: 1.65;
}
.content-gutenberg ul li:last-child,
.content-gutenberg ol li:last-child {
  margin-bottom: 0;
}
.content-gutenberg ul {
  list-style: none;
  padding-left: 0;
}
.content-gutenberg ul li {
  position: relative;
  padding-left: 1.5rem;
}
.content-gutenberg ul li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #23afa2;
}
.content-gutenberg ol {
  padding-left: 1.5rem;
  list-style: decimal;
}
.content-gutenberg ol li {
  padding-left: 0.35rem;
}
.content-gutenberg ol li::marker {
  color: #23afa2;
  font-weight: 800;
}
.content-gutenberg ul ul,
.content-gutenberg ul ol,
.content-gutenberg ol ul,
.content-gutenberg ol ol {
  margin: 0.5rem 0 0.75rem;
}
.content-gutenberg blockquote {
  margin: 2.5rem 0;
  padding: 1.5rem 2rem;
  border-left: 4px solid #23afa2;
  border-radius: 0 12px 12px 0;
  background-color: #eaf2eb;
}
.content-gutenberg blockquote p {
  margin: 0;
  font-weight: 600;
}
.content-gutenberg blockquote cite {
  display: block;
  margin-top: 1rem;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
}
.content-gutenberg hr,
.content-gutenberg .wp-block-separator {
  width: 100%;
  margin: 3rem 0;
  border: 0;
  border-top: 1px solid rgba(21, 39, 36, 0.15);
}
.content-gutenberg img {
  max-width: 100%;
  height: auto;
}
.content-gutenberg figure {
  margin: 2rem 0;
}
.content-gutenberg figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.content-gutenberg figure figcaption {
  margin-top: 0.75rem;
  color: rgba(21, 39, 36, 0.65);
  font-size: 0.875rem;
  line-height: 1.5;
}
.content-gutenberg .wp-block-table {
  margin: 2rem 0;
  overflow-x: auto;
}
.content-gutenberg .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
.content-gutenberg .wp-block-table th,
.content-gutenberg .wp-block-table td {
  padding: 0.9rem 1rem;
  border: 1px solid rgba(21, 39, 36, 0.15);
  text-align: left;
  vertical-align: top;
}
.content-gutenberg .wp-block-table th {
  background-color: #152724;
  color: #ffffff;
  font-weight: 800;
}
.content-gutenberg .wp-block-table tbody tr:nth-child(even) {
  background-color: rgba(234, 242, 235, 0.5);
}
.content-gutenberg .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 2rem 0;
}
.content-gutenberg .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  background-color: #23afa2;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.content-gutenberg .wp-block-button__link:hover, .content-gutenberg .wp-block-button__link:focus-visible {
  background-color: #152724;
  color: #ffffff;
  transform: translateY(-2px);
}
.content-gutenberg .wp-block-group {
  margin: 2rem 0;
}
.content-gutenberg .wp-block-group:first-child {
  margin-top: 0;
}
.content-gutenberg .wp-block-group:last-child {
  margin-bottom: 0;
}
.content-gutenberg .wp-block-columns {
  gap: 2rem;
  margin: 2rem 0;
}
.content-gutenberg code {
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  background-color: #eaf2eb;
  font-size: 0.9em;
}
.content-gutenberg pre {
  margin: 2rem 0;
  padding: 1.5rem;
  overflow-x: auto;
  border-radius: 12px;
  background-color: #152724;
  color: #ffffff;
}
.content-gutenberg pre code {
  padding: 0;
  background: transparent;
  color: inherit;
}
.content-gutenberg address {
  margin: 1.5rem 0;
  font-style: normal;
  line-height: 1.7;
}
.content-gutenberg > *:first-child {
  margin-top: 0;
}
.content-gutenberg > *:last-child {
  margin-bottom: 0;
}

.legal-content {
  /**
   * On limite volontairement la largeur de lecture.
   *
   * Ton container PHP peut rester à 1200px :
   * le texte, lui, ne s'étale pas sur toute cette largeur.
   */
}
.legal-content .content-gutenberg {
  width: 100%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 1023px) {
  .content-gutenberg h2 {
    margin-top: 3rem;
  }
  .content-gutenberg h3 {
    margin-top: 2.25rem;
  }
  .content-gutenberg blockquote {
    padding: 1.25rem 1.5rem;
  }
  .legal-content .content-gutenberg {
    max-width: 100%;
  }
}
@media (max-width: 639px) {
  .content-gutenberg {
    font-size: 0.9375rem;
    line-height: 1.65;
  }
  .content-gutenberg p {
    margin-bottom: 1rem;
    font-size: 0.9375rem;
    line-height: 1.65;
  }
  .content-gutenberg h2 {
    margin: 2.5rem 0 1rem;
    font-size: clamp(1.5rem, 1.3rem + 1vw, 1.75rem);
  }
  .content-gutenberg h3 {
    margin: 2rem 0 0.75rem;
    font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
  }
  .content-gutenberg h4 {
    margin-top: 1.75rem;
    font-size: 1.125rem;
  }
  .content-gutenberg ul li,
  .content-gutenberg ol li {
    font-size: 0.9375rem;
  }
  .content-gutenberg blockquote {
    margin: 2rem 0;
    padding: 1.25rem;
    border-left-width: 3px;
  }
  .content-gutenberg .wp-block-table table {
    min-width: 600px;
    font-size: 0.875rem;
  }
  .content-gutenberg .wp-block-table th,
  .content-gutenberg .wp-block-table td {
    padding: 0.75rem 0.85rem;
  }
  .content-gutenberg .wp-block-columns {
    gap: 1.5rem;
  }
}
@media (min-width: 1300px) {
  .sectors-grid .swiper-wrapper,
  .vision-grid .swiper-wrapper {
    display: flex !important;
    grid-template-columns: none !important;
    /**
     * --------------------------------------------------
     * CARTES
     * --------------------------------------------------
     */
  }
  .sectors-grid .swiper-wrapper .sectors-grid__card,
  .sectors-grid .swiper-wrapper .vision-grid__card,
  .vision-grid .swiper-wrapper .sectors-grid__card,
  .vision-grid .swiper-wrapper .vision-grid__card {
    flex: 1 1 0;
    transition: flex 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .sectors-grid .swiper-wrapper,
  .vision-grid .swiper-wrapper {
    /**
     * --------------------------------------------------
     * CONTENU FERMÉ PAR DÉFAUT
     * --------------------------------------------------
     */
  }
  .sectors-grid .swiper-wrapper .sectors-grid__card-description,
  .sectors-grid .swiper-wrapper .vision-grid__content,
  .vision-grid .swiper-wrapper .sectors-grid__card-description,
  .vision-grid .swiper-wrapper .vision-grid__content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.45s ease;
  }
  .sectors-grid .swiper-wrapper,
  .vision-grid .swiper-wrapper {
    /**
     * --------------------------------------------------
     * SECTORS GRID
     * PREMIÈRE CARTE OUVERTE PAR DÉFAUT
     * --------------------------------------------------
     */
  }
  .sectors-grid .swiper-wrapper .sectors-grid__card.is-active,
  .vision-grid .swiper-wrapper .sectors-grid__card.is-active {
    flex: 2 1 0;
  }
  .sectors-grid .swiper-wrapper .sectors-grid__card.is-active .sectors-grid__card-description,
  .vision-grid .swiper-wrapper .sectors-grid__card.is-active .sectors-grid__card-description {
    max-height: 300px;
    opacity: 1;
    transform: translateY(0);
  }
  .sectors-grid .swiper-wrapper,
  .vision-grid .swiper-wrapper {
    /**
     * --------------------------------------------------
     * HOVER SUR LE WRAPPER
     *
     * Dès qu'on entre sur les cartes :
     * - toutes les cartes se réduisent
     * - la première carte active se ferme
     * --------------------------------------------------
     */
  }
  .sectors-grid .swiper-wrapper:hover .sectors-grid__card,
  .sectors-grid .swiper-wrapper:hover .vision-grid__card,
  .vision-grid .swiper-wrapper:hover .sectors-grid__card,
  .vision-grid .swiper-wrapper:hover .vision-grid__card {
    flex: 0.8 1 0;
  }
  .sectors-grid .swiper-wrapper:hover,
  .vision-grid .swiper-wrapper:hover {
    /**
     * Fermeture de la première carte active.
     */
  }
  .sectors-grid .swiper-wrapper:hover .sectors-grid__card.is-active .sectors-grid__card-description,
  .vision-grid .swiper-wrapper:hover .sectors-grid__card.is-active .sectors-grid__card-description {
    max-height: 0;
    opacity: 0;
    transform: translateY(12px);
  }
  .sectors-grid .swiper-wrapper:hover,
  .vision-grid .swiper-wrapper:hover {
    /**
     * --------------------------------------------------
     * CARTE SURVOLÉE
     * --------------------------------------------------
     */
  }
  .sectors-grid .swiper-wrapper:hover .sectors-grid__card:hover,
  .sectors-grid .swiper-wrapper:hover .vision-grid__card:hover,
  .vision-grid .swiper-wrapper:hover .sectors-grid__card:hover,
  .vision-grid .swiper-wrapper:hover .vision-grid__card:hover {
    flex: 2 1 0;
  }
  .sectors-grid .swiper-wrapper:hover,
  .vision-grid .swiper-wrapper:hover {
    /**
     * SECTORS
     */
  }
  .sectors-grid .swiper-wrapper:hover .sectors-grid__card:hover .sectors-grid__card-description,
  .vision-grid .swiper-wrapper:hover .sectors-grid__card:hover .sectors-grid__card-description {
    max-height: 300px;
    opacity: 1;
    transform: translateY(0);
  }
  .sectors-grid .swiper-wrapper:hover,
  .vision-grid .swiper-wrapper:hover {
    /**
     * VISION
     */
  }
  .sectors-grid .swiper-wrapper:hover .vision-grid__card:hover .vision-grid__content,
  .vision-grid .swiper-wrapper:hover .vision-grid__card:hover .vision-grid__content {
    max-height: 300px;
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1023px) {
  .reviews-carousel__stage {
    height: 500px;
  }
  .reviews-carousel__card {
    width: min(720px, 82vw);
    height: 440px;
  }
  .reviews-carousel__card.is-prev {
    transform: translate(-112%, -50%) scale(0.82);
  }
  .reviews-carousel__card.is-next {
    transform: translate(12%, -50%) scale(0.82);
  }
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .news-card {
    /**
     * On supprime le pattern 2/3 - 1/3.
     */
  }
  .news-card:nth-child(n) {
    grid-column: span 1;
  }
  .article-key-infos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .single-article__body {
    /**
     * Container standard
     */
  }
  .single-article__body > h2,
  .single-article__body > h3,
  .single-article__body > h4,
  .single-article__body > h5,
  .single-article__body > h6,
  .single-article__body > p,
  .single-article__body > ul,
  .single-article__body > ol,
  .single-article__body > blockquote,
  .single-article__body > figure,
  .single-article__body > .wp-block-image,
  .single-article__body > .wp-block-gallery,
  .single-article__body > .wp-block-columns,
  .single-article__body > .wp-block-table,
  .single-article__body > .wp-block-buttons {
    width: calc(100% - 64px);
  }
  .single-article__body {
    /**
     * Container interne des sections full width
     */
  }
  .single-article__body > .wp-block-group.is-style-article-section > *, .single-article__body > .wp-block-group.is-style-article-dark > *, .single-article__body > .wp-block-group.is-style-article-yellow > * {
    width: calc(100% - 64px);
  }
  .article-icon-infos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 3.5rem;
  }
}
@media (max-width: 767px) {
  .site-footer__legal-menu {
    gap: 0.5rem 1rem;
  }
  .footer-banner__item::after {
    margin-left: 2rem;
  }
  .whitepapers-carousel__stage {
    width: 100%;
    height: 590px;
  }
  .whitepapers-carousel__slide {
    width: calc(100% - 32px);
    height: 540px;
  }
  .whitepapers-carousel__slide.is-prev {
    transform: translate(-118%, -50%) scale(0.9);
  }
  .whitepapers-carousel__slide.is-next {
    transform: translate(18%, -50%) scale(0.9);
  }
  .reviews-carousel__stage {
    height: 650px;
  }
  .reviews-carousel__card {
    width: calc(100% - 48px);
    height: 600px;
  }
  .reviews-carousel__card.is-prev, .reviews-carousel__card.is-next {
    opacity: 0;
    pointer-events: none;
  }
  .reviews-carousel__card-inner {
    grid-template-columns: 1fr;
    grid-template-rows: 42% 58%;
  }
  .reviews-carousel__image {
    min-height: 0;
  }
  .reviews-carousel__arrow {
    top: 30%;
  }
  .cee-process__line {
    background: linear-gradient(180deg, #152724 0%, #23afa2 100%);
  }
  .article-partners__title {
    margin-bottom: 3rem;
    text-align: left;
  }
  .article-partners__list {
    gap: 3.5rem;
  }
  .article-partners__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
  .article-partners__logo {
    justify-content: flex-start;
    min-height: auto;
  }
  .article-partners__logo img {
    max-width: 180px;
    max-height: 100px;
  }
  .single-article__body .wp-block-group.is-style-article-image-badge {
    margin-bottom: 4rem;
  }
  .single-article__body .wp-block-group.is-style-article-image-badge > .wp-block-image:first-child img {
    aspect-ratio: 16/9;
  }
  .single-article__body .wp-block-group.is-style-article-image-badge > .wp-block-image:last-child {
    right: 1rem;
    bottom: -2.5rem;
    width: 110px;
  }
  .article-evaluation__title {
    margin-bottom: 3rem;
  }
  .article-evaluation__main {
    margin-bottom: 4rem;
  }
  .article-evaluation__grid {
    grid-template-columns: 1fr;
    row-gap: 3rem;
  }
  .article-two-images__figure {
    aspect-ratio: 16/10;
  }
  .article-image-badge {
    margin-bottom: 4rem;
  }
  .article-image-badge__image {
    aspect-ratio: 16/9;
  }
  .article-image-badge__badge {
    right: 0.75rem;
    bottom: -2.5rem;
    width: clamp(100px, 28vw, 130px);
  }
  .article-key-infos__grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .article-key-infos__content {
    max-width: none;
  }
  .single-article__body .wp-block-quote.is-style-article-quote {
    margin-left: 30px;
  }
  .single-article__body .wp-block-quote.is-style-article-quote > p {
    font-size: 1rem;
  }
  .single-article__body .wp-block-table.is-style-article-table {
    width: calc(100% - 32px);
    overflow-x: auto;
  }
  .single-article__body .wp-block-table.is-style-article-table table {
    min-width: 700px;
    border-spacing: 0.75rem 0;
  }
  .single-article__body .wp-block-table.is-style-article-table thead th {
    padding: 1.25rem 1.5rem;
    border-radius: 16px;
  }
  .single-article__body .wp-block-table.is-style-article-table tbody td {
    padding: 1.5rem;
  }
  .single-article__body .wp-block-table.is-style-article-table tbody tr:not(:last-child) td::after {
    left: 1.5rem;
    width: 100px;
  }
}
@media (max-width: 639px) {
  .news-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.875rem;
  }
  .news-card {
    min-height: 360px;
  }
  .news-card:nth-child(n) {
    grid-column: 1/-1;
  }
  .news-card__title {
    font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.5rem);
  }
  .news-card__category, .news-card__date {
    font-size: 0.8125rem;
  }
  .news-filters__category {
    font-size: 0.875rem;
  }
  .article-faq__question {
    padding: 1.25rem;
  }
  .article-faq__question-text {
    padding-right: 1rem;
  }
  .article-faq__icon {
    width: 40px;
    height: 40px;
  }
  .article-faq__icon-horizontal, .article-faq__icon-vertical {
    width: 17px;
  }
  .article-faq__answer-inner {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
  .article-faq__item.is-open .article-faq__answer-inner {
    padding-bottom: 1.5rem;
  }
  .article-icon-infos__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
  }
  .article-icon-infos__icon {
    width: 100px;
    height: 100px;
    margin-bottom: 1.25rem;
  }
  .article-icon-infos__text {
    max-width: 320px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header {
    transition: none;
  }
  .footer-banner__track {
    animation: none;
  }
  .feature-banner__marquee-track {
    animation: none;
  }
  .clients-trust__logos-track {
    animation: none;
  }
  .highlight-marker::before {
    transform: scaleX(1) rotate(-1deg);
    transition: none;
  }
  .image-marquee__track {
    animation: none;
  }
  .timeline__item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .timeline__dot {
    scale: 1;
    transition: none;
  }
  .timeline__line-progress {
    transform: scaleY(1);
    transition: none;
  }
  .strategy-grid__marquee-track {
    animation: none;
  }
  .capacity-cards__card {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .sectors-grid__image, .sectors-grid__overlay, .sectors-grid__card-description, .sectors-grid__arrow-icon {
    transition: none;
  }
}
@media (hover: none) {
  .sectors-grid__card-description {
    opacity: 1;
    transform: translateY(0);
  }
}
/**
 * ============================================================
 * MARKETING POPUP
 * ============================================================
 */
.marketing-popup {
  border-radius: 14px;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(calc(100% + 80px), 0, 0);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.18);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease, visibility 0.4s ease;
  will-change: transform, opacity;
  /**
   * --------------------------------------------------------
   * ÉTAT OUVERT
   * --------------------------------------------------------
   */
}
.marketing-popup.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.marketing-popup {
  /**
   * --------------------------------------------------------
   * ÉTAT FERMETURE
   * --------------------------------------------------------
   */
}
.marketing-popup.is-closing {
  opacity: 0;
  transform: translate3d(calc(100% + 80px), 0, 0);
}
.marketing-popup {
  /**
   * ========================================================
   * IMAGE
   * ========================================================
   */
}
.marketing-popup__media {
  background: #152724;
}
.marketing-popup__image-gradient {
  background: linear-gradient(180deg, rgba(21, 39, 36, 0) 20%, rgba(21, 39, 36, 0.35) 55%, #152724 100%);
}
.marketing-popup {
  /**
   * ========================================================
   * CLOSE
   * ========================================================
   */
}
.marketing-popup__close {
  border: 0;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: transform 0.25s ease, background-color 0.25s ease;
}
.marketing-popup__close:hover {
  transform: rotate(8deg) scale(1.05);
  background: #f9d64d;
}
.marketing-popup__close:focus-visible {
  outline: 3px solid rgba(249, 214, 77, 0.45);
  outline-offset: 3px;
}
.marketing-popup {
  /**
   * ========================================================
   * CONTENT
   * ========================================================
   */
}
.marketing-popup__body {
  background: #152724;
}
.marketing-popup__title {
  margin: 0;
  font-size: clamp(1.25rem, 1.35rem + 0.45vw, 1.65rem);
  font-weight: 800;
  line-height: 1.08;
}
.marketing-popup__highlight {
  position: relative;
  z-index: 1;
  display: inline;
  color: #152724;
  background: #f9d64d;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.marketing-popup__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  opacity: 0.95;
}
.marketing-popup__text p {
  margin: 0;
}
.marketing-popup__text p + p {
  margin-top: 0.75rem;
}
.marketing-popup {
  /**
   * ========================================================
   * CTA
   * ========================================================
   */
}
.marketing-popup__cta {
  border-radius: 7px;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.marketing-popup__cta:hover {
  background-color: #152724;
  border: 1px solid white;
}
.marketing-popup__cta:focus-visible {
  outline: 3px solid rgba(35, 175, 162, 0.35);
  outline-offset: 3px;
}

/**
 * ============================================================
 * MOBILE
 * ============================================================
 */
@media (max-width: 767px) {
  .marketing-popup {
    right: 16px;
    bottom: 16px;
    width: calc(100% - 32px);
    max-width: 365px;
    transform: translate3d(0, calc(100% + 50px), 0);
  }
  .marketing-popup.is-open {
    transform: translate3d(0, 0, 0);
  }
  .marketing-popup.is-closing {
    transform: translate3d(0, calc(100% + 50px), 0);
  }
  .marketing-popup__media {
    height: 190px;
  }
  .marketing-popup__body {
    padding-right: 24px;
    padding-bottom: 24px;
    padding-left: 24px;
  }
}
/**
 * ============================================================
 * REDUCED MOTION
 * ============================================================
 */
@media (prefers-reduced-motion: reduce) {
  .marketing-popup,
  .marketing-popup__close,
  .marketing-popup__cta {
    transition: none;
  }
}
/**
 * Swiper 14.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 26, 2026
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  ::slotted(svg),
  svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}

.swiper-button-lock {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  ::slotted(.swiper-navigation-icon),
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}

.swiper-horizontal {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    margin-left: 0;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next,
  & ~ .swiper-button-next,
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(0deg);
    }
  }
}

.swiper-vertical {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
  }
  .swiper-button-prev,
  ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next,
  ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}

.swiper-pagination-lock {
  display: none;
}

*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com *//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Montserrat, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  body {
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    line-height: 1.1;
  }
  h1 {
    font-size: clamp(2.5rem, 1.5rem + 3.5vw, 5rem);
  }
  h2 {
    font-size: clamp(2rem, 1.25rem + 2.5vw, 3.875rem);
  }
  h3 {
    font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  }
  h4 {
    font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  }
  h5 {
    font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);
  }
  h6 {
    font-size: 1rem;
  }
  p,
  li,
  a,
  button,
  input,
  textarea,
  select,
  label {
    font-size: 1rem;
  }
.\!container{
  width: 100% !important;
}
.container{
  width: 100%;
}
@media (min-width: 640px){
  .\!container{
    max-width: 640px !important;
  }
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .\!container{
    max-width: 768px !important;
  }
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .\!container{
    max-width: 1024px !important;
  }
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .\!container{
    max-width: 1280px !important;
  }
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .\!container{
    max-width: 1536px !important;
  }
  .container{
    max-width: 1536px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0px;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.-bottom-32{
  bottom: -8rem;
}
.-bottom-6{
  bottom: -1.5rem;
}
.-bottom-\[140px\]{
  bottom: -140px;
}
.-bottom-\[18px\]{
  bottom: -18px;
}
.-left-1{
  left: -0.25rem;
}
.-left-2{
  left: -0.5rem;
}
.-left-\[190px\]{
  left: -190px;
}
.-right-1{
  right: -0.25rem;
}
.-right-2{
  right: -0.5rem;
}
.-right-\[100px\]{
  right: -100px;
}
.-right-\[24\%\]{
  right: -24%;
}
.-top-1{
  top: -0.25rem;
}
.-top-10{
  top: -2.5rem;
}
.-top-12{
  top: -3rem;
}
.-top-14{
  top: -3.5rem;
}
.-top-2{
  top: -0.5rem;
}
.-top-3{
  top: -0.75rem;
}
.-top-4{
  top: -1rem;
}
.-top-6{
  top: -1.5rem;
}
.-top-8{
  top: -2rem;
}
.-top-\[12\%\]{
  top: -12%;
}
.-top-\[160px\]{
  top: -160px;
}
.-top-\[35px\]{
  top: -35px;
}
.-top-\[7px\]{
  top: -7px;
}
.bottom-0{
  bottom: 0px;
}
.bottom-10{
  bottom: 2.5rem;
}
.bottom-5{
  bottom: 1.25rem;
}
.bottom-8{
  bottom: 2rem;
}
.bottom-\[16px\]{
  bottom: 16px;
}
.bottom-\[48px\]{
  bottom: 48px;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-10{
  left: 2.5rem;
}
.left-4{
  left: 1rem;
}
.left-5{
  left: 1.25rem;
}
.left-\[3\%\]{
  left: 3%;
}
.right-0{
  right: 0px;
}
.right-4{
  right: 1rem;
}
.right-5{
  right: 1.25rem;
}
.right-6{
  right: 1.5rem;
}
.right-\[-8px\]{
  right: -8px;
}
.right-\[3\%\]{
  right: 3%;
}
.top-0{
  top: 0px;
}
.top-1\/2{
  top: 50%;
}
.top-4{
  top: 1rem;
}
.top-5{
  top: 1.25rem;
}
.top-6{
  top: 1.5rem;
}
.top-\[15\%\]{
  top: 15%;
}
.top-\[280px\]{
  top: 280px;
}
.top-\[30px\]{
  top: 30px;
}
.top-\[33px\]{
  top: 33px;
}
.right-10{
  right: 2.5rem;
}
.-top-\[100px\]{
  top: -100px;
}
.isolate{
  isolation: isolate;
}
.-z-10{
  z-index: -10;
}
.-z-20{
  z-index: -20;
}
.z-0{
  z-index: 0;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[100\]{
  z-index: 100;
}
.z-\[2\]{
  z-index: 2;
}
.z-\[9999\]{
  z-index: 9999;
}
.col-span-4{
  grid-column: span 4 / span 4;
}
.row-start-1{
  grid-row-start: 1;
}
.row-start-2{
  grid-row-start: 2;
}
.m-0{
  margin: 0px;
}
.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.-mt-\[80px\]{
  margin-top: -80px;
}
.mb-0{
  margin-bottom: 0px;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-12{
  margin-bottom: 3rem;
}
.mb-14{
  margin-bottom: 3.5rem;
}
.mb-16{
  margin-bottom: 4rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-20{
  margin-bottom: 5rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-7{
  margin-bottom: 1.75rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-4{
  margin-left: 1rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-auto{
  margin-right: auto;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-14{
  margin-top: 3.5rem;
}
.mt-16{
  margin-top: 4rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-20{
  margin-top: 5rem;
}
.mt-24{
  margin-top: 6rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-7{
  margin-top: 1.75rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-9{
  margin-top: 2.25rem;
}
.mt-auto{
  margin-top: auto;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.inline-table{
  display: inline-table;
}
.table-caption{
  display: table-caption;
}
.table-cell{
  display: table-cell;
}
.table-column{
  display: table-column;
}
.table-column-group{
  display: table-column-group;
}
.table-footer-group{
  display: table-footer-group;
}
.table-header-group{
  display: table-header-group;
}
.table-row-group{
  display: table-row-group;
}
.table-row{
  display: table-row;
}
.flow-root{
  display: flow-root;
}
.\!grid{
  display: grid !important;
}
.grid{
  display: grid;
}
.inline-grid{
  display: inline-grid;
}
.contents{
  display: contents;
}
.list-item{
  display: list-item;
}
.hidden{
  display: none;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.h-1\/2{
  height: 50%;
}
.h-10{
  height: 2.5rem;
}
.h-11{
  height: 2.75rem;
}
.h-12{
  height: 3rem;
}
.h-24{
  height: 6rem;
}
.h-4{
  height: 1rem;
}
.h-5{
  height: 1.25rem;
}
.h-6{
  height: 1.5rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-\[100px\]{
  height: 100px;
}
.h-\[102px\]{
  height: 102px;
}
.h-\[104px\]{
  height: 104px;
}
.h-\[10px\]{
  height: 10px;
}
.h-\[110px\]{
  height: 110px;
}
.h-\[12px\]{
  height: 12px;
}
.h-\[14px\]{
  height: 14px;
}
.h-\[160px\]{
  height: 160px;
}
.h-\[180px\]{
  height: 180px;
}
.h-\[20px\]{
  height: 20px;
}
.h-\[215px\]{
  height: 215px;
}
.h-\[220px\]{
  height: 220px;
}
.h-\[260px\]{
  height: 260px;
}
.h-\[280px\]{
  height: 280px;
}
.h-\[2px\]{
  height: 2px;
}
.h-\[300px\]{
  height: 300px;
}
.h-\[30px\]{
  height: 30px;
}
.h-\[320px\]{
  height: 320px;
}
.h-\[340px\]{
  height: 340px;
}
.h-\[36px\]{
  height: 36px;
}
.h-\[42px\]{
  height: 42px;
}
.h-\[44px\]{
  height: 44px;
}
.h-\[45px\]{
  height: 45px;
}
.h-\[48px\]{
  height: 48px;
}
.h-\[54px\]{
  height: 54px;
}
.h-\[56px\]{
  height: 56px;
}
.h-\[58px\]{
  height: 58px;
}
.h-\[62px\]{
  height: 62px;
}
.h-\[6px\]{
  height: 6px;
}
.h-\[70px\]{
  height: 70px;
}
.h-\[72px\]{
  height: 72px;
}
.h-\[75px\]{
  height: 75px;
}
.h-\[84px\]{
  height: 84px;
}
.h-\[90px\]{
  height: 90px;
}
.h-\[92px\]{
  height: 92px;
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-\[50px\]{
  height: 50px;
}
.max-h-\[120px\]{
  max-height: 120px;
}
.max-h-\[130px\]{
  max-height: 130px;
}
.max-h-\[326px\]{
  max-height: 326px;
}
.max-h-\[50px\]{
  max-height: 50px;
}
.max-h-\[55px\]{
  max-height: 55px;
}
.max-h-\[60px\]{
  max-height: 60px;
}
.max-h-\[65px\]{
  max-height: 65px;
}
.max-h-\[70px\]{
  max-height: 70px;
}
.max-h-\[75px\]{
  max-height: 75px;
}
.max-h-full{
  max-height: 100%;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[130px\]{
  min-height: 130px;
}
.min-h-\[150px\]{
  min-height: 150px;
}
.min-h-\[170px\]{
  min-height: 170px;
}
.min-h-\[180px\]{
  min-height: 180px;
}
.min-h-\[18px\]{
  min-height: 18px;
}
.min-h-\[190px\]{
  min-height: 190px;
}
.min-h-\[220px\]{
  min-height: 220px;
}
.min-h-\[260px\]{
  min-height: 260px;
}
.min-h-\[265px\]{
  min-height: 265px;
}
.min-h-\[280px\]{
  min-height: 280px;
}
.min-h-\[300px\]{
  min-height: 300px;
}
.min-h-\[320px\]{
  min-height: 320px;
}
.min-h-\[340px\]{
  min-height: 340px;
}
.min-h-\[350px\]{
  min-height: 350px;
}
.min-h-\[360px\]{
  min-height: 360px;
}
.min-h-\[38px\]{
  min-height: 38px;
}
.min-h-\[390px\]{
  min-height: 390px;
}
.min-h-\[400px\]{
  min-height: 400px;
}
.min-h-\[40px\]{
  min-height: 40px;
}
.min-h-\[420px\]{
  min-height: 420px;
}
.min-h-\[42px\]{
  min-height: 42px;
}
.min-h-\[430px\]{
  min-height: 430px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[450px\]{
  min-height: 450px;
}
.min-h-\[46px\]{
  min-height: 46px;
}
.min-h-\[480px\]{
  min-height: 480px;
}
.min-h-\[48px\]{
  min-height: 48px;
}
.min-h-\[500px\]{
  min-height: 500px;
}
.min-h-\[50px\]{
  min-height: 50px;
}
.min-h-\[520px\]{
  min-height: 520px;
}
.min-h-\[52px\]{
  min-height: 52px;
}
.min-h-\[54px\]{
  min-height: 54px;
}
.min-h-\[560px\]{
  min-height: 560px;
}
.min-h-\[56px\]{
  min-height: 56px;
}
.min-h-\[70px\]{
  min-height: 70px;
}
.min-h-\[72px\]{
  min-height: 72px;
}
.min-h-\[80px\]{
  min-height: 80px;
}
.min-h-\[82px\]{
  min-height: 82px;
}
.min-h-\[86px\]{
  min-height: 86px;
}
.min-h-\[calc\(90vh-140px\)\]{
  min-height: calc(90vh - 140px);
}
.min-h-\[470px\]{
  min-height: 470px;
}
.min-h-\[530px\]{
  min-height: 530px;
}
.min-h-\[230px\]{
  min-height: 230px;
}
.w-10{
  width: 2.5rem;
}
.w-11{
  width: 2.75rem;
}
.w-12{
  width: 3rem;
}
.w-24{
  width: 6rem;
}
.w-4{
  width: 1rem;
}
.w-5{
  width: 1.25rem;
}
.w-6{
  width: 1.5rem;
}
.w-7{
  width: 1.75rem;
}
.w-8{
  width: 2rem;
}
.w-9{
  width: 2.25rem;
}
.w-\[100\%\]{
  width: 100%;
}
.w-\[102px\]{
  width: 102px;
}
.w-\[104px\]{
  width: 104px;
}
.w-\[120px\]{
  width: 120px;
}
.w-\[12px\]{
  width: 12px;
}
.w-\[130px\]{
  width: 130px;
}
.w-\[135px\]{
  width: 135px;
}
.w-\[140px\]{
  width: 140px;
}
.w-\[14px\]{
  width: 14px;
}
.w-\[180px\]{
  width: 180px;
}
.w-\[20px\]{
  width: 20px;
}
.w-\[210px\]{
  width: 210px;
}
.w-\[260px\]{
  width: 260px;
}
.w-\[2px\]{
  width: 2px;
}
.w-\[30px\]{
  width: 30px;
}
.w-\[320px\]{
  width: 320px;
}
.w-\[340px\]{
  width: 340px;
}
.w-\[38px\]{
  width: 38px;
}
.w-\[39px\]{
  width: 39px;
}
.w-\[42px\]{
  width: 42px;
}
.w-\[44px\]{
  width: 44px;
}
.w-\[48px\]{
  width: 48px;
}
.w-\[500px\]{
  width: 500px;
}
.w-\[54px\]{
  width: 54px;
}
.w-\[56px\]{
  width: 56px;
}
.w-\[58px\]{
  width: 58px;
}
.w-\[62px\]{
  width: 62px;
}
.w-\[70px\]{
  width: 70px;
}
.w-\[72px\]{
  width: 72px;
}
.w-\[84px\]{
  width: 84px;
}
.w-\[90px\]{
  width: 90px;
}
.w-\[92\%\]{
  width: 92%;
}
.w-\[92px\]{
  width: 92px;
}
.w-\[95\%\]{
  width: 95%;
}
.w-\[98\%\]{
  width: 98%;
}
.w-\[calc\(100\%-24px\)\]{
  width: calc(100% - 24px);
}
.w-\[calc\(100\%-32px\)\]{
  width: calc(100% - 32px);
}
.w-\[calc\(100\%-48px\)\]{
  width: calc(100% - 48px);
}
.w-\[calc\(50\%-6px\)\]{
  width: calc(50% - 6px);
}
.w-auto{
  width: auto;
}
.w-fit{
  width: -moz-fit-content;
  width: fit-content;
}
.w-full{
  width: 100%;
}
.w-max{
  width: -moz-max-content;
  width: max-content;
}
.w-px{
  width: 1px;
}
.min-w-0{
  min-width: 0px;
}
.min-w-\[140px\]{
  min-width: 140px;
}
.min-w-\[17px\]{
  min-width: 17px;
}
.min-w-\[220px\]{
  min-width: 220px;
}
.min-w-\[240px\]{
  min-width: 240px;
}
.min-w-\[250px\]{
  min-width: 250px;
}
.min-w-\[260px\]{
  min-width: 260px;
}
.min-w-\[280px\]{
  min-width: 280px;
}
.min-w-\[290px\]{
  min-width: 290px;
}
.min-w-\[312px\]{
  min-width: 312px;
}
.min-w-\[360px\]{
  min-width: 360px;
}
.min-w-\[58px\]{
  min-width: 58px;
}
.max-w-\[1000px\]{
  max-width: 1000px;
}
.max-w-\[1024px\]{
  max-width: 1024px;
}
.max-w-\[1030px\]{
  max-width: 1030px;
}
.max-w-\[1050px\]{
  max-width: 1050px;
}
.max-w-\[1080px\]{
  max-width: 1080px;
}
.max-w-\[1100px\]{
  max-width: 1100px;
}
.max-w-\[1150px\]{
  max-width: 1150px;
}
.max-w-\[1200px\]{
  max-width: 1200px;
}
.max-w-\[1240px\]{
  max-width: 1240px;
}
.max-w-\[1250px\]{
  max-width: 1250px;
}
.max-w-\[1280px\]{
  max-width: 1280px;
}
.max-w-\[1300px\]{
  max-width: 1300px;
}
.max-w-\[1440px\]{
  max-width: 1440px;
}
.max-w-\[1490px\]{
  max-width: 1490px;
}
.max-w-\[180px\]{
  max-width: 180px;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[220px\]{
  max-width: 220px;
}
.max-w-\[240px\]{
  max-width: 240px;
}
.max-w-\[260px\]{
  max-width: 260px;
}
.max-w-\[280px\]{
  max-width: 280px;
}
.max-w-\[320px\]{
  max-width: 320px;
}
.max-w-\[340px\]{
  max-width: 340px;
}
.max-w-\[365px\]{
  max-width: 365px;
}
.max-w-\[420px\]{
  max-width: 420px;
}
.max-w-\[500px\]{
  max-width: 500px;
}
.max-w-\[520px\]{
  max-width: 520px;
}
.max-w-\[525px\]{
  max-width: 525px;
}
.max-w-\[560px\]{
  max-width: 560px;
}
.max-w-\[600px\]{
  max-width: 600px;
}
.max-w-\[620px\]{
  max-width: 620px;
}
.max-w-\[630px\]{
  max-width: 630px;
}
.max-w-\[650px\]{
  max-width: 650px;
}
.max-w-\[700px\]{
  max-width: 700px;
}
.max-w-\[720px\]{
  max-width: 720px;
}
.max-w-\[740px\]{
  max-width: 740px;
}
.max-w-\[75\%\]{
  max-width: 75%;
}
.max-w-\[760px\]{
  max-width: 760px;
}
.max-w-\[780px\]{
  max-width: 780px;
}
.max-w-\[800px\]{
  max-width: 800px;
}
.max-w-\[820px\]{
  max-width: 820px;
}
.max-w-\[850px\]{
  max-width: 850px;
}
.max-w-\[860px\]{
  max-width: 860px;
}
.max-w-\[900px\]{
  max-width: 900px;
}
.max-w-\[950px\]{
  max-width: 950px;
}
.max-w-full{
  max-width: 100%;
}
.max-w-none{
  max-width: none;
}
.flex-1{
  flex: 1 1 0%;
}
.shrink{
  flex-shrink: 1;
}
.shrink-0{
  flex-shrink: 0;
}
.border-collapse{
  border-collapse: collapse;
}
.origin-left{
  transform-origin: left;
}
.origin-top{
  transform-origin: top;
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1\/2{
  --tw-translate-x: 50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[2px\]{
  --tw-translate-x: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-10{
  --tw-translate-y: 2.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-45{
  --tw-rotate: -45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45{
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[7deg\]{
  --tw-rotate: 7deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[8deg\]{
  --tw-rotate: 8deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-default{
  cursor: default;
}
.cursor-pointer{
  cursor: pointer;
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize{
  resize: both;
}
.list-none{
  list-style-type: none;
}
.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-\[40px_1fr\]{
  grid-template-columns: 40px 1fr;
}
.flex-col{
  flex-direction: column;
}
.flex-col-reverse{
  flex-direction: column-reverse;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-baseline{
  align-items: baseline;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-1{
  gap: 0.25rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-12{
  gap: 3rem;
}
.gap-14{
  gap: 3.5rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-\[5px\]{
  gap: 5px;
}
.gap-x-10{
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
.gap-x-12{
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
.gap-x-16{
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}
.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-8{
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-10{
  row-gap: 2.5rem;
}
.gap-y-12{
  row-gap: 3rem;
}
.gap-y-8{
  row-gap: 2rem;
}
.space-y-14 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-visible{
  overflow: visible;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overscroll-contain{
  overscroll-behavior: contain;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-\[10px\]{
  border-radius: 10px;
}
.rounded-\[12px\]{
  border-radius: 12px;
}
.rounded-\[16px\]{
  border-radius: 16px;
}
.rounded-\[18px\]{
  border-radius: 18px;
}
.rounded-\[20px\]{
  border-radius: 20px;
}
.rounded-\[22px\]{
  border-radius: 22px;
}
.rounded-\[24px\]{
  border-radius: 24px;
}
.rounded-\[28px\]{
  border-radius: 28px;
}
.rounded-\[3px\]{
  border-radius: 3px;
}
.rounded-\[4px\]{
  border-radius: 4px;
}
.rounded-\[5px\]{
  border-radius: 5px;
}
.rounded-\[60px\]{
  border-radius: 60px;
}
.rounded-\[6px\]{
  border-radius: 6px;
}
.rounded-\[8px\]{
  border-radius: 8px;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-l-\[24px\]{
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-\[6px\]{
  border-width: 6px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-t{
  border-top-width: 1px;
}
.border-\[\#fff3bd\]{
  --tw-border-opacity: 1;
  border-color: rgb(255 243 189 / var(--tw-border-opacity, 1));
}
.border-green-dark{
  --tw-border-opacity: 1;
  border-color: rgb(21 39 36 / var(--tw-border-opacity, 1));
}
.border-green-dark\/40{
  border-color: rgb(21 39 36 / 0.4);
}
.border-primary-green{
  --tw-border-opacity: 1;
  border-color: rgb(36 174 155 / var(--tw-border-opacity, 1));
}
.border-primary-yellow{
  --tw-border-opacity: 1;
  border-color: rgb(249 214 77 / var(--tw-border-opacity, 1));
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30{
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/40{
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/60{
  border-color: rgb(255 255 255 / 0.6);
}
.border-white\/70{
  border-color: rgb(255 255 255 / 0.7);
}
.border-white\/80{
  border-color: rgb(255 255 255 / 0.8);
}
.bg-\[\#17695f\]{
  --tw-bg-opacity: 1;
  background-color: rgb(23 105 95 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1C2C96\]{
  --tw-bg-opacity: 1;
  background-color: rgb(28 44 150 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D72727\]{
  --tw-bg-opacity: 1;
  background-color: rgb(215 39 39 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4f4f4\]{
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}
.bg-current{
  background-color: currentColor;
}
.bg-green-dark{
  --tw-bg-opacity: 1;
  background-color: rgb(21 39 36 / var(--tw-bg-opacity, 1));
}
.bg-green-dark\/10{
  background-color: rgb(21 39 36 / 0.1);
}
.bg-green-dark\/5{
  background-color: rgb(21 39 36 / 0.05);
}
.bg-green-dark\/70{
  background-color: rgb(21 39 36 / 0.7);
}
.bg-green-dark\/80{
  background-color: rgb(21 39 36 / 0.8);
}
.bg-green-light{
  --tw-bg-opacity: 1;
  background-color: rgb(234 242 235 / var(--tw-bg-opacity, 1));
}
.bg-peps{
  --tw-bg-opacity: 1;
  background-color: rgb(220 255 250 / var(--tw-bg-opacity, 1));
}
.bg-peps\/70{
  background-color: rgb(220 255 250 / 0.7);
}
.bg-primary-green{
  --tw-bg-opacity: 1;
  background-color: rgb(36 174 155 / var(--tw-bg-opacity, 1));
}
.bg-primary-green\/10{
  background-color: rgb(36 174 155 / 0.1);
}
.bg-primary-green\/15{
  background-color: rgb(36 174 155 / 0.15);
}
.bg-primary-green\/20{
  background-color: rgb(36 174 155 / 0.2);
}
.bg-primary-yellow{
  --tw-bg-opacity: 1;
  background-color: rgb(249 214 77 / var(--tw-bg-opacity, 1));
}
.bg-primary-yellow\/20{
  background-color: rgb(249 214 77 / 0.2);
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-transparent{
  background-color: transparent;
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/5{
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/\[0\.035\]{
  background-color: rgb(255 255 255 / 0.035);
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr{
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-green-dark{
  --tw-gradient-from: #152724 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 39 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-dark\/100{
  --tw-gradient-from: rgb(21 39 36 / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 39 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-dark\/20{
  --tw-gradient-from: rgb(21 39 36 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 39 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-dark\/60{
  --tw-gradient-from: rgb(21 39 36 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 39 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-dark\/80{
  --tw-gradient-from: rgb(21 39 36 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 39 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-dark\/90{
  --tw-gradient-from: rgb(21 39 36 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 39 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white{
  --tw-gradient-from: #FFFFFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-0\%{
  --tw-gradient-from-position: 0%;
}
.via-green-dark{
  --tw-gradient-to: rgb(21 39 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #152724 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-dark\/30{
  --tw-gradient-to: rgb(21 39 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(21 39 36 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-dark\/35{
  --tw-gradient-to: rgb(21 39 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(21 39 36 / 0.35) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-dark\/40{
  --tw-gradient-to: rgb(21 39 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(21 39 36 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/100{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-60\%{
  --tw-gradient-via-position: 60%;
}
.to-black{
  --tw-gradient-to: #000000 var(--tw-gradient-to-position);
}
.to-green-dark{
  --tw-gradient-to: #152724 var(--tw-gradient-to-position);
}
.to-green-dark\/80{
  --tw-gradient-to: rgb(21 39 36 / 0.8) var(--tw-gradient-to-position);
}
.to-peps{
  --tw-gradient-to: #DCFFFA var(--tw-gradient-to-position);
}
.to-peps\/100{
  --tw-gradient-to: rgb(220 255 250 / 1) var(--tw-gradient-to-position);
}
.to-primary-green{
  --tw-gradient-to: #24AE9B var(--tw-gradient-to-position);
}
.to-primary-green\/40{
  --tw-gradient-to: rgb(36 174 155 / 0.4) var(--tw-gradient-to-position);
}
.to-primary-green\/70{
  --tw-gradient-to: rgb(36 174 155 / 0.7) var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-100\%{
  --tw-gradient-to-position: 100%;
}
.bg-cover{
  background-size: cover;
}
.bg-center{
  background-position: center;
}
.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-7{
  padding: 1.75rem;
}
.p-8{
  padding: 2rem;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-7{
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-10{
  padding-bottom: 2.5rem;
}
.pb-16{
  padding-bottom: 4rem;
}
.pb-24{
  padding-bottom: 6rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-7{
  padding-bottom: 1.75rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pb-\[200px\]{
  padding-bottom: 200px;
}
.pl-14{
  padding-left: 3.5rem;
}
.pl-5{
  padding-left: 1.25rem;
}
.pl-6{
  padding-left: 1.5rem;
}
.pr-10{
  padding-right: 2.5rem;
}
.pr-12{
  padding-right: 3rem;
}
.pr-14{
  padding-right: 3.5rem;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-10{
  padding-top: 2.5rem;
}
.pt-12{
  padding-top: 3rem;
}
.pt-16{
  padding-top: 4rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-8{
  padding-top: 2rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.text-\[12px\]{
  font-size: 12px;
}
.text-\[14px\]{
  font-size: 14px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.font-\[700\]{
  font-weight: 700;
}
.font-\[800\]{
  font-weight: 800;
}
.font-bold{
  font-weight: 700;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.lowercase{
  text-transform: lowercase;
}
.capitalize{
  text-transform: capitalize;
}
.italic{
  font-style: italic;
}
.ordinal{
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.text-green-dark{
  --tw-text-opacity: 1;
  color: rgb(21 39 36 / var(--tw-text-opacity, 1));
}
.text-green-dark\/70{
  color: rgb(21 39 36 / 0.7);
}
.text-primary-green{
  --tw-text-opacity: 1;
  color: rgb(36 174 155 / var(--tw-text-opacity, 1));
}
.text-primary-yellow{
  --tw-text-opacity: 1;
  color: rgb(249 214 77 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/40{
  color: rgb(255 255 255 / 0.4);
}
.text-white\/60{
  color: rgb(255 255 255 / 0.6);
}
.text-white\/70{
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80{
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90{
  color: rgb(255 255 255 / 0.9);
}
.underline{
  text-decoration-line: underline;
}
.overline{
  text-decoration-line: overline;
}
.line-through{
  text-decoration-line: line-through;
}
.underline-offset-2{
  text-underline-offset: 2px;
}
.underline-offset-4{
  text-underline-offset: 4px;
}
.accent-primary-green{
  accent-color: #24AE9B;
}
.opacity-0{
  opacity: 0;
}
.opacity-10{
  opacity: 0.1;
}
.opacity-\[20\%\]{
  opacity: 20%;
}
.shadow-\[0_0_30px_rgba\(36\2c 174\2c 155\2c 0\.16\)\]{
  --tw-shadow: 0 0 30px rgba(36,174,155,0.16);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(36\2c 174\2c 155\2c 0\.18\)\]{
  --tw-shadow: 0 0 30px rgba(36,174,155,0.18);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.25);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_25px_50px_rgba\(21\2c 39\2c 36\2c 0\.12\)\]{
  --tw-shadow: 0 25px 50px rgba(21,39,36,0.12);
  --tw-shadow-colored: 0 25px 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_25px_60px_rgba\(0\2c 0\2c 0\2c 0\.35\)\]{
  --tw-shadow: 0 25px 60px rgba(0,0,0,0.35);
  --tw-shadow-colored: 0 25px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{
  --tw-shadow: 0 4px 20px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline{
  outline-style: solid;
}
.ring{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.brightness-0{
  --tw-brightness: brightness(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert{
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-700{
  transition-duration: 700ms;
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[image\:\$img\|\$width\|\$height\|\$type\]{
  image: $img|$width|$height|$type;
}
.placeholder\:text-green-dark\/40::-moz-placeholder{
  color: rgb(21 39 36 / 0.4);
}
.placeholder\:text-green-dark\/40::placeholder{
  color: rgb(21 39 36 / 0.4);
}
.placeholder\:text-white\/40::-moz-placeholder{
  color: rgb(255 255 255 / 0.4);
}
.placeholder\:text-white\/40::placeholder{
  color: rgb(255 255 255 / 0.4);
}
.placeholder\:text-white\/50::-moz-placeholder{
  color: rgb(255 255 255 / 0.5);
}
.placeholder\:text-white\/50::placeholder{
  color: rgb(255 255 255 / 0.5);
}
.placeholder\:text-white\/60::-moz-placeholder{
  color: rgb(255 255 255 / 0.6);
}
.placeholder\:text-white\/60::placeholder{
  color: rgb(255 255 255 / 0.6);
}
.first\:pt-0:first-child{
  padding-top: 0px;
}
.last\:mb-0:last-child{
  margin-bottom: 0px;
}
.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border:hover{
  border-width: 1px;
}
.hover\:border-green-dark:hover{
  --tw-border-opacity: 1;
  border-color: rgb(21 39 36 / var(--tw-border-opacity, 1));
}
.hover\:border-primary-green:hover{
  --tw-border-opacity: 1;
  border-color: rgb(36 174 155 / var(--tw-border-opacity, 1));
}
.hover\:border-white:hover{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.hover\:bg-green-dark:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(21 39 36 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-light:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(234 242 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-green:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(36 174 155 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-yellow:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 214 77 / var(--tw-bg-opacity, 1));
}
.hover\:bg-transparent:hover{
  background-color: transparent;
}
.hover\:bg-white:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:text-green-dark:hover{
  --tw-text-opacity: 1;
  color: rgb(21 39 36 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-green:hover{
  --tw-text-opacity: 1;
  color: rgb(36 174 155 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-yellow:hover{
  --tw-text-opacity: 1;
  color: rgb(249 214 77 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
.hover\:opacity-60:hover{
  opacity: 0.6;
}
.hover\:opacity-70:hover{
  opacity: 0.7;
}
.hover\:opacity-85:hover{
  opacity: 0.85;
}
.hover\:opacity-90:hover{
  opacity: 0.9;
}
.focus\:border-primary-green:focus{
  --tw-border-opacity: 1;
  border-color: rgb(36 174 155 / var(--tw-border-opacity, 1));
}
.focus\:border-primary-yellow:focus{
  --tw-border-opacity: 1;
  border-color: rgb(249 214 77 / var(--tw-border-opacity, 1));
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-0:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}
.disabled\:opacity-50:disabled{
  opacity: 0.5;
}
.disabled\:opacity-60:disabled{
  opacity: 0.6;
}
.group:hover .group-hover\:-translate-y-1{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media not all and (min-width: 640px){
  .max-sm\:w-full{
    width: 100%;
  }
  .max-sm\:min-w-0{
    min-width: 0px;
  }
}
@media (min-width: 640px){
  .sm\:top-12{
    top: 3rem;
  }
  .sm\:h-\[300px\]{
    height: 300px;
  }
  .sm\:w-\[150px\]{
    width: 150px;
  }
  .sm\:w-\[calc\(33\.333\%-8px\)\]{
    width: calc(33.333% - 8px);
  }
  .sm\:w-\[calc\(50\%-16px\)\]{
    width: calc(50% - 16px);
  }
  .sm\:min-w-\[340px\]{
    min-width: 340px;
  }
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:flex-row{
    flex-direction: row;
  }
  .sm\:items-start{
    align-items: flex-start;
  }
  .sm\:justify-between{
    justify-content: space-between;
  }
  .sm\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (min-width: 768px){
  .md\:static{
    position: static;
  }
  .md\:absolute{
    position: absolute;
  }
  .md\:-left-\[8\%\]{
    left: -8%;
  }
  .md\:-right-14{
    right: -3.5rem;
  }
  .md\:-right-\[0\]{
    right: 0;
  }
  .md\:-top-10{
    top: -2.5rem;
  }
  .md\:-top-\[45px\]{
    top: -45px;
  }
  .md\:bottom-8{
    bottom: 2rem;
  }
  .md\:left-1\/2{
    left: 50%;
  }
  .md\:left-8{
    left: 2rem;
  }
  .md\:right-8{
    right: 2rem;
  }
  .md\:right-\[30px\]{
    right: 30px;
  }
  .md\:top-20{
    top: 5rem;
  }
  .md\:top-7{
    top: 1.75rem;
  }
  .md\:-top-\[160px\]{
    top: -160px;
  }
  .md\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .md\:col-start-1{
    grid-column-start: 1;
  }
  .md\:col-start-2{
    grid-column-start: 2;
  }
  .md\:col-start-3{
    grid-column-start: 3;
  }
  .md\:row-span-2{
    grid-row: span 2 / span 2;
  }
  .md\:my-0{
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .md\:-ml-\[20\%\]{
    margin-left: -20%;
  }
  .md\:mb-16{
    margin-bottom: 4rem;
  }
  .md\:mt-0{
    margin-top: 0px;
  }
  .md\:mt-12{
    margin-top: 3rem;
  }
  .md\:mt-14{
    margin-top: 3.5rem;
  }
  .md\:mt-16{
    margin-top: 4rem;
  }
  .md\:block{
    display: block;
  }
  .md\:grid{
    display: grid;
  }
  .md\:hidden{
    display: none;
  }
  .md\:h-\[300px\]{
    height: 300px;
  }
  .md\:h-\[320px\]{
    height: 320px;
  }
  .md\:h-\[340px\]{
    height: 340px;
  }
  .md\:h-\[380px\]{
    height: 380px;
  }
  .md\:h-\[390px\]{
    height: 390px;
  }
  .md\:h-\[460px\]{
    height: 460px;
  }
  .md\:h-\[64px\]{
    height: 64px;
  }
  .md\:h-\[90px\]{
    height: 90px;
  }
  .md\:h-full{
    height: 100%;
  }
  .md\:h-\[124px\]{
    height: 124px;
  }
  .md\:min-h-\[224px\]{
    min-height: 224px;
  }
  .md\:min-h-\[250px\]{
    min-height: 250px;
  }
  .md\:min-h-\[380px\]{
    min-height: 380px;
  }
  .md\:min-h-\[430px\]{
    min-height: 430px;
  }
  .md\:min-h-\[444px\]{
    min-height: 444px;
  }
  .md\:min-h-\[455px\]{
    min-height: 455px;
  }
  .md\:min-h-\[520px\]{
    min-height: 520px;
  }
  .md\:min-h-\[560px\]{
    min-height: 560px;
  }
  .md\:min-h-\[570px\]{
    min-height: 570px;
  }
  .md\:min-h-\[620px\]{
    min-height: 620px;
  }
  .md\:min-h-\[720px\]{
    min-height: 720px;
  }
  .md\:min-h-\[92px\]{
    min-height: 92px;
  }
  .md\:min-h-full{
    min-height: 100%;
  }
  .md\:w-\[180px\]{
    width: 180px;
  }
  .md\:w-\[245px\]{
    width: 245px;
  }
  .md\:w-\[300px\]{
    width: 300px;
  }
  .md\:w-\[380px\]{
    width: 380px;
  }
  .md\:w-\[64px\]{
    width: 64px;
  }
  .md\:w-\[90px\]{
    width: 90px;
  }
  .md\:w-\[calc\(100\%-48px\)\]{
    width: calc(100% - 48px);
  }
  .md\:w-full{
    width: 100%;
  }
  .md\:min-w-\[150px\]{
    min-width: 150px;
  }
  .md\:min-w-\[280px\]{
    min-width: 280px;
  }
  .md\:min-w-\[380px\]{
    min-width: 380px;
  }
  .md\:max-w-\[220px\]{
    max-width: 220px;
  }
  .md\:max-w-\[360px\]{
    max-width: 360px;
  }
  .md\:max-w-\[480px\]{
    max-width: 480px;
  }
  .md\:-translate-y-1\/2{
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  .md\:translate-x-0{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:grid-cols-\[1\.15fr_0\.85fr\]{
    grid-template-columns: 1.15fr 0.85fr;
  }
  .md\:grid-cols-\[1\.1fr_0\.9fr\]{
    grid-template-columns: 1.1fr 0.9fr;
  }
  .md\:grid-cols-\[1\.2fr_0\.8fr\]{
    grid-template-columns: 1.2fr 0.8fr;
  }
  .md\:grid-cols-\[1\.4fr_1fr\]{
    grid-template-columns: 1.4fr 1fr;
  }
  .md\:grid-cols-\[180px_1fr\]{
    grid-template-columns: 180px 1fr;
  }
  .md\:grid-cols-\[1fr_1\.1fr\]{
    grid-template-columns: 1fr 1.1fr;
  }
  .md\:grid-cols-\[1fr_1fr\]{
    grid-template-columns: 1fr 1fr;
  }
  .md\:grid-cols-\[1fr_auto_1fr\]{
    grid-template-columns: 1fr auto 1fr;
  }
  .md\:grid-cols-\[45\%_55\%\]{
    grid-template-columns: 45% 55%;
  }
  .md\:grid-cols-\[55\%_45\%\]{
    grid-template-columns: 55% 45%;
  }
  .md\:grid-rows-\[auto_auto\]{
    grid-template-rows: auto auto;
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:flex-col{
    flex-direction: column;
  }
  .md\:items-start{
    align-items: flex-start;
  }
  .md\:items-center{
    align-items: center;
  }
  .md\:justify-center{
    justify-content: center;
  }
  .md\:justify-between{
    justify-content: space-between;
  }
  .md\:gap-10{
    gap: 2.5rem;
  }
  .md\:gap-12{
    gap: 3rem;
  }
  .md\:gap-14{
    gap: 3.5rem;
  }
  .md\:gap-16{
    gap: 4rem;
  }
  .md\:gap-20{
    gap: 5rem;
  }
  .md\:gap-8{
    gap: 2rem;
  }
  .md\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .md\:space-y-20 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse));
  }
  .md\:rounded-\[80px\]{
    border-radius: 80px;
  }
  .md\:rounded-l-\[24px\]{
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
  }
  .md\:p-10{
    padding: 2.5rem;
  }
  .md\:p-12{
    padding: 3rem;
  }
  .md\:p-6{
    padding: 1.5rem;
  }
  .md\:p-7{
    padding: 1.75rem;
  }
  .md\:p-8{
    padding: 2rem;
  }
  .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .md\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .md\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .md\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .md\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .md\:py-28{
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
  .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .md\:pb-20{
    padding-bottom: 5rem;
  }
  .md\:pb-8{
    padding-bottom: 2rem;
  }
  .md\:pl-10{
    padding-left: 2.5rem;
  }
  .md\:pl-\[136px\]{
    padding-left: 136px;
  }
  .md\:pl-\[58px\]{
    padding-left: 58px;
  }
  .md\:pl-\[max\(32px\2c calc\(\(100vw-1300px\)\/2\)\)\]{
    padding-left: max(32px, calc((100vw - 1300px) / 2));
  }
  .md\:pr-10{
    padding-right: 2.5rem;
  }
  .md\:pt-10{
    padding-top: 2.5rem;
  }
  .md\:pt-20{
    padding-top: 5rem;
  }
  .md\:pt-24{
    padding-top: 6rem;
  }
  .md\:text-right{
    text-align: right;
  }
}
@media (min-width: 1024px){
  .lg\:-top-\[55px\]{
    top: -55px;
  }
  .lg\:left-\[58\%\]{
    left: 58%;
  }
  .lg\:left-\[7\%\]{
    left: 7%;
  }
  .lg\:left-\[85\%\]{
    left: 85%;
  }
  .lg\:right-\[7\%\]{
    right: 7%;
  }
  .lg\:right-auto{
    right: auto;
  }
  .lg\:top-24{
    top: 6rem;
  }
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .lg\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }
  .lg\:my-16{
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .lg\:mb-0{
    margin-bottom: 0px;
  }
  .lg\:mb-20{
    margin-bottom: 5rem;
  }
  .lg\:ml-auto{
    margin-left: auto;
  }
  .lg\:mt-10{
    margin-top: 2.5rem;
  }
  .lg\:mt-12{
    margin-top: 3rem;
  }
  .lg\:mt-14{
    margin-top: 3.5rem;
  }
  .lg\:mt-16{
    margin-top: 4rem;
  }
  .lg\:mt-20{
    margin-top: 5rem;
  }
  .lg\:mt-24{
    margin-top: 6rem;
  }
  .lg\:block{
    display: block;
  }
  .lg\:flex{
    display: flex;
  }
  .lg\:grid{
    display: grid;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:h-\[110px\]{
    height: 110px;
  }
  .lg\:h-\[320px\]{
    height: 320px;
  }
  .lg\:h-\[500px\]{
    height: 500px;
  }
  .lg\:h-\[560px\]{
    height: 560px;
  }
  .lg\:min-h-\[400px\]{
    min-height: 400px;
  }
  .lg\:min-h-\[500px\]{
    min-height: 500px;
  }
  .lg\:min-h-\[550px\]{
    min-height: 550px;
  }
  .lg\:min-h-\[620px\]{
    min-height: 620px;
  }
  .lg\:min-h-\[700px\]{
    min-height: 700px;
  }
  .lg\:min-h-\[76px\]{
    min-height: 76px;
  }
  .lg\:w-\[110px\]{
    width: 110px;
  }
  .lg\:w-\[160px\]{
    width: 160px;
  }
  .lg\:w-\[170px\]{
    width: 170px;
  }
  .lg\:w-\[500px\]{
    width: 500px;
  }
  .lg\:w-\[calc\(100\%-40px\)\]{
    width: calc(100% - 40px);
  }
  .lg\:w-\[calc\(100\%-64px\)\]{
    width: calc(100% - 64px);
  }
  .lg\:w-\[calc\(20\%-10px\)\]{
    width: calc(20% - 10px);
  }
  .lg\:w-\[calc\(25\%-24px\)\]{
    width: calc(25% - 24px);
  }
  .lg\:min-w-\[290px\]{
    min-width: 290px;
  }
  .lg\:min-w-\[500px\]{
    min-width: 500px;
  }
  .lg\:max-w-\[420px\]{
    max-width: 420px;
  }
  .lg\:max-w-\[600px\]{
    max-width: 600px;
  }
  .lg\:max-w-\[900px\]{
    max-width: 900px;
  }
  .lg\:max-w-none{
    max-width: none;
  }
  .lg\:-translate-x-0{
    --tw-translate-x: -0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  .lg\:-translate-x-1\/2{
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-\[0\.5fr_1fr\]{
    grid-template-columns: 0.5fr 1fr;
  }
  .lg\:grid-cols-\[0\.8fr_0\.9fr\]{
    grid-template-columns: 0.8fr 0.9fr;
  }
  .lg\:grid-cols-\[0\.95fr_1\.05fr\]{
    grid-template-columns: 0.95fr 1.05fr;
  }
  .lg\:grid-cols-\[1\.1fr_0\.7fr\]{
    grid-template-columns: 1.1fr 0.7fr;
  }
  .lg\:grid-cols-\[1\.1fr_0\.9fr\]{
    grid-template-columns: 1.1fr 0.9fr;
  }
  .lg\:grid-cols-\[1\.25fr_1fr_1fr_1\.2fr_1\.25fr\]{
    grid-template-columns: 1.25fr 1fr 1fr 1.2fr 1.25fr;
  }
  .lg\:grid-cols-\[1\.2fr_0\.8fr\]{
    grid-template-columns: 1.2fr 0.8fr;
  }
  .lg\:grid-cols-\[1\.65fr_1fr\]{
    grid-template-columns: 1.65fr 1fr;
  }
  .lg\:grid-cols-\[1fr_1fr\]{
    grid-template-columns: 1fr 1fr;
  }
  .lg\:grid-cols-\[32\%_68\%\]{
    grid-template-columns: 32% 68%;
  }
  .lg\:grid-cols-\[445px_1fr\]{
    grid-template-columns: 445px 1fr;
  }
  .lg\:grid-cols-\[54\%_46\%\]{
    grid-template-columns: 54% 46%;
  }
  .lg\:grid-cols-\[60\%_40\%\]{
    grid-template-columns: 60% 40%;
  }
  .lg\:grid-cols-\[minmax\(0\2c 1\.65fr\)_minmax\(380px\2c 1fr\)\]{
    grid-template-columns: minmax(0,1.65fr) minmax(380px,1fr);
  }
  .lg\:grid-cols-\[minmax\(0\2c 2fr\)_minmax\(280px\2c 1fr\)\]{
    grid-template-columns: minmax(0,2fr) minmax(280px,1fr);
  }
  .lg\:grid-cols-\[minmax\(0\2c 850px\)_minmax\(260px\2c 1fr\)\]{
    grid-template-columns: minmax(0,850px) minmax(260px,1fr);
  }
  .lg\:flex-row{
    flex-direction: row;
  }
  .lg\:items-end{
    align-items: flex-end;
  }
  .lg\:items-center{
    align-items: center;
  }
  .lg\:justify-start{
    justify-content: flex-start;
  }
  .lg\:justify-end{
    justify-content: flex-end;
  }
  .lg\:justify-center{
    justify-content: center;
  }
  .lg\:justify-between{
    justify-content: space-between;
  }
  .lg\:gap-10{
    gap: 2.5rem;
  }
  .lg\:gap-12{
    gap: 3rem;
  }
  .lg\:gap-16{
    gap: 4rem;
  }
  .lg\:gap-20{
    gap: 5rem;
  }
  .lg\:gap-36{
    gap: 9rem;
  }
  .lg\:gap-6{
    gap: 1.5rem;
  }
  .lg\:gap-7{
    gap: 1.75rem;
  }
  .lg\:gap-8{
    gap: 2rem;
  }
  .lg\:gap-x-14{
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }
  .lg\:gap-x-24{
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }
  .lg\:gap-y-20{
    row-gap: 5rem;
  }
  .lg\:space-y-24 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse));
  }
  .lg\:rounded-\[125px\]{
    border-radius: 125px;
  }
  .lg\:p-10{
    padding: 2.5rem;
  }
  .lg\:p-12{
    padding: 3rem;
  }
  .lg\:p-14{
    padding: 3.5rem;
  }
  .lg\:p-16{
    padding: 4rem;
  }
  .lg\:p-8{
    padding: 2rem;
  }
  .lg\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .lg\:px-14{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
  .lg\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .lg\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }
  .lg\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .lg\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .lg\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .lg\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .lg\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .lg\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .lg\:py-9{
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
  .lg\:pb-16{
    padding-bottom: 4rem;
  }
  .lg\:pb-24{
    padding-bottom: 6rem;
  }
  .lg\:pl-4{
    padding-left: 1rem;
  }
  .lg\:pl-8{
    padding-left: 2rem;
  }
  .lg\:pr-16{
    padding-right: 4rem;
  }
  .lg\:pt-1{
    padding-top: 0.25rem;
  }
  .lg\:pt-12{
    padding-top: 3rem;
  }
  .lg\:pt-24{
    padding-top: 6rem;
  }
  .lg\:text-left{
    text-align: left;
  }
}
@media (min-width: 1280px){
  .xl\:-right-10{
    right: -2.5rem;
  }
  .xl\:min-h-\[80px\]{
    min-height: 80px;
  }
  .xl\:w-\[calc\(100\%-64px\)\]{
    width: calc(100% - 64px);
  }
  .xl\:gap-10{
    gap: 2.5rem;
  }
  .xl\:gap-24{
    gap: 6rem;
  }
  .xl\:gap-4{
    gap: 1rem;
  }
  .xl\:gap-6{
    gap: 1.5rem;
  }
  .xl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }
  .xl\:px-\[7\%\]{
    padding-left: 7%;
    padding-right: 7%;
  }
}
@media (min-width: 1300px){
  .min-\[1300px\]\:grid{
    display: grid;
  }
  .min-\[1300px\]\:hidden{
    display: none;
  }
  .min-\[1300px\]\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .min-\[1300px\]\:gap-6{
    gap: 1.5rem;
  }
}
/*# sourceMappingURL=main.min.css.map */
