
:root {
  --blue: #0b5fa5;
  --light-blue: rgba(11,95,165,0.08);
  --indicator-size: 24px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Segoe UI", Arial, sans-serif;
}

body { color: #333; }

/* ================= HEADER ================= */
header {
  background: #eef6f1;
  position: relative;
  z-index: 1000;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 5%;
  flex-wrap: wrap;
}

.topbar strong {
  font-size: 22px;
  color: var(--blue);
}

/* ===== NAV ===== */
nav {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center; 
}


/* ===== ESPACE CLIENT (VERT) ===== */
.contact.client {
  background: #2db61a ;
}

.contact.client:hover {
  background: #083f73 ;
}

nav a {
  text-decoration: none;
  color: var(--blue);
  font-weight: 500;
  padding: 6px 0;
  position: relative;
  transition: color 0.3s ease;
}

nav a:hover { color: #083f73; }

nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 3px;
  background: var(--blue);
  border-radius: 3px;
  transition: width 0.3s ease;
}

nav a:hover::after { width: 100%; }

nav a.active { font-weight: 600; color: #083f73; }
nav a.active::after { width: 100%; }

/* Right section */
.right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Contact button */
.contact {
  background: var(--blue);
  color: #fff;
  padding: 8px 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s ease, transform 0.2s ease;
}

.contact:hover {
  background: #083f73;
  transform: translateY(-2px);
}

/* Language dropdown */
.lang {
  position: relative;
  cursor: pointer;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

.lang:hover {
  background: var(--light-blue);
  transform: translateY(-2px);
}

.lang span.arrow {
  transition: transform 0.3s ease;
}

.lang.active span.arrow { transform: rotate(180deg); }

.lang-menu {
  position: absolute;
  top: 48px;
  right: 0;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  display: none;
  z-index: 2000;
  overflow: hidden;
  animation: fadeIn 0.25s ease;
}

.lang-menu div {
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.lang-menu div:hover {
  background: var(--light-blue);
  transform: translateX(4px);
}

/* Hamburger */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  cursor: pointer;
  z-index: 3000;
}

.hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background: var(--blue);
  border-radius: 3px;
  transition: all 0.3s ease;
}

/* WELCOME BAR */
.welcome {
  background: var(--blue);
  color: #fff;
  text-align: center;
  padding: 8px;
  font-size: 14px;
}

/* SLIDER */
.slider { overflow: hidden; position: relative; }

.slides { display: flex; transition: transform 0.8s ease; }

.slide {
  min-width: 100%;
  position: relative;
}

.slide img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}

.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(255, 255, 255, 0.85) 35%,
    rgba(255, 255, 255, 0) 65%
  );
}

.slide-content {
  position: absolute;
  top: 50%;
  left: 6%;
  transform: translateY(-50%);
  max-width: 500px;
}

.slide-content h1 {
  font-size: 42px;
  color: var(--blue);
  margin-bottom: 16px;
}

.slide-content p {
  line-height: 1.5;
  margin-bottom: 12px;
  font-size: 16px;
}

/* Bouton avec effet */
.btn-outline {
  border: 2px solid var(--blue);
  padding: 10px 22px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--blue);
  font-weight: 600;
  display: inline-block;
  margin-bottom: 10px;
  transition: all 0.3s ease, transform 0.3s ease;
}

.btn-outline:hover {
  background: var(--blue);
  color: #fff;
  transform: scale(1.05);
}

/* Indicators séparés et visibles sur desktop */
.indicators-container {
  display: flex;
  justify-content: flex-start;
  margin-top: 10px;
  gap: 6px;
  transition: all 0.3s ease;
}

.indicators-container span {
  width: var(--indicator-size);
  height: 6px;
  background: #ccc;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.indicators-container span.active {
  background: var(--blue);
  transform: scale(1.2);
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .hamburger { display: flex; order: 3; margin-left: auto; }

  nav {
    position: absolute;
    top: 60px;
    right: 0;
    background: #eef6f1;
    flex-direction: column;
    align-items: center;
    display: none;
    width: 220px;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
    padding: 12px 0;
  }

  nav a {
    padding: 12px 0;
    width: 100%;
    text-align: center;
    font-size: 16px;
  }

  .nav-active { display: flex; }

  .contact { display: none; }

  .topbar strong { margin-right: 20px; }

  .right { gap: 10px; }

  .indicators-container { justify-content: center; }
}

@media (max-width: 480px) {
  .slide img { height: 220px; }
  .slide-content {
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    max-width: 90%;
  }
  .slide-content h1 { font-size: 22px; }
  .slide-content p { font-size: 12px; }
  .btn-outline { padding: 6px 14px; font-size: 12px; margin-bottom:12px; }
  .welcome { font-size: 12px; padding: 6px; }
}

@keyframes fadeIn {
  from { opacity:0; transform: translateY(-5px); }
  to { opacity:1; transform: translateY(0); }
}

/*END */




/* =========================================
   POURQUOI CHOISIR – FISCO (ISOLÉ)
   ========================================= */

.fisco-why {
  background: #ffffff;
  padding: 90px 20px;
}

.fisco-why-container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* ===== TITRES ===== */
.fisco-why-title {
  font-size: 40px;
  font-weight: 700;
  color: #0b1f33;
  margin-bottom: 10px;
}

