.elementor-18527 .elementor-element.elementor-element-3014332{width:var( --container-widget-width, 100.076% );max-width:100.076%;--container-widget-width:100.076%;--container-widget-flex-grow:0;}.elementor-18527 .elementor-element.elementor-element-3014332.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-18527 .elementor-element.elementor-element-fb91783{width:var( --container-widget-width, 100.076% );max-width:100.076%;--container-widget-width:100.076%;--container-widget-flex-grow:0;}.elementor-18527 .elementor-element.elementor-element-fb91783.elementor-element{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-18527 .elementor-element.elementor-element-5b54c66{width:initial;max-width:initial;}}/* Start custom CSS for html, class: .elementor-element-5b54c66 *//* Défilement doux vers « Comment ça fonctionne » */
html:has(.fin-intro-bloc) { scroll-behavior: smooth; }

.fin-intro-bloc {
  --fin-navy: #1E3A5F;
  --fin-muted: #5a6978;
  --fin-ligne: #DDE3EA;
  --fin-sans: Roboto, "Helvetica Neue", Arial, sans-serif;

  --fin-h1: 64px;
  --fin-texte: 22px;
  --fin-bouton-size: 19px;
  --fin-largeur: 1440px;

  width: 100%;
  max-width: var(--fin-largeur);
  margin: 0 auto;
  padding: 56px 0 64px;
  border-bottom: 1px solid var(--fin-ligne);
  font-family: var(--fin-sans);
  color: var(--fin-navy);
  box-sizing: border-box;
}
.fin-intro-bloc *, .fin-intro-bloc *::before, .fin-intro-bloc *::after { box-sizing: border-box; }

.fin-intro-bloc p.fin-etiquette {
  margin: 0 0 14px;
  font-family: var(--fin-sans);
  font-size: 16px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fin-muted);
}

/* H1 : police des titres du site, en plus raisonnable */
.fin-intro-bloc h1.fin-h1 {
  margin: 0 0 24px;
  font-size: var(--fin-h1);
  line-height: 1.1;
  text-align: left;
  color: var(--fin-navy);
}

.fin-intro-bloc p.fin-texte {
  max-width: none;
  margin: 0 0 36px;
  font-family: var(--fin-sans);
  font-size: var(--fin-texte);
  line-height: 1.55;
  color: var(--fin-navy);
}

.fin-intro-bloc .fin-boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.fin-intro-bloc a.fin-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px;
  border: 2px solid var(--fin-navy);
  border-radius: 999px;
  font-family: var(--fin-sans);
  font-size: var(--fin-bouton-size);
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
}
/* Icônes en CSS (le texte des boutons reste seul dans le HTML) */
.fin-intro-bloc a.fin-btn-plein::before,
.fin-intro-bloc a.fin-btn-contour::after {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background: no-repeat center / contain;
}
.fin-intro-bloc a.fin-btn-plein::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}
.fin-intro-bloc a.fin-btn-contour::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E");
}

