/* ==========================================================================
   MISSION RIVERS 2.0 — Accueil, proposition 4 (recalage sur la maquette)
   Grille : conteneur 1472 px, gouttière 32 px → bord gauche à 32 px sur 1536.
   Rythme vertical : 24 / 32 / 40 px. Bandes séparées par un filet net.
   Coins arrondis réservés aux cartes (10 px), boutons et pastilles.
   ========================================================================== */

.home{--maxw:1472px;--gutter:clamp(16px,2.1vw,32px);--r:10px;--gap:16px;background:#040b20}
.home main{background:#061230}

/* ---------- Typographie de section (maquette : capitales Montserrat, or pour la chute) */
.t-section{font-family:var(--f-ui);font-weight:500;text-transform:uppercase;letter-spacing:.05em;line-height:1.32;margin:0;color:#fff;font-size:clamp(1.2rem,1.75vw,1.7rem)}
.t-section em{font-style:normal;color:var(--gold-400)}
.t-carte{display:flex;align-items:center;gap:10px;margin:0;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.t-carte .icon{width:22px;height:22px;color:var(--gold-400)}
.t-carte em{font-style:normal;color:var(--gold-400)}
.filet-or{display:block;width:40px;height:2px;background:var(--gold-500);margin-bottom:20px}
.carte{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid rgba(169,200,255,.28);background:#0a1a44;isolation:isolate}
.bande{border-bottom:1px solid rgba(169,200,255,.16)}

/* ---------- En-tête */
.home .site-header{background:#040b20;border-bottom:1px solid rgba(169,200,255,.14)}
.home .site-header .wrap{height:72px}
.site-header .brand img{height:44px;width:auto;margin-right:8px;filter:none}

/* ==========================================================================
   BANNIÈRE (maquette : panoramique, texte à gauche sur deux lignes, R à droite)
   ========================================================================== */
.banniere{position:relative;height:clamp(400px,30vw,520px);display:flex;align-items:center;overflow:hidden;isolation:isolate;border-bottom:1px solid rgba(232,184,74,.35)}
.banniere__media{position:absolute;inset:0;z-index:-2;background:#0a1b44 url(../video/rivers-intro-fin.webp) 60% 55%/cover no-repeat}
.banniere__video,.banniere__fixe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.banniere__video{transition:opacity .6s ease}
.banniere__video.fondu{opacity:0}
.banniere__fixe{display:none}
.banniere.is-still .banniere__video{display:none}
.banniere.is-still .banniere__fixe{display:block}
.banniere::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(2,6,16,.78) 0%,rgba(2,6,16,.55) 28%,rgba(2,6,16,.12) 46%,rgba(2,6,16,0) 56%)}
.banniere__contenu{max-width:700px}
.banniere .eyebrow{letter-spacing:.5em;font-size:.82rem}
.banniere h1{font-family:var(--f-display);font-weight:700;color:#fff;margin:14px 0 14px;font-size:clamp(2.3rem,3.7vw,3.55rem);line-height:1.04;letter-spacing:-.005em;text-shadow:0 4px 22px rgba(0,0,0,.5)}
.banniere h1 .script{font-weight:400;font-size:1.16em;line-height:.85;white-space:nowrap}
.banniere__verset{font-family:var(--f-ui);font-style:italic;font-size:1rem;color:#eef2fb;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.banniere__verset cite{display:block;font-size:.88rem;color:#d6deef;margin-top:4px}
.banniere__cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}
.video-ctrl{position:absolute;right:var(--gutter);bottom:18px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(3,10,28,.55);border:1px solid var(--line)}
.video-ctrl:hover{background:rgba(232,184,74,.2)}
.video-ctrl .icon{width:15px;height:15px;display:none}
.video-ctrl[data-etat="lecture"] .i-pause,.video-ctrl[data-etat="pause"] .i-lecture{display:block}
/* Introduction vidéo du « R » (assets/js/intro-accueil.js) */
.video-ctrl[data-etat="fin"] .i-revoir{display:block}
.banniere__contenu{transition:opacity .9s ease,transform .9s ease}
.banniere::before{transition:opacity .9s ease}
html.intro-attente .banniere__contenu,.banniere.intro-en-cours .banniere__contenu{opacity:0;transform:translateY(14px)}
html.intro-attente .banniere::before,.banniere.intro-en-cours::before{opacity:0}
.intro-passer{position:absolute;right:calc(var(--gutter) + 48px);bottom:18px;height:38px;padding:0 18px;border-radius:19px;color:#fff;background:rgba(3,10,28,.55);border:1px solid var(--line);font:600 .74rem/1 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.intro-passer:hover,.intro-passer:focus-visible{background:rgba(232,184,74,.2)}
.intro-voir{position:absolute;left:66%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;padding:13px 22px 13px 18px;border-radius:999px;color:#fff;background:rgba(3,10,28,.62);border:1px solid rgba(232,184,74,.75);box-shadow:0 8px 28px rgba(0,0,0,.35);font:600 .8rem/1 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.intro-voir .icon{width:18px;height:18px;color:var(--gold-300,#e8b84a)}
.intro-voir:hover,.intro-voir:focus-visible{background:rgba(232,184,74,.22)}
.intro-voir[hidden],.intro-passer[hidden]{display:none}
@media (prefers-reduced-motion: reduce){.banniere__contenu,.banniere::before{transition:none}}

/* ==========================================================================
   BANDE 1 — titre | 4 piliers  ‖  deux continents   (maquette : 2/3 | 1/3)
   ========================================================================== */
.bande--mission > .wrap{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.mission{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,2.6fr);gap:var(--gap);align-items:center;padding:24px 28px 24px 0;border-right:1px solid rgba(169,200,255,.16)}
.mission .t-section{padding-right:8px;font-size:clamp(1.15rem,1.45vw,1.45rem)}
.piliers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.pilier{text-align:center;display:flex;flex-direction:column}
.pilier__img{aspect-ratio:2.15/1;position:relative;overflow:hidden}
.pilier__img img{width:100%;height:100%;object-fit:cover}
/* emplacement neutre en attendant les images fournies par la Mission */
.pilier__img--vide{background:
  radial-gradient(70% 60% at 50% 100%,rgba(232,184,74,.22),transparent 70%),
  linear-gradient(180deg,#14306b 0%,#0c2052 60%,#0a1a44 100%)}
.pilier__ico{width:48px;height:48px;margin:-24px auto 8px;position:relative;z-index:1;border-radius:50%;display:grid;place-items:center;color:var(--gold-300);background:#0a1a44;border:1.5px solid var(--gold-500);box-shadow:0 0 18px rgba(232,184,74,.3)}
.pilier__ico .icon{width:22px;height:22px}
.pilier h3{margin:0 0 4px;font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.pilier p{margin:0;padding:0 10px 16px;font-size:.8rem;line-height:1.42;color:#d3dbee}
.continents{padding:24px 0 22px 28px;display:flex;flex-direction:column;gap:14px}
.continents .t-section{font-size:clamp(1rem,1.25vw,1.2rem)}
.carte-monde{flex:1;border-radius:var(--r);overflow:hidden;border:1px solid rgba(169,200,255,.18);min-height:180px}
.carte-monde img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}

/* ==========================================================================
   BANDE 2 — rendez-vous | Parole | témoignages   (maquette : 3 panneaux de même hauteur)
   ========================================================================== */
.bande--semaine > .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.15fr);gap:var(--gap);padding-top:22px;padding-bottom:22px}
.panneau{min-height:250px}
.panneau > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.rdv > img{object-position:60% 30%}
.rdv::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,12,34,.9) 0%,rgba(4,12,34,.72) 48%,rgba(4,12,34,.15) 100%)}
.rdv__corps{padding:20px 24px;height:100%;display:flex;flex-direction:column}
.rdv__jour{font-size:.82rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;margin:16px 0 8px}
.horaires{list-style:none;margin:0 0 auto;padding:0;display:grid;gap:4px}
.horaires li{display:flex;align-items:baseline;gap:12px;font-family:var(--f-ui)}
.horaires b{min-width:78px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);font-weight:600}
.horaires .heure{font-size:1.65rem;font-weight:600;color:#fff;letter-spacing:.02em;line-height:1.15}
.horaires small{font-size:.72rem;color:#c9d3ea}
.rdv .btn{align-self:flex-start;margin-top:16px}
.parole{display:flex;flex-direction:column;background:#0a1838}
.parole__affiche{position:relative;display:block;aspect-ratio:1672/940;overflow:hidden}
.parole__affiche img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.parole__affiche:hover img{transform:scale(1.03)}
.parole__affiche .lecture{position:absolute;right:14px;bottom:14px;background:rgba(3,8,20,.7);backdrop-filter:blur(4px)}
.parole__affiche:hover .lecture{background:var(--gold-500);color:#1a1405}
.parole__corps{padding:12px 16px 14px;display:grid;gap:2px;border-top:1px solid rgba(232,184,74,.35)}
.parole__q{font-family:var(--f-ui);font-weight:700;font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.15;text-transform:uppercase;margin:4px 0 2px;color:#fff}
.parole__q em{font-style:normal;color:var(--gold-400)}
.parole__ctx{font-size:.74rem;color:#c9d3ea;margin:0}
.lecture{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--gold-500);color:#fff;flex:none;background:rgba(232,184,74,.1)}
.lecture:hover{background:var(--gold-500);color:#1a1405}
.lecture .icon{width:18px;height:18px;margin-left:3px}
.temoins{display:flex;flex-direction:column;gap:10px;min-width:0}
.temoins__cadre{position:relative;flex:1;display:flex}
.temoins__piste{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px)/3);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.temoins__piste::-webkit-scrollbar{display:none}
.temoin{scroll-snap-align:start;padding:14px 12px;display:flex;flex-direction:column}
.temoin__initiale{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;border:1.5px solid var(--gold-500);font-family:var(--f-caps);font-size:1.15rem;color:var(--gold-300);background:#0d2257}
.temoin blockquote{margin:0;font-size:.76rem;line-height:1.45;color:#e3e9f6;flex:1}
.temoin blockquote::before{content:"« "}.temoin blockquote::after{content:" »"}
.temoin cite{display:block;font-style:normal;font-weight:700;color:var(--gold-400);font-size:.8rem;margin-top:8px}
.temoin small{display:block;color:#aab6d3;font-size:.68rem;line-height:1.3}
.temoins__fl{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(3,10,28,.75);border:1px solid var(--line);z-index:2}
.temoins__fl--prec{left:-14px}.temoins__fl--suiv{right:-14px}
.temoins__fl .icon{width:14px;height:14px}

/* ==========================================================================
   BANDE 3 — Le cœur de Rivers  ‖  Devenez une source   (maquette : 1/3 | 2/3)
   ========================================================================== */
.bande--coeur{border-bottom:0;background:#050f2a;overflow:hidden}
.bande--coeur > .wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1.5fr);gap:0;padding-top:0;padding-bottom:0}
.coeur{padding:22px 28px 22px 0;border-right:1px solid rgba(232,184,74,.35);display:flex;flex-direction:column;gap:12px}
.coeur__tete{display:flex;align-items:center;justify-content:space-between;gap:12px}
.scene2{position:relative;container-type:inline-size;border-radius:var(--r);overflow:hidden;border:1px solid rgba(169,200,255,.18)}
.scene2__visuel{width:100%;height:auto;display:block}
.scene2__nom{position:absolute;transform:translateX(-50%);text-align:center;width:28%}
.scene2__nom--levi{left:18%;top:56.4%}
.scene2__nom--joachim{left:83.8%;top:72.6%}
.scene2__nom h3{font-family:var(--f-caps);font-weight:400;color:#fff;margin:0;font-size:2.15cqw;line-height:1.18;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.scene2__filet{display:block;width:62%;height:1px;margin:.7cqw auto .6cqw;background:linear-gradient(90deg,transparent,var(--gold-400),transparent)}
.scene2__nom p{margin:0;font-size:1.25cqw;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400);font-weight:600;line-height:1.5}
.scene2__nom p span{display:block;text-transform:none;letter-spacing:.02em;color:#e3e9f6;font-weight:400;font-size:1.3cqw}
.scene2__mobile{display:none}
.source{position:relative;padding:26px 0 26px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'texte paiement' 'dons dons' 'mention mention';column-gap:24px;row-gap:16px;align-items:center}
.source{isolation:isolate}
/* image de fond fournie par la Mission (rivière au coucher du soleil), couleurs d'origine.
   Seul un dégradé sombre neutre est placé derrière le texte, à gauche. */
.source::before{content:"";position:absolute;top:0;bottom:0;left:0;right:calc(-1 * (max(0px,(100vw - var(--maxw)) / 2) + var(--gutter)));z-index:-1;
  background:linear-gradient(90deg,rgba(3,8,20,.88) 0%,rgba(3,8,20,.72) 30%,rgba(3,8,20,.25) 58%,rgba(3,8,20,0) 75%),url(../media/accueil/source-riviere.webp) 60% 55%/cover no-repeat}
.source .paiement{background:rgba(3,8,20,.62);border:1px solid rgba(232,184,74,.35);border-radius:var(--r);padding:12px 16px 12px 12px;backdrop-filter:blur(4px)}
.source .mention-fiscale{color:#d6deef!important;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.source > div:first-child{grid-area:texte}.source .dons{grid-area:dons}.source .paiement{grid-area:paiement}.source .mention-fiscale{grid-area:mention}
.source p{margin-bottom:0}

.source h2{font-family:var(--f-caps);font-weight:400;font-size:clamp(1.4rem,1.9vw,1.95rem);letter-spacing:.06em;margin:0 0 6px;white-space:nowrap}
.source p{margin:0 0 18px;color:#e4eaf7;font-size:1rem;max-width:42ch}
.dons{display:flex;flex-wrap:wrap;gap:8px}
.dons .btn{padding:0 14px;font-size:.66rem;letter-spacing:.06em}
.paiement{display:flex;align-items:center;gap:18px}
.paiement__qr{background:#fff;padding:6px;border-radius:6px;width:92px;flex:none}
.paiement__qr img{image-rendering:pixelated}
.paiement ul{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid rgba(232,184,74,.4);display:grid;gap:12px}
.paiement a{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:#fff;white-space:nowrap}
.paiement a:hover{color:var(--gold-300)}
.paiement .icon{width:20px;height:20px}
.paiement i{font-family:var(--f-display);font-style:italic;font-weight:700;font-size:1.05rem}
.source .mention-fiscale{grid-column:1/-1;font-size:.7rem;color:#93a1c2;margin:0;max-width:none}

/* ---------- Pied de page : une seule ligne comme la maquette */
.home .site-footer{background:#040b20;border-top:1px solid rgba(232,184,74,.3)}
.home .footer-main{padding:20px 0}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1240px){
  .bande--mission > .wrap{grid-template-columns:1fr}
  .mission{border-right:0;padding-right:0;border-bottom:1px solid rgba(169,200,255,.16)}
  .continents{padding:22px 0;display:grid;grid-template-columns:minmax(220px,.45fr) 1fr;align-items:center}
  .carte-monde{aspect-ratio:1721/914}
  .bande--semaine > .wrap{grid-template-columns:1fr 1fr}
  .temoins{grid-column:1/-1}
  .temoins__piste{min-height:220px}
  .bande--coeur > .wrap{grid-template-columns:1fr}
  .coeur{border-right:0;padding-right:0;border-bottom:1px solid rgba(232,184,74,.35)}
  .source{padding-left:0}
  .source::before{left:calc(-1 * var(--gutter));right:calc(-1 * var(--gutter));background:linear-gradient(180deg,rgba(3,8,20,.85) 0%,rgba(3,8,20,.6) 45%,rgba(3,8,20,.75) 100%),url(../media/accueil/source-riviere.webp) 50% 55%/cover no-repeat}
}
@media (max-width:860px){
  .banniere{height:auto;align-items:flex-end}
  .banniere__media{bottom:auto;height:58vw}
  .banniere__video,.banniere__fixe{object-position:100% 50%}
  .banniere::before{background:linear-gradient(180deg,rgba(2,6,16,0) 0,rgba(2,6,16,0) calc(58vw - 90px),#061230 58vw,#061230 100%)}
  .banniere__contenu{padding:calc(58vw + 10px) 0 30px}
  .video-ctrl{bottom:auto;top:calc(58vw - 50px)}
  .intro-voir{left:50%;top:29vw}
  .mission{grid-template-columns:1fr}
  .piliers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .continents{grid-template-columns:1fr}
  .bande--semaine > .wrap{grid-template-columns:1fr}
  .temoins__piste{grid-auto-columns:calc((100% - 10px)/2)}
  .coeur__tete{flex-direction:column;align-items:flex-start}
  .scene2{border:0;border-radius:0;overflow:visible}
  .scene2__visuel,.scene2__nom{display:none}
  .scene2__mobile{display:block}
  .scene2__carte{width:100%;border-radius:var(--r)}
  .scene2__duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}
  .scene2__duo figure{margin:0;text-align:center}
  .scene2__duo img{width:min(100%,170px);margin:0 auto}
  .scene2__duo h3{font-family:var(--f-caps);font-weight:400;font-size:1rem;line-height:1.2;margin:10px 0 6px;color:#fff}
  .scene2__duo p{margin:0;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-400);font-weight:600;line-height:1.6}
  .scene2__duo p span{display:block;text-transform:none;letter-spacing:.02em;color:#c9d3ea;font-weight:400;font-size:.78rem}
  .source{grid-template-columns:1fr;grid-template-areas:'texte' 'dons' 'paiement' 'mention'}
  .paiement{flex-wrap:wrap}
}
@media (max-width:600px){
  .banniere__media{height:64vw}
  .banniere::before{background:linear-gradient(180deg,rgba(2,6,16,0) 0,rgba(2,6,16,0) calc(64vw - 80px),#061230 64vw,#061230 100%)}
  .banniere__contenu{padding:calc(64vw + 6px) 0 28px}
  .video-ctrl{top:calc(64vw - 48px)}
  .intro-voir{top:32vw;padding:11px 18px 11px 15px}
  .banniere h1 .script{white-space:normal}
  .banniere__cta .btn{flex:1 1 100%}
  .scene2__duo h3{font-size:.9rem}
  .temoins__piste{grid-auto-columns:84%}
  .temoins__fl{display:none}
  .paiement ul{border-left:0;padding-left:0}
}

/* ==========================================================================
   « Une mission, une vision » — 6 éléments interactifs + panneau de détail
   (au repos : rendu identique à la proposition 4)
   ========================================================================== */
.mv-btn{all:unset;display:inline;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:4px;
  text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .2s,color .2s}
.mv-btn:hover{text-decoration-color:var(--gold-400)}
.mv-btn:focus-visible{outline:2px solid var(--gold-400);outline-offset:3px}
.mv-btn[aria-expanded="true"]{color:var(--gold-300);text-decoration-color:var(--gold-400);text-decoration-thickness:2px}
.pilier__btn{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.pilier__btn::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.pilier{transition:border-color .2s,box-shadow .2s}
.pilier:hover{border-color:rgba(232,184,74,.7)}
.pilier:has(.pilier__btn:focus-visible){outline:2px solid var(--gold-400);outline-offset:3px}
.pilier.is-active{border-color:var(--gold-500);box-shadow:0 0 0 1px var(--gold-500),0 10px 26px -14px rgba(232,184,74,.6)}
.pilier.is-active::before{content:"";position:absolute;left:28%;right:28%;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--gold-400);z-index:3}
.pilier.is-active .pilier__ico{background:var(--gold-500);color:#0a1a44}
.mv-panneau{grid-column:1/-1;margin:2px 0 22px;padding:22px 26px;border-color:rgba(232,184,74,.55);background:linear-gradient(180deg,#0c1f52,#0a1a44)}
.mv-panneau[hidden]{display:none}
.mv-panneau__tete{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.mv-panneau__tete .eyebrow{margin:0 0 4px}
.mv-panneau__titre{margin:0;font-family:var(--f-caps);font-weight:400;font-size:clamp(1.1rem,1.6vw,1.4rem);letter-spacing:.06em;color:#fff;outline:none}
.mv-panneau__corps{margin-top:10px;max-width:72ch}
.mv-panneau__corps p{margin:0 0 10px;color:#d3dbee;line-height:1.55}
.mv-court{font-size:1rem}
.mv-manquant{display:none}
body.show-tbc .mv-manquant{display:block;font-style:italic;color:var(--text-muted)}
.mv-fermer{flex:none}
@media (min-width:1241px){
  .bande--mission .mission{grid-column:1;grid-row:1}
  .bande--mission .continents{grid-column:2;grid-row:1}
  .bande--mission .mv-panneau{grid-row:2}
}
@media (max-width:1240px){ .mv-panneau{margin:16px 0 4px} }
@media (max-width:600px){ .mv-panneau{padding:18px 16px} .mv-panneau__tete{gap:10px} .mv-fermer{padding:0 10px} }
@media (prefers-reduced-motion:no-preference){ .mv-panneau:not([hidden]){animation:mv-in .25s ease-out} }
@keyframes mv-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Horaires du bloc « Prochain rendez-vous » : l'heure n'est jamais coupée (13/10/2026) */
.horaires .heure{white-space:nowrap;flex:none}
.horaires small{min-width:0}
/* Très petits écrans : la carte du monde ne force plus une largeur minimale (débordement en 320 px) */
@media (max-width:860px){ .carte-monde{min-height:0} }
.source p.don-libre{margin:-8px 0 0;font-size:.9rem;color:#d6deef;max-width:46ch}

/* Introduction plein écran du logo, avant l'apparition du site (assets/js/splash-accueil.js) */
.splash{display:none}
html.splash-actif{overflow:hidden}
html.splash-actif body>*:not(.splash){visibility:hidden}
html.splash-actif .splash{display:block;position:fixed;inset:0;z-index:2147483000;background:#030a1c;overflow:hidden;opacity:1;transition:opacity .9s ease}
html.splash-actif.splash-sortie body>*:not(.splash){visibility:visible}
html.splash-sortie .splash{opacity:0;pointer-events:none}
.splash__media{position:absolute;inset:0}
.splash__video,.splash__fixe{position:absolute;left:var(--sx,0);top:var(--sy,0);width:var(--sw,100%);height:var(--sh,100%);max-width:none;object-fit:cover}
.splash__fixe{display:none}
.splash.is-still .splash__video{display:none}
.splash.is-still .splash__fixe{display:block}
.splash.bande .splash__video,.splash.bande .splash__fixe{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.splash__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 45%,rgba(3,10,28,0) 55%,rgba(3,10,28,.45) 100%),linear-gradient(180deg,rgba(3,10,28,0) 55%,rgba(3,10,28,.7) 100%)}
.splash__nom{position:absolute;left:16px;right:16px;top:var(--ny,72%);margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1;opacity:0;transform:translateY(12px);transition:opacity 1.2s ease,transform 1.2s ease;filter:drop-shadow(0 3px 10px rgba(0,0,0,.75)) drop-shadow(0 0 22px rgba(3,10,28,.6));isolation:isolate}
.splash__nom::before{content:"";position:absolute;left:50%;top:50%;width:min(560px,96%);height:190%;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(3,10,28,.62),rgba(3,10,28,.35) 55%,rgba(3,10,28,0))}
.splash.nom-visible .splash__nom{opacity:1;transform:none}
.splash__nom small{font-family:var(--f-caps);font-weight:600;font-size:clamp(.82rem,min(3vw,3.4vh),1.3rem);letter-spacing:.5em;padding-left:.5em;color:#fff;margin-bottom:.45em}
.splash__nom span{font-family:var(--f-caps);font-weight:600;font-size:clamp(2rem,min(10vw,9vh),4.6rem);letter-spacing:.16em;padding-left:.16em}
.splash__passer{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));height:36px;padding:0 16px;border-radius:18px;color:rgba(255,255,255,.88);background:rgba(3,10,28,.45);border:1px solid rgba(232,184,74,.4);font:600 .7rem/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.splash__passer:hover,.splash__passer:focus-visible{background:rgba(232,184,74,.22);color:#fff}
@media (prefers-reduced-motion: reduce){.splash,.splash__nom{transition:none}.splash__nom{transform:none}}