.fisco-why-subtitle {
  font-size: 18px;
  color: #6b7280;
  margin-bottom: 60px;
}

/* ===== CARDS LAYOUT ===== */
.fisco-why-cards {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr;
  gap: 30px;
  align-items: stretch;
}

/* ===== CARD BASE ===== */
.fisco-why-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 360px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.15);
}

.fisco-why-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== OVERLAY ===== */
.fisco-why-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.1) 0%,
    rgba(0,0,0,0.6) 65%,
    rgba(0,0,0,0.85) 100%
  );
}

/* ===== CONTENT ===== */
.fisco-why-content {
  position: absolute;
  bottom: 30px;
  left: 26px;
  right: 26px;
  color: #ffffff;
  text-align: left;
}

.fisco-why-content h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.fisco-why-content p {
  font-size: 15px;
  line-height: 1.55;
  margin-bottom: 14px;
  color: #e5e7eb;
}

.fisco-why-content span {
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

/* ===== LARGE CARD ===== */
.fisco-why-card-large {
  min-height: 420px;
}

.fisco-why-card-large h3 {
  font-size: 22px;
}

/* ===== DOTS ===== */
.fisco-why-dots {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.fisco-why-dots span {
  width: 28px;
  height: 6px;
  background: #d1d5db;
  border-radius: 6px;
}

.fisco-why-dots span.active {
  background: #0b72c9;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .fisco-why-cards {
    grid-template-columns: 1fr;
  }

  .fisco-why-card,
  .fisco-why-card-large {
    min-height: 320px;
  }
}

@media (max-width: 600px) {
  .fisco-why-title {
    font-size: 32px;
  }

  .fisco-why-subtitle {
    font-size: 16px;
  }
}

/* END */



/* Styles encapsulés pour le bloc */
.presentation-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 40px 5%;
  max-width: 1200px;
  margin: auto;
}

.presentation-text {
  flex: 1;
}

.presentation-text h2 {
  font-size: 28px;
  margin-bottom: 16px;
  color: #222;
}

.presentation-text p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 16px;
  color: #444;
}

.presentation-text ul {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.presentation-text ul li {
  margin-bottom: 8px;
  font-weight: 500;
  color: #111;
}

.presentation-text ul li::before {
  content: "✔️";
  margin-right: 8px;
  color: green;
}

.btn-learn {
  display: inline-block;
  padding: 10px 24px;
  border: 2px solid #28a745;
  color: #28a745;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-learn:hover {
  background: #28a745;
  color: #fff;
}

/* Image avec effet calque vert derrière */
.presentation-image {
  position: relative;
  flex: 1;
  max-width: 400px;
}

.presentation-image img {
  width: 100%;
  display: block;
  position: relative;
  z-index: 2;
  border-radius: 8px;
  border: 4px solid #cce5ff;
}

/* Calque vert derrière l'image */
.presentation-image::after {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 100%;
  height: 100%;
  background-color: #28a745;
  border-radius: 6px;
  z-index: 1;
}

/* Responsive */
@media (max-width: 900px) {
  .presentation-block {
    flex-direction: column-reverse;
    gap: 24px;
    text-align: center;
  }

  .presentation-image::after {
    top: 10px;
    left: 10px;
  }
}
/* END */





 /* ====== SECTION ====== */
.lt-target-section {
  background: #eef8e8;
  padding: 80px 20px;
}

.lt-target-container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

/* ====== TITRES ====== */
.lt-target-title {
  font-size: 42px;
  font-weight: 700;
  color: #0b1f33;
  margin-bottom: 12px;
}

.lt-target-subtitle {
  font-size: 18px;
  color: #5f6f7f;
  margin-bottom: 50px;
}

/* ====== CARDS ====== */
.lt-target-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

.lt-target-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 30px;
  min-height: 180px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.35s ease;
  cursor: pointer;
}

.lt-target-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

/* Card active verte */
.lt-target-card-active {
  background: #36c018;
  color: #ffffff;
}

.lt-target-card-active h3,
.lt-target-card-active span {
  color: #ffffff;
}

/* ====== TEXTE ====== */
.lt-target-text {
  text-align: left;
  max-width: 70%;
}

.lt-target-text h3 {
  font-size: 20px;
  margin-bottom: 12px;
  color: #36c018;
}

.lt-target-text span {
  font-size: 16px;
  color: #36c018;
  font-weight: 500;
}

.lt-target-card-active .lt-target-text h3,
.lt-target-card-active .lt-target-text span {
  color: #ffffff;
}

/* ====== ICONES ====== */
.lt-target-icon {
  font-size: 56px;
  opacity: 0.9;
}

