/* ═══ PAS D'PRESSION ═══
   Identité : néon rose sur nuit, bleu électrique, ambiance bar */
:root{
  --nuit:      #0e0b12;
  --nuit-2:    #17121e;
  --carte:     #1d1726;
  --filet:     #2e2638;
  --creme:     #f4efe8;
  --texte:     #cfc7d4;
  --rose:      #ff00b1;
  --rose-fonce:#c70089;
  --bleu:      #3f6cff;
  --blanc:     #ffffff;
  --maxw: 1180px;
  --f: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --fd: "Barlow Condensed", "Arial Narrow", sans-serif;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; }
html,body{ overflow-x:clip; }
body{ font-family:var(--f); color:var(--texte); background:var(--nuit); line-height:1.7; -webkit-font-smoothing:antialiased; }
body::after{
  content:""; position:fixed; inset:0; z-index:200; pointer-events:none; opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--bleu); }
a:hover{ text-decoration:underline; }
:focus-visible{ outline:3px solid var(--rose); outline-offset:2px; border-radius:4px; }
.skip{ position:absolute; left:-9999px; top:0; background:var(--rose); color:#fff; padding:10px 18px; z-index:300; }
.skip:focus{ left:0; }

/* ── HEADER ── */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(14,11,18,.94);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:space-between;
  padding:10px clamp(16px,4vw,40px); gap:16px; flex-wrap:wrap;
  border-bottom:1px solid var(--filet);
}
header .marque img{ height:56px; width:auto; filter:drop-shadow(0 0 14px rgba(255,0,177,.55)); transition:filter .2s; }
header .marque:hover img{ filter:drop-shadow(0 0 22px rgba(255,0,177,.85)); }
nav.principale{ display:flex; gap:4px; flex-wrap:wrap; }
nav.principale a{
  font-family:var(--fd); font-size:18px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--creme); padding:8px 13px; text-decoration:none;
}
nav.principale a:hover{ color:var(--rose); text-decoration:none; }
.header-actions{ display:flex; align-items:center; gap:14px; }
.soc{ color:var(--creme); display:inline-flex; }
.soc svg{ width:19px; height:19px; }
.soc:hover{ color:var(--rose); }
.langues{ display:flex; gap:2px; border-left:1px solid var(--filet); padding-left:14px; }
.langues a{
  color:#9d92a8; font-size:12.5px; font-weight:700; padding:4px 7px; text-decoration:none;
}
.langues a.actif{ color:var(--creme); border-bottom:2px solid var(--rose); }
.langues a:hover{ color:var(--creme); text-decoration:none; }
#burger{ display:none; background:none; border:none; color:var(--creme); font-size:26px; cursor:pointer; padding:4px 8px; }
@media(max-width:900px){
  #burger{ display:block; }
  header .marque img{ height:46px; }
  header .soc{ display:none; }
  nav.principale{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--nuit-2); flex-direction:column; padding:10px;
    border-bottom:1px solid var(--filet);
  }
  body.menu-ouvert nav.principale{ display:flex; }
  nav.principale a{ padding:13px 16px; }
}

/* ── TITRES ── */
h2{
  font-family:var(--fd); font-size:clamp(34px,4.6vw,54px); font-weight:700;
  text-transform:uppercase; letter-spacing:.03em; line-height:1.05;
  color:var(--creme); margin-bottom:.6em;
}
h2::after{
  content:""; display:block; width:64px; height:6px; background:var(--rose);
  margin-top:12px; border-radius:3px;
  box-shadow:0 0 16px rgba(255,0,177,.8), 0 0 38px rgba(255,0,177,.35);
}
.centre h2::after{ margin-left:auto; margin-right:auto; }
h3{ font-family:var(--fd); font-size:clamp(22px,2.6vw,28px); font-weight:600; letter-spacing:.02em; color:var(--creme); margin:.3em 0 .25em; }
p{ font-size:clamp(15.5px,1.5vw,16.5px); margin:.8em 0; }
p.grand{ font-size:clamp(17px,1.9vw,20px); line-height:1.75; color:var(--creme); }

section{ padding:clamp(48px,7vw,92px) clamp(18px,4vw,40px); }
.contenu{ max-width:var(--maxw); margin:0 auto; }
.etroit{ max-width:860px; margin:0 auto; }
.centre{ text-align:center; }
.alt{ background:var(--nuit-2); }
.blanc{ background:var(--blanc); }

