/* ============================================================
   Mission RIVERS — feuille de style principale
   Extraite des blocs <style> de index.html.
   ============================================================ */


  :root{
    --purple-deep:#241A45;
    --purple:#4C2E8C;
    --purple-soft:#7A52D6;
    --violet-glow:#8B5CF6;
    --gold:#D4AF6A;
    --gold-light:#F0D89C;
    --mist:#B7C0CC;
    --cream:#FAF7F0;
    --ink:#241C33;
    --ink-soft:#5c5273;
    --max: 1160px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  ::selection{background:var(--gold); color:var(--purple-deep);}
  body{
    margin:0;
    font-family:'Work Sans', sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:500;
    color:var(--purple-deep);
    margin:0;
  }
  a{color:inherit;}
  .container{max-width:var(--max); margin:0 auto; padding:0 32px;}
  ::-webkit-scrollbar{width:9px;}
  ::-webkit-scrollbar-track{background:var(--cream);}
  ::-webkit-scrollbar-thumb{background:var(--purple-soft); border-radius:10px;}

  /* ---------- RIVER THREAD (signature element) ---------- */
  .river-thread{
    position:absolute; top:0; right:38px; width:3px; height:100%;
    z-index:1; pointer-events:none; display:block;
  }
  .river-thread svg{width:100%; height:100%;}
  .river-glow-dot{
    position:absolute; width:8px; height:8px; border-radius:50%;
    background:var(--gold-light); box-shadow:0 0 14px 4px rgba(240,216,156,0.7);
    animation: droplet-fall 5s linear infinite;
  }
  @keyframes droplet-fall{
    0%{ transform:translateY(-20px); opacity:0; }
    10%{ opacity:1; }
    90%{ opacity:1; }
    100%{ transform:translateY(calc(100vh)); opacity:0; }
  }
  @media(max-width:860px){ .river-thread{display:none;} }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:200;
    background:rgba(250,247,240,0.78);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(76,46,140,0.1);
  }
  nav{
    max-width:var(--max); margin:0 auto; padding:12px 32px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .brand{display:flex; align-items:center; gap:12px; font-family:'Fraunces',serif; color:var(--purple-deep); font-size:20px; font-weight:600; letter-spacing:0.3px;}
  .brand-logo{
    height:52px; width:52px; border-radius:50%; overflow:visible;
    display:flex; align-items:center; justify-content:center;
    position:relative;
  }
  .brand-logo::before{
    content:''; position:absolute; inset:-6px; border-radius:50%;
    background:radial-gradient(circle, rgba(212,175,106,0.35), transparent 70%);
  }
  .brand-logo img{height:100%; width:100%; object-fit:contain; position:relative; z-index:1;}
  .navlinks{display:flex; gap:30px; font-size:14px; font-weight:500;}
  .navlinks a{text-decoration:none; color:var(--ink-soft); transition:color .2s; position:relative;}
  .navlinks a::after{
    content:''; position:absolute; left:0; bottom:-6px; width:0; height:1.5px;
    background:var(--gold); transition:width .25s;
  }
  .navlinks a:hover{color:var(--purple);}
  .navlinks a:hover::after{width:100%;}
  .nav-cta{
    background:var(--purple-deep); color:var(--cream)!important; padding:10px 22px;
    border-radius:100px; font-size:13.5px; text-decoration:none; font-weight:600;
    transition:all .25s; box-shadow:0 8px 20px -8px rgba(36,26,69,0.5);
  }
  .nav-cta:hover{background:var(--gold); color:var(--purple-deep)!important; transform:translateY(-2px);}
  @media(max-width:860px){ .navlinks{display:none;} }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; align-items:center;
    background:var(--purple-deep);
    color:var(--cream);
    padding-top:100px;
    overflow:hidden;
    isolation:isolate;
  }
  .mesh{
    position:absolute; inset:-10%; z-index:-2;
    background:
      radial-gradient(circle at 20% 20%, rgba(139,92,246,0.55), transparent 45%),
      radial-gradient(circle at 85% 15%, rgba(212,175,106,0.28), transparent 40%),
      radial-gradient(circle at 70% 80%, rgba(122,82,214,0.45), transparent 45%),
      radial-gradient(circle at 10% 85%, rgba(36,26,69,0.9), transparent 50%),
      linear-gradient(160deg, #241A45 0%, #362463 45%, #4C2E8C 100%);
    animation: meshshift 18s ease-in-out infinite alternate;
  }
  @keyframes meshshift{
    0%{ transform: scale(1) rotate(0deg); }
    100%{ transform: scale(1.08) rotate(3deg); }
  }
  .hero-map{
    position:absolute; inset:0; opacity:0.09; z-index:-1;
    background-image: radial-gradient(circle, #fff 1.3px, transparent 1.3px);
    background-size: 24px 24px;
    mask-image: radial-gradient(ellipse at 68% 42%, black 0%, transparent 62%);
  }
  .droplets{position:absolute; inset:0; z-index:-1; overflow:hidden;}
  .hero-inner{
    position:relative; z-index:2;
    max-width:var(--max); margin:0 auto; padding:50px 32px 90px;
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:center;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:9px;
    font-size:12.5px; letter-spacing:3px; text-transform:uppercase;
    color:var(--gold-light); font-weight:600; margin-bottom:24px;
  }
  .eyebrow::before{content:''; width:30px; height:1px; background:var(--gold-light);}
  .hero h1{
    color:#fff; font-size:clamp(40px,5.6vw,66px); line-height:1.06; letter-spacing:-0.8px;
  }
  .hero h1 em{
    font-style:italic; font-weight:500;
    background:linear-gradient(100deg, var(--gold-light), var(--gold) 60%, var(--gold-light));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .verse-card{
    margin-top:30px; max-width:490px; position:relative;
    background:rgba(255,255,255,0.05); border:1px solid rgba(212,175,106,0.3);
    border-radius:16px; padding:22px 26px; backdrop-filter:blur(6px);
  }
  .verse-card::before{
    content:''; position:absolute; inset:-1px; border-radius:16px; padding:1px;
    background:linear-gradient(120deg, rgba(212,175,106,0.7), transparent 40%, rgba(212,175,106,0.4));
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
  }
  .verse-card p{
    font-family:'Fraunces',serif; font-style:italic; font-weight:400;
    font-size:18.5px; color:var(--gold-light); margin:0; line-height:1.55;
  }
  .verse-card span{display:block; margin-top:10px; font-size:12.5px; font-style:normal; letter-spacing:1.5px; color:var(--mist); text-transform:uppercase;}
  .hero-actions{margin-top:36px; display:flex; gap:16px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:15px 30px; border-radius:100px; text-decoration:none;
    font-weight:600; font-size:14.5px; transition:all .3s;
    border:1px solid transparent; cursor:pointer; position:relative; overflow:hidden;
  }
  .btn-gold{background:linear-gradient(100deg, var(--gold), var(--gold-light)); color:var(--purple-deep);}
  .btn-gold:hover{transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(212,175,106,0.6);}
  .btn-ghost{border-color:rgba(255,255,255,0.35); color:#fff;}
  .btn-ghost:hover{background:rgba(255,255,255,0.1); transform:translateY(-3px); border-color:rgba(255,255,255,0.6);}

  .hero-logo-wrap{
    display:flex; justify-content:center; align-items:center; position:relative; height:100%;
  }
  .ring{
    position:absolute; border-radius:50%; border:1px solid rgba(212,175,106,0.25);
    animation: spin 40s linear infinite;
  }
  .ring1{width:340px; height:340px;}
  .ring2{width:400px; height:400px; animation-duration:60s; animation-direction:reverse; border-style:dashed;}
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .hero-logo-glow{
    position:absolute; width:380px; height:380px; border-radius:50%;
    background:radial-gradient(circle, rgba(212,175,106,0.4), transparent 70%);
    filter:blur(14px);
    animation: pulse 4s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{ opacity:0.6; transform:scale(1); }
    50%{ opacity:1; transform:scale(1.08); }
  }
  .hero-logo-wrap img{
    position:relative; width:100%; max-width:300px; z-index:2;
    filter:drop-shadow(0 25px 45px rgba(0,0,0,0.45));
    animation: float 6s ease-in-out infinite;
  }
  @keyframes float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-16px);}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-logo-wrap img, .ring, .hero-logo-glow, .mesh, .river-glow-dot{animation:none;}
  }
  .scroll-cue{
    position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:8px;
    color:var(--mist); font-size:11px; letter-spacing:2px; text-transform:uppercase;
    z-index:3;
  }
  .scroll-cue .line{width:1px; height:34px; background:linear-gradient(var(--gold-light), transparent); animation:scrolldown 2s ease-in-out infinite;}
  @keyframes scrolldown{ 0%{opacity:0.2;} 50%{opacity:1;} 100%{opacity:0.2;} }

  /* ---------- SECTIONS GENERIC ---------- */
  section{padding:120px 0; position:relative;}
  .eyebrow-light{
    font-size:12.5px; letter-spacing:3px; text-transform:uppercase; color:var(--gold);
    font-weight:700; margin-bottom:16px; display:flex; align-items:center; gap:10px;
  }
  .eyebrow-light::before{content:''; width:24px; height:1.5px; background:var(--gold);}
  .section-head{max-width:660px; margin-bottom:60px;}
  .section-head h2{font-size:clamp(30px,3.6vw,44px); letter-spacing:-0.5px;}
  .section-head p{color:var(--ink-soft); margin-top:18px; font-size:17px;}

  /* ---- QUI SOMMES-NOUS ---- */
  .about{background:var(--cream);}
  .about-grid{display:grid; grid-template-columns:1fr 0.9fr; gap:70px; align-items:start;}
  .about-text p{color:var(--ink-soft); font-size:16.5px; margin-bottom:20px;}
  .about-text strong{color:var(--purple-deep);}
  .pull-card{
    background:linear-gradient(155deg,#fff, #F5F0FF); border:1px solid rgba(76,46,140,0.12); border-radius:20px;
    padding:40px; position:relative; box-shadow:0 25px 55px -30px rgba(46,30,79,0.4);
  }
  .pull-card::before{
    content:'”'; font-family:'Fraunces',serif; font-size:90px; color:var(--gold-light);
    position:absolute; top:-10px; left:28px; line-height:1;
  }
  .pull-card blockquote{
    font-family:'Fraunces',serif; font-style:italic; font-size:21px; color:var(--purple-deep);
    margin:22px 0 0 0; line-height:1.5;
  }
  .pull-card .who{margin-top:20px; font-size:13px; color:var(--ink-soft); letter-spacing:0.5px;}
  .facts{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:32px;}
  .fact{border-top:1px solid rgba(76,46,140,0.18); padding-top:14px;}
  .fact strong{display:block; font-family:'Fraunces',serif; color:var(--purple-deep); font-size:16px;}
  .fact span{font-size:13px; color:var(--ink-soft);}

  /* ---- ACTIONS — flowing river layout ---- */
  .actions{background:#fff;}
  .river-path-wrap{position:relative;}
  .river-path-wrap svg{position:absolute; top:0; left:0; width:100%; height:100%; z-index:0;}
  .action-flow{position:relative; z-index:1; display:flex; flex-direction:column; gap:0;}
  .action-row{
    display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
    padding:34px 0;
  }
  .action-row:nth-child(even) .action-num{order:2; text-align:left;}
  .action-row:nth-child(even) .action-body{order:1;}
  .action-num{
    font-family:'Fraunces',serif; font-size:64px; color:transparent;
    -webkit-text-stroke:1.5px var(--gold); font-weight:500; text-align:right; line-height:1;
    opacity:0.85;
  }
  .action-body{
    background:var(--cream); border:1px solid rgba(76,46,140,0.08); border-radius:18px;
    padding:30px 32px; transition:transform .3s, box-shadow .3s, border-color .3s;
  }
  .action-body:hover{transform:translateY(-5px); box-shadow:0 22px 45px -28px rgba(76,46,140,0.4); border-color:rgba(212,175,106,0.5);}
  .action-body h3{font-size:19px; margin-bottom:10px;}
  .action-body p{font-size:14.5px; color:var(--ink-soft); margin:0;}
  @media(max-width:760px){
    .action-row, .action-row:nth-child(even){grid-template-columns:1fr; text-align:left;}
    .action-row:nth-child(even) .action-num, .action-row .action-num{order:1; text-align:left; font-size:40px;}
    .action-row:nth-child(even) .action-body{order:2;}
  }

  /* ---- BIBLE & LIVES ---- */
  .bible-live{background:var(--cream);}
  .bl-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  .bl-card{
    border-radius:22px; padding:42px 38px; position:relative; overflow:hidden;
    display:flex; flex-direction:column; align-items:flex-start;
  }
  .bl-card.bible{
    background:linear-gradient(155deg,#fff,#F5F0FF); border:1px solid rgba(76,46,140,0.12);
    box-shadow:0 25px 55px -30px rgba(46,30,79,0.35);
  }
  .bl-card.live{
    background:linear-gradient(155deg, var(--purple-deep), #362463); color:#fff;
    box-shadow:0 25px 55px -30px rgba(46,30,79,0.55);
  }
  .bl-card.live h3{color:#fff;}
  .bl-card.live p{color:var(--mist);}
  .bl-icon{
    width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
  }
  .bl-card.bible .bl-icon{background:linear-gradient(135deg,var(--gold),var(--gold-light));}
  .bl-card.live .bl-icon{background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.2);}
  .bl-icon svg{width:26px; height:26px; stroke:currentColor; fill:none;}
  .bl-card.bible .bl-icon svg{stroke:var(--purple-deep);}
  .bl-card.live .bl-icon svg{stroke:#fff;}
  .bl-card h3{font-size:22px; margin-bottom:12px;}
  .bl-card p{color:var(--ink-soft); font-size:15px; margin-bottom:26px; line-height:1.6;}
  .prog-row{
    display:flex; justify-content:space-between; align-items:baseline; gap:12px;
    padding:10px 0; border-bottom:1px solid rgba(76,46,140,0.1); font-size:14px;
  }
  .prog-row strong{color:var(--purple-deep); font-family:'Fraunces',serif; font-size:15px; flex-shrink:0;}
  .prog-row span{color:var(--ink-soft); text-align:right;}
  .live-badge{
    display:inline-flex; align-items:center; gap:7px; font-size:11.5px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--gold-light); font-weight:700; margin-bottom:14px;
  }
  .live-dot{width:8px; height:8px; border-radius:50%; background:#ff5a5a; box-shadow:0 0 0 0 rgba(255,90,90,0.6); animation:live-pulse 1.6s infinite;}
  @keyframes live-pulse{
    0%{box-shadow:0 0 0 0 rgba(255,90,90,0.55);}
    70%{box-shadow:0 0 0 9px rgba(255,90,90,0);}
    100%{box-shadow:0 0 0 0 rgba(255,90,90,0);}
  }
  .share-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
  .share-label{font-size:12.5px; color:var(--mist);}
  .share-btn{
    width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); color:#fff;
    cursor:pointer; transition:all .25s; text-decoration:none;
  }
  .share-btn:hover{background:var(--gold); color:var(--purple-deep); transform:translateY(-2px);}
  .share-btn.copy.copied{background:var(--gold); color:var(--purple-deep);}
  .live-platforms{display:flex; gap:16px; margin-bottom:18px; flex-wrap:wrap;}
  .live-platforms a{font-size:12.5px; font-weight:600; color:var(--mist); text-decoration:underline; text-underline-offset:3px;}
  .live-platforms a:hover{color:var(--gold-light);}
  @media(max-width:760px){ .bl-grid{grid-template-columns:1fr;} }

  /* ---- SUIVRE ---- */
  .follow{
    background:linear-gradient(180deg, var(--purple-deep), #1a1330);
    color:#fff;
  }
  .follow .section-head h2{color:#fff;}
  .follow .section-head p{color:var(--mist);}
  .follow-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:22px;}
  .follow-card{
    background:rgba(255,255,255,0.045); border:1px solid rgba(255,255,255,0.12);
    border-radius:18px; padding:28px 24px; text-decoration:none; color:#fff;
    transition:all .3s; position:relative; overflow:hidden;
  }
  .follow-card::before{
    content:''; position:absolute; inset:0; opacity:0;
    background:radial-gradient(circle at 30% 20%, rgba(212,175,106,0.25), transparent 60%);
    transition:opacity .3s;
  }
  .follow-card:hover{background:rgba(255,255,255,0.08); transform:translateY(-6px); border-color:rgba(212,175,106,0.4);}
  .follow-card:hover::before{opacity:1;}
  .follow-card .fi{
    width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--gold),var(--gold-light)); margin-bottom:18px;
    display:flex; align-items:center; justify-content:center; position:relative; z-index:1;
  }
  .follow-card .fi svg{width:21px; height:21px; stroke:var(--purple-deep); fill:none;}
  .follow-card h4{font-family:'Fraunces',serif; font-weight:500; font-size:16.5px; margin:0 0 6px; position:relative; z-index:1;}
  .follow-card span{font-size:12.5px; color:var(--mist); position:relative; z-index:1;}

  .channel-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:20px; margin-bottom:50px;
  }
  .channel-card{
    background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:16px;
    padding:22px 18px; text-align:center; text-decoration:none; color:#fff; transition:all .3s; display:block;
  }
  .channel-card:hover{background:rgba(255,255,255,0.09); transform:translateY(-5px); border-color:rgba(212,175,106,0.45);}
  .channel-card img.qr{
    width:100%; max-width:140px; border-radius:10px; margin:0 auto 14px; display:block;
    background:#fff; padding:6px; box-shadow:0 10px 24px -14px rgba(0,0,0,0.5);
  }
  .channel-card .ci-fallback{
    width:52px; height:52px; border-radius:12px; background:linear-gradient(135deg,var(--gold),var(--gold-light));
    display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  }
  .channel-card h4{font-family:'Fraunces',serif; font-weight:500; font-size:14.5px; margin:0 0 4px;}
  .channel-card span{font-size:11.5px; color:var(--mist);}

  /* ---- DON ---- */
  .give{background:var(--cream); text-align:center; overflow:hidden;}
  .give-card{
    max-width:720px; margin:0 auto; background:linear-gradient(160deg,#fff,#F6F1FF); border-radius:26px;
    padding:60px 50px; border:1px solid rgba(76,46,140,0.12);
    box-shadow:0 35px 70px -40px rgba(46,30,79,0.4); position:relative;
  }
  .give-card::before{
    content:''; position:absolute; top:-60px; right:-60px; width:200px; height:200px; border-radius:50%;
    background:radial-gradient(circle, rgba(212,175,106,0.25), transparent 70%);
  }
  .give-card h2{font-size:clamp(28px,3.2vw,36px);}
  .give-verse{
    font-family:'Fraunces',serif; font-style:italic; color:var(--purple-deep); font-size:16.5px;
    max-width:520px; margin:20px auto 0; line-height:1.6; position:relative;
  }
  .give-verse span{display:block; margin-top:6px; font-size:11.5px; font-style:normal; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold);}
  .give-card > p:not(.give-verse):not(.ci-intro):not(.rib-note){color:var(--ink-soft); margin:16px 0 8px; font-size:15.5px; position:relative;}
  .give-tabs{
    display:inline-flex; background:#fff; border:1px solid rgba(76,46,140,0.15); border-radius:100px;
    padding:5px; margin:28px auto 0; gap:4px;
  }
  .give-tab{
    border:none; background:transparent; padding:10px 20px; border-radius:100px; font-size:13.5px;
    font-weight:600; color:var(--ink-soft); cursor:pointer; transition:all .25s; font-family:inherit;
  }
  .give-tab.active{background:var(--purple-deep); color:#fff;}
  .give-panel{display:none; margin-top:36px; text-align:left;}
  .give-panel.active{display:block;}
  .give-paypal{
    display:flex; align-items:center; gap:30px; justify-content:center; flex-wrap:wrap;
    position:relative;
  }
  .paypal-qr{
    width:150px; height:150px; border-radius:16px; overflow:hidden; flex-shrink:0;
    border:1px solid rgba(76,46,140,0.15); box-shadow:0 18px 34px -20px rgba(46,30,79,0.45);
  }
  .paypal-qr img{width:100%; height:100%; object-fit:cover; display:block;}
  .give-paypal-text{text-align:left;}
  .give-paypal-text p{margin:0 0 14px; font-size:14.5px; color:var(--ink-soft);}
  .btn-paypal{
    background:#FFC439; color:#111; border:1px solid rgba(0,0,0,0.05);
  }
  .btn-paypal:hover{background:#ffd76b; transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(255,196,57,0.7);}
  @media(max-width:560px){
    .give-paypal{flex-direction:column;}
    .give-paypal-text{text-align:center;}
  }
  .rib-request{
    margin-top:30px; background:#fff; border:1px solid rgba(76,46,140,0.14); border-radius:16px;
    padding:26px 26px; display:flex; flex-direction:column; align-items:flex-start; gap:14px;
    box-shadow:0 16px 32px -24px rgba(46,30,79,0.35);
  }
  .rib-request-icon{
    width:42px; height:42px; border-radius:12px; background:var(--cream); color:var(--purple-deep);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .rib-request h4{font-size:16px; margin-bottom:6px; color:var(--purple-deep);}
  .rib-request p{margin:0 !important; font-size:14px; color:var(--ink-soft); line-height:1.55;}
  .btn-ghost-purple{
    border:1px solid rgba(76,46,140,0.35); color:var(--purple-deep); align-self:flex-start;
  }
  .btn-ghost-purple:hover{background:var(--purple-deep); color:#fff; transform:translateY(-2px);}
  .ci-intro{font-size:14.5px; color:var(--ink-soft); text-align:center; margin-bottom:22px !important;}
  .give-ci{
    display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:10px;
  }
  .ci-method{
    display:flex; align-items:center; gap:12px; background:#fff; border:1px solid rgba(76,46,140,0.15);
    border-radius:14px; padding:14px 20px; text-decoration:none; color:var(--ink);
    box-shadow:0 14px 28px -22px rgba(46,30,79,0.4); transition:transform .25s, box-shadow .25s;
  }
  .ci-method:hover{transform:translateY(-3px); box-shadow:0 18px 34px -20px rgba(46,30,79,0.5);}
  .ci-method strong{display:block; font-size:14.5px;}
  .ci-method span{display:block; font-size:12.5px; color:var(--ink-soft);}
  .ci-links{display:flex; gap:20px; justify-content:center; margin-top:20px; font-size:13px;}
  .ci-links a{color:var(--purple); font-weight:600; text-decoration:underline; text-underline-offset:3px;}

  /* ---- CONTACT SECTION ---- */
  .contact-section{background:#fff;}
  .contact-write{
    max-width:900px; margin:0 auto 44px; background:var(--purple-deep); border-radius:22px;
    padding:36px 42px; display:flex; align-items:center; justify-content:space-between; gap:24px;
    flex-wrap:wrap; box-shadow:0 30px 60px -35px rgba(46,30,79,0.5);
  }
  .contact-write h3{color:#fff; font-size:20px; margin-bottom:6px;}
  .contact-write p{color:var(--mist); font-size:14.5px; margin:0; max-width:420px;}
  .whatsapp-ctas{display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; max-width:340px;}
  .btn-whatsapp{
    background:#25D366; color:#fff; font-size:13.5px; padding:12px 20px;
    border:1px solid rgba(255,255,255,0.15);
  }
  .btn-whatsapp:hover{background:#1ebe5a; transform:translateY(-2px); box-shadow:0 14px 26px -12px rgba(37,211,102,0.6);}
  .btn-mail{
    background:transparent; color:#fff; font-size:13.5px; padding:12px 20px;
    border:1px solid rgba(255,255,255,0.35);
  }
  .btn-mail:hover{background:rgba(255,255,255,0.12); transform:translateY(-2px);}
  .contact-grid{
    max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:26px;
  }
  .location-card{
    background:var(--cream); border:1px solid rgba(76,46,140,0.1); border-radius:18px; padding:30px 28px;
    transition:transform .25s, box-shadow .25s;
  }
  .location-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -28px rgba(76,46,140,0.35);}
  .location-flag{font-size:26px; margin-bottom:10px;}
  .location-card h4{font-size:17px; margin-bottom:14px; color:var(--purple-deep);}
  .location-line{
    display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--ink-soft);
    margin:0 0 10px; line-height:1.5;
  }
  .location-line svg{flex-shrink:0; margin-top:2px; color:var(--gold);}
  .location-line a{color:var(--ink-soft); text-decoration:none;}
  .location-line a:hover{color:var(--purple);}
  @media(max-width:700px){
    .contact-grid{grid-template-columns:1fr;}
    .contact-write{flex-direction:column; text-align:center; justify-content:center;}
    .whatsapp-ctas{justify-content:center;}
  }

  /* ---- CONTACT / FOOTER ---- */
  footer{background:#1a1330; color:var(--mist); padding:80px 0 30px;}
  .footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; margin-bottom:55px;}
  .footer-brand{display:flex; align-items:center; gap:14px; margin-bottom:20px;}
  .footer-brand .brand-logo{height:56px; width:56px;}
  .footer-brand span{font-family:'Fraunces',serif; color:#fff; font-size:20px;}
  footer h4{color:#fff; font-family:'Fraunces',serif; font-weight:500; font-size:15px; margin-bottom:18px; letter-spacing:0.5px;}
  footer p, footer a{font-size:14px; color:var(--mist); text-decoration:none; line-height:2;}
  footer a:hover{color:var(--gold-light);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.1); padding-top:26px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:12.5px; color:rgba(183,192,204,0.65);
  }

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  @media(max-width:860px){
    .hero-inner{grid-template-columns:1fr; text-align:left;}
    .hero-logo-wrap{order:-1; margin-bottom:10px; height:auto;}
    .hero-logo-wrap img{max-width:190px;}
    .ring1{width:220px; height:220px;} .ring2{width:260px; height:260px;}
    .about-grid, .footer-grid{grid-template-columns:1fr; gap:40px;}
    .follow-grid{grid-template-columns:1fr 1fr;}
    section{padding:80px 0;}
  }
  @media(max-width:520px){
    .follow-grid{grid-template-columns:1fr;}
    .give-card{padding:44px 28px;}
  }
  .adhesion{background:linear-gradient(180deg,#fff,var(--cream));}
  .adhesion-card{
    max-width:840px; margin:0 auto; background:#fff; border:1px solid rgba(76,46,140,0.1);
    border-radius:24px; padding:44px 46px; box-shadow:0 35px 70px -40px rgba(46,30,79,0.4);
  }
  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px 24px;}
  .form-field label{
    display:block; font-size:12.5px; font-weight:600; color:var(--purple-deep); margin-bottom:6px;
    letter-spacing:0.2px;
  }
  .form-field input, .form-field textarea{
    width:100%; border:1px solid rgba(76,46,140,0.2); border-radius:10px; padding:11px 14px;
    font-family:inherit; font-size:14px; color:var(--ink); background:var(--cream);
    transition:border-color .2s, background .2s;
  }
  .form-field input:focus, .form-field textarea:focus{
    outline:none; border-color:var(--gold); background:#fff;
  }
  .form-field textarea{resize:vertical;}
  .form-field-full{grid-column:1 / -1;}
  .radio-row{display:flex; gap:22px; margin-top:4px;}
  .radio-row label{
    display:flex; align-items:center; gap:7px; font-size:13.5px; font-weight:400; color:var(--ink-soft);
    margin-bottom:0; cursor:pointer;
  }
  .radio-row input{width:auto;}
  .form-note{font-size:12.5px; color:var(--ink-soft); font-style:italic; margin:24px 0 0;}
  .form-actions{display:flex; gap:16px; flex-wrap:wrap; margin-top:26px;}
  @media(max-width:640px){
    .form-grid{grid-template-columns:1fr;}
    .adhesion-card{padding:32px 22px;}
  }



  #rivers-chat-root{
    --panel-w: 408px;
    --panel-h: 686px;
  }
  #rivers-chat-root *{box-sizing:border-box;}

  /* ---------- Launcher (état réduit) ---------- */
  #rivers-chat-root .launcher{
    position:fixed;
    right:34px;
    bottom:34px;
    width:84px;
    height:84px;
    border-radius:50%;
    background:linear-gradient(150deg, var(--purple) 0%, var(--purple-deep) 100%);
    border:2.5px solid var(--gold);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 18px 40px -14px rgba(36,26,69,0.65);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
    z-index:2000;
  }
  #rivers-chat-root .launcher img{
    width:100%; height:100%; object-fit:cover; border-radius:50%;
    position:relative; z-index:1;
  }
  #rivers-chat-root .launcher-label{
    position:fixed;
    right:34px;
    bottom:122px;
    background:#fff;
    color:var(--purple-deep);
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:13px;
    padding:7px 14px;
    border-radius:20px;
    box-shadow:0 12px 26px -10px rgba(36,26,69,0.45);
    border:1px solid rgba(212,175,106,0.5);
    z-index:2000;
    white-space:nowrap;
    animation:rivers-rise .5s .3s cubic-bezier(.2,.8,.2,1) both;
    pointer-events:none;
  }
  #rivers-chat-root .launcher-label.is-hidden{display:none;}
  #rivers-chat-root .launcher:hover{transform:translateY(-4px) scale(1.03); box-shadow:0 24px 48px -14px rgba(36,26,69,0.75);}
  #rivers-chat-root .launcher::before{
    content:'';
    position:absolute;
    inset:-8px;
    border-radius:50%;
    border:1px solid rgba(212,175,106,0.35);
    animation:rivers-pulse-ring 2.6s ease-out infinite;
  }
  @keyframes rivers-pulse-ring{
    0%{transform:scale(.86); opacity:.9;}
    80%{transform:scale(1.25); opacity:0;}
    100%{opacity:0;}
  }
  #rivers-chat-root .launcher .dot{
    position:absolute; top:4px; right:4px;
    width:15px; height:15px; border-radius:50%;
    background:#7CE0A0;
    border:2.5px solid var(--purple-deep);
    z-index:2;
    box-shadow:0 0 0 3px rgba(124,224,160,0.25);
  }
  #rivers-chat-root .launcher.is-hidden{opacity:0; pointer-events:none; transform:scale(.7);}

  /* ---------- Panneau ---------- */
  #rivers-chat-root .panel{
    position:fixed;
    right:34px;
    bottom:34px;
    width:var(--panel-w);
    height:var(--panel-h);
    max-height:calc(100vh - 68px);
    background:var(--cream);
    border-radius:22px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 40px 90px -24px rgba(20,14,40,0.55), 0 4px 14px rgba(20,14,40,0.18);
    transform:translateY(24px) scale(.97);
    opacity:0;
    pointer-events:none;
    transition:transform .4s cubic-bezier(.2,.9,.25,1), opacity .32s ease;
    z-index:2001;
  }
  #rivers-chat-root .panel.is-open{
    transform:translateY(0) scale(1);
    opacity:1;
    pointer-events:auto;
  }

  /* ---- Header ---- */
  #rivers-chat-root .panel-header{
    position:relative;
    padding:22px 22px 20px;
    background:linear-gradient(150deg, var(--purple-deep) 0%, #34215f 60%, var(--purple) 130%);
    color:#fff;
    flex-shrink:0;
    overflow:hidden;
  }
  #rivers-chat-root .panel-header::after{
    content:'';
    position:absolute; inset:0;
    background:radial-gradient(circle at 85% -10%, rgba(212,175,106,0.35), transparent 55%);
    pointer-events:none;
  }
  #rivers-chat-root .header-top{display:flex; align-items:flex-start; justify-content:space-between; position:relative; z-index:1;}
  #rivers-chat-root .header-id{display:flex; align-items:center; gap:12px;}

  #rivers-chat-root .river-avatar{
    width:52px; height:52px;
    border-radius:50%;
    position:relative;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 55%, #b8894c 100%);
    box-shadow:0 0 0 2px rgba(255,255,255,0.25), 0 8px 18px -6px rgba(0,0,0,0.5);
  }
  #rivers-chat-root .river-avatar img{
    width:100%; height:100%; object-fit:cover; border-radius:50%;
    position:relative; z-index:1;
  }
  #rivers-chat-root .river-avatar .ring{
    position:absolute;
    border-radius:50%;
    border:1.3px solid rgba(255,255,255,0.55);
    animation:rivers-ripple 2.8s ease-out infinite;
  }
  #rivers-chat-root .river-avatar .ring:nth-child(2){animation-delay:.9s;}
  #rivers-chat-root .river-avatar .ring:nth-child(3){animation-delay:1.8s;}
  @keyframes rivers-ripple{
    0%{inset:14px; opacity:.9;}
    100%{inset:-9px; opacity:0;}
  }
  #rivers-chat-root .river-avatar svg{width:18px; height:18px; position:relative; z-index:1; color:var(--purple-deep);}

  #rivers-chat-root .header-name{font-family:'Fraunces', serif; font-weight:500; font-size:16.5px; line-height:1.25;}
  #rivers-chat-root .header-status{display:flex; align-items:center; gap:6px; margin-top:3px; font-size:12px; color:rgba(255,255,255,0.68);}
  #rivers-chat-root .header-status .pip{width:6px; height:6px; border-radius:50%; background:#7CE0A0; box-shadow:0 0 0 3px rgba(124,224,160,0.22);}

  #rivers-chat-root .header-actions{display:flex; gap:6px;}
  #rivers-chat-root .header-actions button{
    width:30px; height:30px;
    border-radius:9px;
    border:none;
    background:rgba(255,255,255,0.08);
    color:rgba(255,255,255,0.75);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:background .2s ease, color .2s ease;
  }
  #rivers-chat-root .header-actions button:hover{background:rgba(255,255,255,0.16); color:#fff;}
  #rivers-chat-root .header-actions svg{width:15px; height:15px;}

  #rivers-chat-root .header-tagline{
    position:relative; z-index:1;
    margin:16px 0 0;
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:400;
    font-size:14.5px;
    line-height:1.5;
    color:var(--gold-light);
    max-width:88%;
  }

  /* ---- Corps / messages ---- */
  #rivers-chat-root .panel-body{
    flex:1;
    overflow-y:auto;
    padding:20px 18px 10px;
    display:flex;
    flex-direction:column;
    gap:16px;
    scroll-behavior:smooth;
  }
  #rivers-chat-root .panel-body::-webkit-scrollbar{width:7px;}
  #rivers-chat-root .panel-body::-webkit-scrollbar-track{background:transparent;}
  #rivers-chat-root .panel-body::-webkit-scrollbar-thumb{background:rgba(122,82,214,0.28); border-radius:10px;}

  #rivers-chat-root .welcome-card{
    background:#fff;
    border-radius:16px;
    padding:20px 20px 18px;
    border:1px solid rgba(36,26,69,0.07);
    box-shadow:0 14px 30px -20px rgba(36,26,69,0.35);
    animation:rivers-rise .5s cubic-bezier(.2,.8,.2,1) both;
  }
  #rivers-chat-root .welcome-card .eyebrow{
    display:flex; align-items:center; gap:8px;
    font-size:11px; letter-spacing:2px; text-transform:uppercase;
    color:var(--gold); font-weight:700; margin-bottom:10px;
  }
  #rivers-chat-root .welcome-card .eyebrow::before{
    content:''; width:16px; height:1.5px; background:var(--gold);
  }
  #rivers-chat-root .welcome-card h2{
    font-family:'Fraunces', serif; font-weight:500; font-size:18.5px;
    margin:0 0 8px; color:var(--purple-deep); line-height:1.3;
  }
  #rivers-chat-root .welcome-card p{
    margin:0 0 10px; font-size:13.6px; line-height:1.62; color:var(--ink-soft);
  }
  #rivers-chat-root .welcome-card p:last-of-type{margin-bottom:0;}

  #rivers-chat-root .qa-label{
    font-size:11px; letter-spacing:2px; text-transform:uppercase;
    color:var(--purple-soft); font-weight:700;
    margin:4px 2px 2px;
    animation:rivers-rise .5s .05s cubic-bezier(.2,.8,.2,1) both;
  }

  #rivers-chat-root .qa-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  #rivers-chat-root .qa-card{
    display:flex; flex-direction:column; gap:9px;
    background:#fff;
    border:1px solid rgba(36,26,69,0.08);
    border-radius:13px;
    padding:12px 12px 11px;
    text-align:left;
    cursor:pointer;
    font-family:inherit;
    color:var(--ink);
    transition:transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s ease, box-shadow .22s ease, background .22s ease;
    animation:rivers-rise .5s cubic-bezier(.2,.8,.2,1) both;
  }
  #rivers-chat-root .qa-card:nth-child(1){animation-delay:.08s;}
  #rivers-chat-root .qa-card:nth-child(2){animation-delay:.13s;}
  #rivers-chat-root .qa-card:nth-child(3){animation-delay:.18s;}
  #rivers-chat-root .qa-card:nth-child(4){animation-delay:.23s;}
  #rivers-chat-root .qa-card:nth-child(5){animation-delay:.28s;}
  #rivers-chat-root .qa-card:nth-child(6){animation-delay:.33s;}
  #rivers-chat-root .qa-card:nth-child(7){animation-delay:.38s;}
  #rivers-chat-root .qa-card:nth-child(8){animation-delay:.43s;}
  #rivers-chat-root .qa-card:hover{
    transform:translateY(-3px);
    border-color:rgba(212,175,106,0.55);
    box-shadow:0 16px 28px -18px rgba(76,46,140,0.45);
    background:linear-gradient(180deg, #fff, #fdfbf6);
  }
  #rivers-chat-root .qa-card:active{transform:translateY(-1px);}
  #rivers-chat-root .qa-icon{
    width:32px; height:32px;
    border-radius:9px;
    background:linear-gradient(150deg, rgba(122,82,214,0.14), rgba(212,175,106,0.16));
    display:flex; align-items:center; justify-content:center;
    color:var(--purple);
  }
  #rivers-chat-root .qa-icon svg{width:16px; height:16px;}
  #rivers-chat-root .qa-card span{font-size:12.3px; font-weight:500; line-height:1.35; color:var(--ink);}

  @keyframes rivers-rise{
    from{opacity:0; transform:translateY(10px);}
    to{opacity:1; transform:translateY(0);}
  }

  /* ---- Bulles de discussion ---- */
  #rivers-chat-root .msg-row{display:flex; gap:9px; max-width:92%; animation:rivers-rise .38s cubic-bezier(.2,.8,.2,1) both;}
  #rivers-chat-root .msg-row.user{align-self:flex-end; flex-direction:row-reverse;}
  #rivers-chat-root .msg-avatar{
    width:26px; height:26px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(150deg, var(--gold-light), var(--gold));
    display:flex; align-items:center; justify-content:center;
    margin-top:2px;
    overflow:hidden;
  }
  #rivers-chat-root .msg-avatar img{width:100%; height:100%; object-fit:cover; border-radius:50%;}
  #rivers-chat-root .bubble{
    padding:11px 14px;
    border-radius:15px;
    font-size:13.6px;
    line-height:1.55;
  }
  #rivers-chat-root .msg-row.bot .bubble{
    background:#fff;
    color:var(--ink);
    border:1px solid rgba(36,26,69,0.07);
    border-top-left-radius:5px;
  }
  #rivers-chat-root .msg-row.user .bubble{
    background:linear-gradient(150deg, var(--purple), var(--purple-deep));
    color:#fff;
    border-top-right-radius:5px;
  }

  #rivers-chat-root .typing-row{display:flex; gap:9px; align-items:center; animation:rivers-rise .3s ease both;}
  #rivers-chat-root .typing-dots{
    background:#fff;
    border:1px solid rgba(36,26,69,0.07);
    border-radius:15px; border-top-left-radius:5px;
    padding:12px 15px;
    display:flex; gap:4px;
  }
  #rivers-chat-root .typing-dots span{
    width:6px; height:6px; border-radius:50%;
    background:var(--purple-soft);
    opacity:.4;
    animation:rivers-bounce 1.2s infinite ease-in-out;
  }
  #rivers-chat-root .typing-dots span:nth-child(2){animation-delay:.15s;}
  #rivers-chat-root .typing-dots span:nth-child(3){animation-delay:.3s;}
  @keyframes rivers-bounce{
    0%,60%,100%{transform:translateY(0); opacity:.4;}
    30%{transform:translateY(-4px); opacity:1;}
  }

  /* ---- Zone de saisie ---- */
  #rivers-chat-root .panel-input{
    flex-shrink:0;
    padding:12px 14px 14px;
    background:var(--cream);
    border-top:1px solid rgba(36,26,69,0.06);
  }
  #rivers-chat-root .input-row{
    display:flex; align-items:center; gap:8px;
    background:#fff;
    border:1px solid rgba(36,26,69,0.1);
    border-radius:26px;
    padding:6px 6px 6px 16px;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  #rivers-chat-root .input-row:focus-within{
    border-color:var(--purple-soft);
    box-shadow:0 0 0 3px rgba(122,82,214,0.14);
  }
  #rivers-chat-root .input-row input{
    flex:1; border:none; outline:none; font-family:inherit;
    font-size:13.6px; color:var(--ink); background:transparent;
  }
  #rivers-chat-root .input-row input::placeholder{color:var(--mist);}
  #rivers-chat-root .send-btn{
    width:36px; height:36px; border-radius:50%; border:none;
    background:linear-gradient(150deg, var(--gold-light), var(--gold));
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; flex-shrink:0;
    transition:transform .2s cubic-bezier(.3,.8,.3,1), box-shadow .2s ease;
    box-shadow:0 6px 14px -6px rgba(212,175,106,0.7);
  }
  #rivers-chat-root .send-btn:hover{transform:scale(1.06);}
  #rivers-chat-root .send-btn:active{transform:scale(.94);}
  #rivers-chat-root .send-btn svg{width:15px; height:15px; color:var(--purple-deep);}
  #rivers-chat-root .input-foot{
    text-align:center; font-size:10.3px; color:var(--mist);
    margin-top:9px; letter-spacing:.2px;
  }

  /* ---------- Mobile ---------- */
  @media (max-width:520px){
    #rivers-chat-root .panel{
      right:0; bottom:0; left:0; top:0;
      width:100%; height:100%; max-height:none;
      border-radius:0;
    }
    #rivers-chat-root .launcher{right:20px; bottom:20px;}
    #rivers-chat-root .launcher-label{right:20px; bottom:106px; font-size:12px;}
  }

  @media (prefers-reduced-motion: reduce){
    #rivers-chat-root *{animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.001s !important;}
  }


  /* ============================================================ */
  /* ---- ACTUALITÉS PASSÉES (archive dépliable) ---- */
  /* ============================================================ */
  .past-events-list{display:none;}
  .past-events-list.open{display:block; margin-top:28px; animation:past-events-in .5s cubic-bezier(.3,.8,.3,1) both;}
  @keyframes past-events-in{
    from{opacity:0; transform:translateY(-10px);}
    to{opacity:1; transform:none;}
  }
  .past-events-list .bl-card{
    background:linear-gradient(155deg,#fff,#F5F0FF); border:1px solid rgba(76,46,140,0.12);
    box-shadow:0 25px 55px -30px rgba(46,30,79,0.35);
  }
  .past-events-list .bl-card h3{font-size:20px; margin-bottom:12px;}
  .past-events-list .bl-card p{font-size:14.5px; color:var(--ink-soft); margin:0 0 14px;}

  .event-gallery{
    display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
    width:100%; margin:6px 0 20px;
  }
  .event-gallery img{
    width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px;
    border:1px solid rgba(76,46,140,0.1); cursor:zoom-in; display:block;
    transition:transform .3s cubic-bezier(.3,.8,.3,1), box-shadow .3s ease;
  }
  .event-gallery img:hover{transform:translateY(-4px) scale(1.02); box-shadow:0 18px 34px -20px rgba(46,30,79,0.5);}
  @media(max-width:560px){ .event-gallery{grid-template-columns:repeat(2,1fr); gap:10px;} }

  /* ---- Lightbox galerie ---- */
  .rivers-lightbox{
    position:fixed; inset:0; z-index:3000;
    background:rgba(20,13,42,0.92); backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center; padding:36px;
    cursor:zoom-out; animation:rlb-in .25s ease both;
  }
  @keyframes rlb-in{ from{opacity:0;} to{opacity:1;} }
  .rivers-lightbox img{
    max-width:min(1100px,100%); max-height:100%; object-fit:contain;
    border-radius:14px; box-shadow:0 40px 90px -30px rgba(0,0,0,0.7);
  }
  .rlb-close{
    position:absolute; top:20px; right:24px; width:44px; height:44px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.25); background:rgba(255,255,255,0.12);
    color:#fff; font-size:26px; line-height:1; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease, transform .2s ease, color .2s ease;
  }
  .rlb-close:hover{background:var(--gold); color:var(--purple-deep); transform:scale(1.06);}

  /* ============================================================ */
  /* ---- TÉMOIGNAGES ---- */
  /* ============================================================ */
  .testimonials{background:#fff;}
  .testimonials-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch;}
  .testimonial-card{
    background:linear-gradient(155deg,#fff,#F5F0FF); border:1px solid rgba(76,46,140,0.12);
    border-radius:20px; padding:34px 30px 26px;
    box-shadow:0 25px 55px -30px rgba(46,30,79,0.35);
    display:flex; flex-direction:column; height:100%;
    transition:transform .3s, box-shadow .3s, border-color .3s;
  }
  .testimonial-card:hover{
    transform:translateY(-5px); box-shadow:0 28px 50px -28px rgba(76,46,140,0.4);
    border-color:rgba(212,175,106,0.5);
  }
  .testimonial-card h4{
    font-family:'Fraunces',serif; font-weight:500; font-size:17.5px; line-height:1.35;
    color:var(--purple-deep); margin:0 0 16px;
  }
  .testimonial-card .quote{
    font-family:'Fraunces',serif; font-style:italic; font-size:15.5px; line-height:1.6;
    color:var(--ink-soft); margin:0; flex:1;
  }
  .testimonial-card .who{
    margin-top:20px; font-size:13px; color:var(--purple); font-weight:600; letter-spacing:0.5px;
  }
  .testimonial-card .who::before{content:'— ';}
  .consent-note{
    font-size:11.5px; line-height:1.5; color:var(--mist);
    margin:16px 0 0; padding-top:14px; border-top:1px solid rgba(76,46,140,0.1);
  }
  @media(max-width:860px){ .testimonials-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:640px){ .testimonials-grid{grid-template-columns:1fr;} }

  /* ============================================================ */
  /* ---- VARIANTES DE MARQUE / DONS ---- */
  /* ============================================================ */
  .share-btn.wa:hover{background:#25D366; color:#fff; border-color:#25D366;}
  .share-btn.fb:hover{background:#1877F2; color:#fff; border-color:#1877F2;}
  .ci-method.orange{border-color:rgba(255,121,0,0.4);}
  .ci-method.wave{border-color:rgba(30,183,255,0.4);}
  .give-tabs.country-select{flex-wrap:wrap;}
  .fiscal-note{max-width:640px;}

  /* Masque proprement une illustration dont le fichier n'a pas encore été
     déposé dans /assets, afin d'éviter les icônes d'image cassée.
     La classe est posée par le script en bas de index.html. */
  img.asset-missing{display:none !important;}

  /* ============================================================ */
  /* ---- PAGE MENTIONS LÉGALES / CONFIDENTIALITÉ ---- */
  /* ============================================================ */
  .legal-main{padding:150px 0 100px;}
  .legal-page section{padding:0;}
  .legal-wrap{max-width:820px;}
  .legal-wrap h1{font-size:clamp(28px,3.4vw,40px); letter-spacing:-0.5px; margin-bottom:18px;}
  .legal-lede{font-size:17px; color:var(--ink-soft); margin:0 0 36px;}

  .legal-toc{
    display:flex; flex-wrap:wrap; gap:10px 14px; margin-bottom:60px;
    padding:22px 26px; border-radius:16px;
    background:linear-gradient(155deg,#fff,#F5F0FF); border:1px solid rgba(76,46,140,0.12);
  }
  .legal-toc a{
    font-size:13.4px; color:var(--purple); text-decoration:none; font-weight:600;
    padding:5px 13px; border-radius:100px; border:1px solid rgba(76,46,140,0.2);
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .legal-toc a:hover{background:var(--purple-deep); color:var(--cream); border-color:var(--purple-deep);}

  .legal-section{margin-bottom:54px; scroll-margin-top:110px;}
  .legal-section h2{
    font-size:22px; letter-spacing:-0.2px; margin-bottom:18px;
    padding-bottom:12px; border-bottom:1px solid rgba(76,46,140,0.14);
  }
  .legal-section h3{
    font-size:16.5px; color:var(--purple); margin:30px 0 10px;
  }
  .legal-section p{font-size:15.2px; color:var(--ink-soft); margin:0 0 16px;}
  .legal-section strong{color:var(--purple-deep);}
  .legal-section a{color:var(--purple); text-decoration:underline;}
  .legal-section a:hover{color:var(--gold);}
  .legal-section ul{margin:0 0 18px; padding-left:22px;}
  .legal-section li{font-size:15.2px; color:var(--ink-soft); margin-bottom:8px;}
  .legal-todo{
    font-size:13.6px; color:var(--ink-soft);
    background:rgba(212,175,106,0.14); border-left:3px solid var(--gold);
    border-radius:0 12px 12px 0; padding:14px 18px; margin:22px 0 0;
  }
  .legal-back{margin-top:60px;}
  @media(max-width:640px){
    .legal-main{padding:120px 0 70px;}
    .legal-toc{padding:18px; gap:8px 10px;}
  }

  /* ============================================================ */
  /* ---- CARTE DU MONDE EN FILIGRANE (sections à fond blanc) ---- */
  /* Nos actions, Témoignages, Nous contacter — clin d'œil visuel à */
  /* la portée internationale de la mission (France / Côte d'Ivoire */
  /* et au-delà).                                                   */
  /* ============================================================ */
  .actions, .testimonials, .contact-section{
    overflow:hidden;
  }
  .actions::before,
  .testimonials::before,
  .contact-section::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:url('world-map-bg.webp');
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% auto;
    opacity:0.14;
    pointer-events:none;
    z-index:0;
  }
  .actions > .container,
  .testimonials > .container,
  .contact-section > .container{
    position:relative;
    z-index:1;
  }
  @media(max-width:760px){
    .actions::before,
    .testimonials::before,
    .contact-section::before{
      background-size:min(640px,150%) auto;
    }
  }