/* ====== BOUTON ====== */
.lt-target-button {
  display: inline-block;
  padding: 14px 32px;
  background: #ffffff;
  color: #36c018;
  border-radius: 30px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.lt-target-button:hover {
  background: #36c018;
  color: #ffffff;
}

/* ====== RESPONSIVE ====== */
@media (max-width: 1024px) {
  .lt-target-cards {
    grid-template-columns: 1fr;
  }

  .lt-target-card {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .lt-target-text {
    max-width: 100%;
    text-align: center;
  }
}

@media (max-width: 600px) {
  .lt-target-title {
    font-size: 32px;
  }

  .lt-target-subtitle {
    font-size: 16px;
  }
}
/* END */



 /* =========================
   SECTION NOTRE PROMESSE
   ========================= */
.fisco-promise {
  background: #ffffff;
  padding: 120px 0;
}

.fisco-promise-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
}

/* ===== TEXTE ===== */
.fisco-promise-left {
  max-width: 520px;
}

.fisco-promise-left h2 {
  font-size: 40px;
  font-weight: 700;
  color: #222;
  margin-bottom: 22px;
}

.fisco-promise-desc {
  font-size: 18px;
  line-height: 1.65;
  color: #555;
  margin-bottom: 34px;
}

/* Vision */
.fisco-promise-vision {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 36px;
}

.fisco-check {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #39c31a;
  color: #fff;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3px;
}

.fisco-promise-vision strong {
  font-size: 18px;
  color: #222;
}

.fisco-promise-vision p {
  margin-top: 6px;
  font-size: 16px;
  color: #555;
}

/* Bouton */
.fisco-btn {
  display: inline-block;
  padding: 14px 32px;
  background: #0b5fa5;
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
}

.fisco-btn:hover {
  background: #08457b;
  transform: translateY(-2px);
}

/* ===== IMAGES (FIDÈLES À L’IMAGE) ===== */
.fisco-promise-right {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.fisco-img {
  width: 260px;
  height: 360px;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 45px rgba(0,0,0,0.15);
}

.fisco-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Décalage vertical léger */
.img-main {
  margin-top: 20px;
}

.img-secondary {
  margin-top: 0;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .fisco-promise-inner {
    flex-direction: column;
    gap: 60px;
    text-align: center;
  }

  .fisco-promise-right {
    justify-content: center;
  }

  .fisco-promise-vision {
    justify-content: center;
    text-align: left;
  }
}

@media (max-width: 600px) {
  .fisco-promise {
    padding: 80px 0;
  }

  .fisco-promise-left h2 {
    font-size: 32px;
  }

  .fisco-promise-desc {
    font-size: 16px;
  }

  .fisco-promise-right {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .fisco-img {
    width: 90%;
    max-width: 320px;
    height: 340px;
  }

  .img-main,
  .img-secondary {
    margin-top: 0;
  }
}
/* END */



/* ===============================
   CTA – VERSION FIDÈLE & RAFFINÉE
   =============================== */

.cta-faithful {
  background: #ffffff;
  padding: 100px 0; /* ⬅ réduit */
}

.cta-faithful-box {
  max-width: 1180px;
  height: 300px; /* ⬅ plus fin */
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;

  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,0.88) 0%,
      rgba(0,0,0,0.70) 40%,
      rgba(0,0,0,0.35) 60%,
      rgba(0,0,0,0.1) 75%,
      rgba(0,0,0,0) 85%
    ),
    url("https://assets.kpmg.com/is/image/kpmg/long-corporate-buildings-banner:cq5dam.web.2000.500");

  background-size: cover;
  background-position: right center;
  display: flex;
  align-items: center;
}

/* TEXTE */
.cta-faithful-content {
  padding-left: 64px; /* ⬅ réduit */
  max-width: 520px;
  color: #ffffff;
}

.cta-faithful-content h2 {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 14px;
}

.cta-faithful-content p {
  font-size: 17px;
  line-height: 1.55;
  color: #e6e6e6;
  margin-bottom: 28px;
}

/* ===============================
   BOUTONS – FINS & ANIMÉS
   =============================== */

.cta-faithful-buttons {
  display: flex;
  gap: 16px;
}

.btn-primary,
.btn-secondary {
  height: 44px;              /* ⬅ finesse */
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 15px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

/* Bouton bleu */
.btn-primary {
  background: #0077c8;
  color: #ffffff;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,119,200,0.35);
  background: #0066ad;
}

/* Bouton blanc */
.btn-secondary {
  background: #ffffff;
  color: #0077c8;
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(255,255,255,0.35);
}

/* ===============================
   RESPONSIVE
   =============================== */

@media (max-width: 900px) {
  .cta-faithful-box {
    height: auto;
    padding: 50px 0;
  }

  .cta-faithful-content {
    padding: 0 28px;
  }

  .cta-faithful-buttons {
    flex-direction: column;
  }

  .btn-primary,
  .btn-secondary {
    width: fit-content;
  }
}
/* END */




 /* ===============================
   FONCTIONNALITÉS CLÉS – FISCO
   (CSS ISOLÉ & FIDÈLE)
   =============================== */

.fisco-features {
  background: #ffffff;
  padding: 90px 20px;
}

.fisco-features-container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* ===== TITRES ===== */
.fisco-features-title {
  font-size: 42px;
  font-weight: 700;
  color: #0b1f33;
  margin-bottom: 10px;
}

.fisco-features-subtitle {
  font-size: 18px;
  color: #6b7280;
  margin-bottom: 60px;
}

/* ===== CARDS ===== */
.fisco-features-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-bottom: 50px;
}

.fisco-features-card {
  position: relative;
  background: #ffffff;
  border-radius: 20px;
  padding: 60px 26px 36px;
  min-height: 260px;
  border: 4px solid #0b72c9;
  box-shadow: 0 20px 35px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.fisco-features-card:hover {
  transform: translateY(-6px);
}

/* ===== NUMÉRO ===== */
.fisco-features-number {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  background: #36c018;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 8px;
}

/* ===== ICÔNE ===== */
.fisco-features-icon {
  font-size: 56px;
  color: #0b72c9;
  margin-bottom: 24px;
}

/* ===== TEXTE ===== */
.fisco-features-card p {
  font-size: 16px;
  line-height: 1.5;
  color: #1f2937;
}

/* ===== CARD ACTIVE (BLEUE) ===== */
.fisco-features-card-active {
  background: #0b72c9;
  border-color: #0b72c9;
}

.fisco-features-card-active p,
.fisco-features-card-active strong {
  color: #ffffff;
}

.fisco-features-card-active .fisco-features-icon {
  color: #ffffff;
}

/* ===== BOUTON ===== */
.fisco-features-btn {
  display: inline-block;
  padding: 12px 30px;
  border: 2px solid #0b72c9;
  color: #0b72c9;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.fisco-features-btn:hover {
  background: #0b72c9;
  color: #ffffff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .fisco-features-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .fisco-features-cards {
    grid-template-columns: 1fr;
  }

  .fisco-features-title {
    font-size: 32px;
  }

  .fisco-features-subtitle {
    font-size: 16px;
  }
}
/* END */





/* ===============================
   FOOTER FISCO 241 (ISOLÉ)
   =============================== */

.fisco-footer {
  background: linear-gradient(180deg, #081522, #040b14);
  color: #ffffff;
  padding: 70px 20px 40px;
  position: relative;
}

.fisco-footer-container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 50px;
}


.fisco-whatsapp a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #dcdcdc;
  text-decoration: none;
  transition: color 0.25s ease, transform 0.25s ease;
}

