*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --stone:#14110c;--earth:#1e1a14;--clay:#6b5a45;--sand:#c9b99a;
      --mist:#e8e2d9;--cream:#f5f1eb;--white:#fdfcfa;--accent:#8b6914;--green:#2e4230;
    }
    html{scroll-behavior:smooth}
    body{font-family:'Source Sans 3',sans-serif;background:var(--stone);color:var(--cream);overflow-x:hidden}

    nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:linear-gradient(to bottom,rgba(20,17,12,0.92),transparent);transition:background 0.4s}
    nav.scrolled{background:rgba(20,17,12,0.97);backdrop-filter:blur(8px)}
    .nav-logo img{height:36px;display:block}
    .nav-links{display:flex;gap:2rem;list-style:none}
    .nav-links a{font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mist);text-decoration:none;transition:color 0.2s}
    .nav-links a:hover{color:var(--sand)}
    .nav-cta{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;padding:0.5rem 1.4rem;border:1px solid var(--sand);color:var(--sand);text-decoration:none;transition:background 0.2s,color 0.2s}
    .nav-cta:hover{background:var(--sand);color:var(--stone)}

    .hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;padding-bottom:7rem;overflow:hidden}
    .hero-bg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,8,5,0.5) 0%,rgba(10,8,5,0.05) 40%,rgba(10,8,5,0.85) 100%),url('images/hero-bg.jpg') center/cover no-repeat;transform:scale(1.04);animation:heroZoom 20s ease-out forwards}
    @keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1)}}
    .hero-content{position:relative;max-width:820px;padding:0 4rem;opacity:0;transform:translateY(30px);animation:fadeUp 1.2s 0.5s ease forwards}
    @keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
    .hero-eyebrow{font-size:0.7rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--sand);margin-bottom:1rem}
    .hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.05;font-weight:400;color:var(--white);margin-bottom:1.5rem;text-shadow:0 2px 15px rgba(0,0,0,0.5)}
    .hero-title em{font-style:italic;color:var(--sand)}
    .hero-sub{font-size:1rem;font-weight:300;color:var(--white);line-height:1.75;max-width:500px;margin-bottom:1.8rem;text-shadow:0 1px 8px rgba(0,0,0,0.6)}
    .hero-facts{display:flex;flex-wrap:wrap;gap:0.8rem;margin-bottom:2rem}
    .hero-fact{display:flex;align-items:center;gap:0.5rem;background:rgba(255,255,255,0.08);border:1px solid rgba(201,185,154,0.2);padding:0.45rem 0.9rem;font-size:0.72rem;letter-spacing:0.08em;color:var(--sand);backdrop-filter:blur(4px)}
    .hero-fact-icon{font-size:0.82rem;opacity:0.9}
    .hero-actions{display:flex;gap:1.2rem;flex-wrap:wrap}
    .btn-primary{display:inline-block;padding:0.85rem 2.2rem;background:var(--accent);color:var(--white);font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:background 0.2s}
    .btn-primary:hover{background:#a07820}
    .btn-ghost{display:inline-block;padding:0.85rem 2.2rem;border:1px solid rgba(255,255,255,0.6);color:var(--white);font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:all 0.2s}
    .btn-ghost:hover{background:rgba(255,255,255,0.1)}
    .scroll-hint{position:absolute;bottom:2rem;right:3rem;display:flex;flex-direction:column;align-items:center;gap:0.5rem;opacity:0;animation:fadeUp 1s 1.6s ease forwards}
    .scroll-hint span{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;writing-mode:vertical-rl;color:var(--sand);opacity:0.8}
    .scroll-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--sand),transparent);animation:pulse 2.5s 2s ease-in-out infinite}
    @keyframes pulse{0%,100%{opacity:0.4}50%{opacity:1}}

    /* ── POUR QUI ── */
    .pour-qui{background:var(--stone);padding:3.5rem 4rem;border-top:1px solid rgba(201,185,154,0.08);border-bottom:1px solid rgba(201,185,154,0.08)}
    .pour-qui-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:3rem;align-items:center}
    .pour-qui-label{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--clay);margin-bottom:0.6rem}
    .pour-qui-heading{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--cream);font-weight:400}
    .pour-qui-items{display:flex;flex-direction:column;gap:1rem}
    .pour-qui-item{display:flex;align-items:flex-start;gap:1rem}
    .pour-qui-arrow{color:var(--accent);font-size:0.9rem;margin-top:0.15rem;flex-shrink:0}
    .pour-qui-item-title{font-size:0.9rem;color:var(--sand);font-weight:600;margin-bottom:0.15rem}
    .pour-qui-item-sub{font-size:0.78rem;color:var(--clay);line-height:1.5}
    @media(max-width:680px){.pour-qui{padding:3rem 1.5rem}.pour-qui-inner{grid-template-columns:1fr;gap:2rem}}
    .manifesto{background:var(--earth);padding:7rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
    .manifesto-label{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--clay);margin-bottom:1.4rem}
    .manifesto-quote{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.4;font-style:italic;color:var(--cream);margin-bottom:1.8rem;border-left:2px solid var(--accent);padding-left:1.5rem}
    .manifesto-body{font-size:0.95rem;line-height:1.9;color:var(--sand);font-weight:300}
    .manifesto-img-wrap{position:relative}
    .manifesto-img-wrap::before{content:'';position:absolute;top:-1.2rem;left:-1.2rem;right:1.2rem;bottom:1.2rem;border:1px solid rgba(107,90,69,0.4);z-index:0}
    .manifesto-img-wrap img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block;position:relative;z-index:1}

    .pillars{background:var(--stone);padding:6rem 4rem}
    .section-header{text-align:center;margin-bottom:4rem}
    .section-label{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--clay);margin-bottom:1rem}
    .section-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:400;color:var(--cream)}
    .pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(107,90,69,0.25)}
    .pillar{padding:3.5rem 2.5rem;border-right:1px solid rgba(107,90,69,0.25);transition:background 0.3s}
    .pillar:last-child{border-right:none}
    .pillar:hover{background:rgba(45,40,32,0.5)}
    .pillar-num{font-family:'Playfair Display',serif;font-size:3.2rem;font-style:italic;color:rgba(107,90,69,0.3);line-height:1;margin-bottom:1.5rem}
    .pillar-title{font-family:'Libre Baskerville',serif;font-size:1rem;color:var(--sand);margin-bottom:0.9rem;line-height:1.4}
    .pillar-text{font-size:0.88rem;line-height:1.85;color:var(--clay);font-weight:300}

    .pourqui{background:var(--green);padding:6rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
    .pourqui-label{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(232,226,217,0.55);margin-bottom:1rem}
    .pourqui-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--white);line-height:1.2;margin-bottom:1.4rem}
    .pourqui-body{font-size:0.95rem;line-height:1.9;color:rgba(232,226,217,0.8);font-weight:300}
    .pourqui-img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block}

    /* CANYON STRIP */
    .sejour-badge{position:absolute;top:1rem;right:1rem;background:rgba(46,66,48,0.92);color:#8aad8e;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.35rem 0.7rem;backdrop-filter:blur(4px)}
    .sejour-badge-attente{background:rgba(107,90,69,0.92);color:var(--sand)}
    .sejour-inclus{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:#8aad8e;margin:0.4rem 0 0.7rem;font-weight:400}
    .sejour-link-attente{border-color:rgba(201,185,154,0.4)!important;color:rgba(201,185,154,0.7)!important}
    .sejour-link-attente:hover{background:rgba(201,185,154,0.15)!important;color:var(--sand)!important}
    .canyon-cta-section{background:var(--earth);padding:5rem 4rem;border-top:1px solid rgba(201,185,154,0.1)}
    .canyon-cta-inner{max-width:900px;margin:0 auto}
    .canyon-cta-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;border-bottom:1px solid rgba(201,185,154,0.15);padding-bottom:1.5rem}
    .canyon-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}
    .canyon-offer{padding:1.5rem;border:1px solid rgba(201,185,154,0.15);background:rgba(255,255,255,0.02)}
    .canyon-offer-tag{font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--clay);margin-bottom:0.6rem}
    .canyon-offer-name{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--cream);margin-bottom:0.5rem}
    .canyon-offer-prix{font-size:1.1rem;color:var(--sand);font-weight:600;margin-bottom:0.4rem}
    .canyon-offer-detail{font-size:0.78rem;color:var(--clay);line-height:1.5}
    .canyon-strip{background:var(--stone);padding:6rem 4rem}
    .canyon-strip .section-title{color:var(--cream)}
    .canyon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:1rem}
    .canyon-card{position:relative;overflow:hidden}
    .canyon-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform 0.7s ease}
    .canyon-card:hover img{transform:scale(1.04)}
    .canyon-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,8,5,0.7) 0%,transparent 50%);display:flex;align-items:flex-end;padding:1.5rem}
    .canyon-caption{font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--sand)}

    .sejours{background:var(--cream);color:var(--stone);padding:7rem 4rem}
    .sejours .section-title{color:var(--stone)}
    .sejours .section-label{color:var(--clay)}
    .sejours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:1rem}
    .sejour-card{position:relative;overflow:hidden;cursor:pointer;min-height:400px}
    .sejour-card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;transition:transform 0.7s ease}
    .sejour-card:hover img{transform:scale(1.05)}
    .sejour-bg{width:100%;aspect-ratio:2/3;display:block;transition:transform 0.7s ease}
    .sejour-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,8,5,0.95) 0%,rgba(10,8,5,0.5) 45%,rgba(10,8,5,0.1) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem 1.8rem}
    .sejour-tag{font-size:0.62rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--sand);margin-bottom:0.5rem}
    .sejour-name{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--white);line-height:1.2;margin-bottom:0.4rem;text-shadow:0 1px 4px rgba(0,0,0,0.5)}
    .sejour-prix{font-size:0.88rem;color:var(--sand);margin-bottom:0.6rem;font-weight:600}
    .sejour-desc{font-size:0.8rem;color:var(--mist);line-height:1.6;margin-bottom:1rem;opacity:1;transform:translateY(0)}
    .sejour-link{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--sand);text-decoration:none;display:flex;align-items:center;gap:0.5rem}
    .sejour-link::after{content:'→';transition:transform 0.2s}
    .sejour-card:hover .sejour-link::after{transform:translateX(4px)}
    .photo-coming{display:flex;flex-direction:column;justify-content:flex-end;padding:0}

    .calendar{background:var(--earth);padding:7rem 4rem}
    .calendar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(107,90,69,0.2);margin-top:1rem}
    .cal-item{background:var(--earth);padding:2.2rem 2.5rem;display:flex;gap:2rem;align-items:flex-start;transition:background 0.25s}
    .cal-item:hover{background:rgba(45,40,32,0.8)}
    .cal-date{flex-shrink:0;text-align:center;min-width:80px}
    .cal-month{font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--clay)}
    .cal-period{font-family:'Playfair Display',serif;font-size:1rem;font-style:italic;color:var(--sand)}
    .cal-info{flex:1}
    .cal-tag{font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);margin-bottom:0.4rem}
    .cal-name{font-family:'Libre Baskerville',serif;font-size:0.95rem;color:var(--cream);margin-bottom:0.3rem;line-height:1.3}
    .cal-prix{font-size:0.82rem;color:var(--sand);font-weight:600;margin-bottom:0.3rem}
    .cal-detail{font-size:0.8rem;color:var(--clay);font-weight:300}
    .cal-divider{width:1.5rem;height:1px;background:rgba(107,90,69,0.4);margin:0.6rem 0}

    .terrain{background:var(--stone);padding:6rem 4rem;display:flex;align-items:center;gap:5rem}
    .terrain-text{flex:1}
    .terrain-eyebrow{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--clay);margin-bottom:1.1rem}
    .terrain-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,2.8vw,2.4rem);color:var(--white);line-height:1.2;margin-bottom:1.4rem}
    .terrain-body{font-size:0.93rem;line-height:1.9;color:var(--sand);font-weight:300;max-width:420px}
    .terrain-imgs{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0.6rem}
    .terrain-imgs img{width:100%;object-fit:cover;display:block}
    .terrain-imgs img:first-child{grid-column:1/-1;aspect-ratio:16/7}
    .terrain-imgs img:not(:first-child){aspect-ratio:1}

    .cta-strip{background:var(--earth);padding:6rem 4rem;text-align:center;position:relative;overflow:hidden}
    .cta-strip::before{content:'2026';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Playfair Display',serif;font-size:clamp(8rem,22vw,18rem);font-style:italic;color:rgba(107,90,69,0.07);pointer-events:none;white-space:nowrap}
    .cta-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,3rem);color:var(--cream);margin:1rem 0 1.4rem;position:relative}
    .cta-sub{font-size:0.95rem;color:var(--sand);line-height:1.75;max-width:480px;margin:0 auto 2.4rem;font-weight:300;position:relative}

    .contact{background:var(--stone);padding:6rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
    .contact-label{font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--clay);margin-bottom:1rem}
    .contact-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--cream);margin-bottom:1.5rem}
    .contact-body{font-size:0.93rem;line-height:1.9;color:var(--sand);font-weight:300;margin-bottom:2rem}
    /* ── WHATSAPP FLOTTANT ── */
    .wa-float{position:fixed;bottom:1.8rem;right:1.8rem;z-index:999;display:flex;align-items:center;gap:0.6rem;background:#25d366;color:#fff;padding:0.7rem 1.2rem 0.7rem 0.9rem;text-decoration:none;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;font-family:'Source Sans 3',sans-serif;box-shadow:0 4px 20px rgba(37,211,102,0.35);transition:background 0.2s,transform 0.2s}
    .wa-float:hover{background:#1ebe5d;transform:translateY(-2px)}
    .wa-float svg{width:20px;height:20px;flex-shrink:0}
    @media(max-width:600px){.wa-float{bottom:1rem;right:1rem;padding:0.65rem 1rem 0.65rem 0.8rem;font-size:0.68rem}}
    .contact-reponse{display:inline-block;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#5a9e6a;border:1px solid rgba(90,158,106,0.35);padding:0.4rem 1rem;margin-bottom:1.5rem}
    .contact-info{font-size:0.88rem;color:var(--sand);line-height:2.2}
    .contact-form{display:flex;flex-direction:column;gap:1rem}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
    .form-group{display:flex;flex-direction:column;gap:0.4rem}
    .form-group label{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--clay)}
    .form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,0.06);border:1px solid rgba(107,90,69,0.35);padding:0.8rem 1rem;color:var(--cream);font-family:'Source Sans 3',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.2s}
    .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--sand)}
    .form-group select option{background:var(--stone);color:var(--cream)}
    .form-group textarea{resize:vertical;min-height:120px}
    .form-submit{background:var(--accent);color:var(--white);border:none;padding:0.9rem 2.2rem;font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;align-self:flex-start;font-family:'Source Sans 3',sans-serif}
    .form-submit:hover{background:#a07820}
    .form-success{display:none;color:var(--sand);font-size:0.85rem;margin-top:0.5rem;padding:0.8rem;border:1px solid rgba(107,90,69,0.3)}

    footer{background:var(--stone);border-top:1px solid rgba(107,90,69,0.2);padding:4rem 4rem 2.5rem;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem}
    .footer-logo img{height:30px;display:block;margin-bottom:1rem}
    .footer-tagline{font-size:0.82rem;color:var(--clay);line-height:1.65;max-width:240px}
    .footer-col-title{font-size:0.64rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--clay);margin-bottom:1.2rem}
    .footer-links{list-style:none;display:flex;flex-direction:column;gap:0.6rem}
    .footer-links a{font-size:0.85rem;color:var(--sand);text-decoration:none;transition:color 0.2s}
    .footer-links a:hover{color:var(--white)}
    .footer-bottom{grid-column:1/-1;border-top:1px solid rgba(107,90,69,0.18);padding-top:1.8rem;margin-top:0.8rem;display:flex;justify-content:space-between;align-items:center}
    .footer-copy{font-size:0.72rem;color:var(--clay)}
    .footer-env{font-size:0.72rem;color:var(--clay);font-style:italic}

    @media(max-width:920px){
      nav{padding:1rem 1.5rem}
      .nav-links{display:none}
      .hero-content{padding:0 1.5rem}
      .hero-facts{gap:0.5rem}
      .hero-fact{font-size:0.66rem;padding:0.35rem 0.7rem}
      .manifesto,.pourqui,.contact{grid-template-columns:1fr;gap:2.5rem;padding:4.5rem 1.5rem}
      .manifesto-img-wrap::before{display:none}
      .pillars,.sejours,.calendar,.cta-strip,.terrain,.canyon-strip{padding:4.5rem 1.5rem}
      .pillars-grid,.canyon-grid{grid-template-columns:1fr}
      .pillar{border-right:none;border-bottom:1px solid rgba(107,90,69,0.25)}
      .sejours-grid{grid-template-columns:1fr}
      .calendar-grid{grid-template-columns:1fr}
      .terrain{flex-direction:column}
      .form-row{grid-template-columns:1fr}
      footer{grid-template-columns:1fr;padding:3rem 1.5rem}
      .footer-bottom{flex-direction:column;gap:0.8rem;text-align:center}
    }
    /* ── FICHES SÉJOURS ── */
    .fiches-section{background:var(--cream);padding:2rem 4rem 6rem;color:var(--stone)}
    .fiches-section .section-header{margin-bottom:3rem}
    .fiches-section .section-label{color:var(--clay)}
    .fiches-section .section-title{color:var(--stone)}
    .fiche-sejour{border:1px solid rgba(107,90,69,0.2);margin-bottom:2px;background:#fff}
    .fiche-header{display:grid;grid-template-columns:1fr auto;align-items:start;padding:1.8rem 2rem 1.5rem;border-bottom:1px solid rgba(107,90,69,0.1);gap:2rem}
    .fiche-label{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--clay);margin-bottom:0.4rem}
    .fiche-title{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--stone);font-weight:400;line-height:1.25}
    .fiche-prix-block{text-align:right;flex-shrink:0}
    .fiche-prix{font-size:1.5rem;color:var(--accent);font-weight:700;font-family:'Source Sans 3',sans-serif}
    .fiche-prix-detail{font-size:0.7rem;color:var(--clay);margin-top:0.2rem;line-height:1.4}
    .fiche-body{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:0}
    .fiche-col{padding:1.5rem 2rem;border-right:1px solid rgba(107,90,69,0.1)}
    .fiche-col:last-child{border-right:none}
    .fiche-col-label{font-size:0.58rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--clay);margin-bottom:0.8rem}
    .fiche-resume{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:0}
    .fiche-resume-tag{background:rgba(107,90,69,0.08);font-size:0.72rem;padding:0.3rem 0.7rem;color:var(--stone);border:1px solid rgba(107,90,69,0.15)}
    .fiche-experience{font-size:0.87rem;line-height:1.75;color:var(--stone);margin-bottom:0}
    .fiche-pour-qui-list{list-style:none;display:flex;flex-direction:column;gap:0.5rem}
    .fiche-pour-qui-list li{font-size:0.82rem;color:var(--stone);display:flex;align-items:flex-start;gap:0.5rem;line-height:1.4}
    .fiche-pour-qui-list li::before{content:'→';color:var(--accent);flex-shrink:0;font-size:0.75rem;margin-top:0.1rem}
    .fiche-footer{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem;background:rgba(107,90,69,0.04);border-top:1px solid rgba(107,90,69,0.1)}
    .fiche-footer-date{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--clay)}
    .fiche-ctas{display:flex;gap:0.8rem;flex-wrap:wrap}
    .fiche-btn-main{padding:0.65rem 1.5rem;background:var(--accent);color:#fff;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;transition:background 0.2s}
    .fiche-btn-main:hover{background:#a07820}
    .fiche-btn-sec{padding:0.65rem 1.5rem;border:1px solid rgba(107,90,69,0.4);color:var(--clay);font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;transition:all 0.2s}
    .fiche-btn-sec:hover{border-color:var(--accent);color:var(--accent)}
    @media(max-width:900px){.fiche-body{grid-template-columns:1fr}.fiche-col{border-right:none;border-bottom:1px solid rgba(107,90,69,0.1)}.fiche-col:last-child{border-bottom:none}}
    @media(max-width:600px){.fiche-header{grid-template-columns:1fr}.fiche-prix-block{text-align:left}.fiches-section{padding:2rem 1.5rem 4rem}.fiche-footer{flex-direction:column;align-items:flex-start;gap:1rem}}
    /* ── PREUVE SECTION ── */
    .preuve-section{background:var(--green);padding:5rem 4rem}
    .preuve-inner{max-width:1100px;margin:0 auto}
    .preuve-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
    .preuve-temoignage{border-left:2px solid rgba(201,185,154,0.4);padding-left:2rem}
    .preuve-quote{font-family:'Playfair Display',serif;font-size:1.1rem;font-style:italic;color:var(--cream);line-height:1.7;margin-bottom:1.2rem}
    .preuve-auteur{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(232,226,217,0.6)}
    .preuve-stats{display:flex;flex-direction:column;gap:1.5rem}
    .preuve-stat{display:flex;flex-direction:column;gap:0.2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(201,185,154,0.15)}
    .preuve-stat:last-child{border-bottom:none;padding-bottom:0}
    .preuve-stat-num{font-family:'Playfair Display',serif;font-size:2rem;color:var(--sand);font-weight:400}
    .preuve-stat-label{font-size:0.75rem;color:rgba(232,226,217,0.65);letter-spacing:0.1em}
    @media(max-width:720px){.preuve-grid{grid-template-columns:1fr;gap:2.5rem}.preuve-section{padding:4rem 1.5rem}}
    /* ── STAGES SECTION ── */
    .stages-section{background:var(--stone);padding:6rem 4rem;border-top:1px solid rgba(201,185,154,0.08)}
    .stages-intro{text-align:center;max-width:620px;margin:0 auto 4rem;font-size:0.88rem;line-height:1.9;color:var(--clay);font-weight:300}
    .stages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto}
    .stage-card{background:var(--earth);border:1px solid rgba(201,185,154,0.1);padding:2rem;position:relative;overflow:hidden;transition:border-color 0.3s}
    .stage-card:hover{border-color:rgba(201,185,154,0.3)}
    .stage-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--stage-color,var(--clay))}
    .stage-niveau{display:inline-block;font-size:0.58rem;letter-spacing:0.28em;text-transform:uppercase;padding:0.3rem 0.8rem;background:rgba(255,255,255,0.05);color:var(--stage-color,var(--clay));border:1px solid rgba(255,255,255,0.08);margin-bottom:1.2rem}
    .stage-name{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--cream);margin-bottom:0.9rem;line-height:1.3}
    .stage-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.8rem;padding-bottom:0.8rem;border-bottom:1px solid rgba(201,185,154,0.1)}
    .stage-duree{font-size:0.74rem;color:var(--sand);letter-spacing:0.06em}
    .stage-prix{font-size:1.1rem;color:var(--sand);font-weight:600}
    .stage-acompte{font-size:0.68rem;color:var(--clay);margin-bottom:0.7rem}
    .stage-materiel{font-size:0.72rem;color:var(--clay);line-height:1.5;padding-top:0.2rem;display:flex;align-items:flex-start;gap:0.4rem}
    .stage-materiel::before{content:'↗';font-size:0.7rem;color:var(--stage-color,var(--clay));flex-shrink:0;margin-top:0.05rem}
    .stages-cta{text-align:center;margin-top:3.5rem}
    @media(max-width:1000px){.stages-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:620px){.stages-grid{grid-template-columns:1fr}.stages-section{padding:5rem 1.5rem}}

