


.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, var(--hero-overlay));
}

.gallery__item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	transition: background 0.3s ease;
}

.gallery__item:hover::after {
	background: rgba(0, 0, 0, 0.25);
}


.modal[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
}

.modal[aria-hidden="false"] .modal__content {
	transform: translate(-50%, -50%) scale(1);
}


html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
}

body,
button,
input,
select,
textarea {
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
}

p {
  margin: 0 0 1.25rem;
  line-height: 1.625;
  font-size: 1rem;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

h1 {
  font-family: 'Ubuntu', 'Montserrat', sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 166, 109, 0.6);
}

a:hover {
  border-bottom-color: #c8a66d;
}

.hero__content p {
  margin: 0;
}

.hero__content .hero__small {
  font-size: 25px;
  font-weight: 400;
}

.hero__intro p {
  margin-bottom: 0.875rem;
  font-size: inherit;
  line-height: inherit;
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: 0;
}

.modal__description p {
  margin-bottom: 1rem;
}

.modal__description,
.modal__description * {
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif !important;
}

.modal__description h1,
.modal__description h2,
.modal__description h3,
.modal__description h4,
.modal__description h5,
.modal__description h6 {
  font-weight: 600;
}

.titre1 {
  color: #001D53;
}

.titre2 {
  color: #C31A21;
}

.partners-marquee__track {
  --partners-loop-distance: 50%;
  animation: partners-marquee-scroll 28s linear infinite;
  will-change: transform;
}

.partners-marquee:hover .partners-marquee__track {
  animation-play-state: paused;
}

@keyframes partners-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-1 * var(--partners-loop-distance)));
  }
}

.catalogue-cta {
  transition: color 0.25s ease;
}

.catalogue-cta__check {
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.catalogue-cta.is-downloading .catalogue-cta__arrow {
  opacity: 0;
  transform: translateY(5px) scale(0.85);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.catalogue-cta.is-downloading .catalogue-cta__check {
  opacity: 1;
  transform: scale(1);
}

.catalogue-cta.is-downloading .catalogue-cta__icon {
  animation: catalogue-icon-pop 0.55s ease;
}

@keyframes catalogue-icon-pop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
