/*
Theme Name: EduBridge Neo
Author: EduBridge Africa
Version: 4.0.0
Text Domain: edubridge-neo
*/

@import url('https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&f[]=cabinet-grotesk@400,500,700,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ═══════════════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════════════ */
:root {
  --c-bg:      #04060F;
  --c-bg2:     #080C18;
  --c-bg3:     #0D1224;
  --c-bg4:     #060B17;
  --c-card:    #0A0E1C;
  --c-border:  rgba(255,255,255,.07);
  --c-border2: rgba(245,197,24,.18);

  --c-gold:    #F5C518;
  --c-gold2:   #E6B800;
  --c-gold3:   #FFD94D;
  --c-gold-a:  rgba(245,197,24,.10);

  --c-white:  #FFFFFF;
  --c-100:    #E8ECF8;
  --c-200:    #A8B4D0;
  --c-300:    #6474A0;
  --c-400:    #3A4870;

  --c-green:  #22D37F;
  --c-blue:   #4C8EF8;
  --c-purple: #9B72FF;
  --c-red:    #FF5C5C;

  --f-display: 'Clash Display', 'Plus Jakarta Sans', sans-serif;
  --f-body:    'Plus Jakarta Sans', sans-serif;
  --f-label:   'Cabinet Grotesk', 'Plus Jakarta Sans', sans-serif;

  --r:      12px;
  --r-lg:   20px;
  --r-xl:   28px;
  --r-2xl:  36px;
  --r-full: 9999px;

  --header-h:    64px;
  --header-h-lg: 72px;
  --admin-offset: 0px;
  --cont-max:    1280px;
  --cont-pad:    clamp(16px, 4vw, 48px);

  --t-fast:   .15s cubic-bezier(.4,0,.2,1);
  --t-med:    .3s  cubic-bezier(.4,0,.2,1);
  --t-slow:   .5s  cubic-bezier(.4,0,.2,1);
  --t-spring: .4s  cubic-bezier(.34,1.56,.64,1);
  --sh-gold:  0 0 32px rgba(245,197,24,.18);
}
.admin-bar { --admin-offset: 32px; }
@media(max-width:782px) { .admin-bar { --admin-offset: 46px; } }

/* ═══════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
html,body,.site,.site-content { overflow-x:hidden; }
body {
  background:var(--c-bg); color:var(--c-100);
  font-family:var(--f-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { border:none; background:none; cursor:pointer; font-family:inherit; color:inherit; }
.site { min-height:100dvh; display:flex; flex-direction:column; }
.site-content { flex:1 0 auto; }
.container {
  width:100%; max-width:var(--cont-max); margin:0 auto;
  padding-left:var(--cont-pad); padding-right:var(--cont-pad);
}
.skip-link { position:absolute; top:-100px; left:0; z-index:9999; padding:8px 16px; background:var(--c-gold); color:#000; font-weight:700; }
.skip-link:focus { top:0; }
.t-gold {
  background:linear-gradient(100deg,var(--c-gold),var(--c-gold3),var(--c-gold2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ═══════════════════════════════════════════════════
   KEYFRAMES
═══════════════════════════════════════════════════ */
@keyframes fadeUp    { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes scaleIn   { from{opacity:0;transform:scale(.94)} to{opacity:1;transform:scale(1)} }
@keyframes blink     { 0%,100%{opacity:1} 50%{opacity:.2} }
@keyframes float     { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes float2    { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-8px) rotate(2deg)} }
@keyframes ripple    { 0%{transform:scale(1);opacity:.7} 100%{transform:scale(2.4);opacity:0} }
@keyframes spin      { to{transform:rotate(360deg)} }
@keyframes shimmer   { 0%{transform:translateX(-100%)} 100%{transform:translateX(200%)} }
@keyframes loaderFill{ from{width:0} to{width:100%} }
@keyframes wordIn    { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes tickerMove{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes drift     { 0%{background-position:0 0} 100%{background-position:80px 80px} }
@keyframes gradShift { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
@keyframes mapPulse  { 0%{transform:translate(-50%,-50%) scale(.8);opacity:.6} 100%{transform:translate(-50%,-50%) scale(2.2);opacity:0} }
@keyframes mapDotIn  { from{opacity:0;transform:translate(-50%,-50%) scale(0)} to{opacity:1;transform:translate(-50%,-50%) scale(1)} }
@keyframes badgeFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
@keyframes chipPulse { 0%,100%{box-shadow:0 0 0 rgba(245,197,24,0)} 50%{box-shadow:0 0 12px rgba(245,197,24,.2)} }
@keyframes dashMove  { to{stroke-dashoffset:-22} }
@keyframes drawLine  { to{stroke-dashoffset:0} }
@keyframes phCardIn  { from{opacity:0;transform:translateX(12px)} to{opacity:1;transform:translateX(0)} }

/* ═══════════════════════════════════════════════════
   PRELOADER
═══════════════════════════════════════════════════ */
.eb-loader {
  position:fixed; inset:0; z-index:9999;
  background:var(--c-bg);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .5s ease, visibility .5s ease;
}
.eb-loader.hide { opacity:0; visibility:hidden; pointer-events:none; }
.eb-loader__inner { display:flex; flex-direction:column; align-items:center; gap:18px; animation:scaleIn .5s ease both; }
.eb-loader__logo { width:90px; height:90px; object-fit:contain; filter:drop-shadow(0 0 24px rgba(245,197,24,.55)); animation:float 3s ease-in-out infinite; }
.eb-loader__name { display:block; font:700 1.6rem/1 var(--f-display); letter-spacing:.08em; color:var(--c-white); }
.eb-loader__name span { background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-left:7px; }
.eb-loader__slogan { display:flex; gap:5px; flex-wrap:wrap; justify-content:center; font:400 .88rem var(--f-label); color:var(--c-300); }
.sl-word { display:inline-block; opacity:0; animation:wordIn .4s ease both; }
.sl-word:nth-child(1){animation-delay:.4s} .sl-word:nth-child(2){animation-delay:.5s} .sl-word:nth-child(3){animation-delay:.6s}
.sl-word:nth-child(4){animation-delay:.9s} .sl-word:nth-child(5){animation-delay:1s}  .sl-word:nth-child(6){animation-delay:1.1s}
.eb-loader__bar { width:180px; height:2px; background:rgba(255,255,255,.08); border-radius:2px; overflow:hidden; }
.eb-loader__fill { height:100%; width:0; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); border-radius:2px; animation:loaderFill 2s ease-in-out both; animation-delay:.3s; }

/* ═══════════════════════════════════════════════════
   SILHOUETTE AFRIQUE
═══════════════════════════════════════════════════ */
.africa-silhouette { position:fixed; right:-60px; bottom:-80px; width:min(45vw,500px); opacity:.03; pointer-events:none; z-index:0; animation:float2 12s ease-in-out infinite; }
.africa-silhouette path { fill:var(--c-gold); }
@media(max-width:900px){ .africa-silhouette { display:none; } }

/* ═══════════════════════════════════════════════════
   HEADER — GRID 3 COLONNES (DÉFINITION UNIQUE)
═══════════════════════════════════════════════════ */
.site-header {
  position:fixed; top:var(--admin-offset,0); left:0; right:0;
  height:var(--header-h); z-index:1000;
  background:rgba(4,6,15,.78);
  backdrop-filter:blur(24px) saturate(1.6);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);
  border-bottom:1px solid var(--c-border);
  transition:background var(--t-med), border-color var(--t-med), box-shadow var(--t-med);
}
.site-header.is-scrolled { background:rgba(4,6,15,.97); border-color:rgba(245,197,24,.12); box-shadow:0 4px 24px rgba(0,0,0,.5); }
@media(min-width:1024px){ .site-header { height:var(--header-h-lg); } }

.hd-inner {
  max-width:var(--cont-max); margin:0 auto;
  padding:0 clamp(12px,2.5vw,36px);
  height:100%;
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; column-gap:12px;
  overflow:visible;
}

/* Logo */
.hd-brand { grid-column:1; display:flex; align-items:center; gap:10px; text-decoration:none; white-space:nowrap; flex-shrink:0; }
.hd-logo { width:46px; height:46px; object-fit:contain; flex-shrink:0; transition:transform var(--t-spring); }
.hd-brand:hover .hd-logo { transform:scale(1.08) rotate(-3deg); }
.hd-wordmark { display:flex; flex-direction:column; line-height:1.1; }
.hw-main { font:700 1rem var(--f-display); letter-spacing:.05em; color:var(--c-white); white-space:nowrap; }
.hw-sub { font:600 .6rem var(--f-label); letter-spacing:.12em; text-transform:uppercase; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Nav desktop */
.hd-nav { grid-column:2; display:none; justify-content:center; align-items:center; overflow:visible; min-width:0; }
@media(min-width:1024px){ .hd-nav { display:flex; } }
.hd-menu { display:flex; align-items:center; list-style:none; padding:0; margin:0; gap:0; flex-wrap:nowrap; overflow:visible; }
.hd-menu > li { position:relative; }
.hd-menu > li > a { display:block; padding:8px 8px; font:500 .78rem var(--f-body); color:var(--c-300); white-space:nowrap; border-radius:var(--r); transition:color var(--t-fast),background var(--t-fast); }
.hd-menu > li > a:hover { color:var(--c-white); background:rgba(255,255,255,.06); }
.hd-menu > li.current-menu-item > a { color:var(--c-gold); }
.hd-menu .sub-menu { position:absolute; top:calc(100% + 8px); left:0; min-width:200px; background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:0 20px 50px rgba(0,0,0,.5); list-style:none; padding:6px; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity var(--t-med),transform var(--t-med),visibility var(--t-med); z-index:100; }
.hd-menu > li:hover > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.hd-menu .sub-menu a { display:block; padding:9px 12px; border-radius:var(--r); font:400 .84rem var(--f-body); color:var(--c-300); transition:color var(--t-fast),background var(--t-fast); }
.hd-menu .sub-menu a:hover { color:var(--c-gold); background:var(--c-gold-a); }

/* Actions */
.hd-actions { grid-column:3; display:flex; align-items:center; gap:6px; flex-shrink:0; white-space:nowrap; overflow:visible; }
.hd-socials { display:flex; gap:6px; }
@media(max-width:1280px){ .hd-socials { display:none !important; } }
.hd-social-btn { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:var(--r); background:rgba(255,255,255,.05); color:var(--c-300); border:1px solid var(--c-border); transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast); }
.hd-social-btn:hover { color:var(--c-gold); border-color:var(--c-border2); transform:translateY(-2px); }
.hd-icon-btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:var(--r); background:rgba(255,255,255,.05); color:var(--c-300); border:1px solid var(--c-border); cursor:pointer; flex-shrink:0; transition:color var(--t-fast),background var(--t-fast); }
.hd-icon-btn:hover { color:var(--c-white); background:rgba(255,255,255,.1); }
.hd-cta { display:inline-flex; align-items:center; justify-content:center; padding:8px 18px; border-radius:var(--r-full); font:700 .82rem var(--f-body); background:linear-gradient(135deg,var(--c-gold),var(--c-gold2)); color:#000 !important; box-shadow:0 4px 16px rgba(245,197,24,.32); transition:filter .2s,transform .2s,box-shadow .2s; white-space:nowrap; flex-shrink:0; text-decoration:none; }
.hd-cta:hover { filter:brightness(1.1); transform:translateY(-2px); box-shadow:0 8px 28px rgba(245,197,24,.45); }
.hd-cta-ghost { display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border-radius:var(--r-full); font:600 .82rem var(--f-body); color:var(--c-white) !important; border:1px solid rgba(255,255,255,.18); transition:border-color var(--t-fast),background var(--t-fast); white-space:nowrap; }
.hd-cta-ghost:hover { border-color:var(--c-gold); background:var(--c-gold-a); }
.hd-burger { display:inline-flex; }
@media(min-width:1024px){ .hd-burger { display:none !important; } }

/* Header responsive */
@media(max-width:1280px) and (min-width:1024px) { .hd-menu > li > a { font-size:.72rem; padding:7px 6px; } .hw-sub { display:none; } }
@media(min-width:1380px){ .hd-menu > li > a { padding:8px 10px; font-size:.82rem; } }
@media(min-width:1500px){ .hd-menu > li > a { padding:8px 13px; font-size:.86rem; } }
@media(max-width:1023px){ .hd-inner { grid-template-columns:auto auto; justify-content:space-between; padding:0 14px; } .hd-actions { grid-column:2; } .hd-logo { width:38px; height:38px; } .hw-sub { display:none; } .hd-cta { padding:7px 13px; font-size:.79rem; } }
@media(max-width:400px){ .hd-cta { padding:6px 10px; font-size:.74rem; } .hd-inner { padding:0 10px; } .hd-logo { width:32px; height:32px; } }

/* ═══════════════════════════════════════════════════
   SHEET MOBILE
═══════════════════════════════════════════════════ */
.eb-scrim { position:fixed; inset:0; background:rgba(0,0,0,.72); opacity:0; visibility:hidden; z-index:1090; transition:opacity var(--t-med),visibility var(--t-med); }
.eb-scrim.show { opacity:1; visibility:visible; }
.eb-sheet { position:fixed; left:0; top:0; bottom:0; width:min(320px,88vw); z-index:1100; background:var(--c-bg2); border-right:1px solid var(--c-border); transform:translateX(-100%); transition:transform var(--t-slow); overflow-y:auto; display:flex; flex-direction:column; }
.eb-sheet.open { transform:translateX(0); }
.eb-sheet__head { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--c-border); position:sticky; top:0; background:var(--c-bg2); z-index:1; }
.eb-sheet__title { font:700 1rem var(--f-display); color:var(--c-white); }
.eb-sheet__body { padding:16px 20px; display:flex; flex-direction:column; gap:14px; flex:1; }
.sheet-menu { list-style:none; display:flex; flex-direction:column; gap:4px; }
.sheet-menu > li > a { display:block; padding:12px 14px; border-radius:var(--r); font:500 .92rem var(--f-body); color:var(--c-300); background:rgba(255,255,255,.03); transition:color var(--t-fast),background var(--t-fast); }
.sheet-menu > li > a:hover { color:var(--c-gold); background:var(--c-gold-a); }
.sheet-menu .sub-menu { display:none; }
.sheet-socials { display:flex; gap:8px; }
.sheet-ctas { display:flex; flex-direction:column; gap:8px; }

/* ═══════════════════════════════════════════════════
   SEARCH OVERLAY
═══════════════════════════════════════════════════ */
.eb-search { position:fixed; inset:0; z-index:1200; background:rgba(4,6,15,.96); backdrop-filter:blur(12px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; opacity:0; visibility:hidden; transition:opacity var(--t-med),visibility var(--t-med); }
.eb-search.open { opacity:1; visibility:visible; }
.eb-search__close { position:absolute; top:24px; right:24px; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--r); color:var(--c-300); background:rgba(255,255,255,.06); border:1px solid var(--c-border); }
.eb-search__close:hover { color:var(--c-white); }
.eb-search__form { display:flex; width:100%; max-width:640px; background:var(--c-bg3); border:1px solid var(--c-border2); border-radius:var(--r-lg); overflow:hidden; }
.eb-search__form input { flex:1; padding:16px 20px; font-size:1.1rem; background:transparent; border:none; outline:none; color:var(--c-white); }
.eb-search__form input::placeholder { color:var(--c-400); }
.eb-search__form button { padding:0 20px; color:var(--c-gold); }
.eb-search__hint { font:.8rem var(--f-label); color:var(--c-400); }

/* ═══════════════════════════════════════════════════
   CANVAS BG + CONTENT OFFSET
═══════════════════════════════════════════════════ */
#ea-canvas { position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.4; }
.site-content { padding-top:calc(var(--admin-offset,0px) + var(--header-h)); }
@media(min-width:1024px){ .site-content { padding-top:calc(var(--admin-offset,0px) + var(--header-h-lg)); } }

/* ═══════════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity:1; transform:translateY(0); }
.rv1{transition-delay:.08s} .rv2{transition-delay:.16s} .rv3{transition-delay:.24s} .rv4{transition-delay:.32s} .rv5{transition-delay:.40s}
@media(prefers-reduced-motion:reduce){ .reveal{opacity:1!important;transform:none!important} }
@supports(-webkit-touch-callout:none){ @media(max-width:768px){ .reveal{opacity:1!important;transform:none!important} } }

/* ═══════════════════════════════════════════════════
   SECTIONS — ALTERNANCE RÉELLE DE FONDS
═══════════════════════════════════════════════════ */
.s-block { padding:clamp(56px,7vw,96px) 0; position:relative; z-index:1; background:var(--c-bg); }
.s-block.bg2 { background:var(--c-bg2); }
.s-block.bg3 { background:var(--c-bg3); }

/* CLAIR — fond crème chaud */
.s-light { background:#F0EDE6 !important; }
.s-light .s-title,
.s-light .s-title--dark { color:#0D1425 !important; }
.s-light .s-desc,
.s-light .s-desc--dark  { color:#4A5878 !important; }
.s-light .s-label,
.s-light .s-label--dark { color:#C9A200 !important; }
.s-light .s-label::before,
.s-light .s-label--dark::before { background:#C9A200 !important; }
/* Cards sur fond clair */
.s-light .stud-card, .s-light .group-card, .s-light .testi-card,
.s-light .sidebar-card, .s-light .tuto-item, .s-light .art-item { background:#fff !important; border-color:rgba(0,0,0,.09) !important; box-shadow:0 2px 14px rgba(0,0,0,.07); }
.s-light .stud-card__name, .s-light .group-name, .s-light .testi-name, .s-light .art-title { color:#0D1425 !important; }
.s-light .stud-card__pts, .s-light .group-sub, .s-light .gm-item, .s-light .testi-text, .s-light .art-meta { color:#64748b !important; }
.s-light .track-btn { background:#fff !important; border-color:rgba(0,0,0,.12) !important; color:#0D1425 !important; }
.s-light .track-btn:hover { border-color:#C9A200 !important; color:#C9A200 !important; background:#fff !important; }
.s-light .counter-chip { background:rgba(0,0,0,.05) !important; border-color:rgba(0,0,0,.1) !important; color:#4A5878 !important; }
.s-light .counter-chip strong { color:#C9A200 !important; }
.s-light .track-fade-left  { background:linear-gradient(to right,#F0EDE6,transparent) !important; }
.s-light .track-fade-right { background:linear-gradient(to left,#F0EDE6,transparent) !important; }
.s-light .sidebar-card__head { background:#E6E2DA !important; color:#0D1425 !important; border-color:rgba(0,0,0,.1) !important; }
.s-light .eligibility-cta { background:#fff !important; border-color:rgba(201,162,0,.3) !important; box-shadow:0 4px 24px rgba(0,0,0,.08); }
.s-light .elig-step { color:#4A5878 !important; }
.s-light .testi-text--dark { color:#4A5878 !important; }
.s-light .testi-name--dark { color:#0D1425 !important; }
.s-light .art-title--dark  { color:#0D1425 !important; }
.s-light .art-title--dark:hover { color:#C9A200 !important; }

/* GRADIENT MIXTE — pour la section offre */
.s-gradient-mix { background:linear-gradient(160deg,#0A0F1E 0%,#0F1828 35%,#091422 65%,#060914 100%) !important; }

/* GOLD SOMBRE — app mobile */
.s-gold-section { background:linear-gradient(135deg,#120E00 0%,#0D0900 40%,#080600 70%,#040300 100%) !important; position:relative; }
.s-gold-section::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:0; background:radial-gradient(ellipse at 25% 60%,rgba(245,197,24,.14) 0%,transparent 55%),radial-gradient(ellipse at 75% 30%,rgba(245,197,24,.06) 0%,transparent 50%); }
.s-gold-section .container { position:relative; z-index:1; }

/* CTA FINAL */
.s-cta-final { background:linear-gradient(180deg,#060B14 0%,#020408 100%) !important; position:relative; }
.s-cta-final::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 40%,rgba(245,197,24,.07) 0%,transparent 60%); }

/* HERO */
.hero {
  position:relative; min-height:calc(100svh - var(--header-h-lg));
  display:flex; align-items:center; overflow:hidden;
  background:radial-gradient(ellipse at 20% 60%,rgba(245,197,24,.05) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(76,142,248,.05) 0%,transparent 50%),var(--c-bg);
  padding:clamp(60px,8vw,100px) 0;
}

/* STATS BAND */
.stats-band { background:linear-gradient(90deg,#060914 0%,rgba(245,197,24,.05) 25%,rgba(245,197,24,.09) 50%,rgba(245,197,24,.05) 75%,#060914 100%); border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); padding:clamp(36px,5vw,56px) 0; position:relative; z-index:1; }

/* CARTE MONDE */
.s-world { background:linear-gradient(180deg,#0A0F1E 0%,#0D1528 100%) !important; padding:clamp(48px,6vw,80px) 0; position:relative; z-index:1; }

/* FOOTER */
.site-footer { background:linear-gradient(180deg,#02040C 0%,#010206 100%) !important; border-top:1px solid var(--c-border); padding:clamp(48px,6vw,80px) 0 0; position:relative; z-index:1; }

/* ═══════════════════════════════════════════════════
   TYPOGRAPHIE SECTIONS
═══════════════════════════════════════════════════ */
.s-label { display:inline-flex; align-items:center; gap:7px; font:600 .72rem var(--f-label); text-transform:uppercase; letter-spacing:.18em; color:var(--c-gold); margin-bottom:10px; }
.s-label::before { content:''; width:18px; height:1px; background:var(--c-gold); opacity:.5; }
.s-title { font:700 clamp(1.75rem,3.6vw,2.7rem)/1.1 var(--f-display); color:var(--c-white); margin-bottom:12px; letter-spacing:-.02em; }
.s-desc  { font:400 clamp(.9rem,1.7vw,1.05rem)/1.7 var(--f-body); color:var(--c-300); max-width:56ch; }
.s-header { text-align:center; margin-bottom:clamp(36px,4.5vw,60px); }
.s-header .s-desc { margin:0 auto; }
.s-sep { width:40px; height:2px; border-radius:2px; margin:12px auto 0; background:linear-gradient(90deg,var(--c-gold),transparent); }

/* ═══════════════════════════════════════════════════
   GRILLES
═══════════════════════════════════════════════════ */
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(14px,2vw,22px); }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,22px); }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,2vw,22px); }
@media(max-width:1060px){ .grid-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:860px) { .grid-3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px) { .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════
   BOUTONS
═══════════════════════════════════════════════════ */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 26px; border-radius:var(--r-full); font:600 .9rem var(--f-body); cursor:pointer; text-decoration:none; user-select:none; transition:transform var(--t-fast),box-shadow var(--t-fast),filter var(--t-fast); white-space:nowrap; position:relative; overflow:hidden; }
.btn:active { transform:scale(.97); }
.btn::after { content:''; position:absolute; top:0; left:-100%; width:60%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent); transform:skewX(-15deg); }
.btn:hover::after { animation:shimmer .5s ease; }
.btn-gold { background:linear-gradient(135deg,var(--c-gold),var(--c-gold2)); color:#000 !important; font-weight:700; box-shadow:0 6px 22px rgba(245,197,24,.32); }
.btn-gold:hover { filter:brightness(1.1); box-shadow:0 10px 34px rgba(245,197,24,.45); transform:translateY(-2px); }
.btn-outline { background:rgba(255,255,255,.06); color:var(--c-white) !important; border:1.5px solid rgba(255,255,255,.35); }
.btn-outline:hover { border-color:var(--c-gold); color:var(--c-gold) !important; background:var(--c-gold-a); }
.btn-ghost { background:rgba(255,255,255,.05); color:var(--c-white) !important; border:1px solid var(--c-border); }
.btn-ghost:hover { background:rgba(255,255,255,.1); border-color:rgba(245,197,24,.2); }

/* ═══════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════ */
.hero__grid { position:absolute; inset:0; z-index:0; background-image:radial-gradient(rgba(245,197,24,.08) 1px,transparent 1px); background-size:44px 44px; animation:drift 25s linear infinite; mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%); }
.hero__orb { position:absolute; border-radius:50%; pointer-events:none; filter:blur(100px); z-index:0; }
.hero__orb--a { width:600px;height:600px;top:-150px;left:-100px;background:radial-gradient(circle,rgba(245,197,24,.1),transparent 65%);animation:float 10s ease-in-out infinite; }
.hero__orb--b { width:500px;height:500px;bottom:-120px;right:-80px;background:radial-gradient(circle,rgba(76,142,248,.08),transparent 65%);animation:float 14s ease-in-out infinite reverse; }
.hero__orb--c { width:300px;height:300px;top:40%;left:40%;background:radial-gradient(circle,rgba(155,114,255,.06),transparent 65%);animation:float 8s ease-in-out infinite 2s; }
.hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,5vw,80px); align-items:center; max-width:var(--cont-max); margin:0 auto; padding:0 var(--cont-pad); }
.hero__eyebrow { display:inline-flex; align-items:center; gap:8px; padding:5px 14px; border-radius:var(--r-full); font:600 .74rem var(--f-label); text-transform:uppercase; letter-spacing:.12em; color:var(--c-gold); background:rgba(245,197,24,.08); border:1px solid rgba(245,197,24,.2); margin-bottom:20px; animation:fadeUp .5s ease both; }
.hero__dot { width:6px;height:6px;border-radius:50%;background:var(--c-gold);animation:blink 1.5s ease-in-out infinite; }
.hero__h1 { font:700 clamp(2.3rem,5vw,3.8rem)/1.05 var(--f-display); letter-spacing:-.03em; color:var(--c-white); margin-bottom:16px; animation:fadeUp .55s .08s ease both; }
.hero__h1 em { font-style:normal; }
.hero__p { font:400 clamp(.95rem,1.7vw,1.08rem)/1.7 var(--f-body); color:var(--c-300); margin-bottom:28px; max-width:50ch; animation:fadeUp .55s .16s ease both; }
.hero__ctas { display:flex; gap:12px; flex-wrap:wrap; animation:fadeUp .55s .24s ease both; }
.hero__kpis { display:flex; gap:28px; flex-wrap:wrap; margin-top:36px; padding-top:24px; border-top:1px solid var(--c-border); animation:fadeUp .55s .32s ease both; }
.hero__kpi-n { font:700 1.8rem/1 var(--f-display); background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero__kpi-l { font:400 .76rem var(--f-body); color:var(--c-300); margin-top:3px; }
.hero__visual { position:relative; display:flex; align-items:center; justify-content:center; animation:scaleIn .7s .15s ease both; }

/* Globe */
.hero-right-wrap { display:flex; align-items:flex-start; gap:20px; }
.net-wrap { position:relative; width:340px; height:340px; flex-shrink:0; }
#hero-net { position:absolute; inset:0; width:100%; height:100%; }
.net-halo { position:absolute; inset:60px; border-radius:50%; border:1px solid rgba(245,197,24,.18); box-shadow:0 0 80px rgba(245,197,24,.12),0 0 30px rgba(245,197,24,.08),inset 0 0 40px rgba(245,197,24,.04); pointer-events:none; }
.net-halo-ring { position:absolute; border-radius:50%; border:1px solid rgba(245,197,24,.1); top:50%; left:50%; transform:translate(-50%,-50%); animation:spin 25s linear infinite; }
.net-halo-ring:nth-child(1){ width:160px;height:160px; }
.net-halo-ring:nth-child(2){ width:260px;height:260px;animation-duration:35s;animation-direction:reverse; }
.net-halo-ring:nth-child(3){ width:380px;height:380px;animation-duration:45s; }
.net-card { position:absolute; background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-lg); padding:10px 14px; display:flex; align-items:center; gap:9px; white-space:nowrap; box-shadow:0 8px 32px rgba(0,0,0,.4); animation:float 5s ease-in-out infinite; font-size:.78rem; }
.net-card__ico { font-size:1.2rem; }
.net-card__txt strong { display:block; font:600 .82rem var(--f-display); color:var(--c-white); }
.net-card__txt span { color:var(--c-300); }
.net-card.c1 { top:2%;left:-5%;border-color:rgba(245,197,24,.2); }
.net-card.c2 { top:42%;left:-8%;animation-delay:1.4s;border-color:rgba(76,142,248,.18); }
.net-card.c3 { bottom:5%;right:-3%;animation-delay:2.8s;border-color:rgba(34,211,127,.18); }

/* Mini steps hero */
.hero-journey { flex:1; min-width:0; background:rgba(255,255,255,.04); border:1px solid rgba(245,197,24,.12); border-radius:20px; padding:18px 14px; backdrop-filter:blur(8px); }
.hj-title { font:700 .78rem var(--f-display); color:var(--c-gold); margin-bottom:14px; letter-spacing:.04em; }
.hj-steps { display:flex; flex-direction:column; }
.hj-step { display:flex; align-items:flex-start; gap:8px; position:relative; transition:all .3s ease; }
.hj-dot { width:8px;height:8px;border-radius:50%;background:rgba(245,197,24,.4);border:1.5px solid var(--c-gold);flex-shrink:0;margin-top:4px;transition:background .3s; }
.hj-dot--gold { background:var(--c-gold); }
.hj-line { position:absolute;left:3.5px;top:12px;width:1px;height:calc(100% + 4px);background:linear-gradient(180deg,rgba(245,197,24,.3),transparent); }
.hj-step:last-child .hj-line { display:none; }
.hj-text { font:400 .7rem var(--f-body); color:var(--c-300); padding-bottom:10px; transition:color .2s; }
.hj-text strong { color:var(--c-white); font-weight:600; }
.hj-step--active .hj-dot { background:var(--c-gold) !important; box-shadow:0 0 8px var(--c-gold); }
.hj-step--active .hj-text { color:var(--c-200) !important; }
.hj-step--active .hj-text strong { color:var(--c-gold) !important; }

@media(max-width:1200px){ .hero-right-wrap { flex-direction:column; gap:12px; } .net-wrap { width:100%; height:240px; } }

/* ═══════════════════════════════════════════════════
   TICKER DESTINATIONS (DORÉ)
═══════════════════════════════════════════════════ */
.eb-dest-ticker { width:100%; overflow:hidden; background:linear-gradient(90deg,#F5C518,#E6B800,#FFD94D,#E6B800); background-size:400% 100%; animation:gradShift 6s ease-in-out infinite; height:44px; display:flex; align-items:center; position:relative; z-index:5; }
.eb-dest-ticker__track { display:flex; align-items:center; animation:tickerMove 45s linear infinite; white-space:nowrap; will-change:transform; }
.eb-dest-ticker:hover .eb-dest-ticker__track { animation-play-state:paused; }
.eb-dest-ticker__item { display:inline-flex; align-items:center; gap:8px; padding:0 22px; border-right:1px solid rgba(0,0,0,.12); cursor:default; }
.eb-dest-ticker__flag { font-size:1.2rem; }
.eb-dest-ticker__name { font:700 .76rem var(--f-label); color:#000; letter-spacing:.04em; }

/* TICKER SERVICES (SOMBRE) */
.eb-ticker { width:100%; overflow:hidden; background:var(--c-bg3); border-bottom:1px solid var(--c-border); position:relative; z-index:5; height:38px; display:flex; align-items:center; }
.eb-ticker::before,.eb-ticker::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.eb-ticker::before { left:0; background:linear-gradient(to right,var(--c-bg3),transparent); }
.eb-ticker::after { right:0; background:linear-gradient(to left,var(--c-bg3),transparent); }
.eb-ticker__track { display:flex; align-items:center; animation:tickerMove 40s linear infinite; white-space:nowrap; will-change:transform; }
.eb-ticker:hover .eb-ticker__track { animation-play-state:paused; }
.eb-ticker__item { display:inline-flex; align-items:center; gap:7px; padding:0 26px; font:500 .76rem var(--f-label); color:var(--c-300); border-right:1px solid var(--c-border); transition:color var(--t-fast); }
.eb-ticker__item:hover { color:var(--c-gold); }
.eb-ticker__ico { font-size:.95rem; }

/* ═══════════════════════════════════════════════════
   JOURNEY PANELS (ÉTAPES)
═══════════════════════════════════════════════════ */
.journey-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:start; }
@media(max-width:900px){ .journey-grid { grid-template-columns:1fr; gap:32px; } }
.journey-panel { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:24px; padding:clamp(22px,3vw,34px); box-shadow:0 4px 24px rgba(0,0,0,.06); transition:transform .3s ease,box-shadow .3s ease; }
.journey-panel:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.12); }
.journey-panel__head { display:flex; align-items:flex-start; gap:14px; margin-bottom:18px; }
.journey-panel__ico-wrap { width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,rgba(245,197,24,.15),rgba(245,197,24,.06));border:1px solid rgba(245,197,24,.25);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0; }
.journey-panel__ico-wrap--blue { background:linear-gradient(135deg,rgba(76,142,248,.15),rgba(76,142,248,.06)); border-color:rgba(76,142,248,.25); }
.journey-panel__cat { font:600 .7rem var(--f-label); text-transform:uppercase; letter-spacing:.14em; color:var(--c-gold2); margin-bottom:4px; }
.journey-panel__title { font:700 1.02rem/1.25 var(--f-display); color:#0F1628; }
.jsv-track { display:flex; gap:12px; position:relative; }
.jsv-line { width:2px; flex-shrink:0; min-height:200px; }
.jsv-steps { flex:1; display:flex; flex-direction:column; }
.jsv-step { display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-bottom:1px solid rgba(0,0,0,.06); transition:background .2s,padding-left .2s; border-radius:10px; opacity:0; transform:translateX(-12px); }
.jsv-step:last-child { border-bottom:none; }
.jsv-step:hover { background:rgba(245,197,24,.05); padding-left:8px; }
.jsv-step--blue:hover { background:rgba(76,142,248,.05); }
.jsv-step.step-visible { opacity:1; transform:translateX(0); transition:opacity .4s ease,transform .4s ease; }
.jsv-step:nth-child(1){transition-delay:.0s} .jsv-step:nth-child(2){transition-delay:.08s} .jsv-step:nth-child(3){transition-delay:.16s}
.jsv-step:nth-child(4){transition-delay:.24s} .jsv-step:nth-child(5){transition-delay:.32s} .jsv-step:nth-child(6){transition-delay:.40s}
.jsv-step__num-wrap { display:flex; flex-direction:column; align-items:center; gap:4px; flex-shrink:0; min-width:34px; }
.jsv-step__num { width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--c-gold),var(--c-gold2));display:flex;align-items:center;justify-content:center;font:700 .6rem var(--f-label);color:#000;box-shadow:0 2px 8px rgba(245,197,24,.3); }
.jsv-step--blue .jsv-step__num { background:linear-gradient(135deg,#4C8EF8,#2563EB); box-shadow:0 2px 8px rgba(76,142,248,.3); color:#fff; }
.jsv-step__ico { font-size:.95rem; opacity:.8; }
.jsv-step__body { flex:1; }
.jsv-step__body strong { display:block; font:600 .84rem var(--f-display); color:#0F1628; margin-bottom:3px; }
.jsv-step__body p { font:400 .74rem/1.5 var(--f-body); color:#64748b; margin:0; }
.jsv-line.line-animate line { stroke-dashoffset:420; animation:drawLine 1.2s ease forwards; }

/* ═══════════════════════════════════════════════════
   OFFRE GRATUIT / PREMIUM
═══════════════════════════════════════════════════ */
.offer-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.5vw,28px); }
@media(max-width:760px){ .offer-split { grid-template-columns:1fr; } }
.offer-card { border-radius:var(--r-xl); padding:clamp(24px,3vw,36px); position:relative; overflow:hidden; border:1px solid var(--c-border); transition:transform var(--t-med),box-shadow var(--t-med); }
.offer-card:hover { transform:translateY(-4px); box-shadow:0 24px 56px rgba(0,0,0,.45); }
.offer-card--free { background:var(--c-card); }
.offer-card--premium { background:linear-gradient(135deg,rgba(245,197,24,.06),var(--c-card)); border-color:rgba(245,197,24,.2); }
.offer-card--premium::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); }
.offer-card__badge { display:inline-block; padding:4px 12px; border-radius:var(--r-full); font:600 .7rem var(--f-label); letter-spacing:.1em; text-transform:uppercase; background:rgba(255,255,255,.06); color:var(--c-300); border:1px solid var(--c-border); margin-bottom:16px; }
.offer-card__badge--gold { background:rgba(245,197,24,.1); color:var(--c-gold); border-color:rgba(245,197,24,.2); }
.offer-card__ico { font-size:2.4rem; margin-bottom:14px; }
.offer-card__title { font:700 1.1rem/1.25 var(--f-display); color:var(--c-white); margin-bottom:10px; }
.offer-card__desc  { font:400 .88rem/1.6 var(--f-body); color:var(--c-300); margin-bottom:16px; }
.offer-card__list  { display:flex; flex-direction:column; gap:9px; list-style:none; }
.offer-card__list li { display:flex; align-items:flex-start; gap:9px; font:400 .85rem var(--f-body); color:var(--c-200); }
.oli { flex-shrink:0; color:var(--c-green); font-weight:700; }
.oli--gold { color:var(--c-gold); }

/* ═══════════════════════════════════════════════════
   TEST ÉLIGIBILITÉ
═══════════════════════════════════════════════════ */
.eligibility-cta { display:grid; grid-template-columns:1fr auto; gap:clamp(24px,4vw,60px); align-items:center; background:var(--c-card); border:1px solid var(--c-border2); border-radius:var(--r-xl); padding:clamp(24px,3.5vw,44px); position:relative; overflow:hidden; }
.eligibility-cta::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3),transparent); }
@media(max-width:760px){ .eligibility-cta { grid-template-columns:1fr; gap:24px; } }
.elig-steps { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center; }
.elig-step { display:flex; flex-direction:column; align-items:center; gap:5px; font:400 .72rem var(--f-body); color:var(--c-400); }
.elig-step span { width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.22);font:700 .85rem var(--f-display);color:var(--c-gold); }
.elig-arrow { color:var(--c-400); font-size:.9rem; }

/* ═══════════════════════════════════════════════════
   CARTES D'INSCRIPTION
═══════════════════════════════════════════════════ */
.reg-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:clamp(12px,1.8vw,18px); }
.reg-card { display:flex; flex-direction:column; background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-xl); padding:22px 18px; text-decoration:none; color:inherit; position:relative; overflow:hidden; transition:border-color var(--t-med),transform var(--t-med),box-shadow var(--t-med); }
.reg-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--c-gold),transparent); opacity:0; transition:opacity var(--t-med); }
.reg-card:hover { border-color:rgba(245,197,24,.25); transform:translateY(-5px); box-shadow:0 20px 50px rgba(0,0,0,.4),var(--sh-gold); }
.reg-card:hover::before { opacity:1; }
.reg-card__ico { width:46px;height:46px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:12px;transition:transform var(--t-spring); }
.reg-card:hover .reg-card__ico { transform:rotateY(15deg) rotateX(10deg) scale(1.08); }
.reg-card__title { font:700 .95rem/1.2 var(--f-display); color:var(--c-white); margin-bottom:5px; }
.reg-card__desc  { font:400 .82rem/1.5 var(--f-body); color:var(--c-300); flex:1; }
.reg-card__arr { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,var(--c-gold),var(--c-gold2)); color:#000; font-weight:700; font-size:.85rem; margin-top:12px; align-self:flex-end; box-shadow:0 4px 12px rgba(245,197,24,.28); transition:transform var(--t-spring); }
.reg-card:hover .reg-card__arr { transform:translateX(4px) scale(1.1); }
.ico-gold   { background:rgba(245,197,24,.1); }
.ico-blue   { background:rgba(76,142,248,.1); }
.ico-green  { background:rgba(34,211,127,.1); }
.ico-purple { background:rgba(155,114,255,.1); }
.ico-red    { background:rgba(255,92,92,.1); }

/* ═══════════════════════════════════════════════════
   STATS BAND
═══════════════════════════════════════════════════ */
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
@media(max-width:760px){ .stats-row { grid-template-columns:repeat(2,1fr); } }
.stats-item { text-align:center; padding:28px 16px; background:var(--c-card); position:relative; transition:background var(--t-fast); }
.stats-item:hover { background:var(--c-bg3); }
.stats-item::after { content:''; position:absolute; right:0; top:20%; bottom:20%; width:1px; background:var(--c-border); }
.stats-item:last-child::after { display:none; }
@media(max-width:760px){ .stats-item:nth-child(2)::after { display:none; } }
.stats-num { display:block; font:700 clamp(1.9rem,4vw,2.7rem)/1 var(--f-display); background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:7px; }
.stats-lbl { font:400 .82rem var(--f-body); color:var(--c-400); }

/* ═══════════════════════════════════════════════════
   CARTE MONDE
═══════════════════════════════════════════════════ */
.world-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:28px; }
.world-stat-chips { display:flex; gap:10px; flex-wrap:wrap; }
.world-chip { display:inline-flex; align-items:center; gap:7px; background:rgba(245,197,24,.07); border:1px solid rgba(245,197,24,.2); border-radius:var(--r-full); padding:6px 14px; font:600 .76rem var(--f-label); color:var(--c-gold); white-space:nowrap; animation:chipPulse 3s ease-in-out infinite; }
.world-chip:nth-child(2){ animation-delay:1s; } .world-chip:nth-child(3){ animation-delay:2s; }
#eb-world-map { position:relative; width:100%; height:400px; overflow:hidden; border-radius:20px; border:1px solid rgba(245,197,24,.1); background:#080D1C; }
#eb-world-map::before { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 500'%3E%3Cpath fill='rgba(245,197,24,0.07)' d='M150,120 L200,100 L250,110 L280,130 L260,160 L220,170 L180,155 Z M300,80 L380,70 L420,90 L440,120 L400,145 L350,140 L310,115 Z M460,95 L520,85 L560,100 L570,130 L540,150 L490,145 L460,120 Z M580,110 L650,100 L700,115 L710,145 L670,160 L620,155 L585,135 Z M720,90 L800,80 L850,100 L855,130 L810,145 L760,140 L720,115 Z M160,200 L200,195 L230,210 L225,240 L195,255 L165,245 Z M250,210 L310,200 L350,215 L345,255 L305,270 L255,260 Z M100,280 L150,270 L200,285 L210,320 L170,340 L110,330 Z M400,260 L480,250 L520,270 L515,310 L470,325 L405,315 Z M560,240 L620,230 L660,248 L655,285 L610,300 L560,288 Z M680,250 L740,242 L775,260 L770,295 L730,308 L680,295 Z M820,200 L880,192 L915,208 L912,240 L870,252 L820,240 Z M200,350 L260,342 L295,358 L290,390 L248,402 L200,390 Z M480,330 L540,322 L575,340 L570,372 L528,384 L480,372 Z'/%3E%3C/svg%3E"); background-size:cover; background-position:center; }
.map-dot { position:absolute; cursor:pointer; animation:mapDotIn .5s ease both; z-index:2; overflow:visible; }
.map-dot__core { width:8px;height:8px;border-radius:50%;position:relative;z-index:2;box-shadow:0 0 8px var(--dc,#F5C518); }
.map-dot__ring { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:1.5px solid var(--dc,#F5C518);opacity:.5;animation:mapPulse 2s ease-out infinite; }
.map-dot__ring--2 { width:32px;height:32px;animation-delay:.6s;opacity:.25; }
.map-dot__label { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); background:rgba(8,13,28,.96); border:1px solid rgba(245,197,24,.28); border-radius:10px; padding:7px 12px; white-space:nowrap; pointer-events:none; opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; z-index:20; }
.map-dot:hover .map-dot__label { opacity:1 !important; visibility:visible; }
.map-dot__country { display:block; font:700 .76rem var(--f-display); color:#fff; }
.map-dot__count   { display:block; font:400 .66rem var(--f-body); color:var(--c-gold); }
.map-badge-wrap { position:absolute; top:14px; right:14px; display:flex; flex-direction:column; gap:8px; z-index:5; }
.map-badge { display:flex; align-items:center; gap:8px; background:rgba(8,13,28,.92); border:1px solid rgba(245,197,24,.22); border-radius:10px; padding:8px 12px; font:600 .72rem var(--f-label); color:#fff; backdrop-filter:blur(8px); animation:badgeFloat 3s ease-in-out infinite; }
.map-badge:nth-child(2){ animation-delay:1s; border-color:rgba(76,142,248,.28); }
.map-badge:nth-child(3){ animation-delay:2s; border-color:rgba(34,211,127,.28); }
.map-badge__ico { font-size:1rem; }
.map-badge strong { color:var(--c-white); }
.map-legend { display:flex; gap:16px; flex-wrap:wrap; margin-top:14px; padding:0 4px; }
.map-legend__item { display:flex; align-items:center; gap:6px; font:400 .74rem var(--f-body); color:var(--c-400); }
.map-legend__dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.map-connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; z-index:1; }

/* ═══════════════════════════════════════════════════
   CARROUSEL ÉTUDIANTS
═══════════════════════════════════════════════════ */
.students-track-wrap { position:relative; }
.track-fade-left,.track-fade-right { position:absolute; top:0; bottom:0; width:60px; pointer-events:none; z-index:2; }
.track-fade-left  { left:0;  background:linear-gradient(to right,var(--c-bg3),transparent); }
.track-fade-right { right:0; background:linear-gradient(to left,var(--c-bg3),transparent); }
.students-track { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:4px 2px 12px; cursor:grab; }
.students-track:active,.students-track.dragging { cursor:grabbing; }
.students-track::-webkit-scrollbar { display:none; }
.stud-card { scroll-snap-align:start; flex-shrink:0; display:flex; align-items:center; gap:10px; min-width:190px; background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-lg); padding:10px 14px; text-decoration:none; color:inherit; transition:border-color var(--t-fast),transform var(--t-fast); user-select:none; }
.stud-card:hover { border-color:rgba(245,197,24,.2); transform:translateY(-2px); }
.stud-card img { width:38px; height:38px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.stud-card__name { font:600 .8rem var(--f-display); color:var(--c-white); }
.stud-card__pts  { font:400 .68rem var(--f-body); color:var(--c-400); }
.track-nav { display:flex; gap:8px; }
.track-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:rgba(245,197,24,.1); border:1.5px solid rgba(245,197,24,.3); color:var(--c-gold); font-size:1.1rem; cursor:pointer; transition:all .25s ease; user-select:none; flex-shrink:0; }
.track-btn:hover { background:var(--c-gold); color:#000; transform:scale(1.12); box-shadow:0 4px 16px rgba(245,197,24,.4); }
.track-btn:active { transform:scale(.96); }
.counters-row { display:flex; flex-wrap:wrap; gap:8px; }
.counter-chip { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:var(--r-full); background:rgba(255,255,255,.04); border:1px solid var(--c-border); font:400 .78rem var(--f-body); color:var(--c-300); }
.counter-chip strong { font:700 .9rem var(--f-display); background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Variantes light pour sections claires */
.stud-card--light { background:#fff !important; border-color:rgba(0,0,0,.08) !important; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.stud-card--light .stud-card__name { color:#0D1425 !important; }
.stud-card--light .stud-card__pts  { color:#64748b !important; }
.stud-card--light:hover { border-color:var(--c-gold) !important; }
.track-fade-left--light  { background:linear-gradient(to right,#F0EDE6,transparent) !important; }
.track-fade-right--light { background:linear-gradient(to left,#F0EDE6,transparent) !important; }
.counter-chip--light { background:rgba(0,0,0,.05) !important; border-color:rgba(0,0,0,.1) !important; color:#4A5878 !important; }
.counter-chip--light strong { color:#C9A200 !important; }

/* ═══════════════════════════════════════════════════
   PILLS
═══════════════════════════════════════════════════ */
.pill { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:var(--r-full); font:600 .7rem var(--f-label); }
.pill-gold   { background:rgba(245,197,24,.08);  color:var(--c-gold);   border:1px solid rgba(245,197,24,.18); }
.pill-green  { background:rgba(34,211,127,.08);  color:var(--c-green);  border:1px solid rgba(34,211,127,.18); }
.pill-blue   { background:rgba(76,142,248,.08);  color:var(--c-blue);   border:1px solid rgba(76,142,248,.18); }
.pill-purple { background:rgba(155,114,255,.08); color:var(--c-purple); border:1px solid rgba(155,114,255,.18); }

/* ═══════════════════════════════════════════════════
   CARTES MENTORS
═══════════════════════════════════════════════════ */
.mentor-card { background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-xl); padding:22px; position:relative; overflow:hidden; transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med); }
.mentor-card:hover { transform:translateY(-6px); border-color:rgba(245,197,24,.2); box-shadow:0 24px 56px rgba(0,0,0,.45),var(--sh-gold); }
.mentor-avatar { width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 1.35rem/1 var(--f-display);color:#000;margin-bottom:14px;position:relative; }
.mentor-avatar__ring { position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(245,197,24,.28);animation:ripple 2.5s ease-out infinite; }
.mentor-card__price { position:absolute;top:14px;right:14px;background:rgba(245,197,24,.08);border:1px solid rgba(245,197,24,.18);border-radius:var(--r-full);padding:3px 9px;font:700 .74rem var(--f-label);color:var(--c-gold); }
.mentor-card__name  { font:700 .95rem var(--f-display); color:var(--c-white); margin-bottom:3px; }
.mentor-card__role  { font:400 .76rem var(--f-body); color:var(--c-400); margin-bottom:8px; }
.mentor-card__dom   { font:500 .76rem var(--f-label); color:var(--c-gold); margin-bottom:10px; }
.mentor-card__stars { display:flex; gap:2px; margin-bottom:8px; }
.star { color:var(--c-gold); font-size:.8rem; }
.sat-wrap { margin-top:8px; }
.sat-row  { display:flex; justify-content:space-between; margin-bottom:4px; }
.sat-row span   { font:400 .7rem var(--f-body); color:var(--c-400); }
.sat-row strong { font:600 .7rem var(--f-label); color:var(--c-gold); }
.sat-bar  { height:3px; border-radius:2px; background:rgba(255,255,255,.06); overflow:hidden; }
.sat-fill { height:100%; border-radius:2px; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); transition:width 1.2s ease; }
.mentor-card__stats { display:flex; gap:14px; margin-top:12px; padding-top:12px; border-top:1px solid var(--c-border); }
.ms-val { font:700 .86rem var(--f-display); color:var(--c-white); }
.ms-lbl { font:400 .66rem var(--f-body); color:var(--c-400); }

/* ═══════════════════════════════════════════════════
   GROUPES
═══════════════════════════════════════════════════ */
.group-card { background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-xl); padding:18px; display:flex; flex-direction:column; gap:10px; transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med); }
.group-card:hover { transform:translateY(-4px); border-color:rgba(245,197,24,.18); box-shadow:0 14px 38px rgba(0,0,0,.4); }
.group-head { display:flex; align-items:center; gap:10px; }
.group-ico  { width:42px;height:42px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0; }
.group-name { font:700 .88rem var(--f-display); color:var(--c-white); }
.group-sub  { font:400 .74rem var(--f-body); color:var(--c-400); }
.group-meta { display:flex; gap:12px; flex-wrap:wrap; }
.gm-item    { display:flex; align-items:center; gap:4px; font:400 .74rem var(--f-body); color:var(--c-300); }
.group-card--light { background:#fff !important; border-color:rgba(0,0,0,.08) !important; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.group-card--light:hover { border-color:var(--c-gold2) !important; box-shadow:0 8px 28px rgba(245,197,24,.12) !important; }
.group-name--dark { color:#0D1425 !important; }
.gm-item--dark    { color:#4A5878 !important; }

/* ═══════════════════════════════════════════════════
   ÉCOLES
═══════════════════════════════════════════════════ */
.school-note { display:flex; gap:12px; align-items:flex-start; padding:14px 18px; border-radius:var(--r-lg); background:rgba(245,197,24,.04); border:1px solid rgba(245,197,24,.12); margin-bottom:32px; font:400 .86rem/1.6 var(--f-body); color:var(--c-300); }
.school-note strong { color:var(--c-gold); }
.school-note .ico { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.school-card { background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-xl); padding:18px; position:relative; transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med); }
.school-card:hover { transform:translateY(-4px); border-color:rgba(245,197,24,.18); box-shadow:0 14px 38px rgba(0,0,0,.4); }
.school-card__ico  { width:44px;height:44px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:var(--c-bg3);border:1px solid var(--c-border);margin-bottom:12px; }
.school-card__name { font:700 .9rem var(--f-display); color:var(--c-white); margin-bottom:3px; }
.school-card__loc  { font:400 .74rem var(--f-body); color:var(--c-400); margin-bottom:10px; }
.school-card__tags { display:flex; gap:5px; flex-wrap:wrap; }
.school-card__auto { position:absolute; top:11px; right:11px; }

/* ═══════════════════════════════════════════════════
   ARTICLES + SIDEBAR
═══════════════════════════════════════════════════ */
.content-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(20px,3vw,40px); align-items:start; }
@media(max-width:1060px){ .content-layout { grid-template-columns:1fr; } }
.sidebar-card { background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-xl); overflow:hidden; position:sticky; top:calc(var(--header-h-lg) + 16px); }
.sidebar-card--light { background:#fff !important; border-color:rgba(0,0,0,.08) !important; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.sidebar-card__head { padding:14px 18px; border-bottom:1px solid var(--c-border); font:700 .86rem var(--f-display); color:var(--c-white); display:flex; align-items:center; gap:8px; }
.sidebar-card__head--dark { background:#E6E2DA !important; color:#0D1425 !important; border-color:rgba(0,0,0,.1) !important; }
.sidebar-card__body { padding:12px; }
.art-item { display:flex; gap:12px; padding:10px; border-radius:var(--r); transition:background var(--t-fast); }
.art-item:hover { background:rgba(255,255,255,.03); }
.art-item--light:hover { background:rgba(0,0,0,.03) !important; }
.art-thumb { width:56px;height:56px;border-radius:10px;background:var(--c-bg3);overflow:hidden;flex-shrink:0;border:1px solid var(--c-border); }
.art-thumb img { width:100%; height:100%; object-fit:cover; }
.art-title { font:600 .84rem/1.3 var(--f-display); color:var(--c-white); text-decoration:none; transition:color var(--t-fast); display:block; }
.art-title:hover { color:var(--c-gold); }
.art-title--dark { color:#0D1425 !important; }
.art-title--dark:hover { color:#C9A200 !important; }
.art-meta { font:400 .7rem var(--f-body); color:var(--c-400); margin-top:4px; }
.tuto-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.tuto-item { background:var(--c-bg3); border-radius:var(--r); border:1px solid var(--c-border); overflow:hidden; transition:border-color var(--t-fast),transform var(--t-fast); }
.tuto-item:hover { border-color:rgba(245,197,24,.18); transform:translateY(-2px); }
.tuto-item--light { background:#F4F0E8 !important; border-color:rgba(0,0,0,.08) !important; }
.tuto-item--light:hover { border-color:#C9A200 !important; }
.tuto-item video { width:100%; display:block; background:#000; max-height:110px; }
.tuto-item__label { padding:7px 10px; font:600 .72rem var(--f-display); color:var(--c-white); }
.tuto-item__label--dark { color:#0D1425 !important; }

/* ═══════════════════════════════════════════════════
   APP MOBILE
═══════════════════════════════════════════════════ */
.app-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,5vw,80px); align-items:center; }
@media(max-width:760px){ .app-split { grid-template-columns:1fr; } }
.phone-mock { position:relative; display:flex; justify-content:center; align-items:center; }
.phone-shell { width:240px; height:480px; background:var(--c-card); border-radius:32px; border:2px solid var(--c-border); box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 0 1px rgba(245,197,24,.05); overflow:hidden; position:relative; transform:perspective(900px) rotateY(-10deg) rotateX(4deg); transition:transform .5s cubic-bezier(.25,.46,.45,.94); }
.phone-screen { position:absolute; inset:8px; border-radius:26px; background:var(--c-bg3); overflow:hidden; display:flex; flex-direction:column; gap:7px; padding:12px 10px; }
.ph-bar { height:3px; border-radius:2px; background:rgba(245,197,24,.2); }
.ph-card { background:var(--c-card); border-radius:8px; padding:8px; border:1px solid var(--c-border); position:relative; animation:phCardIn .4s ease both; }
.ph-card:nth-child(2){animation-delay:.1s} .ph-card:nth-child(3){animation-delay:.2s} .ph-card:nth-child(4){animation-delay:.3s} .ph-card:nth-child(5){animation-delay:.4s}
.ph-card-t { font:600 .62rem var(--f-display); color:var(--c-white); margin-bottom:2px; }
.ph-card-d { font:400 .58rem var(--f-body); color:var(--c-400); }
.ph-card-gold { border-color:rgba(245,197,24,.18); background:rgba(245,197,24,.03); }
.ph-card::after { content:attr(data-notif); position:absolute; top:-4px; right:-4px; background:#EF4444; color:#fff; font:700 .5rem sans-serif; width:14px; height:14px; border-radius:50%; display:none; align-items:center; justify-content:center; }
.ph-card[data-notif]::after { display:flex; }
.phone-glow { position:absolute; inset:-40px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(245,197,24,.06),transparent 70%); animation:float 5s ease-in-out infinite; }
.app-features { display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.app-feat { display:flex; align-items:flex-start; gap:12px; }
.app-feat > span { width:34px;height:34px;border-radius:var(--r);flex-shrink:0;background:rgba(245,197,24,.09);border:1px solid rgba(245,197,24,.18);display:flex;align-items:center;justify-content:center;font-size:.95rem; }
.app-feat strong { display:block; font:600 .86rem var(--f-display); margin-bottom:2px; }
.app-feat p { font:400 .78rem var(--f-body); margin:0; }
.app-soon-badge { display:inline-flex; align-items:center; gap:7px; margin-top:20px; padding:9px 16px; border-radius:var(--r-full); background:rgba(245,197,24,.07); border:1px solid rgba(245,197,24,.17); font:500 .82rem var(--f-body); color:var(--c-300); }

/* ═══════════════════════════════════════════════════
   COMING SOON + TÉMOIGNAGES
═══════════════════════════════════════════════════ */
.coming-card { max-width:700px; margin:0 auto; background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-2xl); padding:clamp(32px,5vw,56px); text-align:center; position:relative; overflow:hidden; }
.coming-card::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:200px; height:2px; background:linear-gradient(90deg,transparent,var(--c-gold),transparent); }
.coming-card__ico { font-size:3.2rem; margin-bottom:18px; display:block; filter:drop-shadow(0 0 16px var(--c-gold)); }
.sfp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:24px; }
.sfp-item { background:var(--c-bg2); border-radius:var(--r); padding:12px; border:1px solid var(--c-border); }
.sfp-ico { font-size:1.3rem; margin-bottom:5px; }
.sfp-lbl { font:600 .75rem var(--f-body); color:var(--c-300); }
.testi-card { background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-xl); padding:24px; position:relative; overflow:hidden; }
.testi-card::before { content:'"'; position:absolute; top:-8px; left:14px; font:800 5rem/1 var(--f-display); color:rgba(245,197,24,.05); pointer-events:none; }
.testi-text   { font:400 .88rem/1.75 var(--f-body); color:var(--c-300); margin-bottom:18px; position:relative; z-index:1; }
.testi-author { display:flex; align-items:center; gap:12px; }
.testi-av     { width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 .92rem var(--f-display);color:#000;flex-shrink:0; }
.testi-name   { font:600 .84rem var(--f-display); color:var(--c-white); }
.testi-role   { font:400 .72rem var(--f-body); color:var(--c-400); }
.testi-card--light { background:#fff !important; border-color:rgba(0,0,0,.08) !important; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.testi-text--dark  { color:#4A5878 !important; }
.testi-name--dark  { color:#0D1425 !important; }

/* ═══════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════ */
.site-footer::before { content:''; display:block; height:2px; margin-bottom:clamp(48px,6vw,80px); background:linear-gradient(90deg,transparent,var(--c-gold),var(--c-gold3),transparent); opacity:.25; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:clamp(28px,4vw,52px); padding-bottom:clamp(36px,5vw,60px); border-bottom:1px solid var(--c-border); }
@media(max-width:900px){ .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .footer-grid { grid-template-columns:1fr; } }
.footer-brand { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-brand-logo { width:36px; height:36px; object-fit:contain; }
.footer-brand-name { font:700 1rem var(--f-display); color:var(--c-white); line-height:1.1; }
.footer-brand-name em { font-style:normal; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.footer-tagline { font:400 .84rem/1.65 var(--f-body); color:var(--c-400); max-width:38ch; margin-bottom:18px; }
.footer-socials { display:flex; gap:8px; margin-bottom:18px; }
.f-social { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:var(--r); background:rgba(255,255,255,.04); color:var(--c-400); border:1px solid var(--c-border); transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast); }
.f-social:hover { color:var(--c-gold); border-color:rgba(245,197,24,.25); transform:translateY(-2px); }
.footer-cta-row { display:flex; gap:8px; flex-wrap:wrap; }
.footer-col h4 { font:700 .76rem var(--f-label); color:var(--c-white); text-transform:uppercase; letter-spacing:.12em; margin-bottom:14px; }
.footer-col ul { display:flex; flex-direction:column; gap:9px; }
.footer-col ul li a { font:400 .84rem var(--f-body); color:var(--c-400); transition:color var(--t-fast),padding-left var(--t-fast); display:inline-flex; align-items:center; gap:5px; }
.footer-col ul li a:hover { color:var(--c-gold); padding-left:4px; }
.footer-col address { font-style:normal; display:flex; flex-direction:column; gap:9px; }
.footer-col address span { display:flex; align-items:center; gap:8px; font:400 .84rem var(--f-body); color:var(--c-400); }
.footer-col address a { color:var(--c-400); transition:color var(--t-fast); }
.footer-col address a:hover { color:var(--c-gold); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:18px 0; }
.footer-legal { font:400 .76rem var(--f-body); color:var(--c-400); }
.footer-links { display:flex; gap:14px; flex-wrap:wrap; }
.footer-links a { font:400 .76rem var(--f-body); color:var(--c-400); transition:color var(--t-fast); }
.footer-links a:hover { color:var(--c-gold); }

/* ═══════════════════════════════════════════════════
   FAB + PWA
═══════════════════════════════════════════════════ */
.fab { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); z-index:1400; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--r-lg); border:none; background:linear-gradient(135deg,var(--c-gold),var(--c-gold2)); box-shadow:0 8px 20px rgba(245,197,24,.3); color:#000 !important; cursor:pointer; transition:transform var(--t-fast),box-shadow var(--t-fast),opacity var(--t-fast); opacity:.9; }
.fab:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(245,197,24,.5); opacity:1; }
.fab:active { transform:scale(.96); }
.fab svg { transition:transform .2s ease; fill:currentColor; }
.fab[data-mode="down"] svg { transform:rotate(180deg); }
#pwa-banner,#ios-banner { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:var(--c-card); border-radius:var(--r-xl); box-shadow:0 20px 60px rgba(0,0,0,.6); width:92%; max-width:420px; padding:22px; font-family:var(--f-body); z-index:99999; animation:fadeUp .5s ease; border:1px solid var(--c-border); color:var(--c-300); }
#pwa-banner h3,#ios-banner h3 { font:700 1.05rem var(--f-display); margin-bottom:10px; background:linear-gradient(90deg,var(--c-gold),var(--c-gold3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
#pwa-banner button,#ios-banner button { background:linear-gradient(135deg,var(--c-gold),var(--c-gold2)); border:none; color:#000; font:700 .86rem var(--f-body); padding:10px 20px; border-radius:var(--r-full); cursor:pointer; margin-top:12px; }
.pwa-close-btn { background:rgba(255,255,255,.06) !important; color:var(--c-300) !important; border:1px solid var(--c-border) !important; margin-left:8px !important; }
.close { float:right; cursor:pointer; color:var(--c-400); font-size:18px; line-height:1; }

/* ═══════════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════════ */
#eb-cursor-glow { will-change:top,left; }

/* ═══════════════════════════════════════════════════
   FORMULAIRE INSCRIPTION
═══════════════════════════════════════════════════ */
.edb-reg-wrap { max-width:680px; margin:40px auto; padding:0 16px; font-family:var(--f-body); position:relative; }
.entry-content .edb-reg-wrap,.site-content .edb-reg-wrap { margin-left:auto; margin-right:auto; }
.page-template-default .site-content > .container,.page .site-content > .container { display:flex; justify-content:center; padding-top:20px; padding-bottom:40px; }

/* ═══════════════════════════════════════════════════
   CONTENU WP GÉNÉRIQUE
═══════════════════════════════════════════════════ */
.entry-content { color:var(--c-300); word-break:break-word; max-width:72ch; }
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4 { color:var(--c-white); font-family:var(--f-display); margin:1.5em 0 .6em; }
.entry-content p { margin-bottom:1rem; line-height:1.7; }
.entry-content a { color:var(--c-gold); transition:color var(--t-fast); }
.entry-content a:hover { color:var(--c-gold3); }
.entry-content ul,.entry-content ol { padding-left:1.4em; margin-bottom:1rem; }
.entry-content li { margin-bottom:.4rem; }
h1 { font:700 clamp(1.6rem,4vw,2.2rem)/1.1 var(--f-display); }
h2 { font:700 clamp(1.2rem,3.2vw,1.65rem)/1.2 var(--f-display); }
h3 { font:600 clamp(1rem,2.8vw,1.25rem)/1.25 var(--f-display); }
p,li { font-size:clamp(.88rem,2.6vw,.98rem); line-height:1.65; }
.kbd :focus-visible { outline:2px solid var(--c-gold); outline-offset:3px; }

/* ═══════════════════════════════════════════════════
   RESPONSIVE MOBILE — TOUT EN UN
═══════════════════════════════════════════════════ */

/* HERO mobile */
@media(max-width:860px){
  .hero { min-height:auto !important; padding:clamp(28px,6vw,52px) 0 clamp(36px,6vw,52px) !important; align-items:flex-start; }
  .hero__inner { grid-template-columns:1fr !important; gap:24px; }
  .hero__visual,.hero-right-wrap,.hero-journey,.net-wrap { display:none !important; }
  .hero__h1 { font-size:clamp(1.9rem,7vw,2.6rem) !important; line-height:1.1 !important; margin-bottom:12px !important; }
  .hero__p { font-size:clamp(.88rem,3.5vw,1rem) !important; max-width:100% !important; margin-bottom:18px !important; }
  .hero__eyebrow { font-size:.66rem !important; padding:4px 10px !important; margin-bottom:14px !important; }
  .hero__ctas { flex-direction:column !important; gap:10px !important; }
  .hero__ctas .btn { width:100% !important; justify-content:center !important; padding:13px 18px !important; }
  .hero__kpis { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:10px !important; margin-top:20px !important; padding-top:18px !important; }
  .hero__kpi-n { font-size:1.4rem !important; }
  .hero__kpi-l { font-size:.66rem !important; }
}
@media(max-width:480px){
  .hero { padding:22px 0 32px !important; }
  .hero__h1 { font-size:clamp(1.65rem,8vw,2rem) !important; }
  .hero__kpi-n { font-size:1.2rem !important; }
}

/* Sections padding mobile */
@media(max-width:640px){
  .s-block { padding:clamp(32px,8vw,52px) 0 !important; }
  .s-header { margin-bottom:clamp(22px,5vw,36px) !important; }
  .s-title  { font-size:clamp(1.4rem,6vw,1.9rem) !important; }
  .journey-grid { grid-template-columns:1fr !important; gap:20px !important; }
  .journey-panel { padding:16px !important; }
  .offer-split { grid-template-columns:1fr !important; }
  .app-split { grid-template-columns:1fr !important; gap:28px !important; }
  .phone-shell { width:190px !important; height:380px !important; }
  .eligibility-cta { grid-template-columns:1fr !important; gap:20px !important; }
  #eb-world-map { height:200px !important; }
  .map-badge-wrap { display:none !important; }
  .coming-card { padding:24px 16px !important; }
  .sfp-grid { grid-template-columns:repeat(2,1fr) !important; }
  .footer-grid { grid-template-columns:1fr !important; }
  .footer-bottom { flex-direction:column; text-align:center; }
}

/* Grilles */
@media(max-width:860px){ .grid-3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr !important; }
  .stats-row { grid-template-columns:repeat(2,1fr) !important; }
  .reg-grid  { grid-template-columns:repeat(2,1fr) !important; }
  .tuto-grid { grid-template-columns:1fr !important; }
}
@media(max-width:380px){
  .grid-4,.reg-grid,.sfp-grid { grid-template-columns:1fr !important; }
  .stats-row { grid-template-columns:1fr !important; }
  .stats-item::after { display:none; }
}
@media(max-width:1060px){ .grid-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:1060px){ .content-layout { grid-template-columns:1fr; } }
@media(max-width:900px){ .footer-grid { grid-template-columns:1fr 1fr; } }

/* Ticker destinations mobile */
@media(max-width:480px){
  .eb-dest-ticker { height:36px !important; }
  .eb-dest-ticker__flag { font-size:.95rem !important; }
  .eb-dest-ticker__name { font-size:.62rem !important; }
  .eb-dest-ticker__item { padding:0 12px !important; }
}

/* Header mobile */
@media(max-width:420px){
  .hw-main { font-size:.84rem !important; }
  .hd-cta { padding:6px 10px !important; font-size:.74rem !important; }
  .hd-icon-btn { width:30px !important; height:30px !important; }
}

/* Carte monde */
@media(max-width:760px){
  #eb-world-map { height:260px !important; }
  .map-badge-wrap { display:none; }
  .world-header { flex-direction:column; }
}