.fisco-whatsapp a:hover {
  color: #38c419;
  transform: translateX(3px);
}

.fisco-whatsapp .wa-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}


/* ===== COLONNES ===== */
.fisco-footer-col h4 {
  font-size: 18px;
  margin-bottom: 18px;
  position: relative;
}

.fisco-footer-col h4::after {
  content: "";
  width: 40px;
  height: 3px;
  background: #38c419;
  display: block;
  margin-top: 6px;
}

.fisco-footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fisco-footer-col ul li {
  margin-bottom: 10px;
  font-size: 15px;
}

.fisco-footer-col ul li a {
  text-decoration: none;
  color: #dcdcdc;
  transition: color 0.25s ease;
}

.fisco-footer-col ul li a:hover {
  color: #38c419;
}

/* ===== BRAND ===== */
.fisco-footer-logo {
  width: 120px;
  margin-bottom: 18px;
}

.fisco-footer-socials {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
}

.fisco-footer-socials a {
  width: 36px;
  height: 36px;
  background: #ffffff;
  color: #081522;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.25s ease;
}

.fisco-footer-socials a:hover {
  transform: translateY(-3px);
}

.fisco-footer-copy {
  font-size: 14px;
  color: #cfcfcf;
  line-height: 1.5;
}

/* ===== CONTACT ===== */
.fisco-footer-contact li {
  color: #dcdcdc;
  line-height: 1.6;
}

/* ===== SCROLL TOP ===== */
/* ===============================
   SCROLL TO TOP - PREMIUM BUTTON
   =============================== */

.scroll-top-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #38c419, #2db61a);
  border: none;
  color: #081522;
  font-size: 22px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(56, 196, 25, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;

  /* Animations */
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.8);
  transition: all 0.4s ease;
  z-index: 9999;
}

/* Visible */
.scroll-top-btn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* Hover effect */
.scroll-top-btn:hover {
  transform: translateY(-6px) scale(1.05);
  box-shadow: 0 14px 35px rgba(56, 196, 25, 0.55);
}

/* Pulse animation */
.scroll-top-btn::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: rgba(56, 196, 25, 0.25);
  animation: pulse 2s infinite;
  z-index: -1;
}

@keyframes pulse {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.5); opacity: 0; }
}

/* Mobile */
@media (max-width: 600px) {
  .scroll-top-btn {
    width: 48px;
    height: 48px;
    font-size: 18px;
    bottom: 20px;
    right: 20px;
  }
}


/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
  .fisco-footer-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .fisco-footer-socials {
    justify-content: center;
  }

  .fisco-footer-top {
    right: 50%;
    transform: translateX(50%);
    top: -23px;
  }
}
/* END */



