/* ==========================================================================
   CSSSE France — Feuille de styles principale
   Variables, layout, composants (nav, hero, sections, footer)
   ========================================================================== */
   :root{
    --terra:#D15A40;
    --terra-light:#EC8070;
    --gold:#DBA942;
    --dark:#2D2820;
    --dark2:#3D362C;
    --dark3:#50483D;
    --cream:#FFFDFA;
    --cream2:#F8F4ED;
    --green:#2A4A3A;
    --muted:#9A8B7A;
    --border:rgba(219,169,66,.18);
  
    /* Sénégal */
    --sn-g:#00853F;
    --sn-y:#FDEF42;
    --sn-r:#E31B23;
  
    --shadow: 0 18px 60px rgba(0,0,0,.08);
    --radius: 18px;
  
    --container: 1200px;
    --pad: clamp(1.2rem, 3.2vw, 3rem);
  }
  
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:Lora,Georgia,"Times New Roman",serif;background:var(--cream);color:var(--dark);overflow-x:hidden}
  img{max-width:100%;display:block}
  a{color:inherit}
  
  /* Scrollbar */
  ::-webkit-scrollbar{width:6px}
  ::-webkit-scrollbar-track{background:var(--cream2)}
  ::-webkit-scrollbar-thumb{background:rgba(45,40,32,.2);border-radius:999px}
  ::-webkit-scrollbar-thumb:hover{background:var(--terra)}
  
  /* Accessibility */
  .skip-link{
    position:absolute;left:-999px;top:10px;
    background:var(--dark);color:var(--cream);
    padding:.7rem 1rem;border-radius:999px;
    border:1px solid rgba(255,255,255,.15);
    z-index:999;
  }
  .skip-link:focus{left:12px}
  :focus-visible{outline:3px solid rgba(212,160,50,.55);outline-offset:3px;border-radius:10px}
  
  /* Layout helpers */
  .container{max-width:var(--container);margin:0 auto;padding:0 var(--pad)}
  .section{padding: clamp(4rem, 8vw, 8rem) 0}
  .eyebrow{
    display:inline-flex;align-items:center;gap:.6rem;
    font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
    color:var(--terra);margin-bottom:1rem
  }
  .eyebrow::before{content:"";width:18px;height:2px;background:var(--terra);border-radius:2px}
  .section-title{
    font-family:"Playfair Display",serif;
    font-size:clamp(2rem,3.5vw,2.9rem);
    font-weight:800;letter-spacing:-.02em;line-height:1.08;
    margin-bottom:1rem
  }
  .muted{color:var(--muted)}
  .lead{font-size:1rem;line-height:1.85;font-weight:300}
  
  /* HERO — Écran d'accueil */
  .hero{
    min-height:100vh;background:var(--dark);
    display:flex;flex-direction:column;justify-content:center;
    position:relative;overflow:hidden;
    padding: calc(90px + 3rem) var(--pad) 4rem;
  }
  .hero-bg{position:absolute;inset:0;pointer-events:none}
  .hero-noise{
    position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(212,160,50,.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(212,160,50,.03) 1px, transparent 1px);
    background-size: 52px 52px;
    opacity:.85;
  }
  .hero-gradient{
    position:absolute;inset:0;
    background:
      radial-gradient(ellipse 120% 80% at 20% 20%, rgba(200,75,47,.08) 0%, transparent 50%),
      radial-gradient(ellipse 100% 60% at 85% 70%, rgba(212,160,50,.06) 0%, transparent 45%),
      linear-gradient(180deg, transparent 0%, rgba(45,40,32,.35) 100%);
  }
  .hero-orb1{
    position:absolute;width:min(90vw, 680px);height:min(90vw, 680px);border-radius:50%;
    background:radial-gradient(circle, rgba(200,75,47,.14) 0%, transparent 65%);
    top:-25%;left:-15%;filter:blur(40px);
    animation:heroFloat1 12s ease-in-out infinite;
  }
  .hero-orb2{
    position:absolute;width:min(70vw, 480px);height:min(70vw, 480px);border-radius:50%;
    background:radial-gradient(circle, rgba(212,160,50,.1) 0%, transparent 65%);
    bottom:-20%;right:-8%;filter:blur(35px);
    animation:heroFloat2 14s ease-in-out infinite;
  }
  .hero-orb3{
    position:absolute;width:min(50vw, 320px);height:min(50vw, 320px);border-radius:50%;
    background:radial-gradient(circle, rgba(0,133,63,.06) 0%, transparent 70%);
    top:40%;right:30%;filter:blur(30px);
    animation:heroFloat1 10s ease-in-out infinite reverse;
  }
  @keyframes heroFloat1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3%, -2%) scale(1.02)}}
  @keyframes heroFloat2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-2%, 3%) scale(1.03)}}
  
  .hero-content{
    position:relative;z-index:2;
    width:100%;max-width:var(--container);margin:0 auto;
    display:grid;grid-template-columns: 1fr minmax(340px, 420px);
    gap: clamp(2.5rem, 6vw, 5rem);
    align-items:center;
  }
  .hero-left{animation:heroFadeUp .9s ease-out both}
  .hero-right{animation:heroFadeUp .9s .2s ease-out both}
  @keyframes heroFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
  
  .hero-badge{
    display:inline-flex;align-items:center;gap:.6rem;
    background:rgba(212,160,50,.08);
    border:1px solid rgba(212,160,50,.2);
    border-radius:999px;padding:.45rem 1.1rem .45rem .6rem;
    font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.8rem;width:fit-content;
  }
  .hero-badge-dot{
    width:8px;height:8px;border-radius:50%;background:var(--gold);
    box-shadow:0 0 12px rgba(212,160,50,.5);
    animation:heroPulse 2s ease-in-out infinite;
  }
  @keyframes heroPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}
  
  .hero-official-name{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(.95rem, 1.85vw, 1.2rem);
    font-weight:600;
    font-style:italic;
    color:rgba(250,246,239,.58);
    letter-spacing:.03em;
    line-height:1.4;
    max-width:38rem;
    margin:0 0 1.35rem;
  }
  
  .hero-title{
    font-family:"Playfair Display",serif;
    font-size:clamp(3.2rem, 6vw, 6rem);
    font-weight:900;line-height:.95;
    color:var(--cream);margin-bottom:1rem;
    letter-spacing:-.04em;
  }
  .hero-title-line{display:block}
  .hero-title em{
    font-style:italic;font-weight:500;
    background:linear-gradient(135deg, var(--terra-light), var(--gold));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  }
  .hero-title-italic{
    font-family:"Cormorant Garamond",serif;
    font-style:italic;font-weight:300;font-size:.4em;
    display:block;margin-top:.15em;
    color:rgba(250,246,239,.45);
    letter-spacing:.02em;
  }
  
  .hero-flag-line{
    display:flex;gap:0;width:fit-content;margin-bottom:1.5rem;
    border-radius:4px;overflow:hidden;height:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);
  }
  .hero-flag-line .f{width:28px;height:100%}
  .hero-flag-line .f.g{background:var(--sn-g)}
  .hero-flag-line .f.y{background:var(--sn-y)}
  .hero-flag-line .f.r{background:var(--sn-r)}
  
  .hero-desc{
    font-size:1.05rem;line-height:1.8;
    color:rgba(250,246,239,.5);
    max-width:480px;margin-bottom:2rem;font-weight:300;
  }
  
  .hero-actions{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}
  .btn-hero-primary{
    display:inline-flex;align-items:center;gap:.4rem;
    background:linear-gradient(135deg, var(--terra), #B54028);
    color:#fff;padding:1rem 2rem;border-radius:999px;
    font-size:.95rem;font-weight:800;text-decoration:none;
    transition:transform .2s ease, box-shadow .25s ease, filter .2s ease;
    box-shadow:0 12px 36px rgba(200,75,47,.35);
    border:1px solid rgba(255,255,255,.08);
  }
  .btn-hero-primary:hover{transform:translateY(-3px);filter:brightness(1.05);box-shadow:0 18px 48px rgba(200,75,47,.4)}
  .btn-hero-ghost{
    display:inline-flex;align-items:center;gap:.4rem;
    color:rgba(250,246,239,.75);
    padding:1rem 1.75rem;font-size:.95rem;font-weight:700;
    text-decoration:none;border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    transition:all .2s ease;
  }
  .btn-hero-ghost:hover{color:var(--cream);background:rgba(255,255,255,.08);border-color:rgba(212,160,50,.3)}
  
  /* Hero right — image + card */
  .hero-visual{display:flex;flex-direction:column;align-items:center;gap:1.25rem}
  .hero-frame{
    width:100%;max-width:400px;border-radius:20px;overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 56px rgba(0,0,0,.4), 0 0 0 1px rgba(212,160,50,.08);
    position:relative;
  }
  .hero-frame::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(45,40,32,.12) 100%);
    pointer-events:none;
  }
  .hero-frame img{width:100%;height:auto;display:block;object-fit:cover;vertical-align:middle}
  
  .hero-card{
    width:100%;max-width:400px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;padding:1.75rem 1.5rem;
    backdrop-filter:blur(20px);
    box-shadow:0 20px 50px rgba(0,0,0,.25);
  }
  .hero-card-label{
    display:block;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(250,246,239,.35);margin-bottom:1rem;font-weight:800;
  }
  .hero-stats{display:flex;gap:0;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
  .hero-stat{
    flex:1;padding:1.1rem .75rem;text-align:center;
    border-right:1px solid rgba(255,255,255,.06);
  }
  .hero-stat:last-child{border-right:none}
  .hero-stat-n{display:block;font-family:"Playfair Display",serif;font-size:1.85rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:.2rem}
  .hero-stat-l{font-size:.6rem;color:rgba(250,246,239,.3);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
  .hero-card-footer{
    display:flex;gap:.6rem;align-items:center;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.06);
  }
  .hero-card-footer .sn-flag{width:32px;height:4px;border-radius:999px;overflow:hidden;display:flex}
  .hero-card-footer .sn-flag .g,.hero-card-footer .sn-flag .y,.hero-card-footer .sn-flag .r{flex:1}
  .hero-card-footer span{font-size:.7rem;color:rgba(250,246,239,.35);line-height:1.4}
  
  .hero-scroll{
    position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
    width:44px;height:44px;display:flex;align-items:center;justify-content:center;
    color:rgba(250,246,239,.4);text-decoration:none;
    transition:color .2s ease, transform .2s ease;
    z-index:3;
  }
  .hero-scroll:hover{color:var(--gold);transform:translateX(-50%) translateY(4px)}
  .hero-scroll-dot{
    width:6px;height:6px;border-radius:50%;background:currentColor;
    animation:heroScrollBounce 2s ease-in-out infinite;
  }
  @keyframes heroScrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
  
  /* TICKER */
  .ticker{
    background:linear-gradient(90deg, #3a342c 0%, var(--terra) 18%, #B54028 50%, var(--terra) 82%, #3a342c 100%);
    overflow:hidden;height:48px;display:flex;align-items:center;
    border-top:1px solid rgba(212,160,50,.15);
  }
  .ticker-track{display:flex;white-space:nowrap;animation:ticker 32s linear infinite}
  .ticker-item{
    padding:0 2.5rem;font-size:.73rem;font-weight:800;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(255,255,255,.9);
    display:flex;align-items:center;gap:1.5rem
  }
  .ticker-sep{width:5px;height:5px;background:rgba(255,255,255,.4);border-radius:50%;flex-shrink:0}
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  
  /* ABOUT */
  .about{background:var(--cream)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem, 6vw, 6rem);align-items:start}
  .about-text p{font-size:.98rem;line-height:1.9;color:var(--muted);margin-bottom:1.05rem;font-weight:300}
  .about-text strong{color:var(--dark);font-weight:700}
  .about-link{
    display:inline-flex;align-items:center;gap:.45rem;
    color:var(--terra);font-weight:800;font-size:.9rem;text-decoration:none;
    margin-top:.5rem;border-bottom:2px solid transparent;padding-bottom:1px;transition:border-color .2s;
  }
  .about-link:hover{border-color:var(--terra)}
  .about-right{display:flex;flex-direction:column;gap:1rem}
  .about-card-dark{
    background:var(--dark2);border-radius:var(--radius);
    padding:2rem;border:1px solid rgba(255,255,255,.06);
    position:relative;overflow:hidden;box-shadow:var(--shadow)
  }
  .about-card-dark::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--terra),var(--gold));
  }
  .about-card-dark blockquote{
    font-family:"Cormorant Garamond",serif;
    font-size:1.35rem;font-style:italic;font-weight:300;
    color:rgba(250,246,239,.78);line-height:1.65;margin-bottom:1.1rem;
  }
  .about-card-dark cite{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-style:normal;font-weight:800}
  .about-card-light{
    background:var(--cream2);border-radius:14px;padding:1.2rem 1.5rem;
    border:1px solid rgba(200,75,47,.10);display:flex;align-items:center;gap:1rem
  }
  .about-card-icon{
    width:46px;height:46px;min-width:46px;
    background:linear-gradient(135deg, var(--terra), #B54028);
    border-radius:12px;display:flex;align-items:center;justify-content:center;
    font-size:1.2rem;color:#fff;box-shadow:0 14px 32px rgba(200,75,47,.18)
  }
  .about-card-light h4{font-family:"Playfair Display",serif;font-size:.95rem;font-weight:900;margin-bottom:.15rem}
  .about-card-light p{font-size:.82rem;color:var(--muted)}
  
  /* MISSIONS */
  .missions{background:var(--dark);position:relative;overflow:hidden}
  .missions-noise{
    position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(212,160,50,.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(212,160,50,.02) 1px, transparent 1px);
    background-size:42px 42px;
    opacity:.9;
  }
  .missions .section-title{color:var(--cream)}
  .missions .eyebrow{color:var(--gold)}
  .missions .eyebrow::before{background:var(--gold)}
  .missions-sub{
    font-family:"Cormorant Garamond",serif;font-size:1.18rem;font-style:italic;
    color:rgba(250,246,239,.42);max-width:560px;line-height:1.7;margin-bottom:3rem;font-weight:300;
  }
  .missions-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:1px;background:rgba(255,255,255,.06);
    border-radius:var(--radius);overflow:hidden;position:relative;z-index:1;
  }
  .mission-card{
    background:var(--dark2);padding:2.35rem;position:relative;overflow:hidden;
    transition:background .25s ease, transform .25s ease;cursor:default;
    border-top:4px solid transparent;
  }
  .mission-card:nth-child(1),.mission-card:nth-child(4){border-top-color:var(--terra)}
  .mission-card:nth-child(2),.mission-card:nth-child(5){border-top-color:var(--gold)}
  .mission-card:nth-child(3),.mission-card:nth-child(6){border-top-color:var(--green)}
  .mission-card:hover{background:var(--dark3);transform:translateY(-4px)}
  .mission-glow{
    position:absolute;inset:0;background:radial-gradient(circle at 0 0, rgba(200,75,47,.10), transparent 60%);
    opacity:0;transition:opacity .35s ease;pointer-events:none;
  }
  .mission-card:hover .mission-glow{opacity:1}
  .mission-num{font-family:"Playfair Display",serif;font-size:.62rem;font-weight:900;letter-spacing:.15em;color:rgba(250,246,239,.12);margin-bottom:1.4rem}
  .mission-icon{
    width:46px;height:46px;border-radius:12px;
    background:rgba(200,75,47,.12);
    border:1px solid rgba(200,75,47,.22);
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;margin-bottom:1.05rem;
    transition:all .25s ease;
  }
  .mission-card:hover .mission-icon{background:rgba(200,75,47,.20);border-color:rgba(200,75,47,.38)}
  .mission-card h3{font-family:"Playfair Display",serif;font-size:1rem;font-weight:900;color:var(--cream);margin-bottom:.55rem}
  .mission-card p{font-size:.84rem;line-height:1.8;color:rgba(250,246,239,.38);font-weight:300}
  
  /* ACTIONS */
  .actions{background:var(--cream2)}
  .actions-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem}
  .actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}
  .action-card{
    background:var(--cream);border-radius:var(--radius);padding:2.3rem;
    border:1px solid rgba(200,75,47,.08);
    position:relative;overflow:hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .action-card:hover{transform:translateY(-4px);box-shadow:0 22px 65px rgba(0,0,0,.08);border-color:rgba(200,75,47,.18)}
  .action-num{
    font-family:"Playfair Display",serif;font-size:3.6rem;font-weight:900;
    color:rgba(200,75,47,.07);line-height:1;position:absolute;top:1.2rem;right:1.4rem;
  }
  .action-tag{
    display:inline-block;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
    padding:.25rem .75rem;border-radius:999px;margin-bottom:1rem;
    background:rgba(200,75,47,.08);color:var(--terra);
  }
  .action-card:nth-child(2) .action-tag{background:rgba(212,160,50,.12);color:#8E640B}
  .action-card:nth-child(3) .action-tag{background:rgba(31,61,48,.10);color:var(--green)}
  .action-card h3{font-family:"Playfair Display",serif;font-size:1.08rem;font-weight:900;margin-bottom:.65rem;line-height:1.3}
  .action-card p{font-size:.86rem;line-height:1.8;color:var(--muted);font-weight:300}
  
  /* EVENT */
  .event-section{background:var(--green);padding:4.8rem 0}
.event-inner{display:grid;grid-template-columns:150px 1px minmax(0,1fr) 230px;gap:2.2rem;align-items:center}
.event-inner > div:first-child{text-align:center}
  .event-day{font-family:"Playfair Display",serif;font-size:4.6rem;font-weight:900;color:var(--gold);line-height:1}
  .event-month{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,246,239,.32);margin-top:.25rem;font-weight:700}
  .event-vdiv{background:rgba(212,160,50,.22);height:86px;width:1px}
  .event-kicker{
    display:inline-block;background:rgba(212,160,50,.12);
    border:1px solid rgba(212,160,50,.25);
    color:var(--gold);font-size:.65rem;font-weight:900;
    letter-spacing:.14em;text-transform:uppercase;
    padding:.22rem .65rem;border-radius:999px;margin-bottom:.7rem;
  }
  .event-text h3{font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:900;color:var(--cream);margin-bottom:.4rem;line-height:1.2}
  .event-text p{font-size:.86rem;color:rgba(250,246,239,.42);line-height:1.75;max-width:520px;font-weight:300}
  .event-btn{
    display:inline-flex;align-items:center;gap:.4rem;
    border:1px solid rgba(212,160,50,.30);
    color:var(--gold);padding:.78rem 1.6rem;border-radius:999px;
    font-size:.84rem;font-weight:900;text-decoration:none;
    transition:all .2s ease;white-space:nowrap;
  }
  .event-btn:hover{background:rgba(212,160,50,.10);border-color:var(--gold)}
.event-actions{display:flex;gap:.65rem;align-items:center;justify-content:flex-end;width:100%}
.info-btn{
  width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(212,160,50,.45);
  background:rgba(212,160,50,.2);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.popup-backdrop{
  position:fixed;inset:0;z-index:500;
  background:rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.popup-backdrop.open{opacity:1;pointer-events:auto}
.popup-modal{
  position:fixed;z-index:510;left:50%;top:50%;
  transform:translate(-50%,-50%) scale(.96);
  width:min(92vw,680px);
  background:var(--cream);
  color:var(--dark);
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  padding:1.25rem 1.25rem 1rem;
  box-shadow:0 30px 70px rgba(0,0,0,.28);
  opacity:0;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.popup-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.popup-modal h3{font-family:"Playfair Display",serif;margin:0 0 .6rem}
.popup-modal p{line-height:1.75;color:var(--muted);margin:0}
.popup-close{
  position:absolute;top:.5rem;right:.55rem;
  width:34px;height:34px;border-radius:10px;
  border:1px solid rgba(0,0,0,.12);background:#fff;
  cursor:pointer;font-size:1.2rem;line-height:1;
}
  
  /* CONTACT */
  .contact{background:var(--cream)}
  .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2.2rem, 6vw, 6rem);align-items:start}
  .contact-info{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
  .contact-item{
    display:flex;gap:1rem;align-items:center;
    padding:1rem 1.2rem;background:var(--cream2);
    border-radius:14px;border:1px solid rgba(200,75,47,.08)
  }
  .contact-ico{
    width:40px;height:40px;min-width:40px;border-radius:12px;
    background:linear-gradient(135deg, var(--terra), #B54028);
    display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff
  }
  .contact-item strong{
    display:block;font-size:.65rem;font-weight:900;
    letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.1rem
  }
  .contact-item span{font-size:.9rem;color:var(--dark)}
  .contact-form{
    background:var(--dark2);border-radius:22px;padding:2.4rem;
    border:1px solid rgba(255,255,255,.06);
    box-shadow:var(--shadow)
  }
  .form-title{font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:900;color:var(--cream);margin-bottom:1.3rem}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .form-group{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.9rem}
  .form-group label{font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,246,239,.28)}
  .form-group input,.form-group textarea,.form-group select{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;padding:.85rem 1rem;
    font-family:Lora,serif;font-size:.9rem;color:var(--cream);
    outline:none;resize:vertical;
    transition:border-color .2s ease, background .2s ease, transform .06s ease;
  }
  .form-group select{
    appearance:none;
    -webkit-appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,rgba(250,246,239,.45) 50%),linear-gradient(135deg,rgba(250,246,239,.45) 50%,transparent 50%);
    background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);
    background-size:6px 6px,6px 6px;
    background-repeat:no-repeat;
    cursor:pointer;
  }
  .form-group input::placeholder,.form-group textarea::placeholder{color:rgba(250,246,239,.18)}
  .form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:rgba(200,75,47,.75);background:rgba(200,75,47,.06)}
  .form-inline-choices{
    display:flex;gap:.8rem;flex-wrap:wrap;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;padding:.75rem .95rem;
  }
  .form-inline-choices label{
    font-size:.82rem;
    color:rgba(250,246,239,.72);
    display:inline-flex;align-items:center;gap:.35rem;
    text-transform:none;letter-spacing:.02em;font-weight:600;
  }
  .btn-submit{
    width:100%;
    background:linear-gradient(135deg, var(--terra), #B54028);
    color:#fff;border:none;padding:1rem;border-radius:999px;
    font-family:Lora,serif;font-size:.9rem;font-weight:900;
    cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
    box-shadow:0 10px 28px rgba(200,75,47,.26);margin-top:.2rem
  }
  .btn-submit:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 16px 42px rgba(200,75,47,.34)}
  .form-note{margin-top:.85rem;font-size:.8rem;color:rgba(250,246,239,.35);line-height:1.6}
  .toast{
    margin-top:1rem;
    display:none;
    padding:.9rem 1rem;border-radius:14px;
    background:rgba(0,133,63,.12);
    border:1px solid rgba(0,133,63,.25);
    color:rgba(250,246,239,.82);
    font-size:.86rem;
  }
  .toast.show{display:block}

  /* Contact form style from homepage */
  .cf-wrap{
    background:var(--dark2);border-radius:22px;padding:2.4rem;
    border:1px solid rgba(255,255,255,.06);
    box-shadow:var(--shadow);
  }
  .cf-title{
    font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:900;
    color:var(--cream);margin-bottom:1.25rem;
  }
  .f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .f-grp{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.9rem}
  .f-grp label{
    font-size:.65rem;font-weight:900;
    letter-spacing:.1em;text-transform:uppercase;color:rgba(250,246,239,.28);
  }
  .f-grp input,.f-grp textarea{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;padding:.85rem 1rem;
    font-family:Lora,serif;font-size:.9rem;color:var(--cream);
    outline:none;resize:vertical;
    transition:border-color .2s ease, background .2s ease;
  }
  .f-grp input::placeholder,.f-grp textarea::placeholder{color:rgba(250,246,239,.18)}
  .f-grp input:focus,.f-grp textarea:focus{border-color:rgba(200,75,47,.75);background:rgba(200,75,47,.06)}
  .btn-sub{
    width:100%;
    background:linear-gradient(135deg, var(--terra), #B54028);
    color:#fff;border:none;padding:1rem;border-radius:999px;
    font-family:Lora,serif;font-size:.9rem;font-weight:900;
    cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
    box-shadow:0 10px 28px rgba(200,75,47,.26);margin-top:.2rem;
  }
  .btn-sub:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 16px 42px rgba(200,75,47,.34)}
  .f-note{margin-top:.85rem;font-size:.8rem;color:rgba(250,246,239,.35);line-height:1.6;text-align:center}
  
  /* FOOTER (aligned with index style) */
  footer{
    background:#1A1410;
    color:rgba(255,255,255,.45);
    padding:0 var(--pad);
    border-top:1px solid rgba(255,255,255,.06);
  }
  .footer-inner{max-width:var(--container);margin:0 auto}
  .footer-top{
    display:grid;
    grid-template-columns:2.5fr 1fr 1fr 1.2fr;
    gap:clamp(2rem, 4vw, 3.6rem);
    padding:4.4rem 0 3.6rem;
    border-bottom:1px solid rgba(255,255,255,.07);
    margin-bottom:1.9rem;
  }
  .footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
  .footer-logo-img{
    width:44px;height:44px;border-radius:50%;
    background:#0D0A07;border:2px solid var(--gold);
    position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .footer-logo-img::after{
    content:"";
    position:absolute;left:0;right:0;bottom:0;height:35%;
    background:linear-gradient(90deg,var(--sn-g) 33%,var(--sn-y) 33% 66%,var(--sn-r) 66%);
  }
  .footer-logo-img span{
    position:relative;z-index:1;
    margin-bottom:8px;
    color:#fff;
    font-family:"Cormorant Garamond",serif;
    font-weight:700;
    font-size:13px;
  }
  .footer-logo-img img{width:100%;height:100%;object-fit:contain}
  .footer-logo-text{
    font-family:"Cormorant Garamond",serif;
    font-weight:700;
    font-size:1rem;
    color:#fff;
    letter-spacing:.08em;
  }
  .footer-logo-text span{
    display:block;
    font-size:.7rem;
    color:var(--gold);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .footer-brand p{
    font-size:.84rem;line-height:1.8;
    color:rgba(250,246,239,.33);
    max-width:340px;
    font-weight:300;
    margin-bottom:1.25rem;
  }
  .sn-flag-sm{display:flex;gap:3px;margin-top:1.25rem}
  .sn-flag-sm .g,.sn-flag-sm .y,.sn-flag-sm .r{height:3px;width:28px;border-radius:2px}
  .sn-flag-sm .g{background:var(--sn-g)} .sn-flag-sm .y{background:var(--sn-y)} .sn-flag-sm .r{background:var(--sn-r)}
  .footer-col h4{
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:1rem;
  }
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.62rem}
  .footer-col a{color:rgba(250,246,239,.54);text-decoration:none;font-size:.84rem;font-weight:300;transition:color .2s}
  .footer-col a:hover{color:var(--gold)}
  .footer-bottom{
    padding:0 0 1.9rem;
    display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
    font-size:.72rem;color:rgba(250,246,239,.2);
    letter-spacing:.04em;
  }
  
  /* Barre chiffres clés */
  .stats-bar{
    background:linear-gradient(165deg, #3d362c 0%, var(--dark2) 40%, var(--dark) 100%);
    padding:clamp(3rem, 6vw, 4.5rem) var(--pad);
    border-bottom:1px solid rgba(212,160,50,.12);
    position:relative;
  }
  .stats-bar::before{
    content:"";position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg, var(--sn-g) 0%, var(--sn-y) 33%, var(--sn-r) 66%, var(--gold) 100%);
    opacity:.9;
  }
  .stats-bar .container{display:flex;justify-content:space-around;flex-wrap:wrap;gap:2.5rem}
  .stats-bar-item{text-align:center;transition:transform .25s ease}
  .stats-bar-item:hover{transform:translateY(-2px)}
  .stats-bar-num{font-family:"Playfair Display",serif;font-size:clamp(2.4rem, 5vw, 3.5rem);font-weight:800;color:var(--gold);line-height:1;margin-bottom:.35rem;text-shadow:0 2px 20px rgba(212,160,50,.2)}
  .stats-bar-label{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,246,239,.55)}
  
  /* CTA bandeau avant footer */
  .cta-band{background:linear-gradient(135deg,var(--terra) 0%,#B54028 100%);padding:clamp(3rem,6vw,4.5rem) var(--pad);text-align:center;box-shadow:0 -6px 32px rgba(0,0,0,.12)}
  .cta-band h2{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800;color:#fff;margin-bottom:.4rem;letter-spacing:-.02em}
  .cta-band p{color:rgba(255,255,255,.88);font-size:.98rem;margin-bottom:1.35rem;font-weight:400}
  .cta-band .btn-cta{display:inline-block;padding:1rem 2.2rem;background:#fff;color:var(--terra);font-family:"Playfair Display",serif;font-size:.98rem;font-weight:800;text-decoration:none;border-radius:999px;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 8px 24px rgba(0,0,0,.18)}
  .cta-band .btn-cta:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.22)}
  
  /* Reveal — bien visible au scroll */
  .reveal{opacity:0;transform:translateY(48px);transition:opacity .95s cubic-bezier(0.25,0.46,0.45,0.94), transform .95s cubic-bezier(0.25,0.46,0.45,0.94)}
  .reveal.visible{opacity:1;transform:translateY(0)}
  
  /* Page interne (hero court) */
  .page-hero{background:var(--dark);padding:calc(90px + 4rem) var(--pad) 4rem;position:relative;overflow:hidden}
  .page-hero .hero-noise{position:absolute;inset:0;background-image:linear-gradient(rgba(212,160,50,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(212,160,50,.03) 1px, transparent 1px);background-size:48px 48px;opacity:.9}
  .page-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2rem, 4vw, 2.8rem);font-weight:800;color:var(--cream);margin:0}
  .page-hero p{margin:.5rem 0 0;color:rgba(250,246,239,.5);font-size:1rem}
  
  /* Galerie */
  .galerie-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.25rem}
  .galerie-grid img{border-radius:var(--radius);width:100%;height:220px;object-fit:cover;transition:transform .25s ease}
  .galerie-grid a:hover img{transform:scale(1.02)}
  
  @media (max-width: 980px){
  .hero-content{grid-template-columns:1fr;text-align:center;gap:2.5rem}
  .hero-left{display:flex;flex-direction:column;align-items:center}
  .hero-flag-line{margin-left:auto;margin-right:auto}
  .hero-desc{margin-left:auto;margin-right:auto}
  .hero-right{margin:0 auto}
  .hero-visual{width:100%;max-width:400px;margin:0 auto}
  .hero-frame,.hero-card{max-width:100%}
  .hero-card{max-width:400px;margin:0 auto}
  .missions-grid{grid-template-columns:1fr}
  .actions-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .event-inner{grid-template-columns:auto 1px 1fr;gap:1.5rem}
.event-btn{justify-self:start}
.event-actions{grid-column:1/-1;justify-self:start}
  .footer-top{grid-template-columns:1fr 1fr}
  .f-row{grid-template-columns:1fr}
  }
  @media (max-width: 760px){
  .footer-top{grid-template-columns:1fr}
  }
  @media (max-width: 520px){
  .form-row{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-orb1,.hero-orb2{animation:none}
  .ticker-track{animation:none}
  .reveal{transition:none}
  }
  
  