/* ── Pages internes ─────────────────────────────────────────────── */
.page-hero{position:relative;min-height:40vh;display:flex;align-items:center;overflow:hidden;padding-top:6rem;padding-bottom:4rem}
.page-hero .hero-bg{position:absolute;inset:0;background-image:url('images/hero-bg.jpg');background-size:cover;background-position:center 40%;filter:brightness(0.35)}
.page-hero .hero-content{position:relative;z-index:2;padding:2rem 3rem;max-width:900px}
.page-hero .hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,4rem);color:var(--cream);line-height:1.1;margin-bottom:1rem}
.page-hero .hero-sub{font-size:0.88rem;letter-spacing:0.12em;color:var(--sand);text-transform:uppercase}

/* ── Nav active state ───────────────────────────────────────────── */
.nav-links a.active{color:var(--sand)}

/* ── NAV MOBILE / HAMBURGER ───────────────────────────────────── */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:0.4rem;background:none;border:none;z-index:101}
.nav-hamburger span{display:block;width:22px;height:1px;background:var(--cream);transition:all 0.3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-mobile{display:none;position:fixed;inset:0;background:rgba(20,17,12,0.98);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;text-align:center}
.nav-mobile.open{display:flex}
.nav-mobile ul{list-style:none;display:flex;flex-direction:column;gap:2rem}
.nav-mobile li a{font-size:1rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--mist);text-decoration:none;transition:color 0.2s}
.nav-mobile li a:hover{color:var(--sand)}
.nav-mobile-close{position:absolute;top:1.5rem;right:1.8rem;background:none;border:none;color:var(--cream);font-size:1.5rem;cursor:pointer;padding:0.5rem;opacity:0.7;transition:opacity 0.2s}
.nav-mobile-close:hover{opacity:1}
@media(max-width:920px){.nav-hamburger{display:flex}}