/* CONTACT */
 .contact-wrapper * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .contact-wrapper {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
            background-color: #ffffff;
            padding: 0;
        }

        .contact-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 30px 20px;
        }

        .contact-breadcrumb {
            font-size: 11px;
            color: #666;
            margin-bottom: 30px;
            font-weight: 500;
            letter-spacing: 0.3px;
        }

        .contact-breadcrumb .current {
            color: #0066cc;
            font-weight: 600;
        }

        .contact-top-section {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 40px;
            gap: 40px;
        }

        .contact-left {
            flex: 1;
        }

        .contact-header {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            margin-bottom: 20px;
        }

        .contact-logo {
            width: 55px;
            height: 55px;
            border: 2.5px solid #52b788;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            animation: pulse 2s infinite;
        }

        .contact-logo-number {
            font-size: 20px;
            font-weight: 700;
            color: #52b788;
            line-height: 1;
        }

        .contact-logo-text {
            font-size: 8px;
            color: #52b788;
            font-weight: 600;
        }

        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

        .contact-header-content {
            padding-top: 5px;
        }

        .contact-subtitle {
            font-size: 12px;
            color: #666;
            font-weight: 400;
            margin-bottom: 5px;
        }

        .contact-title {
            font-size: 28px;
            color: #1a1a1a;
            font-weight: 600;
            line-height: 1.2;
        }

        .contact-intro {
            border-left: 3px solid #0066cc;
            padding-left: 18px;
            margin-top: 20px;
            font-size: 13px;
            line-height: 1.7;
            color: #555;
            font-style: italic;
            max-width: 450px;
            animation: slideIn 0.8s ease-out;
        }

        @keyframes slideIn {
            from {
                opacity: 0;
                transform: translateX(-20px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .contact-content {
            display: grid;
            grid-template-columns: 1fr 400px;
            gap: 50px;
            margin-bottom: 40px;
        }

        .contact-form-wrapper {
            animation: fadeInUp 0.8s ease-out;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .contact-form {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }

        .contact-input,
        .contact-textarea {
            width: 100%;
            padding: 13px 16px;
            border: 1.5px solid #d5d5d5;
            border-radius: 6px;
            font-size: 13.5px;
            font-family: inherit;
            transition: all 0.3s ease;
            background: white;
            color: #333;
        }

        .contact-input::placeholder,
        .contact-textarea::placeholder {
            color: #999;
        }

        .contact-input:focus,
        .contact-textarea:focus {
            outline: none;
            border-color: #52b788;
            box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.1);
        }

        .contact-textarea {
            min-height: 120px;
            resize: vertical;
            font-family: inherit;
        }

        .contact-submit {
            padding: 13px 35px;
            background: #52b788;
            color: white;
            border: none;
            border-radius: 6px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            align-self: flex-start;
            margin-top: 5px;
        }

        .contact-submit:hover {
            background: #40a070;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(82, 183, 136, 0.3);
        }

        .contact-submit:active {
            transform: translateY(0);
        }

        .contact-info-wrapper {
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        .contact-info-box {
            background: #f8f8f8;
            border-radius: 10px;
            overflow: hidden;
        }

        .contact-info-header {
            background: #52b788;
            color: white;
            padding: 15px 22px;
            font-size: 16px;
            font-weight: 600;
        }

        .contact-info-content {
            padding: 20px 22px;
        }

        .contact-info-item {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            padding: 14px 0;
            transition: all 0.3s ease;
        }

        .contact-info-item:hover {
            transform: translateX(3px);
        }

        .contact-icon {
            width: 38px;
            height: 38px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: all 0.3s ease;
            border: 1.5px solid #e0e0e0;
        }

        .contact-info-item:hover .contact-icon {
            background: #52b788;
            border-color: #52b788;
            transform: rotate(360deg);
        }

        .contact-icon svg {
            color: #666;
            transition: color 0.3s ease;
        }

        .contact-info-item:hover .contact-icon svg {
            color: white;
        }

        .contact-info-text {
            font-size: 13.5px;
            color: #333;
            line-height: 1.6;
            padding-top: 2px;
        }

        .contact-social {
            display: flex;
            gap: 10px;
            margin-top: 18px;
            padding-top: 18px;
            border-top: 1px solid #e0e0e0;
        }

        .contact-social-btn {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #52b788;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .contact-social-btn:hover {
            transform: translateY(-3px) scale(1.1);
            box-shadow: 0 6px 16px rgba(82, 183, 136, 0.4);
            background: #40a070;
        }

        .contact-social-btn svg {
            width: 16px;
            height: 16px;
        }

        .contact-map {
            width: 100%;
            height: 400px;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
            animation: fadeIn 1s ease-out 0.4s both;
            margin-top: 10px;
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .contact-map iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        @media (max-width: 968px) {
            .contact-content {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .contact-top-section {
                flex-direction: column;
            }

            .contact-intro {
                max-width: 100%;
            }
        }

        @media (max-width: 600px) {
            .contact-header {
                flex-direction: column;
                align-items: center;
                text-align: center;
            }

            .contact-title {
                font-size: 24px;
            }

            .contact-intro {
                border-left: none;
                border-top: 3px solid #0066cc;
                padding-left: 0;
                padding-top: 12px;
            }

            .contact-map {
                height: 300px;
            }
        }





         /* ===========================
   HERO NOTRE SOLUTION
=========================== */

.fisco-hero {
  height: 260px;
  background-image: url("data:image/webp;base64,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"); /* IMAGE RÉELLE */
  background-size: cover;
  background-position: center;
  position: relative;
}

/* OVERLAY BLEU SIMPLE */
.fisco-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 102, 170, 0.88); /* BLEU + OPACITÉ */
  
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  padding: 0 20px;
}

/* TITRE */
.fisco-overlay h1 {
  color: #ffffff;
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* TEXTE */
.fisco-overlay p {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.6;
  max-width: 720px;
  opacity: 0.95;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .fisco-hero {
    height: 220px;
  }

  .fisco-overlay h1 {
    font-size: 30px;
  }

  .fisco-overlay p {
    font-size: 14px;
  }
}




  /* =========================
   TARGET BLOCK (ISOLATED)
========================= */

.target-block {
  background: #e8f4fd;
  padding: 80px 30px;
}

.target-container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* Header */
.target-header h2 {
  font-size: 36px;
  font-weight: 700;
  color: #0b1c2d;
  margin-bottom: 10px;
}

.target-header p {
  font-size: 18px;
  color: #475569;
  margin-bottom: 60px;
}

/* Cards layout */
.target-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 50px;
}

/* Card */
.target-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 35px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  box-shadow: 0 15px 35px rgba(0,0,0,0.08);
  transition: all 0.4s ease;
  animation: fadeUp 0.8s ease both;
}

.target-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 55px rgba(0,0,0,0.15);
}

/* Active card */
.target-card.active {
  background: #0272bc;
  color: #fff;
}

.target-card.active span {
  color: #fff;
}

/* Text */
.target-text h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 15px;
}

.target-text span {
  font-size: 15px;
  font-weight: 600;
  color: #0272bc;
  transition: transform 0.3s ease;
}

.target-card:hover span {
  transform: translateX(6px);
}

/* Icons */
.target-icon svg {
  width: 70px;
  height: 70px;
  stroke: #0272bc;
  fill: none;
  stroke-width: 2;
  transition: transform 0.4s ease, stroke 0.4s ease;
}

.target-card.active svg {
  stroke: #ffffff;
}

.target-card:hover svg {
  transform: scale(1.1) rotate(-2deg);
}

/* CTA */
.target-cta a {
  display: inline-block;
  padding: 12px 32px;
  border-radius: 30px;
  border: 2px solid #0272bc;
  color: #0272bc;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.target-cta a:hover {
  background: #0272bc;
  color: #fff;
}

/* Animation */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 992px) {
  .target-cards {
    grid-template-columns: 1fr;
  }

  .target-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}




    /* ===============================
   SOLUTION BLOCK (ISOLATED)
================================ */