.fin-intro-bloc a.fin-btn-plein,
.fin-intro-bloc a.fin-btn-plein:link,
.fin-intro-bloc a.fin-btn-plein:visited,
.fin-intro-bloc a.fin-btn-plein:hover,
.fin-intro-bloc a.fin-btn-plein:active {
  background: var(--fin-navy);
  color: #ffffff !important;
  text-decoration: none !important;
}
.fin-intro-bloc a.fin-btn-plein:hover { background: #2B4C78; border-color: #2B4C78; }

.fin-intro-bloc a.fin-btn-contour,
.fin-intro-bloc a.fin-btn-contour:link,
.fin-intro-bloc a.fin-btn-contour:visited,
.fin-intro-bloc a.fin-btn-contour:hover,
.fin-intro-bloc a.fin-btn-contour:active {
  background: transparent;
  color: var(--fin-navy) !important;
  text-decoration: none !important;
}
.fin-intro-bloc a.fin-btn-contour:hover { background: #F1F4F7; }

/* Tablette */
@media (max-width: 1024px) {
  .fin-intro-bloc {
    --fin-h1: 50px;
    --fin-texte: 20px;
    --fin-bouton-size: 18px;
    padding: 44px 0 52px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .fin-intro-bloc {
    --fin-h1: 36px;
    --fin-texte: 19px;
    --fin-bouton-size: 17px;
    padding: 32px 0 40px;
  }
  .fin-intro-bloc p.fin-etiquette { font-size: 14px; }
  .fin-intro-bloc a.fin-btn {
    width: 100%;
    justify-content: center;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-28e28e1 */.fin-pourquoi {
  --fin-navy: #1E3A5F;
  --fin-blanc: #ffffff;
  --fin-texte-couleur: #1E3A5F;
  --fin-sans: Roboto, "Helvetica Neue", Arial, sans-serif;

  --fin-titre: 44px;
  --fin-texte: 22px;
  --fin-pad-y: 56px;
  --fin-pad-x: 0px;
  --fin-largeur: 1440px;

  width: 100%;
  max-width: var(--fin-largeur);
  margin: 0 auto;
  font-family: var(--fin-sans);
  color: var(--fin-navy);
  box-sizing: border-box;
}
.fin-pourquoi *, .fin-pourquoi *::before, .fin-pourquoi *::after { box-sizing: border-box; }

.fin-pourquoi .fin-sec {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: stretch;
  padding: var(--fin-pad-y) var(--fin-pad-x);
  background: transparent;
  border: none;
  border-radius: 0;
}
.fin-pourquoi .fin-contenu { align-self: center; }

.fin-pourquoi h2.fin-titre {
  margin: 0 0 28px;
  font-size: var(--fin-titre);
  line-height: 1.2;
  text-align: left;
  color: var(--fin-navy);
}

.fin-pourquoi .fin-photo-cadre {
  position: relative;
  width: 100%;
  align-self: center;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  background: #E9ECEF;
  border-radius: 16px;
  overflow: hidden;
}
.fin-pourquoi img.fin-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.fin-pourquoi ul.fin-liste {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fin-pourquoi ul.fin-liste li {
  position: relative;
  margin: 0;
  padding: 9px 0 9px 42px;
  font-size: var(--fin-texte);
  line-height: 1.5;
  font-family: var(--fin-sans);
  color: var(--fin-texte-couleur);
}
.fin-pourquoi ul.fin-liste li strong {
  font-weight: 500;
  color: var(--fin-navy);
}
.fin-pourquoi ul.fin-liste li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 26px;
  height: 26px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* Tablette */
@media (max-width: 1024px) {
  .fin-pourquoi {
    --fin-titre: 36px;
    --fin-texte: 20px;
    --fin-pad-y: 44px;
    --fin-pad-x: 0px;
  }
  /* Tablette : photo cachée, texte sur toute la largeur */
  .fin-pourquoi .fin-sec { grid-template-columns: 1fr; gap: 0; }
  .fin-pourquoi .fin-photo-cadre { display: none; }
  /* La liste en deux colonnes pour remplir la largeur */
  .fin-pourquoi ul.fin-liste {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 40px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .fin-pourquoi {
    --fin-titre: 30px;
    --fin-texte: 19px;
    --fin-pad-y: 36px;
    --fin-pad-x: 0px;
  }
  .fin-pourquoi ul.fin-liste { grid-template-columns: 1fr; gap: 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ce326da */.fin-fonctionne {
  --fin-navy: #1E3A5F;
  --fin-blanc: #ffffff;
  --fin-texte-couleur: #1E3A5F;
  --fin-sans: Roboto, "Helvetica Neue", Arial, sans-serif;

  --fin-titre: 44px;
  --fin-texte: 22px;
  --fin-pad-y: 56px;
  --fin-pad-x: 0px;
  --fin-largeur: 1440px;

  width: 100%;
  max-width: var(--fin-largeur);
  margin: 0 auto;
  font-family: var(--fin-sans);
  color: var(--fin-navy);
  box-sizing: border-box;
  /* Espace laissé en haut quand on arrive par le bouton « Comment ça fonctionne » (en-tête du site) */
  scroll-margin-top: 120px;
}
.fin-fonctionne *, .fin-fonctionne *::before, .fin-fonctionne *::after { box-sizing: border-box; }

.fin-fonctionne .fin-sec {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: stretch;
  padding: var(--fin-pad-y) var(--fin-pad-x);
  background: transparent;
  border: none;
  border-radius: 0;
}
.fin-fonctionne .fin-contenu { align-self: center; }

.fin-fonctionne h2.fin-titre {
  margin: 0 0 28px;
  font-size: var(--fin-titre);
  line-height: 1.2;
  text-align: left;
  color: var(--fin-navy);
}

.fin-fonctionne .fin-photo-cadre {
  order: -1;
  position: relative;
  width: 100%;
  align-self: stretch;
  height: auto;
  min-height: 440px;
  aspect-ratio: auto;
  background: #E9ECEF;
  border-radius: 16px;
  overflow: hidden;
}
.fin-fonctionne img.fin-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.fin-fonctionne ol.fin-etapes {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: etape;
}
.fin-fonctionne ol.fin-etapes li {
  counter-increment: etape;
  position: relative;
  margin: 0 0 26px;
  padding: 0 0 0 64px;
  font-size: var(--fin-texte);
  line-height: 1.5;
  font-family: var(--fin-sans);
  color: var(--fin-texte-couleur);
}
.fin-fonctionne ol.fin-etapes li:last-child { margin-bottom: 0; }
.fin-fonctionne ol.fin-etapes li::before {
  content: counter(etape);
  position: absolute;
  left: 0;
  top: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--fin-navy);
  color: var(--fin-blanc);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 500;
}
.fin-fonctionne ol.fin-etapes li strong {
  display: block;
  margin-bottom: 2px;
  font-weight: 500;
  color: var(--fin-navy);
}

/* Tablette */
@media (max-width: 1024px) {
  .fin-fonctionne {
    --fin-titre: 36px;
    --fin-texte: 20px;
    --fin-pad-y: 44px;
    --fin-pad-x: 0px;
  }
  /* Tablette : photo cachée, texte sur toute la largeur */
  .fin-fonctionne .fin-sec { grid-template-columns: 1fr; gap: 0; }
  .fin-fonctionne .fin-photo-cadre { display: none; }
  /* Chaque étape dans sa propre carte, avec sa pastille */
  .fin-fonctionne ol.fin-etapes { max-width: 720px; }
  .fin-fonctionne ol.fin-etapes li {
    margin: 0 0 14px;
    padding: 24px 26px 24px 90px;
    background: #F2F4F7;
    border-radius: 18px;
  }
  .fin-fonctionne ol.fin-etapes li:last-child { margin-bottom: 0; }
  .fin-fonctionne ol.fin-etapes li::before {
    left: 24px;
    top: 24px;
    width: 46px;
    height: 46px;
    background: var(--fin-navy);
    color: #ffffff;
    font-size: 20px;
  }
  .fin-fonctionne ol.fin-etapes li strong {
    margin: 0 0 6px;
    padding-top: 9px;
    font-size: calc(var(--fin-texte) + 3px);
    font-weight: 700;
    line-height: 1.3;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .fin-fonctionne {
    --fin-titre: 30px;
    --fin-texte: 19px;
    --fin-pad-y: 36px;
    --fin-pad-x: 0px;
  }
  .fin-fonctionne ol.fin-etapes li { padding: 20px 18px 20px 70px; border-radius: 16px; }
  .fin-fonctionne ol.fin-etapes li::before { left: 16px; top: 20px; width: 40px; height: 40px; font-size: 17px; }
  .fin-fonctionne ol.fin-etapes li strong { padding-top: 7px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ef352e8 */.fin-modalites {
  --fin-navy: #1E3A5F;
  --fin-blanc: #ffffff;
  --fin-texte-couleur: #1E3A5F;
  --fin-sans: Roboto, "Helvetica Neue", Arial, sans-serif;

  --fin-titre: 44px;
  --fin-texte: 22px;
  --fin-pad-y: 56px;
  --fin-pad-x: 0px;
  --fin-largeur: 1440px;

  width: 100%;
  max-width: var(--fin-largeur);
  margin: 0 auto;
  font-family: var(--fin-sans);
  color: var(--fin-navy);
  box-sizing: border-box;
}
.fin-modalites *, .fin-modalites *::before, .fin-modalites *::after { box-sizing: border-box; }

.fin-modalites .fin-sec {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: stretch;
  padding: var(--fin-pad-y) var(--fin-pad-x);
  background: transparent;
  border: none;
  border-radius: 0;
}
.fin-modalites .fin-contenu { align-self: center; }

.fin-modalites h2.fin-titre {
  margin: 0 0 28px;
  font-size: var(--fin-titre);
  line-height: 1.2;
  text-align: left;
  color: var(--fin-navy);
}

.fin-modalites .fin-photo-cadre {
  position: relative;
  width: 100%;
  align-self: center;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  background: #E9ECEF;
  border-radius: 16px;
  overflow: hidden;
}
.fin-modalites img.fin-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.fin-modalites ul.fin-liste {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fin-modalites ul.fin-liste li {
  position: relative;
  margin: 0;
  padding: 9px 0 9px 42px;
  font-size: var(--fin-texte);
  line-height: 1.5;
  font-family: var(--fin-sans);
  color: var(--fin-texte-couleur);
}
.fin-modalites ul.fin-liste li strong {
  font-weight: 500;
  color: var(--fin-navy);
}
.fin-modalites ul.fin-liste li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 26px;
  height: 26px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* Tablette */
@media (max-width: 1024px) {
  .fin-modalites {
    --fin-titre: 36px;
    --fin-texte: 20px;
    --fin-pad-y: 44px;
    --fin-pad-x: 0px;
  }
  /* Tablette : photo cachée, texte sur toute la largeur */
  .fin-modalites .fin-sec { grid-template-columns: 1fr; gap: 0; }
  .fin-modalites .fin-photo-cadre { display: none; }
  /* La liste en deux colonnes pour remplir la largeur */
  .fin-modalites ul.fin-liste {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 40px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .fin-modalites {
    --fin-titre: 30px;
    --fin-texte: 19px;
    --fin-pad-y: 36px;
    --fin-pad-x: 0px;
  }
  .fin-modalites ul.fin-liste { grid-template-columns: 1fr; gap: 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3014332 */.fin-contact-bloc {
  --fin-navy: #26323f;
  --fin-navy-rgb: 38, 50, 63;
  --fin-blanc: #ffffff;
  --fin-doux: #e3e8ee;
  --fin-ligne: rgba(255, 255, 255, 0.22);
  --fin-sans: Roboto, "Helvetica Neue", Arial, sans-serif;

  --fin-titre: 44px;
  --fin-texte: 22px;
  --fin-label: 18px;
  --fin-numero: 30px;
  --fin-bouton-size: 20px;

  /* Même largeur de contenu que les autres blocs (1440px), marge minimale sur petit écran */
  --fin-largeur: 1440px;
  --fin-marge: 24px;
  --fin-logo-largeur: 320px;

  width: 100%;
  margin: 0;
  font-family: var(--fin-sans);
  box-sizing: border-box;
}
.fin-contact-bloc *, .fin-contact-bloc *::before, .fin-contact-bloc *::after { box-sizing: border-box; }

/* ---------- Bande pleine largeur : photo derrière un dégradé marine ---------- */
.fin-contact-bloc .fin-bande {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 88px max(var(--fin-marge), calc((100vw - var(--fin-largeur)) / 2));
  background-color: var(--fin-navy);
  background-image: var(--fin-fond-photo);
  background-size: cover;
  background-position: right center;
  color: var(--fin-blanc);
}
.fin-contact-bloc .fin-bande::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(var(--fin-navy-rgb), 0.96) 0%,
    rgba(var(--fin-navy-rgb), 0.9) 55%,
    rgba(var(--fin-navy-rgb), 0.7) 100%
  );
}
.fin-contact-bloc .fin-int {
  position: relative;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 0;
  align-items: stretch;
}

/* Logo iFinance */
.fin-contact-bloc .fin-partenaire {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 80px;
  padding-left: 80px;
  border-left: 1px solid var(--fin-ligne);
  text-align: center;
}
.fin-contact-bloc .fin-partenaire small {
  display: block;
  margin-bottom: 14px;
  font-family: var(--fin-sans);
  font-size: var(--fin-label);
  line-height: 1.3;
  color: var(--fin-doux);
}
.fin-contact-bloc img.fin-logo-partenaire {
  display: block;
  width: var(--fin-logo-largeur);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  /* Rend le logo blanc sur le fond marine. Retire cette ligne si ton logo est déjà blanc ou si tu veux ses couleurs. */
  filter: brightness(0) invert(1);
}

/* Titres : police des titres du site */
.fin-contact-bloc h2.fin-titre {
  margin: 0 0 16px;
  font-size: var(--fin-titre);
  line-height: 1.2;
  text-align: left;
  color: var(--fin-blanc);
}

/* ---------- Contact ---------- */
.fin-contact-bloc p.fin-cta-texte {
  max-width: 900px;
  margin: 0 0 32px;
  text-wrap: balance;
  font-family: var(--fin-sans);
  font-size: var(--fin-texte);
  line-height: 1.5;
  color: var(--fin-doux);
}

.fin-contact-bloc .fin-contact {
  width: fit-content;
  max-width: 100%;
}
.fin-contact-bloc .fin-numeros {
  display: grid;
  grid-template-columns: repeat(3, auto);
}
.fin-contact-bloc a.fin-num {
  padding: 2px 32px;
  border-left: 1px solid var(--fin-ligne);
}
.fin-contact-bloc a.fin-num:first-child {
  padding-left: 0;
  border-left: none;
}

.fin-contact-bloc a.fin-num,
.fin-contact-bloc a.fin-num:link,
.fin-contact-bloc a.fin-num:visited,
.fin-contact-bloc a.fin-num:hover,
.fin-contact-bloc a.fin-num:active {
  color: var(--fin-blanc) !important;
  text-decoration: none !important;
}
.fin-contact-bloc a.fin-num small,
.fin-contact-bloc a.fin-num b {
  display: block;
  color: inherit;
  font-family: var(--fin-sans);
  text-decoration: none !important;
}
.fin-contact-bloc a.fin-num small {
  margin-bottom: 4px;
  font-size: var(--fin-label);
  line-height: 1.3;
  color: var(--fin-doux) !important;
}
.fin-contact-bloc a.fin-num b {
  font-size: var(--fin-numero);
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
}
.fin-contact-bloc a.fin-num:hover b {
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

.fin-contact-bloc a.fin-bouton {
  display: block;
  width: 100%;
  margin-top: 28px;
  padding: 18px 44px;
  background: var(--fin-blanc);
  border-radius: 999px;
  font-family: var(--fin-sans);
  font-size: var(--fin-bouton-size);
  line-height: 1.2;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}
.fin-contact-bloc a.fin-bouton,
.fin-contact-bloc a.fin-bouton:link,
.fin-contact-bloc a.fin-bouton:visited,
.fin-contact-bloc a.fin-bouton:hover,
.fin-contact-bloc a.fin-bouton:active {
  color: var(--fin-navy) !important;
  text-decoration: none !important;
}
.fin-contact-bloc a.fin-bouton:hover { background: var(--fin-doux); }

.fin-contact-bloc p.fin-legal {
  margin: 32px 0 0;
  font-family: var(--fin-sans);
  font-size: 17px;
  line-height: 1.4;
  font-style: italic;
  color: var(--fin-doux);
}

/* ---------- Tablette ---------- */
@media (max-width: 1024px) {
  .fin-contact-bloc {
    --fin-titre: 36px;
    --fin-texte: 20px;
    --fin-label: 16px;
    --fin-numero: 23px;
    --fin-bouton-size: 18px;
  }
  .fin-contact-bloc .fin-bande { padding-top: 72px; padding-bottom: 72px; }
  .fin-contact-bloc a.fin-num { padding: 2px 20px; }
  .fin-contact-bloc { --fin-logo-largeur: 220px; }
  .fin-contact-bloc .fin-partenaire { margin-left: 40px; padding-left: 40px; }
}

@media (max-width: 900px) {
  /* Le logo passe en bas, en signature discrète */
  .fin-contact-bloc .fin-int { grid-template-columns: 1fr; gap: 0; }
  .fin-contact-bloc .fin-gauche { order: 1; }
  .fin-contact-bloc .fin-partenaire {
    order: 2 !important;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 40px 0 0;
    padding: 0;
    border: none;
    text-align: center;
  }
  .fin-contact-bloc .fin-partenaire small { margin: 0; }
  .fin-contact-bloc img.fin-logo-partenaire { margin: 0 auto; }

  /* Contenu centré */
  .fin-contact-bloc .fin-gauche { text-align: center; }
  .fin-contact-bloc h2.fin-titre { text-align: center; }
  .fin-contact-bloc p.fin-cta-texte { margin-left: auto; margin-right: auto; }
  .fin-contact-bloc .fin-contact { margin: 0 auto; }
  .fin-contact-bloc a.fin-num:first-child { padding-left: 20px; }
  .fin-contact-bloc { --fin-logo-largeur: 130px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 700px) {
  .fin-contact-bloc {
    --fin-titre: 30px;
    --fin-texte: 19px;
    --fin-label: 15px;
    --fin-numero: 28px;
    --fin-bouton-size: 17px;
  }
  .fin-contact-bloc .fin-bande {
    padding-top: 52px;
    padding-bottom: 52px;
    background-position: center;
  }
  .fin-contact-bloc .fin-bande::before { background: rgba(var(--fin-navy-rgb), 0.92); }
  .fin-contact-bloc .fin-contact { width: 100%; }
  .fin-contact-bloc .fin-numeros { grid-template-columns: 1fr; }
  .fin-contact-bloc a.fin-num,
  .fin-contact-bloc a.fin-num:first-child { padding: 0; border-left: none; }
  .fin-contact-bloc a.fin-num + .fin-num { margin-top: 16px; }
  .fin-contact-bloc a.fin-bouton { padding: 18px 20px; }
  .fin-contact-bloc p.fin-legal { font-size: 15px; margin-top: 24px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fb91783 */.fin-rrq {
  --fin-navy: #1E3A5F;
  --fin-texte-couleur: #1E3A5F;
  --fin-sans: Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Intensité de l'image (1 = normale, 0.4 = très pâle) */
  --fin-image-opacite: 0.75;

  --fin-titre: 44px;
  --fin-texte: 22px;
  --fin-pad-y: 56px;
  --fin-largeur: 1440px;

  width: 100%;
  max-width: var(--fin-largeur);
  margin: 0 auto;
  font-family: var(--fin-sans);
  color: var(--fin-navy);
  box-sizing: border-box;
}
.fin-rrq *, .fin-rrq *::before, .fin-rrq *::after { box-sizing: border-box; }

.fin-rrq .fin-sec {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 0;
  align-items: stretch;
  padding: var(--fin-pad-y) 0;
}
.fin-rrq .fin-contenu {
  position: relative;
  z-index: 1;
  align-self: center;
  padding-right: 24px;
}

/* Titre : police des titres du site */
.fin-rrq h2.fin-titre {
  margin: 0 0 24px;
  font-size: var(--fin-titre);
  line-height: 1.2;
  text-align: left;
  color: var(--fin-navy);
}
.fin-rrq p.fin-intro {
  margin: 0 0 28px;
  font-family: var(--fin-sans);
  font-size: var(--fin-texte);
  line-height: 1.5;
  color: var(--fin-texte-couleur);
}

.fin-rrq ul.fin-temps {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}
.fin-rrq ul.fin-temps li {
  position: relative;
  margin: 0;
  padding: 6px 0 6px 28px;
  font-family: var(--fin-sans);
  font-size: var(--fin-texte);
  line-height: 1.5;
  color: var(--fin-texte-couleur);
}
.fin-rrq ul.fin-temps li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: calc(6px + 0.75em - 4px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--fin-navy);
}
.fin-rrq ul.fin-temps li strong { font-weight: 700; }

.fin-rrq p.fin-important {
  margin: 0;
  font-family: var(--fin-sans);
  font-size: calc(var(--fin-texte) - 2px);
  line-height: 1.5;
  font-style: italic;
  color: var(--fin-texte-couleur);
}

/* Image qui se fond dans le blanc */
.fin-rrq .fin-image {
  position: relative;
  min-height: 360px;
  margin-left: -15%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 45%, #000 70%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent 0%, #000 45%, #000 70%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
  mask-composite: intersect;
}
.fin-rrq img.fin-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  opacity: var(--fin-image-opacite);
}

/* Tablette */
@media (max-width: 1024px) {
  .fin-rrq {
    --fin-titre: 36px;
    --fin-texte: 20px;
    --fin-pad-y: 44px;
  }
  /* Tablette et mobile : comme les autres sections, texte seul sur toute la largeur */
  .fin-rrq .fin-sec { grid-template-columns: 1fr; }
  .fin-rrq .fin-contenu { padding-right: 0; }
  .fin-rrq .fin-image { display: none; }
}

/* Mobile */
@media (max-width: 700px) {
  .fin-rrq {
    --fin-titre: 30px;
    --fin-texte: 19px;
    --fin-pad-y: 36px;
  }
}/* End custom CSS */