/* ==========================================================================
   vLiteRP — Accueil V2 (public/index.php)
   Hero plein écran conservé, puis : serveur en direct, comment rejoindre,
   ce qui t'attend, rejoindre l'équipe, actualités (si données), bandeau Discord.
   Mobile d'abord (gouttière 16 px, boutons pleine largeur), aucun flou de fond.
   Les images sont référencées relativement à ce fichier (assets/img/…).
   ========================================================================== */

/* ---------- HERO (même rendu qu'avant, affiné sur téléphone) ---------- */
.landingHero{
  position:relative;min-height:100vh;min-height:100svh;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;z-index:1;padding:calc(var(--nav-h) + 2rem) 5rem 7rem;
  background:url("img/hero-bg-1920.jpg") center center / cover no-repeat;
  background-image:-webkit-image-set(url("img/hero-bg-1920.webp") type("image/webp"), url("img/hero-bg-1920.jpg") type("image/jpeg"));
  background-image:image-set(url("img/hero-bg-1920.webp") type("image/webp"), url("img/hero-bg-1920.jpg") type("image/jpeg"));
}
@media (max-width:1400px){
  .landingHero{
    background-image:-webkit-image-set(url("img/hero-bg-1280.webp") type("image/webp"), url("img/hero-bg-1920.jpg") type("image/jpeg"));
    background-image:image-set(url("img/hero-bg-1280.webp") type("image/webp"), url("img/hero-bg-1920.jpg") type("image/jpeg"));
  }
}
/* le bas du hero se fond dans le fond de page : pas de coupure avec les sections */
.landingHero:before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(0deg,var(--bg) 0%,rgba(6,6,17,.6) 34%,rgba(6,6,17,.25) 70%),
    linear-gradient(180deg,rgba(6,6,17,.85) 0%,transparent 28%),
    linear-gradient(90deg,rgba(6,6,17,.55) 0%,transparent 45%);
}
.gridOverlay{
  position:absolute;inset:0;z-index:0;opacity:.09;pointer-events:none;
  background-image:linear-gradient(rgba(1,230,118,1) 1px,transparent 1px),linear-gradient(90deg,rgba(1,230,118,1) 1px,transparent 1px);
  background-size:80px 80px;transform:perspective(600px) rotateX(55deg) translateY(-20%);transform-origin:center top;
  filter:drop-shadow(0 0 1px rgba(1,230,118,.3));
  -webkit-mask-image:linear-gradient(to bottom,transparent 10%,black 30%,black 60%,transparent 90%);
  mask-image:linear-gradient(to bottom,transparent 10%,black 30%,black 60%,transparent 90%);
  animation:gridDrift 20s linear infinite;
}
@keyframes gridDrift{from{background-position:0 0}to{background-position:0 80px}}
.scanlines{position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px)}
.noiseOverlay{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.035;background-size:128px 128px;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ambient{position:absolute;pointer-events:none;filter:blur(80px)}
.ambientA{bottom:-10%;left:-8%;width:800px;height:800px;background:radial-gradient(circle,rgba(1,230,118,.20) 0%,transparent 55%);animation:lightPulse 6s ease-in-out infinite alternate}
.ambientB{top:8%;right:-10%;width:650px;height:650px;background:radial-gradient(circle,rgba(1,230,118,.11) 0%,transparent 55%);animation:lightPulse 8s ease-in-out infinite alternate-reverse}
.ambientC{top:28%;left:50%;transform:translateX(-50%);width:1000px;height:500px;background:radial-gradient(ellipse,rgba(110,231,183,.10) 0%,transparent 60%);filter:blur(100px)}
@keyframes lightPulse{from{opacity:.55}to{opacity:1}}
.hudC{position:absolute;z-index:5;width:50px;height:50px;pointer-events:none}
.hudC:before,.hudC:after{content:"";position:absolute;background:rgba(1,230,118,.32);filter:drop-shadow(0 0 4px rgba(1,230,118,.35))}
.hudTL{top:calc(var(--nav-h) + 1.5rem);left:2rem}.hudTL:before{top:0;left:0;width:25px;height:1px}.hudTL:after{top:0;left:0;width:1px;height:25px}
.hudTR{top:calc(var(--nav-h) + 1.5rem);right:2rem}.hudTR:before{top:0;right:0;width:25px;height:1px}.hudTR:after{top:0;right:0;width:1px;height:25px}
.hudBR{bottom:2rem;right:2rem}.hudBR:before{bottom:0;right:0;width:25px;height:1px}.hudBR:after{bottom:0;right:0;width:1px;height:25px}
.hudBL{bottom:2rem;left:2rem}.hudBL:before{bottom:0;left:0;width:25px;height:1px}.hudBL:after{bottom:0;left:0;width:1px;height:25px}

.bgText{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;white-space:nowrap;line-height:.85}
.bgText span{position:relative;font-family:var(--font-head);font-size:clamp(7rem,17vw,19rem);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.10)}
.bgText span:before{content:attr(data-text);position:absolute;inset:0;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.34);
  -webkit-mask-image:linear-gradient(90deg,transparent 10%,white 50%,transparent 90%);mask-image:linear-gradient(90deg,transparent 10%,white 50%,transparent 90%);
  -webkit-mask-size:25vw 100%;mask-size:25vw 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:strokeGlow 8s linear infinite}