/* ── HERO ── */
.hero{ padding:0 0 clamp(40px,6vw,70px); }
.hero-img{ position:relative; max-height:72vh; overflow:hidden; }
@media(max-width:700px){ .hero-img{ max-height:none; } .hero-img img{ height:auto; width:100%; } }
.hero-img img{ width:100%; object-fit:cover; }
.hero-img::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,11,18,0) 62%, var(--nuit) 100%);
}
.hero-txt{ max-width:860px; margin:0 auto; padding:clamp(26px,4vw,44px) clamp(18px,4vw,40px) 0; text-align:center; }
.actions{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:26px; }
.btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--rose); color:#fff; font-weight:700; font-size:16px;
  padding:14px 30px; border-radius:10px; text-decoration:none;
}
.btn{ box-shadow:0 0 20px rgba(255,0,177,.4); }
.btn:hover{ background:var(--rose-fonce); text-decoration:none; color:#fff; box-shadow:0 0 34px rgba(255,0,177,.65); }
.btn-bleu{
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; color:var(--creme); font-weight:600; font-size:16px;
  padding:13px 26px; border-radius:10px; text-decoration:none;
  border:2px solid var(--bleu);
}
.btn-bleu:hover{ background:var(--bleu); color:#fff; text-decoration:none; }
.btn-bleu svg{ width:18px; height:18px; }

/* ── BANDEAU DÉFILANT ── */
.bandeau{
  overflow:hidden; white-space:nowrap; background:var(--nuit-2);
  border-top:1px solid var(--filet); border-bottom:1px solid var(--filet);
  padding:11px 0; position:relative;
}
.bandeau .defile{ display:inline-block; animation:defile 26s linear infinite; }
.bandeau span{
  font-family:var(--fd); font-size:19px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--creme); padding-right:14px;
}
.bandeau b{ color:var(--rose); font-weight:600; text-shadow:0 0 12px rgba(255,0,177,.7); }
@keyframes defile{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce){ .bandeau .defile{ animation:none; } }

/* ── ÉPISODES ── */
.grille-eps{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:38px; }
@media(max-width:860px){ .grille-eps{ grid-template-columns:1fr; } }
.ep{ background:var(--carte); border:1px solid var(--filet); border-radius:12px; overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.ep:hover{ border-color:rgba(255,0,177,.6); box-shadow:0 0 26px rgba(255,0,177,.14); }
.ep .ratio{ position:relative; padding-bottom:56.25%; height:0; background:#000; }
.ep iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ep-txt{ padding:18px 20px 20px; position:relative; }
.ep-txt::before{
  content:attr(data-n); position:absolute; right:16px; top:-34px;
  font-family:var(--fd); font-size:92px; font-weight:700; line-height:1;
  color:transparent; -webkit-text-stroke:1.5px rgba(255,0,177,.55);
  pointer-events:none;
}
.ep-num{
  font-family:var(--fd); font-size:15px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--rose);
}
.ep-txt p{ margin:.4em 0 0; font-size:15px; }

/* ── RESSOURCES ── */
.grille-res{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:30px; }
@media(max-width:760px){ .grille-res{ grid-template-columns:1fr; } }
.res{
  display:block; background:var(--carte); border:1px solid var(--filet); border-radius:10px;
  padding:16px 18px; text-decoration:none; color:var(--texte);
}
.res:hover{ border-color:var(--rose); text-decoration:none; }
.res b{ color:var(--creme); font-size:16px; }
.res:hover b{ color:var(--rose); }
.res p{ margin:.35em 0 0; font-size:14px; line-height:1.6; }

/* ── LOGOS (fond blanc) ── */
.blanc h2{ color:#191521; }
.blanc h2::after{ background:var(--rose); }
.blanc h2:not(:first-child){ margin-top:1.8em; }
.logos{
  display:flex; flex-wrap:wrap; gap:34px 46px; justify-content:center; align-items:center;
  margin:26px 0 10px;
}
.logos img{ max-height:56px; max-width:170px; width:auto; object-fit:contain; }
.logos .photo{ max-height:72px; border-radius:50%; }

/* ── FOOTER ── */
footer{ background:#0a0810; padding:44px clamp(18px,4vw,40px) 30px; border-top:1px solid var(--filet); }
footer .wrap{
  max-width:var(--maxw); margin:0 auto;
  display:flex; flex-wrap:wrap; gap:26px; justify-content:space-between; align-items:center;
}
footer img{ height:52px; filter:drop-shadow(0 0 10px rgba(255,0,177,.4)); }
.soc-row{ display:flex; gap:18px; }
.soc-row .soc svg{ width:22px; height:22px; }
footer .base{
  max-width:var(--maxw); margin:26px auto 0; padding-top:18px;
  border-top:1px solid var(--filet); font-size:13px; color:#8d8298;
}
footer .base a{ color:#b9aec6; }

@media(prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