/* ── UTILITAIRE ───────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Skip-to-content accessibility link */
.skip-to-content{position:absolute;top:-60px;left:1rem;background:var(--accent);color:var(--dark);padding:0.5rem 1rem;font-size:0.85rem;font-weight:600;text-decoration:none;border-radius:2px;z-index:999;transition:top 0.2s}
.skip-to-content:focus{top:0.75rem}

/* ===== INCLUS / NON INCLUS (fiches séjours) ===== */
.fiche-inclus{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem 2rem;background:rgba(255,255,255,0.02);border-top:1px solid rgba(201,185,154,0.1)}
.fiche-inclus-label{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:0.6rem;font-weight:600}
.fiche-inclus-oui .fiche-inclus-label{color:#7a9e5a}
.fiche-inclus-non .fiche-inclus-label{color:rgba(201,185,154,0.5)}
.fiche-inclus ul{list-style:none;display:flex;flex-direction:column;gap:0.3rem}
.fiche-inclus li{font-size:0.82rem;color:var(--sand);line-height:1.5;padding-left:0}
@media(max-width:640px){.fiche-inclus{grid-template-columns:1fr}}

/* ===== CONDITIONS DE RÉSERVATION ===== */
.conditions-section{padding:5rem 2rem;background:var(--dark)}
.conditions-inner{max-width:1100px;margin:0 auto}
.conditions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.conditions-bloc{background:rgba(255,255,255,0.03);border:1px solid rgba(201,185,154,0.1);padding:1.8rem;border-radius:2px}
.conditions-titre{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.conditions-texte{font-size:0.88rem;color:var(--sand);line-height:1.75}
@media(max-width:700px){.conditions-grid{grid-template-columns:1fr}}

/* ===== CANYON CERTIF STRIP ===== */
.canyon-certif-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0.75rem 1.5rem;margin-top:2.5rem;padding:1.5rem;background:rgba(255,255,255,0.03);border:1px solid rgba(201,185,154,0.12)}
.canyon-certif-item{font-size:0.82rem;color:var(--sand)}
.canyon-certif-item strong{color:var(--cream)}
.canyon-certif-sep{color:rgba(201,185,154,0.3);font-size:0.9rem}

/* ===== STAGE PRÉREQUIS ===== */
.stage-prereq{font-size:0.75rem;color:var(--accent);opacity:0.85;margin-top:0.5rem;font-style:italic}