.bgText span:last-child{-webkit-text-stroke:1.5px rgba(1,230,118,.16)}
.bgText span:last-child:before{-webkit-text-stroke:2px rgba(1,230,118,.5);animation-delay:1.2s}
@keyframes strokeGlow{from{-webkit-mask-position:-30vw 0;mask-position:-30vw 0}to{-webkit-mask-position:130vw 0;mask-position:130vw 0}}
@supports not (-webkit-text-stroke:1px black){.bgText{display:none}}

.heroContent{position:relative;z-index:5;width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;text-align:center}
.heroContent picture{display:block}
.heroContent .notice{margin:0 0 1.2rem;text-align:left}
.heroLogo{width:160px;height:160px;margin:0 auto 1.4rem;display:block;filter:drop-shadow(0 0 48px rgba(1,230,118,.42));animation:floatLogo 6s ease-in-out infinite}
@keyframes floatLogo{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.heroKicker{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.1rem;font-family:var(--font-head);font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(1,230,118,.8)}
.heroKicker:before,.heroKicker:after{content:"";width:26px;height:1px;background:rgba(1,230,118,.5);box-shadow:0 0 10px rgba(1,230,118,.5)}
.heroTitle{margin:0;font-family:var(--font-head);font-weight:700;font-size:clamp(2.8rem,6.5vw,5rem);line-height:.95;letter-spacing:.02em;text-transform:uppercase}
.heroTitle .g{color:var(--neon);text-shadow:0 0 40px rgba(1,230,118,.4)}
.tagline{font-size:.98rem;font-weight:300;line-height:1.8;color:rgba(255,255,255,.62);max-width:540px;margin:1.35rem auto 2.4rem}
.cursor{display:inline-block;color:var(--neon);opacity:.6;margin-left:2px;animation:blink 1s step-end infinite}
@keyframes blink{0%,100%{opacity:.6}50%{opacity:0}}
.actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}
.ctaJoin{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2.2rem;background:var(--neon);border-radius:3px;color:#04120a;font-family:var(--font-head);font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 0 30px rgba(1,230,118,.22);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ctaJoin:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(1,230,118,.42)}
.ctaJoin svg{width:14px;height:14px;flex-shrink:0}
.ctaGhost{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.8rem;border:1px solid rgba(1,230,118,.16);border-radius:4px;font-family:var(--font-head);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}
.ctaGhost:hover{color:rgba(255,255,255,.9);border-color:rgba(1,230,118,.4);background:rgba(1,230,118,.07);box-shadow:0 0 22px rgba(1,230,118,.10)}
.ctaGhost svg{width:16px;height:16px;flex-shrink:0;opacity:.6}
.ctaJoin:focus-visible,.ctaGhost:focus-visible,.scrollHint:focus-visible{outline:2px solid var(--neon);outline-offset:3px}

.sideInfo{position:absolute;right:5rem;bottom:6.5rem;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:1.9rem}
.sideInfo:before{content:"";position:absolute;right:-1.5rem;top:-.5rem;bottom:-.5rem;width:1px;background:linear-gradient(to bottom,transparent,rgba(1,230,118,.22),transparent)}
.infoBlock{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}
.infoLabel{font-family:var(--font-head);font-size:.55rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.infoValue{display:flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-size:.88rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.74)}
.infoName{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.playersValue{font-variant-numeric:tabular-nums}
.playersValue b{color:var(--neon);font-weight:700;text-shadow:0 0 16px rgba(1,230,118,.3)}
.playersSep{opacity:.35;margin:0 .1rem}
.heroStatus{display:none;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:1.6rem;padding:.7rem 1rem;border-radius:6px;border:1px solid rgba(1,230,118,.14);background:rgba(1,230,118,.05);font-family:var(--font-head);font-size:.85rem;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.62)}
.heroStatusSep{width:1px;height:14px;background:rgba(255,255,255,.14)}
.scrollHint{position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;padding:.4rem .8rem;color:rgba(255,255,255,.34)}
.scrollHint i{display:block;width:1px;height:34px;background:linear-gradient(to bottom,rgba(1,230,118,.5),transparent);animation:scrollLine 2.2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{opacity:.25;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}

@media (max-width:1180px){.landingHero{padding:calc(var(--nav-h) + 2rem) 3rem 6rem}.sideInfo{right:3rem;bottom:6rem}.hudC{display:none}}
@media (max-width:900px){.sideInfo,.scrollHint{display:none}.heroStatus{display:inline-flex}}
@media (max-width:640px){
  /* hauteur au contenu : la carte « Serveur en direct » dépasse sous le hero et invite à défiler */
  .landingHero{min-height:0;padding:calc(var(--nav-h) + 1.75rem) 16px 2.5rem;background-position:30% center}
  .heroLogo{width:110px;height:110px;margin-bottom:1.1rem}
  .bgText span{font-size:clamp(4.5rem,22vw,8rem)}
  .tagline{font-size:.88rem;max-width:100%;margin:1.1rem 0 1.8rem}
  .actions{gap:.75rem;width:100%}
  .ctaJoin,.ctaGhost{flex:1 1 auto;justify-content:center}
  /* sur téléphone, la carte « Serveur en direct » suit immédiatement le hero : pas de doublon d'état */
  .heroStatus{display:none}
}
@media (max-width:480px){.actions{flex-direction:column;align-items:stretch}.ctaJoin,.ctaGhost{width:100%;padding-left:1rem;padding-right:1rem}}

/* ==========================================================================
   SOUS LE HERO — éléments communs
   ========================================================================== */
.homeWrap{max-width:1140px;margin:0 auto;padding:0 16px}
.homeLive,.homeSection{position:relative;scroll-margin-top:var(--nav-h)}
.homeSection{padding:40px 0}
.homeSection.alt{background:linear-gradient(180deg,transparent,rgba(1,230,118,.035) 22%,transparent 85%)}
.secHead{margin-bottom:20px}
.secHead h2{margin-top:.55rem;font-size:clamp(1.5rem,4.2vw,2.1rem);text-transform:uppercase;letter-spacing:.03em}
.homeSection h2 .g{color:var(--neon);text-shadow:0 0 22px rgba(1,230,118,.3)}
.secTop{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.secLink{font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(1,230,118,.75);white-space:nowrap;transition:color .2s var(--ease)}
.secLink:hover{color:var(--neon)}
.hCard{position:relative;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px 16px;min-width:0}
.hCard.glow{border-color:var(--line);box-shadow:0 0 0 1px rgba(1,230,118,.04),0 14px 40px rgba(0,0,0,.35)}
.homeLive .btn,.homeSection .btn{width:100%;justify-content:center;text-align:center}
.btn svg{width:15px;height:15px;flex-shrink:0}
.btn:focus-visible,.secLink:focus-visible,.featLinks a:focus-visible,.newsMore:focus-visible,.liveMe a:focus-visible,.connectCopy:focus-visible,.inl:focus-visible{outline:2px solid var(--neon);outline-offset:3px}
.btnRow{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.hIcon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0;
  color:var(--neon);background:rgba(1,230,118,.08);border:1px solid rgba(1,230,118,.18);box-shadow:inset 0 0 18px rgba(1,230,118,.06)}
.hIcon svg{width:20px;height:20px}
.inl{color:var(--neon);text-decoration:underline;text-underline-offset:3px}

/* ---------- Serveur en direct ---------- */
.homeLive{padding:8px 0 4px}
.liveCard{display:flex;flex-direction:column;gap:16px;padding:20px 16px;overflow:hidden}
.liveCard:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(520px 200px at 0% 0%,rgba(1,230,118,.14),transparent 62%)}
.liveCard > *{position:relative;z-index:1}
.liveHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.liveState{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--neon)}
.liveState .statusDot{width:8px;height:8px}
.liveCard.off .liveState{color:#ff8a8a}
.liveNum{display:flex;align-items:baseline;gap:.4rem;margin-top:12px;font-family:var(--font-head);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.liveNum b{font-size:clamp(2.6rem,11vw,3.6rem);color:#fff;text-shadow:0 0 28px rgba(1,230,118,.3)}
.liveCard.off .liveNum b{color:rgba(255,255,255,.5);text-shadow:none}
.liveNum .max{font-size:1.1rem;color:rgba(255,255,255,.4)}
.liveLabel{margin-top:.45rem;font-size:.84rem;line-height:1.5;color:var(--muted)}
.liveActions{display:flex;flex-direction:column;gap:8px}
.liveMe{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border-radius:6px;border:1px solid rgba(1,230,118,.14);background:rgba(1,230,118,.05);font-size:.84rem;color:var(--muted)}
.liveMeTxt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liveMe b{color:#fff;font-weight:600}
.liveMe a{margin-left:auto;flex-shrink:0;color:var(--neon);font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
/* sur téléphone, les boutons du hero sont juste au-dessus : la carte se limite aux chiffres */
@media (max-width:640px){.liveActions{display:none}.liveCard{gap:12px}}

/* ---------- Comment rejoindre : 3 étapes ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.step{display:flex;flex-direction:column;gap:12px}
.step:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,var(--neon),transparent);opacity:.55}
.stepTop{display:flex;align-items:center;gap:12px}
.stepNum{font-family:var(--font-head);font-size:1.6rem;font-weight:700;line-height:1;color:rgba(1,230,118,.9);text-shadow:0 0 18px rgba(1,230,118,.35);font-variant-numeric:tabular-nums}
.step h3{font-size:1.12rem;text-transform:uppercase;letter-spacing:.04em}
.step p{color:var(--muted);font-size:.9rem;line-height:1.6;flex:1}
.stepDone{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid rgba(1,230,118,.3);background:rgba(1,230,118,.09);font-family:var(--font-head);font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#fff}
.stepDone svg{width:15px;height:15px;color:var(--neon);flex-shrink:0}
.stepDone span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.connectRow{display:flex;flex-direction:column;gap:6px}
.connectLbl{font-size:.78rem;color:var(--text-dim)}
.connectBox{display:flex;align-items:stretch;min-width:0;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:rgba(6,6,17,.6);overflow:hidden}
.connectBox code{flex:1;min-width:0;padding:.6rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:rgba(255,255,255,.85);overflow-wrap:anywhere;user-select:all}
.connectCopy{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;padding:0 .8rem;border:0;border-left:1px solid rgba(255,255,255,.1);background:rgba(1,230,118,.06);color:rgba(1,230,118,.85);cursor:pointer;
  font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s var(--ease),color .2s var(--ease)}
.connectCopy svg{width:14px;height:14px}
.connectCopy:hover{background:rgba(1,230,118,.14);color:#fff}
.connectCopy.ok{color:#fff;background:rgba(1,230,118,.2)}

/* ---------- Ce qui t'attend : 6 cartes ---------- */
.feats{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.feat{display:flex;flex-direction:column;gap:10px;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.feat:hover{border-color:rgba(1,230,118,.3);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.featTop{display:flex;align-items:center;gap:12px}
.feat h3{font-size:1.06rem;text-transform:uppercase;letter-spacing:.04em}
.feat p{color:var(--muted);font-size:.88rem;line-height:1.6;flex:1}
.featTag{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;padding:.3rem .6rem;border-radius:999px;border:1px solid rgba(1,230,118,.3);background:rgba(1,230,118,.08);
  font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#fff}
.featLinks{display:flex;flex-wrap:wrap;gap:6px 16px}
.featLinks a{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem 0;font-family:var(--font-head);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(1,230,118,.85);transition:color .2s var(--ease)}
.featLinks a:hover{color:#fff}
.featLinks a:after{content:"→";font-weight:400;transition:transform .2s var(--ease)}
.featLinks a:hover:after{transform:translateX(3px)}

/* ---------- Rejoindre l'équipe : staff + groupes ---------- */
.team{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.teamCard{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.teamCard:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(420px 160px at 100% 0%,rgba(1,230,118,.10),transparent 62%)}
.teamCard > *{position:relative;z-index:1}
.teamHead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.teamCard h3{font-size:1.22rem;text-transform:uppercase;letter-spacing:.04em}
.teamCard p{color:var(--muted);font-size:.9rem;line-height:1.6;flex:1}
.pill.open{border-color:rgba(1,230,118,.4);background:rgba(1,230,118,.1);color:#fff}
.pill.open .statusDot{width:7px;height:7px}
.pill.closed{border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.08);color:#ffb3b3}
.teamNote{font-size:.8rem;line-height:1.5;color:var(--text-dim)}

/* ---------- Actualités (affiché seulement s'il y a des données) ---------- */
.news{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.newsCol{display:flex;flex-direction:column}
.newsCol h3{display:flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--line-soft)}
.newsCol h3 .hIcon{width:28px;height:28px;border-radius:8px}
.newsCol h3 .hIcon svg{width:14px;height:14px}
.newsList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex:1}
.newsItem{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.newsItem:last-child{border-bottom:0}
.newsDate{flex-shrink:0;min-width:74px;font-family:var(--font-head);font-size:.76rem;font-weight:700;letter-spacing:.04em;color:rgba(1,230,118,.75);font-variant-numeric:tabular-nums;line-height:1.5}
.newsTitle{font-size:.9rem;line-height:1.45;color:rgba(255,255,255,.88);min-width:0;overflow-wrap:anywhere}
.newsTitle small{display:block;margin-top:2px;font-size:.76rem;color:var(--text-dim)}
.newsMore{align-self:flex-start;margin-top:10px;padding:.2rem 0;font-family:var(--font-head);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(1,230,118,.8)}
.newsMore:hover{color:var(--neon)}

/* ---------- Bandeau Discord final ---------- */
.homeDiscord{padding-top:8px}
.dcBand{display:flex;flex-direction:column;gap:16px;padding:22px 16px;overflow:hidden}
.dcBand:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(600px 220px at 100% 100%,rgba(88,101,242,.18),transparent 62%),radial-gradient(500px 200px at 0% 0%,rgba(1,230,118,.12),transparent 62%)}
.dcBand > *{position:relative;z-index:1}
.dcIcon{width:48px;height:48px;border-radius:12px;color:#c7cbff;background:rgba(88,101,242,.16);border-color:rgba(88,101,242,.35);box-shadow:none}
.dcIcon svg{width:26px;height:26px}
.dcText{min-width:0}
.dcText h2{font-size:clamp(1.3rem,4vw,1.7rem);text-transform:uppercase;letter-spacing:.03em}
.dcText p{margin-top:.45rem;color:var(--muted);font-size:.9rem;line-height:1.6}

/* ==========================================================================
   RESPONSIVE — élargissement progressif
   ========================================================================== */
@media (min-width:600px){
  .homeSection .btn,.homeLive .btn{width:auto}
  .btnRow,.liveActions{flex-direction:row;flex-wrap:wrap}
  .step .btn{align-self:flex-start}
  .news{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dcBand{flex-direction:row;align-items:center}
  .dcText{flex:1}
  .connectRow{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 10px}
}
@media (min-width:761px){
  .homeSection{padding:56px 0}
  .homeLive{padding:16px 0 8px}
  .secHead{margin-bottom:26px}
  .hCard{padding:22px 20px}
  .liveCard{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 28px;padding:24px 24px}
  .liveHead{justify-content:flex-start;gap:18px}
  .liveMe{grid-column:1 / -1}
  .liveActions{flex-direction:column;min-width:240px}
  .liveActions .btn{width:100%}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .step .btn{align-self:stretch}
  .connectRow{flex-direction:column;align-items:stretch}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dcBand{padding:26px 24px}
  /* léger décalage des apparitions quand les cartes sont côte à côte (.reveal : site.css + site_bottom.php) */
  .stagger > .reveal:nth-child(3n+2){transition-delay:.08s}
  .stagger > .reveal:nth-child(3n+3){transition-delay:.16s}
}
@media (min-width:981px){
  .homeSection{padding:72px 0}
  .feats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .news{grid-template-columns:repeat(3,minmax(0,1fr))}
  .liveActions{flex-direction:row;min-width:0}
  .liveActions .btn{width:auto}
}
@media (prefers-reduced-motion:reduce){
  .gridOverlay,.ambientA,.ambientB,.bgText span:before,.heroLogo,.cursor,.scrollHint i{animation:none !important}
  .feat{transition:none}
  .feat:hover{transform:none}
}
