    /* RESET & TOKENS */
    *,*::before,*::after{box-sizing:border-box}
    html,body{margin:0;padding:0}
    :root{
      --green-1:#0f5132;   /* vert profond (titres/CTA focus) */
      --green-2:#2e7d32;   /* vert naturel */
      --mist:#f6fbf7;      /* fond doux */
      --ink:#333;
      --gold:#c5891e;      /* accent doré */
      --shadow:0 10px 30px rgba(0,0,0,.12);
      --radius:16px;
      --container:1100px;
    }
    body{
      font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      color:var(--ink); background:var(--mist); line-height:1.65;
      -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    }
    a{color:var(--green-2);text-decoration:none}
    img{max-width:100%;height:auto;display:block}

    /* GLOBAL LAYOUT */
    .container{max-width:var(--container);margin:0 auto;padding:0 20px}
    h1,h2{font-family:'Playfair Display',serif}
    h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0 0 12px;color:#0d402a}
    h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 18px;color:var(--green-1)}
    .lead{font-size:clamp(1.05rem,2.2vw,1.2rem);opacity:.9}

    /* CTA BUTTON */
    .btn{display:inline-block;background:var(--gold);color:#fff;
      padding:12px 22px;border-radius:999px;font-weight:600;
      box-shadow:var(--shadow);transform:translateZ(0);
      transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
    .btn:hover{filter:saturate(1.05);transform:translateY(-2px)}
    .btn:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 4px rgba(216,155,43,.6)}

    /* HEADER (non fixe) */
    header{
      background:#fff; border-bottom:1px solid #eee;
    }
    .brand{
      display:flex;align-items:center;gap:12px;padding:14px 0;
    }
    .brand__logo{height:40px;width:auto;display:none}
    .brand__title{font-weight:600;color:var(--green-2)}
    /* Affiche le logo uniquement s'il se charge correctement */
    .brand__logo.loaded{display:block}

    /* HERO (parallax) */
    .hero{
      position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden;
      color:#0a2b1a;background:#e9f6ee;
    }
    .hero__bg{
      position:absolute;inset:0;background:
        linear-gradient(to bottom, rgba(10,43,26,.45), rgba(10,43,26,.25)),
        url('jossuha-theophile-erek3MProPk-unsplash.webp') center/cover no-repeat;
        filter: brightness(1.15);
        will-change: transform, opacity;
    }
    .hero__content{
      position:relative;z-index:1;text-align:center;padding:60px 20px;color:#fff;
      max-width:900px;
    }
    .hero .btn{background:#fff;color:var(--green-1)}

    .hero h1, .hero p {
     color: #E6EFE7; /* Vert sauge très clair */
      text-shadow: 0 2px 6px rgba(0,0,0,0.4); /* pour contraster encore + */
    }

    /* STORY SECTIONS (immersif) */
    .panel{
      padding:72px 0; background:transparent;
    }
    .panel--alt{background:#fff}
    .split{
      display:grid;gap:28px;align-items:center;
      grid-template-columns:1fr; /* mobile-first */
    }
    .split__media{
      border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)
    }
    .split__text .kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:8px}

    /* SERVICES STRIP (cards) */
    .services{display:grid;gap:18px;grid-template-columns:1fr;}
    .services--centered {
  display: grid;
  gap: 18px;
  justify-content: center; /* centre horizontalement */
}
.services--centered .card p:last-of-type {
  text-align: center;
}
    .card{
      background:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);
      transition:transform .25s ease, box-shadow .25s ease
    }
    .card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.14)}
    .card h3{margin:0 0 8px;color:var(--green-1)}
    .card p{margin:0 0 14px}
    .card .meta{font-size:.95rem;opacity:.9}

    /* TARIFS */
    .pricing{display:grid;gap:18px}
    .price{
      background:#fff;border-radius:var(--radius);padding:20px 20px;border:1px solid #eee;
      display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center
    }
    .price h3{margin:0;color:var(--green-2)}
    .price .durée{font-weight:600}
    .price strong{color:var(--gold);font-size:1.15rem}

    /* CALL TO ACTION BAND */
    .cta{
      border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);
      background:linear-gradient(135deg, #0f5132, #2e7d32); color:#fff; text-align:center
    }

    /* CONTACT */
    .contact{
      text-align:center
    }
    .contact a{font-weight:600}

    /* FOOTER */
    footer{background:#0f2d1f;color:#cfe7d3;padding:22px 0;text-align:center}
    footer a{color:#e7c27b}

    /* REVEAL ANIMATIONS */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
    .reveal.is-visible{opacity:1;transform:none}
    @media (prefers-reduced-motion: reduce){
      .hero__bg{background-attachment:scroll}
      .reveal{opacity:1;transform:none}
      .card,.btn{transition:none}
    }

    /* RESPONSIVE LAYOUTS */
    @media (min-width: 780px){
      .split{grid-template-columns:1.1fr .9fr}
      .services{grid-template-columns:repeat(3,1fr)}
      .pricing{grid-template-columns:repeat(3,1fr)}
    
  .services--centered {
    grid-template-columns: repeat(2, 1fr); /* toujours 2 colonnes */
    }

    /* limite espacement dans list */
    .card ul {
      margin: 0;
      padding-left: 18px;
    }

    .card ul li {
      margin-bottom: 4px;
      line-height: 1.3; /* optionnel, pour réduire un peu la hauteur de ligne */
    }
  }

  .swiper-pagination-bullet-active {
  background: var(--gold);
}
:root {
  --swiper-navigation-color: #c5891e;
  --swiper-pagination-color: #c5891e;
}

/* Focus visible sur tous les liens 

a:focus-visible { outline:3px solid var(--gold); outline-offset:2px; border-radius:4px } */

.text-center { text-align:center }

/* Smooth scroll respectueux */

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}



/* Bouton retour en haut */
.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background: var(--primary-color);
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--secondary-color);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.back-to-top:active {
  transform: translateY(0);
}

.back-to-top svg {
  transition: transform 0.2s ease;
}

.back-to-top:hover svg {
  transform: translateY(-1px);
}

/* Responsive - Plus grand sur mobile */
@media (max-width: 768px) {
  .back-to-top {
    width: 56px;
    height: 56px;
    bottom: 24px;
    right: 24px;
  }
  
  .back-to-top svg {
    width: 28px;
    height: 28px;
  }
}

/* Respect des préférences de mouvement */
@media (prefers-reduced-motion: reduce) {
  .back-to-top {
    transition: opacity 0.3s ease;
  }
  
  .back-to-top:hover {
    transform: none;
  }
  
  .back-to-top svg {
    transition: none;
  }
}

/* Mode sombre (si vous l'ajoutez plus tard) */
@media (prefers-color-scheme: dark) {
  .back-to-top {
    background: #2d5a27;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
}
