/* =========================================================
   COURIR en famille — feuille de style commune du site
   Couleurs, polices, barre de navigation, pied de page,
   et mise en page des pages Accueil, Tombola, Résultats, Photos.
   ========================================================= */
:root{
  --cf-violet:#8B2FC9; --cf-violet-d:#6A1F9E; --cf-violet-l:#B04FE0;
  --cf-lilac:#F5EEFB; --cf-lilac2:#E6D6F4;
  --cf-ink:#1F1A24; --cf-grey:#6B6672; --cf-line:#E2D9EB; --cf-bg:#F8F6FB;
  --cf-red:#EE3B37; --cf-blue:#5B5BF0; --cf-gold:#F2B705; --cf-green:#2E9E5B;
  --cf-sh:0 1px 2px rgba(30,10,50,.06),0 10px 26px rgba(50,15,90,.09);
  --cf-sh2:0 4px 10px rgba(30,10,50,.08),0 24px 50px rgba(60,15,100,.18);
}

/* ---------- Barre du site (toutes les pages) ---------- */
.cf-bar{position:relative;z-index:50;background:#fff;border-bottom:1px solid var(--cf-line);font-family:Nunito,system-ui,sans-serif}
.cf-bar .cf-in{max-width:1180px;margin:0 auto;padding:0 18px;height:76px;display:flex;align-items:center;gap:22px}
.cf-brand{display:flex;align-items:baseline;gap:6px;text-decoration:none;color:var(--cf-ink);white-space:nowrap;flex:none}
.cf-brand b{font-family:Oswald,sans-serif;font-weight:700;font-size:22px;letter-spacing:.02em;text-transform:uppercase}
.cf-brand i{font-family:Yellowtail,cursive;font-style:normal;font-size:24px;color:var(--cf-violet)}
.cf-brand small{font-family:Oswald,sans-serif;font-weight:600;font-size:11px;letter-spacing:.12em;color:#fff;background:var(--cf-ink);border-radius:6px;padding:2px 6px;align-self:center;margin-left:4px}
.cf-links{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.cf-links::-webkit-scrollbar{display:none}
.cf-links a{position:relative;flex:none;text-decoration:none;font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:14px;color:var(--cf-grey);padding:10px 12px;border-radius:10px;transition:color .15s,background .15s}
.cf-links a:hover{color:var(--cf-ink);background:var(--cf-lilac)}
.cf-links a[aria-current="page"]{color:var(--cf-ink)}
.cf-links a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;border-radius:3px;background:var(--cf-violet)}
.cf-cta{flex:none;text-decoration:none;font-weight:900;font-size:14px;color:#fff;background:var(--cf-violet);border-radius:999px;padding:9px 16px;box-shadow:0 6px 16px rgba(139,47,201,.28);transition:transform .15s,box-shadow .15s}
.cf-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(139,47,201,.34)}
@media (max-width:980px){
  .cf-bar .cf-in{height:auto;flex-wrap:wrap;gap:0 12px;padding-top:10px}
  .cf-brand{order:1}
  .cf-cta{order:2;margin-left:auto;padding:7px 13px;font-size:13px}
  .cf-links{order:3;width:100%;margin:6px -6px 2px;padding-bottom:2px}
  .cf-links a{padding:9px 10px;font-size:13.5px}
}

/* ---------- Pied de page commun ---------- */
.cf-foot{background:linear-gradient(120deg,#1F1A24,#3A1C52);color:#fff;font-family:Nunito,system-ui,sans-serif}
.cf-foot .cf-in{max-width:1180px;margin:0 auto;padding:44px 18px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.cf-foot h4{margin:0 0 12px;font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:#CDB8E6}
.cf-foot p{margin:0 0 8px;color:#E3DAEC;font-weight:600;line-height:1.5}
.cf-foot a{color:#fff;text-decoration:none;font-weight:700}
.cf-foot a:hover{text-decoration:underline}
.cf-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.cf-foot .cf-sign{font-family:Yellowtail,cursive;font-size:34px;color:#D9A8F2;line-height:1;margin-bottom:10px}
.cf-foot .cf-legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;font-size:13px;color:#BBAFC7;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
@media (max-width:760px){.cf-foot .cf-in{grid-template-columns:1fr;gap:22px}}
@media (max-width:760px){body.has-mbar .cf-foot{padding-bottom:84px}}

/* =========================================================
   Pages de contenu (Accueil, Tombola, Résultats, Photos)
   ========================================================= */
.cf{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--cf-ink);background:var(--cf-bg);-webkit-font-smoothing:antialiased;line-height:1.55}
.cf *{box-sizing:border-box}
.cf img{max-width:100%;display:block}
.cf a{color:inherit}
.cf .in{max-width:1180px;margin:0 auto;padding:0 18px}
.cf h1,.cf h2,.cf h3{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0}
.cf .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:Nunito;font-weight:900;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cf-violet)}
.cf .eyebrow::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.cf .script{font-family:Yellowtail,cursive;text-transform:none;letter-spacing:0;font-weight:400}
.cf .btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:900;font-size:15.5px;border-radius:14px;padding:13px 20px;background:var(--cf-violet);color:#fff;box-shadow:0 10px 22px rgba(139,47,201,.30);transition:transform .15s,box-shadow .15s;border:0;cursor:pointer;font-family:inherit}
.cf .btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(139,47,201,.36)}
.cf .btn.ghost{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cf .btn.ghost:hover{background:rgba(255,255,255,.2)}
.cf .btn.light{background:#fff;color:var(--cf-violet-d);box-shadow:var(--cf-sh)}
.cf .btns{display:flex;flex-wrap:wrap;gap:12px}
.cf .i{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Sections */
.cf .sec{padding:92px 0}
.cf .sec.alt{background:#fff}
.cf .sec.tint{background:linear-gradient(180deg,#F1E9F8,#F7F2FB)}
.cf .head{max-width:720px;margin-bottom:42px}
.cf .head h2{font-size:clamp(32px,4.4vw,50px);font-weight:700;margin-top:12px}
.cf .head h2 em{font-style:normal;color:var(--cf-violet)}
.cf .head p{font-size:18px;color:#4E4856;font-weight:600;margin:16px 0 0}

/* ---------- Héros photo (Accueil) ---------- */
.cf .hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate}
.cf .hero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:62% 38%;transform:scale(1.04);animation:cfZoom 18s ease-out forwards}
.cf .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(26,14,36,.88) 0%,rgba(42,16,64,.70) 38%,rgba(60,20,90,.15) 70%,rgba(0,0,0,0) 100%),
  linear-gradient(0deg,rgba(20,10,30,.65) 0%,rgba(20,10,30,0) 45%)}
@keyframes cfZoom{to{transform:scale(1)}}
.cf .hero .in{width:100%;padding-top:80px;padding-bottom:64px}
.cf .hero .eyebrow{color:#E3C6F6}
.cf .hero h1{font-size:clamp(46px,8vw,104px);font-weight:700;line-height:.92;margin:18px 0 0;max-width:800px}
.cf .hero h1 .script{display:block;color:#E3C6F6;font-size:.62em;line-height:1.05;margin:.12em 0 0 .04em}
.cf .hero .lead{font-size:clamp(17px,1.8vw,20px);font-weight:600;color:#EDE4F4;max-width:560px;margin:22px 0 30px}
.cf .hero .credit{position:absolute;right:14px;bottom:10px;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.65)}
.cf .when{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.cf .when .w{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px 16px;min-width:84px}
.cf .when .w b{display:block;font-family:Oswald;font-weight:700;font-size:30px;line-height:1}
.cf .when .w span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#D8C2EA;margin-top:4px}
.cf .when .w.place{min-width:0;display:flex;align-items:center;gap:12px}
.cf .when .w.place b{font-size:19px;font-family:Oswald;text-transform:uppercase}
.cf .when .w.place .i{width:24px;height:24px;color:#E3C6F6}

.cf .hero{background:radial-gradient(800px 500px at 85% 20%,rgba(176,79,224,.45),transparent 70%),linear-gradient(135deg,#1A1222 0%,#2E1640 55%,#4A1F6B 100%);align-items:center;min-height:0}
.cf .hero .bg{opacity:.28;mix-blend-mode:luminosity;background-position:center}
.cf .hero::before{display:block;background:linear-gradient(180deg,rgba(26,18,34,.15),rgba(26,18,34,.55))}
.cf .hcard{background:rgba(255,255,255,.96);color:var(--cf-ink);border-radius:26px;padding:22px;box-shadow:0 30px 70px rgba(10,0,20,.45);display:grid;gap:8px}
.cf .hc-top{display:flex;justify-content:space-between;align-items:baseline;padding:4px 6px 10px;border-bottom:1px solid var(--cf-line);margin-bottom:4px}
.cf .hc-top span{font-weight:900;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cf-violet)}
.cf .hc-top b{font-family:Oswald;text-transform:uppercase;font-size:18px}
.cf .ep{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-decoration:none;padding:10px;border-radius:16px;transition:background .15s}
.cf .ep:hover{background:var(--cf-lilac)}
.cf .ep .ic{width:46px;height:46px;border-radius:14px;background:var(--cf-lilac);color:var(--cf-violet);display:grid;place-items:center}
.cf .ep:first-of-type .ic{background:var(--cf-violet);color:#fff}
.cf .ep .ic .i{width:22px;height:22px}
.cf .ep b{display:block;font-family:Oswald;text-transform:uppercase;font-weight:600;font-size:18px;line-height:1.1}
.cf .ep small{font-weight:700;color:var(--cf-grey);font-size:13.5px}
.cf .ep em{font-style:normal;font-family:Oswald;font-weight:700;font-size:20px;color:var(--cf-ink)}
.cf .portal .plogo{position:absolute;right:-10px;top:10px;width:58%;opacity:.95;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));z-index:-1;transform:rotate(-4deg)}
.cf .portal.p-ink .plogo{background:#fff;border-radius:20px;padding:12px;right:24px;top:24px;width:min(34%,210px);transform:rotate(-3deg)}
.cf .hero .hgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding-top:70px;padding-bottom:110px}
.cf .hero h1{font-size:clamp(46px,6.6vw,92px)}
.cf .hpic{margin:0;position:relative;border-radius:28px;overflow:hidden;box-shadow:0 30px 70px rgba(10,0,20,.5);transform:rotate(1.2deg)}
.cf .hpic img{width:100%;aspect-ratio:4/3.2;object-fit:cover;object-position:45% 50%}
.cf .hpic figcaption{position:absolute;left:14px;bottom:14px;background:rgba(31,26,36,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-weight:800;font-size:12px;border-radius:999px;padding:5px 12px}
@media (max-width:1000px){.cf .hero .hgrid{grid-template-columns:1fr;gap:40px;padding-bottom:90px}.cf .hpic{transform:none}}

/* ---------- Chiffres clés ---------- */
.cf .stats{position:relative;z-index:2;margin-top:-46px}
.cf .stats .grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:24px;box-shadow:var(--cf-sh2);overflow:hidden}
.cf .stat{padding:28px 26px;border-right:1px solid var(--cf-line)}
.cf .stat:last-child{border-right:0}
.cf .stat b{display:block;font-family:Oswald;font-weight:700;font-size:clamp(38px,4.4vw,54px);line-height:1;color:var(--cf-ink)}
.cf .stat b sup{font-size:.45em;color:var(--cf-violet);vertical-align:top;margin-left:2px}
.cf .stat span{display:block;margin-top:8px;font-weight:800;color:var(--cf-grey);font-size:14.5px;line-height:1.35}

/* ---------- Histoire ---------- */
.cf .story{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.cf .story .txt p{font-size:17.5px;color:#3E3846;font-weight:600;margin:0 0 16px}
.cf .story .txt p strong{color:var(--cf-ink)}
.cf .story .quote{margin:26px 0 0;padding:20px 24px;border-left:4px solid var(--cf-violet);background:var(--cf-lilac);border-radius:0 16px 16px 0;font-family:Yellowtail,cursive;font-size:30px;line-height:1.2;color:var(--cf-violet-d)}
.cf .story .pics{position:relative;aspect-ratio:1/1.02}
.cf .story .pics figure{position:absolute;margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--cf-sh2)}
.cf .story .pics figure img{width:100%;height:100%;object-fit:cover}
.cf .story .pics .p1{left:0;top:0;width:72%;height:70%}
.cf .story .pics .p2{right:0;bottom:0;width:58%;height:56%;border:6px solid #fff}
.cf .story .pics .badge{position:absolute;left:6%;bottom:6%;background:var(--cf-ink);color:#fff;border-radius:20px;padding:16px 20px;box-shadow:var(--cf-sh2)}
.cf .story .pics .badge b{display:block;font-family:Oswald;font-size:40px;line-height:1}
.cf .story .pics .badge span{font-weight:800;font-size:13px;color:#CDB8E6;text-transform:uppercase;letter-spacing:.08em}

/* ---------- Valeurs (pédagogie de projet) ---------- */
.cf .values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cf .val{background:#fff;border-radius:22px;padding:28px 24px;box-shadow:var(--cf-sh);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.cf .val:hover{transform:translateY(-4px);box-shadow:var(--cf-sh2)}
.cf .val .n{font-family:Oswald;font-weight:700;font-size:64px;line-height:1;color:var(--cf-lilac2);position:absolute;right:18px;top:12px}
.cf .val .ic{width:52px;height:52px;border-radius:16px;background:var(--cf-ink);color:#fff;display:grid;place-items:center;margin-bottom:20px;box-shadow:0 8px 18px rgba(31,26,36,.22)}
.cf .val .ic .i{width:24px;height:24px}
.cf .val h3{font-size:21px;font-weight:600}
.cf .val p{margin:10px 0 0;font-weight:600;color:#4E4856;font-size:15.5px}

/* ---------- Frise ---------- */
.cf .tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cf .tl::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:linear-gradient(90deg,var(--cf-lilac2),var(--cf-violet))}
.cf .tl .st{position:relative;padding-top:64px}
.cf .tl .st::before{content:"";position:absolute;top:18px;left:0;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--cf-violet);box-shadow:0 0 0 6px var(--cf-bg)}
.cf .sec.alt .tl .st::before{box-shadow:0 0 0 6px #fff}
.cf .tl .st.now::before{background:var(--cf-violet);animation:cfPulse 2s infinite}
@keyframes cfPulse{0%{box-shadow:0 0 0 0 rgba(139,47,201,.5)}70%{box-shadow:0 0 0 14px rgba(139,47,201,0)}100%{box-shadow:0 0 0 0 rgba(139,47,201,0)}}
.cf .tl .yr{font-family:Oswald;font-weight:700;font-size:36px;line-height:1;color:var(--cf-ink)}
.cf .tl .ed{display:inline-block;margin:8px 0 10px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:var(--cf-lilac);color:var(--cf-violet-d);border-radius:999px;padding:3px 10px}
.cf .tl p{margin:0;font-weight:600;color:#4E4856;font-size:15.5px}

/* ---------- Grandes cartes de navigation ---------- */
.cf .portals{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.cf .portal{grid-column:span 2;position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:250px;border-radius:24px;padding:26px;text-decoration:none;color:#fff;overflow:hidden;isolation:isolate;box-shadow:var(--cf-sh);transition:transform .25s,box-shadow .25s}
.cf .portal.big{grid-column:span 3;min-height:320px}
.cf .portal:hover{transform:translateY(-5px);box-shadow:var(--cf-sh2)}
.cf .portal .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .6s}
.cf .portal:hover .bg{transform:scale(1.06)}
.cf .portal::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(31,26,36,0) 20%,rgba(31,26,36,.88) 100%)}
.cf .portal.plain::before{background:none}
.cf .portal.p-violet{background:linear-gradient(150deg,var(--cf-violet-d),var(--cf-violet-l))}
.cf .portal.p-ink{background:linear-gradient(150deg,#1F1A24,#3A1C52)}
.cf .portal.p-lilac{background:linear-gradient(150deg,#fff,var(--cf-lilac2));color:var(--cf-ink)}
.cf .portal .ic{position:absolute;top:24px;left:26px;width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center}
.cf .portal.p-lilac .ic{background:#fff;color:var(--cf-violet);box-shadow:var(--cf-sh)}
.cf .portal .ic .i{width:24px;height:24px}
.cf .portal .tag{position:absolute;top:30px;right:24px;font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.18);border-radius:999px;padding:4px 10px}
.cf .portal.p-lilac .tag{background:var(--cf-ink);color:#fff}
.cf .portal h3{font-size:clamp(26px,2.6vw,34px);font-weight:700}
.cf .portal p{margin:8px 0 0;font-weight:700;opacity:.9;font-size:15px;max-width:420px}
.cf .portal .go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:14.5px}
.cf .portal .go .i{transition:transform .2s}
.cf .portal:hover .go .i{transform:translateX(4px)}

/* ---------- Bandeau final ---------- */
.cf .band{border-radius:28px;background:linear-gradient(120deg,var(--cf-violet-d),var(--cf-violet) 55%,var(--cf-violet-l));color:#fff;padding:54px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;position:relative;overflow:hidden;box-shadow:var(--cf-sh2)}
.cf .band::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}
.cf .band h2{font-size:clamp(30px,4vw,46px);font-weight:700}
.cf .band p{margin:12px 0 0;font-weight:700;color:#F1E2FB;font-size:17px;max-width:620px}
.cf .band .btn{background:#fff;color:var(--cf-violet-d);box-shadow:0 12px 26px rgba(30,10,50,.25)}

/* ---------- En-tête des pages internes ---------- */
.cf .phead{position:relative;overflow:hidden;background:radial-gradient(900px 380px at 100% 0%,#E2CCF4 0%,rgba(226,204,244,0) 70%),linear-gradient(180deg,#fff,#FAF6FD);border-bottom:1px solid var(--cf-line)}
.cf .phead .in{padding-top:64px;padding-bottom:56px;position:relative}
.cf .phead h1{font-size:clamp(40px,6.4vw,72px);font-weight:700;margin-top:14px}
.cf .phead h1 span{color:var(--cf-violet)}
.cf .phead p{font-size:18.5px;font-weight:600;color:#4E4856;max-width:640px;margin:16px 0 0}
.cf .phead .kids{position:absolute;right:18px;bottom:0;display:flex;align-items:flex-end;opacity:.45;filter:grayscale(1) contrast(.85) brightness(1.12);pointer-events:none}
.cf .phead .kids img{height:auto}
.cf .phead .kids .g{width:clamp(70px,10vw,120px);margin-right:-14px;transform:rotate(-4deg)}
.cf .phead .kids .f{width:clamp(80px,12vw,140px)}
@media (max-width:760px){.cf .phead .kids{display:none}}

/* ---------- Cartes génériques ---------- */
.cf .card{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--cf-sh)}
.cf .card h3{font-size:22px;font-weight:600}
.cf .card p{font-weight:600;color:#4E4856;margin:10px 0 0}
.cf .grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cf .pill{display:inline-flex;align-items:center;gap:7px;font-weight:900;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:5px 12px;background:var(--cf-lilac);color:var(--cf-violet-d)}
.cf .pill.live{background:var(--cf-red);color:#fff}
.cf .pill.live::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;animation:cfBlink 1.2s infinite}
@keyframes cfBlink{50%{opacity:.25}}
.cf .ic-sq{width:50px;height:50px;border-radius:15px;background:var(--cf-lilac);color:var(--cf-violet);display:grid;place-items:center;margin-bottom:16px}
.cf .ic-sq .i{width:24px;height:24px}

/* Tombola : grand ticket */
.cf .ticket{display:grid;grid-template-columns:1.3fr 1fr;border-radius:26px;overflow:hidden;box-shadow:var(--cf-sh2);position:relative}
.cf .ticket::after{content:"";position:absolute;top:0;bottom:0;left:56.5%;border-left:3px dashed rgba(255,255,255,.55)}
.cf .ticket .l{background:linear-gradient(150deg,#231B2B,#4A1F6B);color:#fff;padding:44px}
.cf .ticket .r{background:linear-gradient(150deg,var(--cf-violet),var(--cf-violet-l));color:#fff;padding:44px;display:flex;flex-direction:column;justify-content:center}
.cf .ticket h2{font-size:clamp(30px,3.8vw,44px);font-weight:700;margin:14px 0 0}
.cf .ticket p{font-weight:700;color:#E2D3EE;margin:14px 0 24px;font-size:16.5px}
.cf .ticket .r b{font-family:Oswald;font-size:58px;line-height:1}
.cf .ticket .r span{font-weight:800;color:#F4E9FC;font-size:16px}
.cf .ticket .pill{background:rgba(255,255,255,.14);color:#fff}

/* Résultats */
.cf .podium{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:end}
.cf .pod{background:#fff;border-radius:22px;padding:24px;box-shadow:var(--cf-sh);text-align:center}
.cf .pod .rk{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-family:Oswald;font-weight:700;font-size:26px;color:#fff;background:var(--cf-ink)}
.cf .pod.g1{padding-top:40px}.cf .pod.g1 .rk{background:linear-gradient(150deg,#E6A800,#F7CF4A);width:68px;height:68px;font-size:30px}
.cf .pod.g2 .rk{background:linear-gradient(150deg,#8E9AA6,#C4CDD5)}
.cf .pod.g3 .rk{background:linear-gradient(150deg,#A8622E,#D79A62)}
.cf .pod b{display:block;font-family:Oswald;text-transform:uppercase;font-size:20px}
.cf .pod span{font-weight:700;color:var(--cf-grey)}
.cf .soon{border:2px dashed var(--cf-lilac2);background:rgba(255,255,255,.6);border-radius:22px;padding:30px;text-align:center;font-weight:800;color:var(--cf-grey)}

/* Photos */
.cf .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.cf .filters button{font:inherit;font-weight:800;font-size:14px;border:1px solid var(--cf-line);background:#fff;color:var(--cf-grey);border-radius:999px;padding:8px 16px;cursor:pointer}
.cf .filters button[aria-pressed="true"]{background:var(--cf-ink);border-color:var(--cf-ink);color:#fff}
.cf .gallery{columns:3 280px;column-gap:16px}
.cf .gallery figure{break-inside:avoid;margin:0 0 16px;border-radius:18px;overflow:hidden;box-shadow:var(--cf-sh);background:#fff;cursor:zoom-in;position:relative}
.cf .gallery figure img{width:100%;height:auto;transition:transform .5s}
.cf .gallery figure:hover img{transform:scale(1.04)}
.cf .gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(31,26,36,.75);color:#fff;font-weight:800;font-size:12px;border-radius:999px;padding:3px 10px}
.cf .gallery .ph{aspect-ratio:4/3;border:2px dashed var(--cf-lilac2);background:linear-gradient(135deg,#fff,var(--cf-lilac));box-shadow:none;display:grid;place-items:center;text-align:center;color:var(--cf-violet-d);font-weight:800;cursor:default;padding:20px}
.cf .gallery .ph .i{width:30px;height:30px;margin:0 auto 8px;display:block}
.cf .lb{position:fixed;inset:0;z-index:200;background:rgba(18,12,24,.94);display:none;align-items:center;justify-content:center;padding:20px}
.cf .lb.open{display:flex}
.cf .lb img{max-width:100%;max-height:100%;border-radius:12px}
.cf .lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:#fff;font-size:22px;font-weight:900;cursor:pointer;color:var(--cf-ink)}
.cf .lb .x{top:16px;right:16px}.cf .lb .pv{left:16px;top:50%;margin-top:-24px}.cf .lb .nx{right:16px;top:50%;margin-top:-24px}
.cf .lb .cap{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#D8CCE4;font-weight:700;font-size:13px}

/* Apparition douce au défilement */
.cf .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.cf .rv.on{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .cf .values{grid-template-columns:1fr 1fr}
  .cf .portal,.cf .portal.big{grid-column:span 3}
  .cf .story{grid-template-columns:1fr;gap:40px}
  .cf .story .pics{max-width:560px}
}
@media (max-width:760px){
  .cf .sec{padding:64px 0}
  .cf .stats .grid{grid-template-columns:1fr 1fr}
  .cf .stat:nth-child(2){border-right:0}
  .cf .stat:nth-child(-n+2){border-bottom:1px solid var(--cf-line)}
  .cf .tl{grid-template-columns:1fr;gap:0}
  .cf .tl::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--cf-lilac2),var(--cf-violet))}
  .cf .tl .st{padding:0 0 28px 44px}
  .cf .tl .st::before{top:6px}
  .cf .portal,.cf .portal.big{grid-column:1/-1;min-height:220px}
  .cf .band{grid-template-columns:1fr;padding:34px}
  .cf .grid2,.cf .grid3,.cf .podium{grid-template-columns:1fr}
  .cf .ticket{grid-template-columns:1fr}.cf .ticket::after{display:none}
  .cf .ticket .l,.cf .ticket .r{padding:30px}
  .cf .hero{min-height:640px}
  .cf .hero::before{background:linear-gradient(0deg,rgba(26,14,36,.92) 0%,rgba(42,16,64,.6) 55%,rgba(42,16,64,.25) 100%)}
}
@media (max-width:520px){.cf .values{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cf *{animation:none!important;transition:none!important}.cf .rv{opacity:1;transform:none}}

/* =========== v3 : logo partout, accueil épuré =========== */
.cf-brand img{height:58px;width:auto;display:block}
@media (max-width:980px){.cf-brand img{height:42px}}
.cf .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cf .plogo-h{width:min(230px,52vw);margin:0 0 14px}
.cf .phead .in{padding-top:34px}
/* Héros accueil : même fond clair que les autres pages */
.cf .home-hero{position:relative;overflow:hidden;background:radial-gradient(900px 420px at 100% 0%,#E2CCF4 0%,rgba(226,204,244,0) 70%),linear-gradient(180deg,#fff,#FAF6FD);border-bottom:1px solid var(--cf-line)}
.cf .home-hero::before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(139,47,201,.12),rgba(139,47,201,0) 70%)}
.cf .home-hero .in{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding-top:44px}
.cf .hh-txt{padding-bottom:64px}
.cf .hh-logo{width:min(560px,86vw);height:auto;margin:0 0 18px -8px;filter:drop-shadow(0 18px 30px rgba(80,20,120,.12))}
.cf .hh-lead{font-size:clamp(18px,2vw,22px);font-weight:700;color:#4E4856;max-width:600px;margin:0 0 20px}
.cf .hh-lead b{color:var(--cf-violet-d)}
.cf .meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.cf .mpill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--cf-line);border-radius:999px;padding:7px 14px;font-weight:800;font-size:14px;box-shadow:var(--cf-sh)}
.cf .mpill .i{color:var(--cf-violet)}
.cf .hh-kids{display:flex;align-items:flex-end;opacity:.5;filter:grayscale(1) contrast(.85) brightness(1.12)}
.cf .hh-kids .g{width:clamp(90px,13vw,170px);margin-right:-18px;transform:rotate(-4deg)}
.cf .hh-kids .f{width:clamp(104px,15vw,196px)}
@media (max-width:760px){.cf .home-hero .in{grid-template-columns:1fr}.cf .hh-kids{display:none}.cf .hh-txt{padding-bottom:48px}}
/* Évolution */
.cf .evo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf .ev{background:var(--cf-bg);border:1px solid var(--cf-line);border-radius:22px;padding:28px 24px}
.cf .ev b{display:block;font-family:Oswald;font-weight:700;font-size:64px;line-height:1;color:var(--cf-ink)}
.cf .ev span{display:block;margin-top:8px;font-weight:800;color:var(--cf-grey);line-height:1.35}
.cf .ev.hl{background:linear-gradient(150deg,var(--cf-violet-d),var(--cf-violet-l));border:0;box-shadow:0 16px 34px rgba(139,47,201,.3)}
.cf .ev.hl b,.cf .ev.hl span{color:#fff}
/* Axes */
.cf .axes{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf .axe{display:grid;grid-template-columns:auto 1fr;gap:20px;background:#fff;border-radius:22px;padding:30px;box-shadow:var(--cf-sh);transition:transform .2s,box-shadow .2s}
.cf .axe:hover{transform:translateY(-3px);box-shadow:var(--cf-sh2)}
.cf .axe .ic{width:54px;height:54px;border-radius:16px;background:var(--cf-ink);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(31,26,36,.22)}
.cf .axe .ic .i{width:25px;height:25px}
.cf .axe .n{font-weight:900;font-size:12.5px;letter-spacing:.18em;color:var(--cf-violet)}
.cf .axe h3{font-size:22px;font-weight:600;margin:6px 0 10px}
.cf .axe p{margin:0;font-weight:600;color:#4E4856;font-size:16px}
.cf .axe p b{color:var(--cf-ink)}
/* Voyages */
.cf .trips{list-style:none;margin:0;padding:0;position:relative}
.cf .trips::before{content:"";position:absolute;left:58px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--cf-lilac2),var(--cf-violet))}
.cf .trips li{display:grid;grid-template-columns:90px 1fr;gap:26px;align-items:center;padding:9px 0;position:relative}
.cf .trips li::before{content:"";position:absolute;left:51px;top:50%;margin-top:-8px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--cf-violet)}
.cf .trips .y{font-family:Oswald;font-weight:700;font-size:24px;text-align:left;color:var(--cf-ink);width:44px}
.cf .trips .cards{display:flex;flex-wrap:wrap;gap:12px}
.cf .trip{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;background:#fff;border-radius:16px;padding:14px 20px 14px 16px;box-shadow:var(--cf-sh);min-width:260px}
.cf .trip .i{grid-row:1/3;width:40px;height:40px;padding:9px;border-radius:12px;background:var(--cf-lilac);color:var(--cf-violet)}
.cf .trip b{font-family:Oswald;text-transform:uppercase;font-weight:600;font-size:18px;line-height:1.1}
.cf .trip small{font-weight:700;color:var(--cf-grey);font-size:13.5px}
.cf .trips-note{margin:20px 0 0;font-weight:700;color:var(--cf-grey);font-size:14.5px}
.cf .tl.tl3{grid-template-columns:repeat(3,1fr)}
.cf .band .btns{flex-wrap:wrap}
.cf .btn.glass{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.cf .band .btn:not(.glass){background:#fff;color:var(--cf-violet-d)}
@media (max-width:860px){.cf .axes{grid-template-columns:1fr}.cf .axe{grid-template-columns:1fr}}
@media (max-width:760px){.cf .tl.tl3{grid-template-columns:1fr}
  .cf .trips::before{left:21px}.cf .trips li{grid-template-columns:1fr;gap:8px;padding:10px 0 10px 50px}.cf .trips li::before{left:14px;top:22px;margin-top:0}
  .cf .trip{min-width:0;width:100%}}
.cf-foot .cf-sign{display:inline-block;background:#fff;border-radius:18px;padding:10px 14px;margin-bottom:14px}.cf-foot .cf-sign img{height:74px;width:auto;display:block}.cf-foot .cf-sign:hover{text-decoration:none}

/* =========== v4 : pied de page clair, animations =========== */
.cf-foot{background:linear-gradient(180deg,#FAF6FD,#F1E9F8);color:var(--cf-ink);border-top:1px solid var(--cf-line)}
.cf-foot h4{color:var(--cf-violet)}
.cf-foot p{color:#4E4856}
.cf-foot a{color:var(--cf-ink)}
.cf-foot a:hover{color:var(--cf-violet)}
.cf-foot .cf-sign{background:none;padding:0;border-radius:0}
.cf-foot .cf-sign img{height:96px}
.cf-foot .cf-legal{border-top-color:var(--cf-line);color:var(--cf-grey)}
/* Bulles animées du héros */
.cf .home-hero .blobs span{position:absolute;border-radius:50%;filter:blur(2px);animation:cfFloat 14s ease-in-out infinite}
.cf .home-hero .blobs span:nth-child(1){width:140px;height:140px;left:46%;top:12%;background:radial-gradient(circle at 30% 30%,rgba(176,79,224,.30),rgba(176,79,224,0) 70%)}
.cf .home-hero .blobs span:nth-child(2){width:90px;height:90px;left:62%;top:62%;background:radial-gradient(circle at 30% 30%,rgba(91,91,240,.22),rgba(91,91,240,0) 70%);animation-delay:-5s}
.cf .home-hero .blobs span:nth-child(3){width:60px;height:60px;left:38%;top:78%;background:radial-gradient(circle at 30% 30%,rgba(238,59,55,.18),rgba(238,59,55,0) 70%);animation-delay:-9s}
@keyframes cfFloat{0%,100%{transform:translate(0,0)}33%{transform:translate(18px,-22px)}66%{transform:translate(-14px,12px)}}
.cf .hh-logo{animation:cfIn .9s cubic-bezier(.2,.8,.2,1) both,cfBob 6s ease-in-out 1s infinite}
@keyframes cfIn{from{opacity:0;transform:translateY(16px) rotate(-2deg) scale(.96)}to{opacity:1;transform:none}}
@keyframes cfBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.cf .hh-kids img{animation:cfBob 4.5s ease-in-out infinite}.cf .hh-kids .f{animation-delay:-2s}
/* Pastille clignotante + compte à rebours */
.cf .live-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px}
.cf .livepill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--cf-line);border-radius:999px;padding:7px 14px 7px 11px;font-weight:900;font-size:13.5px;box-shadow:var(--cf-sh);color:var(--cf-ink)}
.cf .livepill i{width:10px;height:10px;border-radius:50%;background:var(--cf-red);box-shadow:0 0 0 0 rgba(238,59,55,.6);animation:cfLive 1.6s infinite}
@keyframes cfLive{0%{box-shadow:0 0 0 0 rgba(238,59,55,.55)}70%{box-shadow:0 0 0 10px rgba(238,59,55,0)}100%{box-shadow:0 0 0 0 rgba(238,59,55,0)}}
.cf .livepill.dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.cf .cdx{display:flex;gap:6px}
.cf .cdx span{display:inline-flex;align-items:baseline;gap:3px;background:var(--cf-ink);color:#CDB8E6;border-radius:12px;padding:7px 11px;font-weight:800;font-size:12px}
.cf .cdx span:first-child{background:linear-gradient(150deg,var(--cf-violet),var(--cf-violet-l));color:#F3E6FC}
.cf .cdx b{font-family:Oswald;font-weight:700;font-size:20px;color:#fff;line-height:1}
.cf .cdx.big{margin:22px 0 26px}.cf .cdx.big span{padding:12px 16px;font-size:13px;flex-direction:column;align-items:center;min-width:78px;background:rgba(255,255,255,.1);color:#D8C2EA}
.cf .cdx.big span:first-child{background:rgba(255,255,255,.2)}
.cf .cdx.big b{font-size:34px}
/* Scène du tirage */
.cf .stage{position:relative;overflow:hidden;isolation:isolate;border-radius:30px;background:radial-gradient(600px 400px at 85% 10%,rgba(176,79,224,.55),transparent 70%),linear-gradient(135deg,#1F1A24,#3A1C52 60%,#5A2585);color:#fff;padding:54px;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;box-shadow:var(--cf-sh2)}
.cf .stage h2{font-size:clamp(34px,4.4vw,54px);font-weight:700;margin:18px 0 0}
.cf .stage h2 em{font-style:normal;color:#E3C6F6}
.cf .stage p{font-weight:700;color:#E2D3EE;font-size:17px;margin:14px 0 0;max-width:520px}
.cf .floaters{position:absolute;inset:0;z-index:-1;pointer-events:none}
.cf .floaters span{position:absolute;bottom:-50px;left:var(--x);color:rgba(255,255,255,.18);transform:scale(var(--s));animation:cfRise 9s linear infinite;animation-delay:calc(var(--d) * -1)}
.cf .floaters .i{width:42px;height:42px}
@keyframes cfRise{0%{transform:translateY(0) rotate(0) scale(var(--s));opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-520px) rotate(40deg) scale(var(--s));opacity:0}}
.cf .btn.shine{position:relative;overflow:hidden;background:#fff;color:var(--cf-violet-d);box-shadow:0 14px 30px rgba(10,0,20,.35)}
.cf .btn.shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(139,47,201,.22),transparent);animation:cfShine 2.8s ease-in-out infinite}
@keyframes cfShine{0%{left:-60%}60%,100%{left:130%}}
.cf .st-ticket{display:grid;place-items:center}
.cf .tkt{display:grid;grid-template-columns:1.5fr 1fr;width:min(100%,360px);border-radius:20px;overflow:hidden;transform:rotate(-6deg);box-shadow:0 30px 60px rgba(0,0,0,.45);animation:cfSway 5s ease-in-out infinite}
@keyframes cfSway{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-10px)}}
.cf .tk1{background:#fff;color:var(--cf-ink);padding:26px 22px;border-right:3px dashed var(--cf-lilac2)}
.cf .tk1 small,.cf .tk2 small{display:block;font-weight:900;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cf-violet)}
.cf .tk1 b{display:block;font-family:Oswald;font-size:52px;line-height:1;margin:6px 0}
.cf .tk1 span{font-family:Yellowtail,cursive;font-size:22px;color:var(--cf-violet-d)}
.cf .tk2{background:linear-gradient(150deg,var(--cf-gold),#FFD966);color:var(--cf-ink);padding:26px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.cf .tk2 small{color:#6B4A00}
.cf .tk2 b{font-family:Oswald;font-size:36px;line-height:1.1;font-variant-numeric:tabular-nums}
.cf .steps3 .card{position:relative}
.cf .stepn{position:absolute;right:22px;top:16px;font-family:Oswald;font-weight:700;font-size:56px;line-height:1;color:var(--cf-lilac2)}
/* Bientôt */
.cf .soonbox{text-align:center;background:#fff;border-radius:28px;padding:56px 28px;box-shadow:var(--cf-sh2);max-width:760px;margin:0 auto}
.cf .soonbox .hg{width:84px;height:84px;margin:0 auto 18px;border-radius:24px;background:linear-gradient(150deg,var(--cf-violet),var(--cf-violet-l));color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px rgba(139,47,201,.35);animation:cfBob 3.5s ease-in-out infinite}
.cf .soonbox .hg .i{width:38px;height:38px}
.cf .soonbox h2{font-size:clamp(34px,5vw,54px);font-weight:700;margin:18px 0 0}
.cf .soonbox p{font-weight:700;color:#4E4856;font-size:17.5px;margin:12px 0 0}
.cf .albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:40px}
.cf .album{display:block;text-decoration:none;background:#fff;border-radius:20px;padding:22px;box-shadow:var(--cf-sh);transition:transform .2s,box-shadow .2s}
.cf a.album:hover{transform:translateY(-3px);box-shadow:var(--cf-sh2)}
.cf .album b{display:block;font-family:Oswald;font-weight:700;font-size:34px;line-height:1}
.cf .album span{display:block;font-weight:800;color:var(--cf-grey);margin-top:4px}
.cf .album em{display:block;font-style:normal;font-weight:900;font-size:13.5px;margin-top:14px;color:var(--cf-violet)}
.cf .album.off{background:rgba(255,255,255,.6);box-shadow:none;border:1.5px dashed var(--cf-lilac2)}
.cf .album.off b{color:#B9AFC4}.cf .album.off em{color:var(--cf-grey)}
@media (max-width:860px){.cf .stage{grid-template-columns:1fr;padding:34px}.cf .st-ticket{order:-1}}

/* =========== v5 : contraste accueil + frise des voyages =========== */
.cf .home-hero{background:radial-gradient(900px 520px at 100% 0%,#D9B8F0 0%,rgba(217,184,240,0) 68%),radial-gradient(600px 400px at 0% 100%,#EFE2F9 0%,rgba(239,226,249,0) 70%),linear-gradient(180deg,#fff,#F7F0FC)}
.cf .hh-lead{color:#2E2836}
.cf .head h2{font-size:clamp(36px,5vw,58px)}
/* Bandeau défilant */
.cf .marquee{background:var(--cf-ink);color:#fff;overflow:hidden;padding:18px 0;border-top:4px solid var(--cf-violet)}
.cf .mq{display:flex;align-items:center;gap:28px;width:max-content;animation:cfMq 38s linear infinite}
.cf .mq span{font-family:Oswald;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:20px;white-space:nowrap}
.cf .mq span:nth-child(4n+1){color:#E3C6F6}
.cf .mq i{width:10px;height:10px;border-radius:50%;background:var(--cf-violet-l);box-shadow:0 0 12px rgba(176,79,224,.9);flex:none}
@keyframes cfMq{to{transform:translateX(-50%)}}
/* Section sombre */
.cf .sec.dark{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#16111C 0%,#22162E 45%,#36184F 100%);color:#fff}
.cf .sec.dark .glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 500px at 85% 10%,rgba(176,79,224,.35),transparent 70%),radial-gradient(600px 500px at 0% 90%,rgba(91,91,240,.18),transparent 70%)}
.cf .sec.dark .head h2{color:#fff}.cf .sec.dark .head h2 em{color:#D9A8F2}
.cf .sec.dark .head p{color:#D8CCE4}
.cf .sec.dark .eyebrow{color:#D9A8F2}
.cf .sec.dark .trips-note{color:#B7A9C6;text-align:center;margin-top:34px}
/* Couleurs des thèmes */
.cf .t-mem{--t:#F2B705}.cf .t-his{--t:#F28C4B}.cf .t-spo{--t:#3FC0F0}.cf .t-nat{--t:#4CD08A}.cf .t-cul{--t:#F25CA2}.cf .t-sci{--t:#9B8CFF}.cf .t-eur{--t:#5B8CFF}
.cf .themes{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 46px}
.cf .themes button{font:inherit;font-weight:800;font-size:14px;color:#E3D8EE;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s}
.cf .themes button:hover{background:rgba(255,255,255,.12)}
.cf .themes button i{width:9px;height:9px;border-radius:50%;background:var(--t);box-shadow:0 0 10px var(--t)}
.cf .themes button[aria-pressed="true"]{background:#fff;color:var(--cf-ink);border-color:#fff}
/* Frise */
.cf .tline{list-style:none;margin:0;padding:0;position:relative}
.cf .tl-track{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:rgba(255,255,255,.1);border-radius:3px}
.cf .tl-fill{position:absolute;left:0;top:0;width:100%;height:0;border-radius:3px;background:linear-gradient(180deg,#D9A8F2,var(--cf-violet-l),#5B5BF0);box-shadow:0 0 18px rgba(176,79,224,.8);transition:height .15s linear}
.cf .tstep{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 90px;padding:16px 0}
.cf .tdot{position:absolute;left:50%;top:26px;transform:translateX(-50%);z-index:2;min-width:74px;height:40px;padding:0 12px;border-radius:999px;background:#22162E;border:2px solid rgba(255,255,255,.22);display:grid;place-items:center;transition:all .35s}
.cf .tdot b{font-family:Oswald;font-weight:700;font-size:16px;letter-spacing:.02em;white-space:nowrap;color:#CDBEDB}
.cf .tstep.lit .tdot{background:linear-gradient(150deg,var(--cf-violet),var(--cf-violet-l));border-color:#fff;box-shadow:0 0 0 6px rgba(176,79,224,.18),0 0 26px rgba(176,79,224,.75);animation:cfGlow 2.4s ease-in-out infinite}
.cf .tstep.lit .tdot b{color:#fff}
@keyframes cfGlow{0%,100%{box-shadow:0 0 0 6px rgba(176,79,224,.18),0 0 22px rgba(176,79,224,.6)}50%{box-shadow:0 0 0 12px rgba(176,79,224,.08),0 0 36px rgba(176,79,224,.95)}}
.cf .tstep.l .tcards{grid-column:1;align-items:flex-end}
.cf .tstep.r .tcards{grid-column:2}
.cf .tcards{display:flex;flex-direction:column;gap:14px;padding-top:4px}
.cf .tcard{position:relative;max-width:440px;width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:20px 22px;transition:transform .25s,background .25s,border-color .25s,opacity .3s,filter .3s}
.cf .tcard:hover{transform:translateY(-3px);background:rgba(255,255,255,.1);border-color:rgba(217,168,242,.5)}
.cf .tcard::before{content:"";position:absolute;top:34px;width:44px;height:2px;background:linear-gradient(90deg,rgba(217,168,242,0),rgba(217,168,242,.6))}
.cf .tstep.l .tcard::before{right:-45px;transform:scaleX(-1)}
.cf .tstep.r .tcard::before{left:-45px}
.cf .tcards .tcard+.tcard::before{display:none}
.cf .tcard.dim{opacity:.22;filter:grayscale(1)}
.cf .tc-h{display:flex;align-items:center;gap:12px}
.cf .tc-ic{width:42px;height:42px;border-radius:12px;background:rgba(217,168,242,.16);color:#E3C6F6;display:grid;place-items:center;flex:none}
.cf .tc-ic .i{width:21px;height:21px}
.cf .tcard h3{font-size:21px;font-weight:600;color:#fff}
.cf .tcard p{margin:10px 0 12px;color:#D8CCE4;font-weight:600;font-size:15px;line-height:1.5}
.cf .chips{display:flex;flex-wrap:wrap;gap:6px}
.cf .chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:rgba(255,255,255,.08);border-radius:999px;padding:3px 10px 3px 8px}
.cf .chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--t);box-shadow:0 0 8px var(--t)}
@media (max-width:860px){
  .cf .tl-track{left:22px}
  .cf .tstep{grid-template-columns:1fr;padding:12px 0 12px 58px}
  .cf .tdot{left:22px;top:12px}
  .cf .tstep .tcards,.cf .tstep.l .tcards,.cf .tstep.r .tcards{grid-column:1;align-items:stretch;padding-top:44px}
  .cf .tcard{max-width:none}.cf .tcard::before{display:none}
}
/* Valeurs : un peu plus de relief */
.cf #valeurs{background:linear-gradient(180deg,#F3EAFA,#FBF8FD)}
.cf .axe{border-top:4px solid var(--cf-violet)}
.cf .axe .n{font-size:13px}
.cf .story .quote{background:var(--cf-ink);color:#E3C6F6;border-left-color:var(--cf-violet-l)}

/* =========== v6 : devise + horaires lumineux =========== */
.cf .story .quote{display:none}
.cf .motto{margin:30px 0 0;padding-left:22px;border-left:5px solid var(--cf-violet);font-family:Oswald,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(28px,3.2vw,40px);line-height:1.05;letter-spacing:.01em;color:var(--cf-ink)}
.cf .motto em{font-style:normal;background:linear-gradient(90deg,var(--cf-violet-d),var(--cf-violet-l));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Horaires (page Infos coureurs) : frise qui s'allume au défilement */
main>section#horaires.hz::before{background:linear-gradient(160deg,#16111C 0%,#22162E 45%,#36184F 100%)!important;box-shadow:none!important}
main>section#horaires.hz::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;background:radial-gradient(700px 500px at 85% 10%,rgba(176,79,224,.32),transparent 70%),radial-gradient(500px 400px at 5% 90%,rgba(91,91,240,.16),transparent 70%);pointer-events:none}
#horaires.hz .sh h2{color:#fff}
#horaires.hz .sh h2::before{color:#D9A8F2}
#horaires.hz .sh .ico{background:linear-gradient(150deg,#8B2FC9,#B04FE0)!important;box-shadow:0 0 22px rgba(176,79,224,.6)!important}
#horaires.hz .sh .bar{background:linear-gradient(90deg,#D9A8F2,rgba(217,168,242,0))}
#horaires.hz .lead{color:#D8CCE4}#horaires.hz .lead b{color:#fff}
#horaires.hz .tl::before{background:rgba(255,255,255,.1);width:3px}
#horaires.hz .hz-fill{position:absolute;left:78px;top:8px;width:4px;height:0;border-radius:4px;background:linear-gradient(180deg,#D9A8F2,#B04FE0,#5B5BF0);box-shadow:0 0 16px rgba(176,79,224,.85);transition:height .15s linear;z-index:0}
#horaires.hz .tl li::before{z-index:1;background:#22162E;border-color:rgba(255,255,255,.25);transition:all .35s}
#horaires.hz .tl li.lit::before{background:var(--k,#B04FE0);border-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.08),0 0 18px var(--k,#B04FE0);animation:hzGlow 2.4s ease-in-out infinite}
@keyframes hzGlow{50%{box-shadow:0 0 0 9px rgba(255,255,255,.04),0 0 30px var(--k,#B04FE0)}}
#horaires.hz .tl .h{color:#7F7290;transition:color .35s}
#horaires.hz .tl li.lit .h{color:#fff;text-shadow:0 0 18px rgba(217,168,242,.6)}
#horaires.hz .tl .ev{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;border-left:5px solid rgba(255,255,255,.18)!important;box-shadow:none!important;opacity:.55;transform:translateX(8px);transition:all .45s}
#horaires.hz .tl li.lit .ev{opacity:1;transform:none;background:rgba(255,255,255,.08)!important;border-left-color:var(--k,#B04FE0)!important;box-shadow:-6px 0 24px -10px var(--k,#B04FE0)!important}
#horaires.hz .tl .ev b,#horaires.hz .tl li.hl .ev b{color:#fff}
#horaires.hz .tl .ev .x{color:#CFC3DC}
#horaires.hz .tl li.hl .ev{background:rgba(242,183,5,.08)!important}
#horaires.hz .ch{background:rgba(217,168,242,.16);color:#F1E2FB}
#horaires.hz .ch.sas{background:#fff;color:#1F1A24}
#horaires.hz .note{background:rgba(255,255,255,.06);color:#E9DFF2;box-shadow:none;border-left-color:#D9A8F2}
#horaires.hz .note>span:first-child{color:#D9A8F2}
@media (max-width:640px){#horaires.hz .hz-fill{left:62px}}
.cf .story .txt p.motto{font-size:clamp(30px,3.4vw,44px);color:var(--cf-ink);margin:32px 0 0}
.cf .ev.wide{grid-column:1/-1;display:flex;align-items:center;gap:22px}
.cf .ev.wide b{font-size:84px}
.cf .ev.wide span{margin-top:0;font-size:17px}
.cf .ev.wide b::after{content:"+";color:#F3E6FC;font-size:.6em;vertical-align:top;margin-left:2px}
.cf .legal{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf .legal .card p a{color:var(--cf-violet);font-weight:800}
.cf .legal .card p b{color:var(--cf-ink)}
@media (max-width:760px){.cf .legal{grid-template-columns:1fr}}
.cf-fb{display:inline-flex;align-items:center;gap:7px}
