.gap-32 {
  gap: 32px !important;
}

.gap-40 {
  gap: 40px !important;
}

.gap-56 {
  gap: 56px !important;
}

.gap-64 {
  gap: 64px !important;
}

.gap-80 {
  gap: 80px !important;
}

.gap-96 {
  gap: 96px !important;
}

.p-32 {
  padding: 32px !important;
}

.p-40 {
  padding: 40px !important;
}

.p-56 {
  padding: 56px !important;
}

.p-64 {
  padding: 64px !important;
}

.p-80 {
  padding: 80px !important;
}

.p-96 {
  padding: 96px !important;
}

.px-32 {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.px-40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.px-56 {
  padding-left: 56px !important;
  padding-right: 56px !important;
}

.px-64 {
  padding-left: 64px !important;
  padding-right: 64px !important;
}

.px-80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.px-96 {
  padding-left: 96px !important;
  padding-right: 96px !important;
}

.pe-32 {
  padding-right: 32px !important;
}

.pe-40 {
  padding-right: 40px !important;
}

.pe-56 {
  padding-right: 56px !important;
}

.pe-64 {
  padding-right: 64px !important;
}

.pe-80 {
  padding-right: 80px !important;
}

.pe-96 {
  padding-right: 96px !important;
}

.pt-32 {
  padding-top: 32px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pt-56 {
  padding-top: 56px !important;
}

.pt-64 {
  padding-top: 64px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pt-96 {
  padding-top: 96px !important;
}

.gx-32 {
  --bs-gutter-x: 32px;
}

.gx-40 {
  --bs-gutter-x: 40px;
}

.gx-56 {
  --bs-gutter-x: 56px;
}

.gx-64 {
  --bs-gutter-x: 64px;
}

.gx-80 {
  --bs-gutter-x: 80px;
}

.gx-96 {
  --bs-gutter-x: 96px;
}

@media (min-width: 576px) {
  .gap-sm-32 {
    gap: 32px !important;
  }
  .gap-sm-40 {
    gap: 40px !important;
  }
  .gap-sm-56 {
    gap: 56px !important;
  }
  .gap-sm-64 {
    gap: 64px !important;
  }
  .gap-sm-80 {
    gap: 80px !important;
  }
  .gap-sm-96 {
    gap: 96px !important;
  }
  .p-sm-32 {
    padding: 32px !important;
  }
  .p-sm-40 {
    padding: 40px !important;
  }
  .p-sm-56 {
    padding: 56px !important;
  }
  .p-sm-64 {
    padding: 64px !important;
  }
  .p-sm-80 {
    padding: 80px !important;
  }
  .p-sm-96 {
    padding: 96px !important;
  }
  .px-sm-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .px-sm-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .px-sm-56 {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
  .px-sm-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .px-sm-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .px-sm-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .pe-sm-32 {
    padding-right: 32px !important;
  }
  .pe-sm-40 {
    padding-right: 40px !important;
  }
  .pe-sm-56 {
    padding-right: 56px !important;
  }
  .pe-sm-64 {
    padding-right: 64px !important;
  }
  .pe-sm-80 {
    padding-right: 80px !important;
  }
  .pe-sm-96 {
    padding-right: 96px !important;
  }
  .pt-sm-32 {
    padding-top: 32px !important;
  }
  .pt-sm-40 {
    padding-top: 40px !important;
  }
  .pt-sm-56 {
    padding-top: 56px !important;
  }
  .pt-sm-64 {
    padding-top: 64px !important;
  }
  .pt-sm-80 {
    padding-top: 80px !important;
  }
  .pt-sm-96 {
    padding-top: 96px !important;
  }
  .gx-sm-32 {
    --bs-gutter-x: 32px;
  }
  .gx-sm-40 {
    --bs-gutter-x: 40px;
  }
  .gx-sm-56 {
    --bs-gutter-x: 56px;
  }
  .gx-sm-64 {
    --bs-gutter-x: 64px;
  }
  .gx-sm-80 {
    --bs-gutter-x: 80px;
  }
  .gx-sm-96 {
    --bs-gutter-x: 96px;
  }
}
@media (min-width: 768px) {
  .gap-md-32 {
    gap: 32px !important;
  }
  .gap-md-40 {
    gap: 40px !important;
  }
  .gap-md-56 {
    gap: 56px !important;
  }
  .gap-md-64 {
    gap: 64px !important;
  }
  .gap-md-80 {
    gap: 80px !important;
  }
  .gap-md-96 {
    gap: 96px !important;
  }
  .p-md-32 {
    padding: 32px !important;
  }
  .p-md-40 {
    padding: 40px !important;
  }
  .p-md-56 {
    padding: 56px !important;
  }
  .p-md-64 {
    padding: 64px !important;
  }
  .p-md-80 {
    padding: 80px !important;
  }
  .p-md-96 {
    padding: 96px !important;
  }
  .px-md-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .px-md-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .px-md-56 {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
  .px-md-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .px-md-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .px-md-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .pe-md-32 {
    padding-right: 32px !important;
  }
  .pe-md-40 {
    padding-right: 40px !important;
  }
  .pe-md-56 {
    padding-right: 56px !important;
  }
  .pe-md-64 {
    padding-right: 64px !important;
  }
  .pe-md-80 {
    padding-right: 80px !important;
  }
  .pe-md-96 {
    padding-right: 96px !important;
  }
  .pt-md-32 {
    padding-top: 32px !important;
  }
  .pt-md-40 {
    padding-top: 40px !important;
  }
  .pt-md-56 {
    padding-top: 56px !important;
  }
  .pt-md-64 {
    padding-top: 64px !important;
  }
  .pt-md-80 {
    padding-top: 80px !important;
  }
  .pt-md-96 {
    padding-top: 96px !important;
  }
  .gx-md-32 {
    --bs-gutter-x: 32px;
  }
  .gx-md-40 {
    --bs-gutter-x: 40px;
  }
  .gx-md-56 {
    --bs-gutter-x: 56px;
  }
  .gx-md-64 {
    --bs-gutter-x: 64px;
  }
  .gx-md-80 {
    --bs-gutter-x: 80px;
  }
  .gx-md-96 {
    --bs-gutter-x: 96px;
  }
}
@media (min-width: 992px) {
  .gap-lg-32 {
    gap: 32px !important;
  }
  .gap-lg-40 {
    gap: 40px !important;
  }
  .gap-lg-56 {
    gap: 56px !important;
  }
  .gap-lg-64 {
    gap: 64px !important;
  }
  .gap-lg-80 {
    gap: 80px !important;
  }
  .gap-lg-96 {
    gap: 96px !important;
  }
  .p-lg-32 {
    padding: 32px !important;
  }
  .p-lg-40 {
    padding: 40px !important;
  }
  .p-lg-56 {
    padding: 56px !important;
  }
  .p-lg-64 {
    padding: 64px !important;
  }
  .p-lg-80 {
    padding: 80px !important;
  }
  .p-lg-96 {
    padding: 96px !important;
  }
  .px-lg-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .px-lg-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .px-lg-56 {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
  .px-lg-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .px-lg-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .px-lg-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .pe-lg-32 {
    padding-right: 32px !important;
  }
  .pe-lg-40 {
    padding-right: 40px !important;
  }
  .pe-lg-56 {
    padding-right: 56px !important;
  }
  .pe-lg-64 {
    padding-right: 64px !important;
  }
  .pe-lg-80 {
    padding-right: 80px !important;
  }
  .pe-lg-96 {
    padding-right: 96px !important;
  }
  .pt-lg-32 {
    padding-top: 32px !important;
  }
  .pt-lg-40 {
    padding-top: 40px !important;
  }
  .pt-lg-56 {
    padding-top: 56px !important;
  }
  .pt-lg-64 {
    padding-top: 64px !important;
  }
  .pt-lg-80 {
    padding-top: 80px !important;
  }
  .pt-lg-96 {
    padding-top: 96px !important;
  }
  .gx-lg-32 {
    --bs-gutter-x: 32px;
  }
  .gx-lg-40 {
    --bs-gutter-x: 40px;
  }
  .gx-lg-56 {
    --bs-gutter-x: 56px;
  }
  .gx-lg-64 {
    --bs-gutter-x: 64px;
  }
  .gx-lg-80 {
    --bs-gutter-x: 80px;
  }
  .gx-lg-96 {
    --bs-gutter-x: 96px;
  }
}
@media (min-width: 1200px) {
  .gap-xl-32 {
    gap: 32px !important;
  }
  .gap-xl-40 {
    gap: 40px !important;
  }
  .gap-xl-56 {
    gap: 56px !important;
  }
  .gap-xl-64 {
    gap: 64px !important;
  }
  .gap-xl-80 {
    gap: 80px !important;
  }
  .gap-xl-96 {
    gap: 96px !important;
  }
  .p-xl-32 {
    padding: 32px !important;
  }
  .p-xl-40 {
    padding: 40px !important;
  }
  .p-xl-56 {
    padding: 56px !important;
  }
  .p-xl-64 {
    padding: 64px !important;
  }
  .p-xl-80 {
    padding: 80px !important;
  }
  .p-xl-96 {
    padding: 96px !important;
  }
  .px-xl-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .px-xl-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .px-xl-56 {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
  .px-xl-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .px-xl-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .px-xl-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .pe-xl-32 {
    padding-right: 32px !important;
  }
  .pe-xl-40 {
    padding-right: 40px !important;
  }
  .pe-xl-56 {
    padding-right: 56px !important;
  }
  .pe-xl-64 {
    padding-right: 64px !important;
  }
  .pe-xl-80 {
    padding-right: 80px !important;
  }
  .pe-xl-96 {
    padding-right: 96px !important;
  }
  .pt-xl-32 {
    padding-top: 32px !important;
  }
  .pt-xl-40 {
    padding-top: 40px !important;
  }
  .pt-xl-56 {
    padding-top: 56px !important;
  }
  .pt-xl-64 {
    padding-top: 64px !important;
  }
  .pt-xl-80 {
    padding-top: 80px !important;
  }
  .pt-xl-96 {
    padding-top: 96px !important;
  }
  .gx-xl-32 {
    --bs-gutter-x: 32px;
  }
  .gx-xl-40 {
    --bs-gutter-x: 40px;
  }
  .gx-xl-56 {
    --bs-gutter-x: 56px;
  }
  .gx-xl-64 {
    --bs-gutter-x: 64px;
  }
  .gx-xl-80 {
    --bs-gutter-x: 80px;
  }
  .gx-xl-96 {
    --bs-gutter-x: 96px;
  }
}
@media (min-width: 1400px) {
  .gap-xxl-32 {
    gap: 32px !important;
  }
  .gap-xxl-40 {
    gap: 40px !important;
  }
  .gap-xxl-56 {
    gap: 56px !important;
  }
  .gap-xxl-64 {
    gap: 64px !important;
  }
  .gap-xxl-80 {
    gap: 80px !important;
  }
  .gap-xxl-96 {
    gap: 96px !important;
  }
  .p-xxl-32 {
    padding: 32px !important;
  }
  .p-xxl-40 {
    padding: 40px !important;
  }
  .p-xxl-56 {
    padding: 56px !important;
  }
  .p-xxl-64 {
    padding: 64px !important;
  }
  .p-xxl-80 {
    padding: 80px !important;
  }
  .p-xxl-96 {
    padding: 96px !important;
  }
  .px-xxl-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .px-xxl-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .px-xxl-56 {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
  .px-xxl-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .px-xxl-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .px-xxl-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .pe-xxl-32 {
    padding-right: 32px !important;
  }
  .pe-xxl-40 {
    padding-right: 40px !important;
  }
  .pe-xxl-56 {
    padding-right: 56px !important;
  }
  .pe-xxl-64 {
    padding-right: 64px !important;
  }
  .pe-xxl-80 {
    padding-right: 80px !important;
  }
  .pe-xxl-96 {
    padding-right: 96px !important;
  }
  .pt-xxl-32 {
    padding-top: 32px !important;
  }
  .pt-xxl-40 {
    padding-top: 40px !important;
  }
  .pt-xxl-56 {
    padding-top: 56px !important;
  }
  .pt-xxl-64 {
    padding-top: 64px !important;
  }
  .pt-xxl-80 {
    padding-top: 80px !important;
  }
  .pt-xxl-96 {
    padding-top: 96px !important;
  }
  .gx-xxl-32 {
    --bs-gutter-x: 32px;
  }
  .gx-xxl-40 {
    --bs-gutter-x: 40px;
  }
  .gx-xxl-56 {
    --bs-gutter-x: 56px;
  }
  .gx-xxl-64 {
    --bs-gutter-x: 64px;
  }
  .gx-xxl-80 {
    --bs-gutter-x: 80px;
  }
  .gx-xxl-96 {
    --bs-gutter-x: 96px;
  }
}
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

[hidden] {
  display: none !important;
}

body.site_neff {
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #363635;
  background-color: #ffffff;
}
body.site_neff a {
  color: inherit;
  text-decoration: none;
}
body.site_neff strong {
  font-weight: 700;
}

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

section[id] {
  scroll-margin-top: 91px;
}

.titre-hero {
  font-family: "Sora", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.01;
  text-transform: uppercase;
  color: #ffffff;
}
@media (min-width: 768px) {
  .titre-hero {
    font-size: 48px;
  }
}

.titre-section {
  font-family: "Sora", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  color: #0c1f2a;
}
@media (min-width: 768px) {
  .titre-section {
    font-size: 40px;
  }
}

.titre-carte {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  color: #0c1f2a;
}
@media (min-width: 768px) {
  .titre-carte {
    font-size: 24px;
  }
}

.titre-h4 {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  color: #363635;
}

.texte-hero {
  font-size: 18px;
  line-height: 1.4;
  color: #ffffff;
}

.texte-courant {
  font-size: 16px;
  line-height: 1.4;
  color: #363635;
}

.texte-gras {
  font-weight: 700;
}

.texte-accent {
  color: #dd4291;
}

.titre-inverse,
.texte-inverse {
  color: #ffffff;
}

.emoji {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 16px 24px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: filter 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}
@media (min-width: 768px) {
  .bouton {
    max-width: none;
    width: auto;
  }
}
.bouton:hover {
  filter: brightness(0.95);
}
.bouton:focus-visible {
  outline: 2px solid #0c1f2a;
  outline-offset: 2px;
}

.bouton-primaire {
  background-color: #fdcf07;
  border-color: #fdcf07;
  color: #0c1f2a;
}
body.site_neff .bouton-primaire:hover {
  color: #0c1f2a;
}

.bouton-hero {
  color: #000000;
}

.bouton-secondaire {
  background-color: #3659a5;
  border-color: #3659a5;
  color: #ffffff;
}
body.site_neff .bouton-secondaire, body.site_neff .bouton-secondaire:hover {
  color: #ffffff;
}

.bouton-tertiaire {
  background-color: #ffffff;
  border-color: #e2e8f0;
  color: #0c1f2a;
}
body.site_neff .bouton-tertiaire, body.site_neff .bouton-tertiaire:hover {
  color: #0c1f2a;
}

.bouton-suivant {
  padding-right: 20px;
}

.bouton-fleche {
  width: 48px;
  height: 48px;
  padding: 0;
  background: #ffffff url("../images/chevron-actif.svg") no-repeat center;
  border: 1px solid #3a9dd0;
  border-radius: 4px;
  cursor: pointer;
}
.bouton-fleche:disabled {
  background-image: url("../images/chevron-desactive.svg");
  border-color: #e2e8f0;
  cursor: default;
}

.bouton-fleche-precedent {
  transform: rotate(180deg);
}

.liste-puces {
  list-style: none;
  font-size: inherit;
  line-height: 1.4;
  color: #363635;
}
.liste-puces .puce {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.liste-puces-grasse {
  font-weight: 700;
}

.photo-arrondie {
  display: block;
  width: 100%;
  border-radius: 4px;
  object-fit: cover;
}

.section {
  padding-top: 64px;
  padding-bottom: 64px;
}
@media (min-width: 992px) {
  .section {
    padding-top: 104px;
    padding-bottom: 104px;
  }
}

.section-grise {
  background-color: #f8f9fa;
}

.entete {
  background-color: #ffffff;
}
.entete .logo-entete {
  gap: 10px;
}
.entete .logo-entete img {
  flex-shrink: 0;
}
.entete .bouton-menu {
  border-color: #e2e8f0;
  border: 0;
}
.entete .bouton-menu:focus {
  box-shadow: none;
}
.entete .bouton-menu:focus-visible {
  outline: 2px solid #0c1f2a;
}
.entete .bouton-menu[aria-expanded=true] .icone-burger span:nth-child(1) {
  transform: rotate(45deg);
}
.entete .bouton-menu[aria-expanded=true] .icone-burger span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.entete .bouton-menu[aria-expanded=true] .icone-burger span:nth-child(3) {
  transform: rotate(-45deg);
}
.entete .icone-burger {
  position: relative;
  display: block;
  width: 1.1em;
  height: 1.1em;
}
.entete .icone-burger span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  border-radius: 2px;
  background-color: #0c1f2a;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .entete .icone-burger span {
    transition: none;
  }
}
.entete .icone-burger span:nth-child(1) {
  transform: translateY(-0.35em);
}
.entete .icone-burger span:nth-child(3) {
  transform: translateY(0.35em);
}
.entete .lien-nav {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  color: #0c1f2a;
  white-space: nowrap;
}
.entete .lien-nav:hover, .entete .lien-nav:focus-visible {
  color: #3a9dd0;
}

.hero {
  display: flex;
  flex-direction: column-reverse;
  background-image: linear-gradient(228.07deg, #3a9dd0 5.12%, #3a9dd0 55.3%, #dd4291 100%);
}
@media (min-width: 992px) {
  .hero {
    display: block;
    position: relative;
    background-size: 50.83% 100%;
    background-repeat: no-repeat;
  }
}
.hero .hero-visuel img {
  display: block;
  width: 100%;
  aspect-ratio: 708/737;
  object-fit: cover;
}
@media (min-width: 992px) {
  .hero .hero-visuel img {
    height: 100%;
    aspect-ratio: auto;
  }
}
@media (min-width: 992px) {
  .hero .hero-visuel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 49.17%;
  }
}
@media (min-width: 992px) {
  .hero .hero-contenu {
    min-height: 646px;
  }
}
.hero .titre-hero {
  max-width: 648px;
}
.hero .texte-hero {
  max-width: 536px;
}

.bandeau-services {
  overflow: hidden;
}
.bandeau-services .bandeau-piste {
  width: max-content;
  list-style: none;
  animation: defilement-bandeau 40s linear infinite;
}
.bandeau-services .bandeau-piste:hover {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  .bandeau-services {
    overflow-x: auto;
  }
  .bandeau-services .bandeau-piste {
    animation: none;
  }
}

@keyframes defilement-bandeau {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-50% - 8px));
  }
}
.carte-service {
  width: 243px;
  flex-shrink: 0;
  padding: 24px 32px 24px 24px;
  background-color: #f8f9fa;
  border-radius: 4px;
}
.carte-service .carte-service-titre {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: #0c1f2a;
}
.carte-service .carte-service-texte {
  font-size: 16px;
  line-height: 1;
  color: #363635;
}

.section-entreprise .visuel-artisan {
  position: relative;
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  .section-entreprise .visuel-artisan {
    margin-bottom: 0;
  }
}
.section-entreprise .photo-artisan {
  display: block;
  width: 100%;
  aspect-ratio: 610/628;
  object-fit: cover;
  border-radius: 4px;
}
.section-entreprise .carte-zone {
  position: absolute;
  right: 0;
  bottom: -5.65%;
  width: 47.4%;
  aspect-ratio: 289/290;
  overflow: hidden;
  background-color: #f8f9fa;
  border: 15px solid #ffffff;
  border-radius: 4px;
}
@media (min-width: 992px) {
  .section-entreprise .carte-zone {
    right: -10.2%;
  }
}
.section-entreprise .carte-zone-departement {
  position: absolute;
  top: 15.17%;
  left: 5.88%;
  width: 87.89%;
  height: 69.66%;
}
.section-entreprise .carte-zone-logo {
  position: absolute;
  top: 46.9%;
  left: 30.1%;
  width: 14.88%;
  height: auto;
}
.section-entreprise .carte-zone-pulse {
  position: absolute;
  top: 65.5%;
  left: 36%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  animation: pulsation 2s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .section-entreprise .carte-zone-pulse {
    animation: none;
  }
}
.section-entreprise .chiffres-cles {
  --bs-gutter-x: 32px;
  line-height: 1.4;
  color: #363635;
}
.section-entreprise .chiffre-cle {
  color: #dd4291;
}

@keyframes pulsation {
  0% {
    box-shadow: 0 0 0 0 rgba(253, 207, 7, 0.6);
  }
  100% {
    box-shadow: 0 0 0 10px rgba(253, 207, 7, 0);
  }
}
@media (min-width: 992px) {
  .section-chauffage {
    padding-bottom: 144px;
  }
}
@media (min-width: 1200px) {
  .section-chauffage .chauffage-intro {
    width: 442px;
  }
}

.carrousel {
  min-width: 0;
  container-type: inline-size;
}
.carrousel .carrousel-diapo {
  font-size: 16px;
  width: 85cqw;
  height: auto;
  transition: transform 0.3s ease-in-out;
}
@media (min-width: 992px) {
  .carrousel .carrousel-diapo {
    width: min(31.288996em, 70cqw);
  }
  .carrousel .carrousel-diapo.swiper-slide-active ~ .carrousel-diapo {
    transform: translateX(calc(min(39.94em, 88cqw) - min(31.288996em, 70cqw)));
  }
}
@media (prefers-reduced-motion: reduce) {
  .carrousel .carrousel-diapo {
    transition: none;
  }
}

.carte-solution {
  font-size: 16px;
  width: 100%;
  padding: 1.5em;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carte-solution {
    transition: none;
  }
}
@media (min-width: 576px) {
  .carte-solution {
    padding: 2.5em;
  }
}
@media (min-width: 992px) {
  .carte-solution {
    font-size: 12.5344px;
    min-height: 36.94em;
    gap: 1.5em !important;
  }
}
.swiper-slide-active > .carte-solution {
  cursor: grab;
}
@media (min-width: 992px) {
  .swiper-slide-active > .carte-solution {
    font-size: 16px;
    width: min(39.94em, 88cqw);
  }
}
.carte-solution .titre-carte {
  font-size: 1.25em;
}
@media (min-width: 768px) {
  .carte-solution .titre-carte {
    font-size: 1.5em;
  }
}
.carte-solution .titre-carte .emoji {
  width: 1.3333em;
  height: 1.3333em;
}
.carte-solution .texte-carte {
  color: #363635;
}
.carte-solution .liste-puces .puce {
  width: 1.5em;
  height: 1.5em;
}

.carte-solution-bleue {
  background-color: #d8ebf6;
}

.carte-solution-jaune {
  background-color: #fff5cd;
}

.carte-solution-rose {
  background-color: #f8d9e9;
}

.carte-solution-visuel {
  position: relative;
  flex: 1 0 14.5em;
}
.carte-solution-visuel > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carte-solution-visuel-bas > img {
  object-position: center 65%;
}

.badge-certification {
  position: absolute;
  right: 3%;
  bottom: 15%;
  padding: 0.5em 0.625em;
  background-color: #ffffff;
  border-radius: 8px;
  transform: rotate(-3.82deg);
  font-weight: 700;
  font-size: 0.875em;
  line-height: 1.4;
  color: #363635;
  white-space: nowrap;
}
.badge-certification .badge-certification-logo {
  position: relative;
  display: block;
  width: 10.2857em;
  height: 3.6429em;
  overflow: hidden;
}
.badge-certification .badge-certification-logo img {
  position: absolute;
  top: -17.65%;
  left: -6.25%;
  width: 112.5%;
  height: 134.74%;
  max-width: none;
}

.bloc-aides {
  border-radius: 8px;
}
.bloc-aides .bloc-aides-texte {
  max-width: 650px;
}
.bloc-aides .logos-aides {
  gap: 13px;
}
.bloc-aides .logo-maprimerenov {
  width: 286.512px;
  flex-shrink: 1;
  min-width: 0;
}
.bloc-aides .logo-ecoptz {
  width: 120.465px;
  height: 135.116px;
  flex-shrink: 0;
}
.bloc-aides .logo-ecoptz img {
  width: 101.077px;
  height: 112.163px;
  object-fit: cover;
}

@media (min-width: 992px) {
  .section-climatisation {
    padding-top: 144px;
    padding-bottom: 144px;
  }
}
.section-climatisation .photo-climatisation {
  aspect-ratio: 632/504;
}
@media (min-width: 992px) {
  .section-climatisation .photo-climatisation {
    height: 504px;
    aspect-ratio: auto;
  }
}

.liste-configurations {
  list-style: none;
}
.liste-configurations .configuration + .configuration {
  border-top: 1px solid #e2e8f0;
}

.numero-configuration {
  width: 48px;
  height: 48px;
  background-color: #dd4291;
  border-radius: 8px;
  font-family: "Sora", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.2;
  color: #ffffff;
}

@media (min-width: 992px) {
  .section-plomberie {
    padding-bottom: 144px;
  }
}
.section-plomberie .plomberie-intro {
  max-width: 872px;
}
.section-plomberie .plomberie-chapo {
  max-width: 648px;
  text-align: left;
}
.section-plomberie .photo-plomberie {
  aspect-ratio: 628/576;
}
@media (min-width: 992px) {
  .section-plomberie .photo-plomberie {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}

.carte-prestation {
  padding: 24px;
  border-radius: 8px;
}
@media (min-width: 576px) {
  .carte-prestation {
    padding: 40px;
  }
}

.carte-prestation-bleue {
  background-color: #d8ebf6;
}

.carte-prestation-rose {
  background-color: #f8d9e9;
}

.section-contact {
  overflow: hidden;
  background-color: #3a9dd0;
}
.section-contact .contact-intro {
  max-width: 536px;
}

.formulaire-projet {
  width: 100%;
  max-width: 576px;
  background-color: #ffffff;
  border-radius: 4px;
}
.formulaire-projet .bouton-retour {
  width: 40px;
  height: 40px;
  background-color: #ffffff;
  border: 0;
  border-radius: 4px;
}
.formulaire-projet .bouton-retour img {
  transform: rotate(180deg);
}
.formulaire-projet .titre-formulaire {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  color: #0c1f2a;
}
.formulaire-projet .texte-formulaire {
  line-height: 1.4;
  color: #777776;
}

.etapes {
  height: 5px;
}
.etapes .etape {
  border-radius: 8px;
  background-color: #e2e8f0;
}
.etapes .etape.est-active {
  background-color: #fdcf07;
}

.choix-projet {
  border: 0;
}
.choix-projet label {
  cursor: pointer;
}
.choix-projet .choix {
  min-height: 64px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 18px;
  line-height: normal;
  text-align: center;
  color: #0c1f2a;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.choix-projet label:hover .choix {
  border-color: #3a9dd0;
}
.choix-projet input:checked + .choix {
  background-color: #fff5cd;
  border-color: #fdcf07;
}
.choix-projet input:focus-visible + .choix {
  outline: 2px solid #0c1f2a;
  outline-offset: 2px;
}

.titre-formulaire:focus {
  outline: none;
}

.champ-formulaire label {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  color: #0c1f2a;
}
.champ-formulaire .mention-facultatif {
  font-weight: 400;
  color: #777776;
}
.champ-formulaire input,
.champ-formulaire textarea {
  width: 100%;
  padding: 12px 16px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #0c1f2a;
  transition: border-color 0.2s ease;
}
.champ-formulaire input:hover,
.champ-formulaire textarea:hover {
  border-color: #3a9dd0;
}
.champ-formulaire input:focus,
.champ-formulaire textarea:focus {
  outline: none;
  border-color: #3a9dd0;
  box-shadow: 0 0 0 3px rgba(58, 157, 208, 0.2);
}
.champ-formulaire input[aria-invalid=true],
.champ-formulaire textarea[aria-invalid=true] {
  border-color: #dd4291;
}
.champ-formulaire textarea {
  resize: vertical;
}

.message-champ,
.message-formulaire {
  font-size: 14px;
  line-height: 1.4;
  color: #dd4291;
}
.message-champ:empty,
.message-formulaire:empty {
  display: none;
}

.recapitulatif {
  background-color: #f8f9fa;
  border-radius: 4px;
  line-height: 1.4;
}
.recapitulatif dt {
  font-weight: 700;
  font-size: 14px;
  color: #777776;
}
.recapitulatif dd {
  margin: 0;
  color: #0c1f2a;
}

.bouton-suivant:disabled {
  opacity: 0.6;
  cursor: wait;
}

.pied-de-page {
  background-image: linear-gradient(195.7deg, #3a9dd0 5.12%, #3a9dd0 55.3%, #dd4291 100%);
  font-size: 16px;
  line-height: 1.4;
  color: #ffffff;
}
.pied-de-page .logo-pied {
  gap: 16px;
}
.pied-de-page .titre-pied {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  text-transform: uppercase;
  color: #ffffff;
}
.pied-de-page .liste-pied {
  list-style: none;
}
.pied-de-page a:hover {
  text-decoration: underline;
}
.pied-de-page .telephone-pied {
  font-weight: 700;
  font-size: 26px;
  line-height: 24px;
  color: #fdcf07;
}
.pied-de-page .mentions {
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 24px;
  text-align: right;
}

.bandeau-page {
  padding-top: 64px;
  padding-bottom: 64px;
  background-image: linear-gradient(200.81deg, #3a9dd0 5.12%, #3a9dd0 55.3%, #dd4291 100%);
}
@media (min-width: 992px) {
  .bandeau-page {
    min-height: 404px;
    padding-top: 61px;
    padding-bottom: 80px;
  }
}
.bandeau-page .bandeau-page-contenu {
  max-width: 648px;
}

@media (min-width: 992px) {
  .section-page-contact {
    padding-bottom: 144px;
  }
}
@media (min-width: 992px) {
  .section-page-contact .colonne-contact {
    max-width: calc(566px + var(--bs-gutter-x));
  }
}

.carte-contact {
  background-color: #f8f9fa;
  border-radius: 4px;
}

.carte-contact-bleue {
  background-color: #d8ebf6;
}

.titre-carte-contact {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  color: #0c1f2a;
}
.titre-carte-contact:focus {
  outline: none;
}
@media (min-width: 768px) {
  .titre-carte-contact {
    font-size: 24px;
  }
}

.texte-carte-contact {
  line-height: 1.4;
  color: #363635;
}

.mention-contact {
  font-size: 14px;
  line-height: 1.4;
  color: #363635;
}

.bouton.bouton-telephone {
  text-decoration: underline;
  text-underline-position: from-font;
}

.champ-contact input,
.champ-contact textarea {
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  color: #0c1f2a;
  transition: border-color 0.2s ease;
}
.champ-contact input::placeholder,
.champ-contact textarea::placeholder {
  font-weight: 700;
  color: #777776;
  opacity: 1;
}
.champ-contact input:hover,
.champ-contact textarea:hover {
  border-color: #3a9dd0;
}
.champ-contact input:focus,
.champ-contact textarea:focus {
  outline: none;
  border-color: #3a9dd0;
  box-shadow: 0 0 0 3px rgba(58, 157, 208, 0.2);
}
.champ-contact input[aria-invalid=true],
.champ-contact textarea[aria-invalid=true] {
  border-color: #dd4291;
}
.champ-contact input {
  height: 64px;
  padding: 13px 24px;
}
.champ-contact textarea {
  height: 114px;
  padding: 24px 24px 13px;
  line-height: 1.4;
  resize: vertical;
}

@media (min-width: 992px) {
  .bandeau-page-legal {
    min-height: 260px;
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

.contenu-legal {
  line-height: 1.4;
  color: #363635;
}
.contenu-legal h2 {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  color: #0c1f2a;
}
@media (min-width: 768px) {
  .contenu-legal h2 {
    font-size: 24px;
  }
}
.contenu-legal h3 {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
  color: #0c1f2a;
}
.contenu-legal .numero-legal {
  color: #3a9dd0;
}
.contenu-legal strong {
  color: #0c1f2a;
}
.contenu-legal ul {
  padding-left: 1.25em;
}
.contenu-legal ul li + li {
  margin-top: 6px;
}
.contenu-legal ul li::marker {
  color: #3a9dd0;
}
.site_neff .contenu-legal a {
  color: #3659a5;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.site_neff .contenu-legal a:hover, .site_neff .contenu-legal a:focus-visible {
  color: #3a9dd0;
}

.contenu-legal-chapo {
  padding-left: 20px;
  border-left: 3px solid #3a9dd0;
  font-size: 18px;
  color: #0c1f2a;
}

.fiche-legale {
  background-color: #f8f9fa;
  border-radius: 8px;
}
.fiche-legale dt {
  font-weight: 700;
  color: #0c1f2a;
}
.fiche-legale dd {
  color: #363635;
}

/*# sourceMappingURL=sylvain-neff_20261005.css.map */
