.section-pad { padding: 5.5rem 0; }
    .bg-gris { background: var(--gris-clair); }

    .eyebrow {
      font-family: var(--f-corps);
      font-size: .72rem; font-weight: 600;
      letter-spacing: .28em; text-transform: uppercase;
      color: var(--or); display: block; margin-bottom: .7rem;
    }
    .s-titre {
      font-size: clamp(1.8rem,4vw,2.8rem);
      font-weight: 700; color: var(--gris-fonce); line-height: 1.2;
    }
    .s-titre span { color: var(--vert); }
    .s-sous {
      font-family: var(--f-sous); font-style: italic;
      font-size: clamp(1rem,2vw,1.25rem);
      color: var(--gris-txt); margin-top: .4rem;
    }
    .ligne-or {
      display: block; width: 54px; height: 2px;
      background: linear-gradient(90deg, var(--or), transparent);
      margin-bottom: .9rem;
    }
    .ligne-or-c { margin-left: auto; margin-right: auto; }
    .badge-or {
      display: inline-block;
      background: linear-gradient(135deg,var(--or),#b8960c);
      color:#fff; font-size:.68rem; font-weight:600;
      letter-spacing:.14em; text-transform:uppercase;
      padding:.27rem .9rem; border-radius:20px;
    }

    /* Boutons */
    .btn-vert {
      background: linear-gradient(135deg,var(--vert),var(--vert-fonce));
      color:#fff; border:none; border-radius:0;
      font-family:var(--f-corps); font-weight:500;
      font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
      padding:.78rem 1.85rem; cursor:pointer; transition:var(--tr);
    }
    .btn-vert:hover { color:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,128,0,.32); }
    .btn-or {
      background: linear-gradient(135deg,var(--or),#b8960c);
      color:#fff; border:none; border-radius:0;
      font-family:var(--f-corps); font-weight:600;
      font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
      padding:.78rem 1.85rem; cursor:pointer; transition:var(--tr);
    }
    .btn-or:hover { color:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(212,175,55,.42); }
    .btn-ocean {
      background: linear-gradient(135deg,var(--ocean),#0090b0);
      color:#fff; border:none; border-radius:0;
      font-family:var(--f-corps); font-weight:500;
      font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
      padding:.78rem 1.85rem; cursor:pointer; transition:var(--tr);
    }
    .btn-ocean:hover { color:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,168,204,.36); }
    .btn-outline-blanc {
      background:transparent; color:#fff;
      border:2px solid rgba(255,255,255,.7); border-radius:0;
      font-family:var(--f-corps); font-weight:500;
      font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
      padding:.74rem 1.85rem; cursor:pointer; transition:var(--tr);
    }
    .btn-outline-blanc:hover { background:rgba(255,255,255,.14); color:#fff; border-color:#fff; transform:translateY(-2px); }

    /* Animations */
    .fade-up { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
    .fade-up.visible { opacity:1; transform:translateY(0); }
    .fade-left { opacity:0; transform:translateX(-28px); transition:opacity .7s ease,transform .7s ease; }
    .fade-left.visible { opacity:1; transform:translateX(0); }
    .fade-right { opacity:0; transform:translateX(28px); transition:opacity .7s ease,transform .7s ease; }
    .fade-right.visible { opacity:1; transform:translateX(0); }

/* ═══════════════════════════════════
       HERO
    ═══════════════════════════════════ */
    #hero {
      position:relative; height:80vh; min-height:520px;
      display:flex; align-items:flex-end; overflow:hidden;
    }
    .hero-bg {
      position:absolute; inset:0;
      background-image:url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1920&q=85&auto=format&fit=crop');
      background-size:cover; background-position:center 40%;
      animation:zoomIn 14s ease-out forwards;
    }
    @keyframes zoomIn { from{transform:scale(1.05)} to{transform:scale(1)} }
    .hero-ov {
      position:absolute; inset:0;
      background:linear-gradient(0deg,rgba(0,30,0,.82) 0%,rgba(0,30,0,.3) 60%,rgba(0,20,0,.18) 100%);
    }
    .hero-bc { position:absolute; top:0; left:0; right:0; padding-top:7rem; z-index:2; }
    .hero-bc .breadcrumb { background:none; padding:0; margin:0; font-size:.77rem; }
    .hero-bc .breadcrumb-item a { color:rgba(255,255,255,.68); transition:color .3s; }
    .hero-bc .breadcrumb-item a:hover { color:var(--or); }
    .hero-bc .breadcrumb-item.active { color:var(--or); }
    .hero-bc .breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,.4); }
    .hero-cnt { position:relative; z-index:2; color:#fff; padding-bottom:4rem; width:100%; }
    .hero-ey {
      font-family:var(--f-corps); font-size:.72rem; letter-spacing:.3em;
      text-transform:uppercase; color:var(--or); margin-bottom:.8rem;
      opacity:0; animation:fsup .9s .3s forwards;
    }
    .hero-h1 {
      font-size:clamp(2.2rem,5.5vw,3.8rem); font-weight:700;
      line-height:1.1; margin-bottom:.7rem;
      opacity:0; animation:fsup .9s .5s forwards;
    }
    .hero-sub {
      font-family:var(--f-sous); font-style:italic;
      font-size:clamp(1rem,2vw,1.5rem); color:rgba(255,255,255,.82);
      margin-bottom:1.9rem;
      opacity:0; animation:fsup .9s .7s forwards;
    }
    .hero-btns { opacity:0; animation:fsup .9s .9s forwards; display:flex; gap:1rem; flex-wrap:wrap; }
    @keyframes fsup { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }

    /* Stats bande */
    .exp-stats {
      background:linear-gradient(135deg,var(--vert),var(--vert-fonce));
      padding:1.6rem 0;
    }
    .exp-stats .st-item { text-align:center; padding:.4rem 1rem; border-right:1px solid rgba(255,255,255,.2); }
    .exp-stats .st-item:last-child { border-right:none; }
    .exp-stats .st-num { font-family:var(--f-titre); font-size:1.9rem; font-weight:700; color:var(--or); display:block; }
    .exp-stats .st-lbl { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.82); }

    /* ═══════════════════════════════════
       INTRO
    ═══════════════════════════════════ */
    #intro { padding:4.5rem 0; }
    .intro-wrap {
      max-width:780px; margin:0 auto; text-align:center;
    }
    .intro-wrap p { font-size:.97rem; color:var(--gris-txt); }
    .sep-or {
      display:flex; align-items:center; gap:1rem;
      margin:2rem 0;
    }
    .sep-or::before, .sep-or::after { content:''; flex:1; height:1px; background:var(--gris-bord); }
    .sep-or span { color:var(--or); font-size:1.1rem; }

    /* ═══════════════════════════════════
       PACKAGES CARDS
    ═══════════════════════════════════ */
    #packages { background:var(--gris-clair); }

    .pkg-card {
      background:var(--blanc);
      overflow:hidden;
      transition:var(--tr);
      height:100%;
      display:flex; flex-direction:column;
      border-bottom:3px solid transparent;
    }
    .pkg-card:hover {
      transform:translateY(-9px);
      box-shadow:0 22px 55px rgba(0,0,0,.13);
      border-bottom-color:var(--or);
    }
    /* Image area */
    .pkg-img { position:relative; height:230px; overflow:hidden; }
    .pkg-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
    .pkg-card:hover .pkg-img img { transform:scale(1.08); }
    .pkg-img .pkg-tag {
      position:absolute; top:1rem; left:1rem;
      background:var(--vert); color:#fff;
      font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
      padding:.28rem .85rem;
    }
    .pkg-img .pkg-duree {
      position:absolute; bottom:0; right:0;
      background:rgba(0,0,0,.65); backdrop-filter:blur(4px);
      color:#fff; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
      padding:.3rem .9rem;
    }
    /* Numéro décoratif */
    .pkg-num {
      position:absolute; top:.6rem; right:.6rem;
      font-family:var(--f-titre); font-size:3.5rem; font-weight:700;
      color:rgba(255,255,255,.15); line-height:1;
      pointer-events:none;
    }

    /* Corps */
    .pkg-body { padding:1.6rem; flex:1; display:flex; flex-direction:column; }
    .pkg-titre { font-family:var(--f-titre); font-size:1.2rem; font-weight:700; color:var(--gris-fonce); margin-bottom:.4rem; }
    .pkg-desc { font-size:.84rem; color:var(--gris-txt); line-height:1.78; margin-bottom:1.1rem; flex:1; }

    /* Points forts */
    .pkg-pts { list-style:none; padding:0; margin:0 0 1.2rem; }
    .pkg-pts li {
      display:flex; align-items:center; gap:.65rem;
      font-size:.81rem; color:var(--gris-fonce);
      padding:.3rem 0; border-bottom:1px solid var(--gris-bord);
    }
    .pkg-pts li:last-child { border-bottom:none; }
    .pkg-pts li i { color:var(--vert); font-size:.75rem; flex-shrink:0; }

    .pkg-footer {
      display:flex; align-items:center; justify-content:space-between;
      padding-top:1.1rem; border-top:1px solid var(--gris-bord); flex-wrap:wrap; gap:.8rem;
    }
    .pkg-prix { font-family:var(--f-titre); font-size:1.2rem; font-weight:700; color:var(--vert); }
    .pkg-prix small { font-family:var(--f-corps); font-size:.7rem; color:var(--gris-txt); font-weight:400; }

    /* Filtre catégories */
    .pkg-filters { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; margin-bottom:2.5rem; }
    .pkg-filter-btn {
      font-family:var(--f-corps); font-size:.75rem; font-weight:500;
      letter-spacing:.1em; text-transform:uppercase;
      background:var(--blanc); color:var(--gris-fonce);
      border:1px solid var(--gris-bord); border-radius:0;
      padding:.42rem 1.1rem; cursor:pointer; transition:var(--tr);
    }
    .pkg-filter-btn:hover,
    .pkg-filter-btn.active {
      background:var(--vert); color:#fff; border-color:var(--vert);
    }

    /* ═══════════════════════════════════
       PACKAGE SUR MESURE
    ═══════════════════════════════════ */
    #sur-mesure {
      background:linear-gradient(135deg,#0f1f0f 0%,#1a2e1a 60%,#0a180a 100%);
      position:relative; overflow:hidden;
    }
    #sur-mesure::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(circle at 80% 20%,rgba(212,175,55,.12) 0%,transparent 55%),
                 radial-gradient(circle at 20% 80%,rgba(0,128,0,.18) 0%,transparent 50%);
    }
    .mesure-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
    @media(max-width:767px){ .mesure-grid { grid-template-columns:1fr; } }

    .mesure-item {
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.1);
      padding:1.6rem 1.4rem;
      display:flex; align-items:flex-start; gap:1rem;
      transition:var(--tr);
    }
    .mesure-item:hover {
      background:rgba(255,255,255,.09);
      border-color:rgba(212,175,55,.35);
      transform:translateY(-3px);
    }
    .mesure-item .mi-icon {
      width:46px; height:46px; flex-shrink:0;
      background:rgba(212,175,55,.18);
      border:1px solid rgba(212,175,55,.3);
      border-radius:50%; display:flex; align-items:center; justify-content:center;
      color:var(--or); font-size:1.1rem; transition:var(--tr);
    }
    .mesure-item:hover .mi-icon { background:var(--or); color:#fff; }
    .mesure-item .mi-titre { font-family:var(--f-titre); font-size:1rem; font-weight:600; color:#fff; margin-bottom:.3rem; }
    .mesure-item .mi-desc { font-size:.81rem; color:rgba(255,255,255,.62); line-height:1.7; }

    /* Formulaire sur-mesure */
    .mesure-form {
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      padding:2.5rem;
      position:relative; z-index:1;
    }
    .mesure-form label { font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-bottom:.35rem; }
    .mesure-form .form-control,
    .mesure-form .form-select {
      background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
      border-radius:0; color:#fff; font-size:.86rem; padding:.62rem .9rem;
      transition:border-color .3s;
    }
    .mesure-form .form-control::placeholder { color:rgba(255,255,255,.35); }
    .mesure-form .form-control:focus,
    .mesure-form .form-select:focus {
      background:rgba(255,255,255,.12); border-color:var(--or);
      box-shadow:0 0 0 3px rgba(212,175,55,.15); color:#fff;
    }
    .mesure-form .form-select option { background:#1a2e1a; color:#fff; }

    /* ═══════════════════════════════════
       TEMOIGNAGES RAPIDES
    ═══════════════════════════════════ */
    #avis { background:var(--gris-clair); }
    .avis-card {
      background:var(--blanc); padding:2rem;
      border-left:3px solid var(--vert); height:100%;
      transition:var(--tr);
    }
    .avis-card:hover { transform:translateY(-4px); box-shadow:var(--ombre); border-left-color:var(--or); }
    .avis-card .ac-etoiles { color:var(--or); font-size:.9rem; margin-bottom:.8rem; }
    .avis-card .ac-texte { font-family:var(--f-sous); font-style:italic; font-size:1rem; color:var(--gris-fonce); line-height:1.8; margin-bottom:1.2rem; }
    .avis-card .ac-auteur { display:flex; align-items:center; gap:.8rem; }
    .avis-card .ac-auteur img { width:46px; height:46px; border-radius:50%; object-fit:cover; border:2px solid var(--vert-clair); }
    .avis-card .ac-nom { font-weight:600; font-size:.88rem; }
    .avis-card .ac-pays { font-size:.75rem; color:var(--gris-txt); }

    /* ═══════════════════════════════════
       CTA BANDE
    ═══════════════════════════════════ */
    .cta-band {
      background:linear-gradient(135deg,var(--vert),var(--vert-fonce));
      padding:3.5rem 0; position:relative; overflow:hidden;
    }
    .cta-band::after {
      content:''; position:absolute; right:-60px; top:-60px;
      width:300px; height:300px;
      background:radial-gradient(circle,rgba(212,175,55,.18) 0%,transparent 65%);
      border-radius:50%;
    }
    .cta-band .ct { font-family:var(--f-titre); font-size:clamp(1.4rem,3vw,2.1rem); font-weight:700; color:#fff; margin-bottom:.4rem; }
    .cta-band .cs { font-family:var(--f-sous); font-style:italic; color:rgba(255,255,255,.7); font-size:1.1rem; }