.solution-block {
  padding: 80px 30px;
  background: #f7f8fa;
}

.solution-container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* Header */
.solution-header h2 {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #0b1c2d;
}

.solution-header p {
  font-size: 18px;
  color: #6b7280;
  margin-bottom: 50px;
}

.solution-breadcrumb {
  font-size: 13px;
  color: #9ca3af;
  margin-bottom: 15px;
}

/* Cards */
.solution-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.solution-card {
  background: #fff;
  border-radius: 24px;
  padding: 25px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  animation: fadeUp 0.8s ease both;
}

.solution-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 30px 60px rgba(0,0,0,0.15);
}

.solution-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 20px;
}

.solution-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #0b1c2d;
}

.solution-card p {
  font-size: 15px;
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 20px;
}

.solution-card a {
  display: inline-block;
  padding: 10px 22px;
  background: #35b51f;
  color: #fff;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.3s ease;
}

.solution-card a:hover {
  background: #2a9518;
  transform: scale(1.05);
}

/* Dots */
.solution-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 40px;
}

.solution-dots span {
  width: 35px;
  height: 6px;
  background: #d1d5db;
  border-radius: 10px;
}

.solution-dots span.active {
  background: #0b6fd8;
}

/* Animations */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 1024px) {
  .solution-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .solution-cards {
    grid-template-columns: 1fr;
  }

  .solution-header h2 {
    font-size: 26px;
  }
}




/* Passer à l'action */
 .tax-form-wrapper {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
            background-color: #f5f5f5;
            padding: 0;
            margin: 0;
        }

        .tax-form-wrapper * {
            box-sizing: border-box;
        }

        .tax-form-container {
            max-width: 850px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        .tax-form-header {
            margin-bottom: 30px;
        }

        .tax-form-title {
            font-size: 28px;
            font-weight: 600;
            color: #1a1a1a;
            margin: 0 0 12px 0;
        }

        .tax-form-subtitle {
            font-size: 14px;
            color: #666;
            line-height: 1.5;
            margin: 0 0 25px 0;
        }

        .tax-form-features {
            list-style: none;
            padding: 0;
            margin: 0 0 25px 0;
        }

        .tax-form-feature {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
            font-size: 14px;
            color: #333;
        }

        .tax-form-check {
            width: 20px;
            height: 20px;
            background: #52b788;
            border-radius: 3px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .tax-form-check::after {
            content: "✓";
            color: white;
            font-weight: 700;
            font-size: 14px;
        }

        .tax-form-cta-button {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 13px 28px;
            background: #0066cc;
            color: white;
            border: none;
            border-radius: 6px;
            font-size: 15px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            margin-bottom: 15px;
        }

        .tax-form-cta-button:hover {
            background: #0052a3;
            transform: translateX(3px);
        }

        .tax-form-cta-button::after {
            content: "→";
            font-size: 18px;
        }

        .tax-form-info-text {
            font-size: 13px;
            color: #52b788;
            margin-bottom: 40px;
        }

        .tax-form-section {
            background: #ffffff;
            border-radius: 8px;
            margin-bottom: 20px;
            overflow: hidden;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
        }

        .tax-form-section-header {
            background: #52b788;
            color: white;
            padding: 16px 25px;
            font-size: 17px;
            font-weight: 600;
        }

        .tax-form-section-content {
            padding: 30px 25px;
            background: #f8f8f8;
        }

        .tax-form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin-bottom: 20px;
        }

        .tax-form-field {
            display: flex;
            flex-direction: column;
        }

        .tax-form-field.full-width {
            grid-column: 1 / -1;
        }

        .tax-form-label {
            font-size: 13.5px;
            color: #333;
            font-weight: 500;
            margin-bottom: 8px;
        }

        .tax-form-label .required {
            color: #e74c3c;
        }

        .tax-form-input,
        .tax-form-select,
        .tax-form-textarea {
            width: 100%;
            padding: 12px 15px;
            border: 1.5px solid #d5d5d5;
            border-radius: 5px;
            font-size: 14px;
            font-family: inherit;
            background: white;
            color: #333;
            transition: all 0.3s ease;
        }

        .tax-form-input::placeholder,
        .tax-form-select::placeholder,
        .tax-form-textarea::placeholder {
            color: #aaa;
        }

        .tax-form-input:focus,
        .tax-form-select:focus,
        .tax-form-textarea:focus {
            outline: none;
            border-color: #52b788;
            box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.1);
        }

        .tax-form-select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 15px center;
            padding-right: 40px;
            cursor: pointer;
        }

        .tax-form-textarea {
            min-height: 120px;
            resize: vertical;
            font-family: inherit;
        }

        .tax-form-actions {
            display: flex;
            gap: 15px;
            margin-top: 30px;
        }

        .tax-form-button {
            padding: 13px 30px;
            border: none;
            border-radius: 6px;
            font-size: 15px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .tax-form-button-secondary {
            background: white;
            color: #0066cc;
            border: 2px solid #0066cc;
        }

        .tax-form-button-secondary:hover {
            background: #f0f7ff;
        }

        .tax-form-button-primary {
            background: #0066cc;
            color: white;
        }

        .tax-form-button-primary:hover {
            background: #0052a3;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
        }

        @media (max-width: 768px) {
            .tax-form-row {
                grid-template-columns: 1fr;
                gap: 15px;
            }

            .tax-form-title {
                font-size: 24px;
            }

            .tax-form-section-content {
                padding: 20px 15px;
            }

            .tax-form-actions {
                flex-direction: column;
            }

            .tax-form-button {
                width: 100%;
            }
        }

        /* Animations */
        @keyframes slideInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .tax-form-section {
            animation: slideInUp 0.5s ease-out;
        }

        .tax-form-section:nth-child(1) { animation-delay: 0.1s; }
        .tax-form-section:nth-child(2) { animation-delay: 0.2s; }
        .tax-form-section:nth-child(3) { animation-delay: 0.3s; }
        .tax-form-section:nth-child(4) { animation-delay: 0.4s; }




.dsf-s1 {
      font-family: Arial, Helvetica, sans-serif;
      background: #ffffff;
      padding: 60px 20px;
    }

    .dsf-s1 .wrap {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 420px 1fr;
      column-gap: 70px;
      align-items: flex-start;
    }

    /* IMAGES */
    .dsf-s1 .imgs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .dsf-s1 .img {
      background-size: cover;
      background-position: center;
      height: 120px;
      border-radius: 6px;
    }

    .dsf-s1 .img.large {
      grid-column: span 2;
      height: 150px;
    }

    /* TEXTE */
    .dsf-s1 h2 {
      font-size: 26px;
      font-weight: 700;
      margin: 0 0 14px 0;
      color: #222;
    }

    .dsf-s1 p {
      font-size: 15px;
      line-height: 1.6;
      color: #555;
      margin: 0 0 18px 0;
      max-width: 520px;
    }

    .dsf-s1 ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .dsf-s1 li {
      font-size: 14px;
      color: #222;
      margin-bottom: 10px;
      padding-left: 22px;
      position: relative;
    }

    .dsf-s1 li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: #22c55e;
      font-weight: bold;
    }

    /* RESPONSIVE */
    @media (max-width: 900px) {
      .dsf-s1 .wrap {
        grid-template-columns: 1fr;
        row-gap: 35px;
      }

      .dsf-s1 .imgs {
        max-width: 420px;
      }
    }




/* ================= SECTION PRESENTATION ================= */
.section-dsf {
  font-family: Arial, sans-serif;
  background: #fff;
}

.section-dsf .wrapper {
  max-width: 1200px;
  margin: auto;
  padding: 60px 20px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 40px;
}

.section-dsf .images {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
}

.section-dsf .img {
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  min-height: 160px;
}

.section-dsf .img.big {
  grid-column: span 2;
}

.section-dsf .content h2 {
  font-size: 32px;
  margin-bottom: 15px;
}

.section-dsf .content ul {
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

.section-dsf .content li {
  margin-bottom: 12px;
  padding-left: 30px;
  position: relative;
}

.section-dsf .content li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #2ecc71;
  font-weight: bold;
}

/* CTA */
.section-dsf .cta {
  margin-top: 50px;
  background: linear-gradient(90deg,#111,#333);
  border-radius: 14px;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
}

.section-dsf .cta .text h3 {
  font-size: 24px;
}

.section-dsf .cta .buttons {
  margin-top: 15px;
}

.section-dsf .cta button {
  padding: 12px 18px;
  border-radius: 6px;
  border: none;
  margin-right: 10px;
  font-weight: bold;
  cursor: pointer;
}

.section-dsf .cta .primary {
  background: #1e90ff;
  color: #fff;
}

.section-dsf .cta .secondary {
  background: #fff;
  color: #000;
}

.section-dsf .cta img {
  max-width: 120px;
}

/* ================= SECTION SLIDER ================= */
.section-slider {
  background: #eaf4fb;
  padding: 60px 20px;
  font-family: Arial, sans-serif;
}

.section-slider h2 {
  text-align: center;
  font-size: 30px;
}

.section-slider p {
  text-align: center;
  color: #666;
  margin-bottom: 40px;
}

.section-slider .slider {
  max-width: 1000px;
  margin: auto;
}

.section-slider .main {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.section-slider .track {
  display: flex;
  transition: transform .6s ease;
}

.section-slider .slide {
  min-width: 100%;
  position: relative;
}

.section-slider .slide img {
  width: 100%;
  display: block;
}

.section-slider .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2ecc71;
  color: #fff;
  padding: 15px;
  font-weight: bold;
}

.section-slider .thumbs {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}

.section-slider .thumbs img {
  width: 100%;
  max-width: 180px;
  border-radius: 10px;
  cursor: pointer;
  opacity: .6;
}

.section-slider .thumbs img.active {
  opacity: 1;
  outline: 3px solid #2ecc71;
}

/* Responsive */
@media(max-width:900px){
  .section-dsf .wrapper {
    grid-template-columns: 1fr;
  }
  .section-dsf .cta {
    flex-direction: column;
    text-align: center;
  }
}


 /* ===== SECTION PRESENTATION GENERALE (ISOLÉE) ===== */
    .pg-section {
      font-family: "Segoe UI", Arial, sans-serif;
      background: #ffffff;
      padding: 70px 20px;
    }

    .pg-container {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 60px;
      align-items: center;
    }

    /* ----- Bloc images (gauche) ----- */
    .pg-images {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    .pg-image {
      background-size: cover;
      background-position: center;
      border-radius: 12px;
      min-height: 170px;
    }

    .pg-image.large {
      grid-column: span 2;
      min-height: 190px;
    }

    /* ----- Contenu texte (droite) ----- */
    .pg-content h2 {
      font-size: 32px;
      font-weight: 700;
      margin-bottom: 18px;
      color: #1f2937;
    }

    .pg-content p {
      font-size: 16px;
      line-height: 1.6;
      color: #4b5563;
      margin-bottom: 22px;
      max-width: 520px;
    }

    .pg-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .pg-list li {
      position: relative;
      padding-left: 30px;
      margin-bottom: 14px;
      font-size: 15px;
      color: #1f2937;
    }

    .pg-list li::before {
      content: "✔";
      position: absolute;
      left: 0;
      top: 0;
      color: #22c55e;
      font-weight: 700;
    }

    /* ----- Responsive ----- */
    @media (max-width: 900px) {
      .pg-container {
        grid-template-columns: 1fr;
        gap: 40px;
      }

      .pg-content h2 {
        font-size: 26px;
      }
    }



/* ================= FONCTIONNALITÉS CLÉS — PRO + DYNAMIQUE ================= */
    .fk2-section {
      font-family: "Segoe UI", Arial, sans-serif;
      background: #ffffff;
      padding: 80px 20px;
    }

    .fk2-container {
      max-width: 1200px;
      margin: 0 auto;
    }

    /* Header */
    .fk2-header {
      text-align: center;
      margin-bottom: 60px;
    }

    .fk2-header h2 {
      font-size: 34px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 10px;
    }

    .fk2-header p {
      font-size: 15px;
      color: #64748b;
    }

    /* Grid */
    .fk2-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px;
    }

    /* Card */
    .fk2-card {
      position: relative;
      background: #ffffff;
      border-radius: 16px;
      padding: 42px 26px 34px;
      text-align: center;
      border: 2px solid #0b66c3;
      cursor: pointer;
      transition: 
        background .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
    }

    .fk2-card:hover {
      background: #0b66c3;
      transform: translateY(-8px);
      box-shadow: 0 20px 40px rgba(11,102,195,.25);
    }

    /* Number */
    .fk2-number {
      position: absolute;
      top: -16px;
      left: 50%;
      transform: translateX(-50%);
      background: #22c55e;
      color: #ffffff;
      font-weight: 700;
      font-size: 14px;
      padding: 6px 14px;
      border-radius: 6px;
    }

    /* Icon */
    .fk2-icon {
      margin-bottom: 18px;
      transition: transform .35s ease;
    }

    .fk2-icon svg {
      width: 50px;
      height: 50px;
      stroke: #0b66c3;
      transition: stroke .35s ease;
    }

    .fk2-card:hover .fk2-icon {
      transform: scale(1.1) rotate(-3deg);
    }

    .fk2-card:hover svg {
      stroke: #ffffff;
    }

    /* Text */
    .fk2-card p {
      font-size: 14px;
      line-height: 1.5;
      color: #0f172a;
      transition: color .35s ease;
    }

    .fk2-card:hover p {
      color: #ffffff;
    }

    /* Pagination */
    .fk2-pagination {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 50px;
    }

    .fk2-page {
      min-width: 34px;
      height: 34px;
      padding: 0 10px;
      border-radius: 6px;
      background: #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      font-weight: 600;
      color: #111827;
      cursor: pointer;
      transition: background .25s ease, color .25s ease, transform .25s ease;
    }

    .fk2-page:hover {
      background: #0b66c3;
      color: #ffffff;
      transform: translateY(-2px);
    }

    .fk2-page.active {
      background: #22c55e;
      color: #ffffff;
    }

    /* Responsive */
    @media (max-width: 1100px) {
      .fk2-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 600px) {
      .fk2-grid {
        grid-template-columns: 1fr;
      }
    }
