/* ============================================================
   DÉSIRÉ DOUÉ — "GIFTED" · N°14
   Design football : PSG navy / red · gold Ligue des Champions
   ============================================================ */

:root{
  --noir:#06070d;
  --noir-2:#0b0d18;
  --bleu:#0a1f4d;       /* PSG navy */
  --bleu-deep:#04122e;
  --rouge:#e2231a;      /* PSG red */
  --rouge-2:#b3000a;
  --or:#e9c46a;         /* LDC gold */
  --or-2:#c79a3a;
  --blanc:#f4f3ee;
  --gris:#8b90a0;
  --ff-disp:'Anton', sans-serif;
  --ff-black:'Archivo Black', sans-serif;
  --ff-cond:'Bebas Neue', sans-serif;
  --ff-body:'Space Grotesk', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;}
body{
  background:var(--noir);
  color:var(--blanc);
  font-family:var(--ff-body);
  overflow-x:hidden;
  cursor:none;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
section{position:relative;}
::selection{background:var(--rouge);color:#fff;}

/* lenis */
html.lenis{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}

/* ---------- SCROLL PROGRESS ---------- */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;z-index:9998;
  background:linear-gradient(90deg,var(--bleu),var(--rouge),var(--or));box-shadow:0 0 16px rgba(226,35,26,.5);}

/* ---------- CURSOR ---------- */
.cursor,.cursor-follow{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;}
.cursor{width:7px;height:7px;background:#fff;transform:translate(-50%,-50%);}
.cursor-follow{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s,border-color .3s;}
.cursor-follow.grow{width:90px;height:90px;background:rgba(255,255,255,.1);border-color:transparent;}
.cursor-follow.view{width:116px;height:116px;background:var(--rouge);border-color:transparent;mix-blend-mode:normal;}
.cursor-follow.view::after{content:'VIEW';position:absolute;inset:0;display:grid;place-items:center;font:700 11px var(--ff-body);letter-spacing:.15em;color:#fff;}
@media(hover:none){.cursor,.cursor-follow{display:none;}body{cursor:auto;}}

/* ============================================================
   PRELOADER
   ============================================================ */
.preloader{position:fixed;inset:0;z-index:10000;overflow:hidden;display:grid;place-items:center;background:transparent;}
.pl-glow{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:.9;}
.pl-grain{position:absolute;inset:0;z-index:2;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.pl-14{position:absolute;z-index:2;right:3vw;bottom:2vh;font-family:var(--ff-disp);font-size:clamp(120px,34vw,520px);line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(226,35,26,.22);pointer-events:none;}
.pl-corner{position:absolute;z-index:3;top:clamp(20px,4vh,40px);font:700 11px var(--ff-body);letter-spacing:.28em;color:rgba(244,243,238,.5);}
.pl-tl{left:clamp(20px,4vw,48px);}
.pl-tr{right:clamp(20px,4vw,48px);}
.pl-center{position:relative;z-index:3;text-align:center;width:min(94vw,1200px);}
.pl-kick{display:block;font:600 12px var(--ff-body);letter-spacing:.5em;color:var(--or);margin-bottom:clamp(16px,3vh,30px);}
.pl-name{display:flex;flex-direction:column;gap:0;}
.pl-word{position:relative;display:block;font-family:var(--ff-disp);font-size:clamp(58px,15.5vw,230px);line-height:.86;letter-spacing:.005em;}
.pl-base{display:block;color:transparent;-webkit-text-stroke:1.4px rgba(244,243,238,.20);}
.pl-fillw{position:absolute;inset:0;display:block;color:var(--blanc);
  background:linear-gradient(120deg,#fff 0%,#f4f3ee 40%,var(--or) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  clip-path:inset(100% 0 0 0);filter:drop-shadow(0 0 30px rgba(233,196,106,.25));}
.pl-foot{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,48px);margin-top:clamp(20px,3.5vh,36px);flex-wrap:wrap;}
.pl-pct{font-family:var(--ff-body);font-weight:700;font-size:clamp(26px,5vw,60px);line-height:1;color:var(--blanc);}
.pl-pct i{font-style:normal;color:var(--rouge);font-size:.42em;vertical-align:super;margin-left:2px;}
.pl-logos{display:flex;align-items:center;gap:14px;}
.pl-logos img{height:clamp(26px,3vw,34px);width:auto;opacity:.92;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));}
.pl-logos span{width:4px;height:4px;border-radius:50%;background:var(--rouge);}
.pl-line{position:absolute;left:0;bottom:0;width:100%;height:3px;background:rgba(255,255,255,.07);z-index:3;}
.pl-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bleu),var(--rouge),var(--or));box-shadow:0 0 16px rgba(226,35,26,.7);}
.pl-reveal{position:absolute;inset:0;z-index:1;display:flex;pointer-events:none;}
.pl-reveal i{flex:1;height:100%;background:#05060c;transform:translateY(0);will-change:transform;}
@media(max-width:600px){.pl-foot{flex-direction:column;gap:16px;}}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;top:0;left:0;width:100%;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,52px);mix-blend-mode:difference;}
.nav-logo{display:flex;align-items:center;gap:12px;color:#fff;font:700 14px var(--ff-body);letter-spacing:.05em;}
.nav-mono{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1.5px solid #fff;
  font-family:var(--ff-disp);font-size:16px;letter-spacing:.04em;line-height:1;}
.nav-mono i{position:absolute;right:-8px;top:-8px;font-style:normal;font-family:var(--ff-body);font-size:9px;font-weight:700;
  background:var(--rouge);color:#fff;border-radius:5px;padding:2px 4px;line-height:1;letter-spacing:.02em;}
.nav-name{font-weight:700;letter-spacing:.08em;white-space:nowrap;}
@media(max-width:560px){.nav-name{display:none;}}
.nav-mid{display:flex;gap:6px;align-items:center;}
.nav-mid a{display:inline-flex;align-items:center;gap:7px;font:500 12px var(--ff-body);letter-spacing:.04em;color:#fff;position:relative;padding:8px 14px;border-radius:40px;transition:background .35s,color .35s;}
.nav-mid a i{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--rouge);opacity:.85;transition:color .35s;}
.nav-mid a span{position:relative;}
.nav-mid a span::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1px;background:currentColor;transition:width .35s;}
.nav-mid a:hover span::after{width:100%;}
.nav-mid a:hover{background:rgba(255,255,255,.08);}
.nav-mid a.active{background:#fff;color:var(--noir);}
.nav-mid a.active i{color:var(--rouge);opacity:1;}
.nav-mid a.active span::after{width:0;}
.nav-burger{background:none;border:none;color:#fff;display:flex;align-items:center;gap:9px;font:700 12px var(--ff-body);letter-spacing:.2em;cursor:none;}
.nav-burger span{display:block;width:26px;height:2px;background:#fff;position:relative;transition:.4s;}
.nav-burger span:last-of-type{width:16px;}
body.menu-open .nav-burger span:first-of-type{transform:translateY(3px) rotate(45deg);}
body.menu-open .nav-burger span:last-of-type{width:26px;transform:translateY(-1px) rotate(-45deg);}
@media(max-width:860px){.nav-mid{display:none;}}

/* ---------- MENU OVERLAY ---------- */
.menu{position:fixed;inset:0;z-index:800;pointer-events:none;clip-path:inset(0 0 100% 0);transition:clip-path .9s cubic-bezier(.86,0,.07,1);}
.menu.open{pointer-events:auto;clip-path:inset(0 0 0% 0);}
.menu-bg{position:absolute;inset:0;background:var(--bleu-deep);}
.menu-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(226,35,26,.22),transparent 50%);}
.menu-inner{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,7vw,120px);gap:40px;flex-wrap:wrap;}
.menu-tag{font:600 12px var(--ff-body);letter-spacing:.35em;color:var(--or);}
.menu-list{list-style:none;margin-top:24px;}
.menu-list li{overflow:hidden;}
.menu-list a{display:flex;align-items:baseline;gap:18px;font-family:var(--ff-disp);font-size:clamp(30px,5.2vw,68px);line-height:1.08;color:var(--blanc);transition:color .3s,transform .4s;transform:translateY(110%);}
.menu.open .menu-list a{transform:translateY(0);}
.menu-list a::before{content:attr(data-num);font:600 13px var(--ff-body);color:var(--gris);letter-spacing:.1em;}
.menu-list a:hover{color:var(--rouge);transform:translateX(14px);}
.menu-col-right{max-width:320px;}
.menu-col-right p{font-size:15px;line-height:1.7;color:var(--gris);}
.menu-clubs{display:flex;gap:22px;margin-top:26px;align-items:center;}
.menu-clubs img{height:54px;width:auto;filter:drop-shadow(0 6px 20px rgba(0,0,0,.5));}

/* ============================================================
   HERO
   ============================================================ */
.hero{height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 120%,rgba(10,31,77,.7),transparent 55%),
    radial-gradient(circle at 50% -10%,rgba(226,35,26,.25),transparent 45%),
    var(--noir);}
.hero-grain{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:5;}
.hero-aura{position:absolute;width:70vw;height:70vw;left:50%;top:54%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(226,35,26,.10),transparent 60%);filter:blur(20px);}
.hero-glow{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.4;mix-blend-mode:screen;pointer-events:none;}
.hero-marq{position:absolute;top:13%;left:0;width:100%;overflow:hidden;white-space:nowrap;z-index:1;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);}
.marq-track{display:inline-flex;will-change:transform;}
.marq-track span{font-family:var(--ff-disp);font-size:clamp(22px,3vw,46px);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);letter-spacing:.02em;white-space:nowrap;}
.marq-track em{font-style:normal;-webkit-text-stroke:0;color:var(--rouge);padding:0 .15em;}

.hero-title{position:absolute;z-index:2;text-align:center;width:100%;pointer-events:none;}
.ht-line{display:block;overflow:hidden;}
.ht-w{display:inline-block;font-family:var(--ff-disp);font-size:clamp(70px,19vw,300px);line-height:.82;letter-spacing:-.01em;}
.ht-w.outline{color:transparent;-webkit-text-stroke:2px var(--blanc);}

/* couches strictement séparées : wrap(scroll) > rise(entrée) > tilt(souris) > zoom(ken-burns) > img(entrée) */
.hero-img-wrap{position:relative;z-index:3;width:min(58vw,720px);aspect-ratio:16/9;perspective:1200px;will-change:transform;}
.hero-img-rise{position:relative;width:100%;height:100%;will-change:transform,opacity;}
.hero-img-tilt{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;
  box-shadow:0 50px 130px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
  transform-style:preserve-3d;will-change:transform;}
.hero-img-zoom{position:absolute;inset:0;overflow:hidden;will-change:transform;}
.hero-img-zoom img{width:100%;height:100%;object-fit:cover;will-change:transform;}
.hero-img-grad{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,7,13,.18) 0%,transparent 30%,transparent 62%,rgba(6,7,13,.6) 100%);}
.hero-img-tag{position:absolute;left:14px;bottom:14px;z-index:4;font:700 12px var(--ff-body);letter-spacing:.16em;color:var(--or);background:rgba(6,7,13,.6);backdrop-filter:blur(8px);padding:9px 15px;border-radius:40px;border:1px solid rgba(233,196,106,.4);transform-origin:left bottom;box-shadow:0 8px 24px rgba(0,0,0,.4);}
.hero-img-sheen{position:absolute;top:0;left:-60%;width:55%;height:100%;z-index:4;pointer-events:none;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:sheen 6.5s ease-in-out infinite;}
@keyframes sheen{0%{left:-60%;}22%,100%{left:160%;}}

.hero-meta{position:absolute;bottom:7%;left:clamp(18px,4vw,52px);z-index:4;display:flex;gap:38px;flex-wrap:wrap;}
.hm-block{display:flex;flex-direction:column;gap:4px;}
.hm-k{font:600 11px var(--ff-body);letter-spacing:.25em;color:var(--rouge);}
.hm-v{font:500 15px var(--ff-body);color:var(--blanc);}
.hm-live{color:var(--or) !important;}
.hero-scroll{position:absolute;bottom:7%;right:clamp(18px,4vw,52px);z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;}
.hero-scroll span{font:600 11px var(--ff-body);letter-spacing:.3em;color:var(--gris);writing-mode:vertical-rl;}
.hero-scroll i{width:1px;height:54px;background:linear-gradient(var(--rouge),transparent);}
.hero-big14{position:absolute;z-index:2;right:2vw;top:50%;transform:translateY(-50%);font-family:var(--ff-disp);font-size:38vw;line-height:.7;color:rgba(255,255,255,.025);pointer-events:none;}

/* logos clubs en fond (remplacent les cercles) */
.hero-clubs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.hc{position:absolute;top:50%;width:min(42vw,560px);height:auto;opacity:.07;will-change:transform;filter:drop-shadow(0 20px 60px rgba(0,0,0,.4));}
.hc-left{left:-9%;transform:translateY(-50%);}
.hc-right{right:-10%;transform:translateY(-50%);}
@media(max-width:760px){.hc{width:66vw;opacity:.05;}.hc-left{left:-24%;}.hc-right{right:-26%;}}
.hero-stage{position:relative;z-index:3;display:grid;place-items:center;width:100%;}
.ht-char{display:inline-block;transform:translateY(110%);will-change:transform;}

.hero-float{position:absolute;z-index:2;width:clamp(110px,11vw,170px);aspect-ratio:3/4;border-radius:6px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55);opacity:0;will-change:transform;border:1px solid rgba(255,255,255,.12);}
.hero-float img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.hero-float:hover img{transform:scale(1.08);}
.hero-float em{position:absolute;left:8px;bottom:8px;font:700 10px var(--ff-body);letter-spacing:.2em;font-style:normal;background:var(--rouge);padding:3px 8px;border-radius:30px;}
.hero-float.f1{left:5vw;top:22%;}
.hero-float.f2{right:5vw;top:16%;}
.hero-float.f3{right:8vw;bottom:18%;}
.hero-float.f4{left:7vw;bottom:20%;}
@media(max-width:900px){.hero-float{display:none;}}

/* ============================================================
   INTRO
   ============================================================ */
.intro{position:relative;overflow:hidden;padding:clamp(80px,13vh,160px) clamp(20px,8vw,140px);
  background:linear-gradient(180deg,#080a14,var(--noir) 55%);
  border-radius:clamp(26px,3.6vw,46px) clamp(26px,3.6vw,46px) 0 0;
  margin-top:clamp(-40px,-3vw,-24px);z-index:2;box-shadow:0 -34px 90px rgba(0,0,0,.55);}
.intro::after{content:'';position:absolute;z-index:3;top:16px;left:50%;transform:translateX(-50%);width:58px;height:4px;border-radius:4px;background:rgba(255,255,255,.18);}
.intro-deco{position:absolute;right:-1%;top:2%;z-index:0;font-family:var(--ff-disp);font-size:clamp(150px,27vw,440px);line-height:.78;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.025);pointer-events:none;}
.intro>*{position:relative;z-index:1;}
.intro-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.intro-tag{display:inline-flex;align-items:center;gap:12px;font:600 12px var(--ff-body);letter-spacing:.32em;color:var(--rouge);}
.intro-tag i{width:34px;height:1px;background:var(--rouge);}
.intro-idx{font:600 12px var(--ff-body);letter-spacing:.3em;color:var(--gris);}
.intro-text{font-family:var(--ff-body);font-weight:500;font-size:clamp(22px,3.3vw,46px);line-height:1.32;max-width:1100px;letter-spacing:-.01em;}
.intro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);margin-top:clamp(50px,8vh,80px);}
.intro-stats .is{position:relative;border-top:1px solid rgba(255,255,255,.14);padding:24px 6px 0 0;transition:border-color .4s;}
.intro-stats .is::before{content:'';position:absolute;top:-1px;left:0;width:24px;height:2px;background:var(--rouge);transition:width .5s ease;}
.intro-stats .is:hover::before{width:100%;}
.intro-stats .is b{display:block;font-family:var(--ff-disp);font-size:clamp(40px,6vw,92px);line-height:1;
  background:linear-gradient(180deg,#ffffff,#8b90a0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.intro-stats .is span{font:500 13px var(--ff-body);color:var(--gris);letter-spacing:.04em;}
@media(max-width:760px){.intro-stats{grid-template-columns:repeat(2,1fr);gap:36px 20px;}}

/* ============================================================
   SHOWREEL VIDÉO — cinématique pinned GSAP
   ============================================================ */
.showreel{height:100vh;position:relative;overflow:hidden;background:var(--noir);}
.sr-sticky{position:relative;height:100%;display:grid;place-items:center;overflow:hidden;}
.sr-frame{position:relative;width:100vw;height:100vh;overflow:hidden;background:#000;will-change:clip-path;
  clip-path:inset(19% 18% 19% 18% round 18px);}
.sr-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;}
.sr-veil{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,7,13,.45) 0%,transparent 26%,transparent 55%,rgba(6,7,13,.78) 100%);}
.sr-scan{position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.4) 0 1px,transparent 1px 3px);}
.sr-ui{position:absolute;left:clamp(20px,4vw,56px);bottom:clamp(24px,5vh,56px);z-index:3;}
.sr-kick{display:inline-flex;align-items:center;gap:9px;font:700 12px var(--ff-body);letter-spacing:.28em;color:var(--or);margin-bottom:14px;}
.sr-kick i{width:8px;height:8px;border-radius:50%;background:var(--rouge);box-shadow:0 0 10px var(--rouge);animation:blink 1.4s infinite;}
.sr-title{margin:0;}
.sr-title .line{display:block;overflow:hidden;}
.sr-title .line span{display:block;font-family:var(--ff-disp);font-size:clamp(40px,8vw,130px);line-height:.86;transform:translateY(110%);}
.sr-title .o{color:transparent;-webkit-text-stroke:1.6px var(--blanc);}
.sr-meta{display:block;margin-top:16px;font:600 13px var(--ff-body);letter-spacing:.16em;color:#dfe1e9;}
.sr-corner{position:absolute;z-index:3;font:700 10px var(--ff-body);letter-spacing:.2em;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:7px;}
.sr-corner.tl{top:clamp(16px,3vh,28px);left:clamp(16px,3vw,32px);}
.sr-corner.tr{top:clamp(16px,3vh,28px);right:clamp(16px,3vw,32px);}
.sr-corner.bl{bottom:clamp(16px,3vh,28px);left:clamp(16px,3vw,32px);color:transparent;-webkit-text-stroke:.5px rgba(255,255,255,.5);}
.sr-corner.br{bottom:clamp(16px,3vh,28px);right:clamp(16px,3vw,32px);}
.sr-rec{width:9px;height:9px;border-radius:50%;background:var(--rouge);box-shadow:0 0 10px var(--rouge);animation:blink 1.2s infinite;}
.sr-sound{position:absolute;z-index:4;top:50%;right:clamp(16px,3vw,32px);transform:translateY(-50%);
  background:rgba(6,7,13,.5);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:var(--blanc);
  border-radius:40px;padding:10px 16px;font:700 11px var(--ff-body);letter-spacing:.16em;cursor:none;transition:background .3s,border-color .3s;}
.sr-sound:hover{background:var(--rouge);border-color:var(--rouge);}
.sr-sound .sr-sound-off{display:none;}
.sr-sound.on .sr-sound-on{display:none;}
.sr-sound.on .sr-sound-off{display:inline;}
@media(max-width:760px){.sr-frame{width:90vw;height:54vh;}.sr-title .line span{font-size:clamp(34px,11vw,80px);}}

/* ============================================================
   REVEAL PIN (zoom / dézoom)
   ============================================================ */
.revpin{height:100vh;min-height:600px;overflow:hidden;position:relative;display:grid;place-items:center;background:var(--noir);}
.revpin-img{position:absolute;inset:0;z-index:0;overflow:hidden;}
.revpin-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.6);will-change:transform;}
.revpin-veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 18%,rgba(6,7,13,.6) 72%,var(--noir) 100%);}
.revpin-words{position:relative;z-index:2;text-align:center;}
.rp-kick{font:600 12px var(--ff-body);letter-spacing:.4em;color:var(--or);}
.rp-title{margin:16px 0;}
.rp-title span{display:block;font-family:var(--ff-disp);font-size:clamp(60px,15vw,230px);line-height:.82;}
.rp-title .o{color:transparent;-webkit-text-stroke:2px var(--blanc);}
.revpin-words p{color:#dfe1e9;font-size:clamp(14px,1.7vw,20px);letter-spacing:.02em;}
.revpin-hint{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:10px;font:600 11px var(--ff-body);letter-spacing:.25em;color:var(--gris);text-transform:uppercase;}
.revpin-hint i{width:8px;height:8px;border-radius:50%;background:var(--rouge);box-shadow:0 0 10px var(--rouge);animation:blink 1.4s infinite;}

/* ============================================================
   HORIZONTAL
   ============================================================ */
.horizon{height:100vh;overflow:hidden;background:var(--noir-2);}
.horizon-prog{position:absolute;left:0;bottom:0;width:100%;height:3px;background:rgba(255,255,255,.06);z-index:6;}
.horizon-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bleu),var(--rouge),var(--or));}
.horizon-track{display:flex;height:100%;align-items:center;gap:5vw;padding:0 6vw;will-change:transform;}
.hz-panel{flex:0 0 auto;height:72vh;display:flex;flex-direction:column;justify-content:center;}
.hz-intro h2,.hz-end h2{font-family:var(--ff-disp);font-size:clamp(50px,9vw,150px);line-height:.86;}
.hz-intro,.hz-end{width:46vw;}
.hz-kick{font:600 12px var(--ff-body);letter-spacing:.35em;color:var(--rouge);margin-bottom:18px;}
.hz-intro p{margin-top:20px;color:var(--gris);letter-spacing:.04em;}
.hz-end .hz-kick{margin-top:22px;color:var(--or);}
.hz-photo{width:34vw;position:relative;border-radius:8px;overflow:hidden;}
.hz-photo.tall{width:26vw;height:78vh;}
.hz-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;will-change:transform;}
.hz-photo:hover img{transform:scale(1.07);}
.hz-cap{position:absolute;left:16px;bottom:16px;font:600 12px var(--ff-body);letter-spacing:.1em;background:rgba(6,7,13,.7);backdrop-filter:blur(6px);padding:8px 14px;border-radius:40px;}
.hz-quote{width:42vw;}
.hz-quote blockquote{font-family:var(--ff-disp);font-size:clamp(28px,3.6vw,58px);line-height:1.08;color:var(--blanc);}
.hz-quote cite{display:block;margin-top:22px;font:500 14px var(--ff-body);color:var(--rouge);font-style:normal;}
@media(max-width:860px){.horizon{height:auto;}.horizon-track{flex-direction:column;height:auto;gap:40px;padding:80px 6vw;transform:none !important;}.hz-panel{width:100% !important;height:auto;}.hz-photo{height:60vh;}.horizon-prog{display:none;}}

/* ============================================================
   SECTION HEAD (shared)
   ============================================================ */
.sec-head{display:flex;align-items:flex-start;gap:18px;padding:clamp(80px,12vh,150px) clamp(20px,8vw,140px) 30px;flex-wrap:wrap;}
.sec-num{font:600 14px var(--ff-body);color:var(--rouge);letter-spacing:.1em;margin-top:12px;}
.sec-title{font-family:var(--ff-disp);font-size:clamp(48px,11vw,180px);line-height:.84;letter-spacing:-.01em;}
.sec-title em{font-style:normal;color:transparent;-webkit-text-stroke:1.6px var(--blanc);}
.sec-years{margin-left:auto;font:600 13px var(--ff-body);letter-spacing:.25em;color:var(--gris);margin-top:14px;}
.sec-head.light .sec-num{color:var(--or);}

.reveal-words .word,.reveal-words.word{display:inline-block;}

/* ---- Club head : lockup compact logo + titre ---- */
.club-head{align-items:center;}
.club-lock{display:flex;align-items:center;gap:clamp(16px,2vw,28px);}
.club-medal{position:relative;flex:0 0 auto;width:clamp(64px,7vw,104px);height:clamp(64px,7vw,104px);border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.10),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 36px rgba(0,0,0,.5),inset 0 0 22px rgba(255,255,255,.05);}
.club-medal::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(226,35,26,.35);animation:spin 22s linear infinite;}
.club-medal.navy::after{border-color:rgba(10,31,77,.55);}
.club-medal img{width:64%;height:64%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55));}
@keyframes spin{to{transform:rotate(360deg);}}
.club-kick{display:block;font:600 12px var(--ff-body);letter-spacing:.3em;color:var(--or);margin-bottom:6px;}
.club-lock-txt .sec-title{display:block;}
@media(max-width:560px){.club-medal{width:58px;height:58px;}}

/* ============================================================
   ORIGINES
   ============================================================ */
.origines{padding-bottom:clamp(30px,5vh,60px);}
.orig-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4vw,64px);align-items:center;padding:14px clamp(20px,8vw,140px) 0;}
.big-p{font-size:clamp(19px,2.3vw,30px);line-height:1.5;font-weight:400;}
.big-p b{color:var(--rouge);font-weight:700;}
.orig-vals{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
.orig-vals span{font:600 12px var(--ff-body);letter-spacing:.2em;border:1px solid rgba(255,255,255,.2);padding:9px 16px;border-radius:40px;color:var(--gris);transition:border-color .3s,color .3s;}
.orig-vals span:hover{border-color:var(--rouge);color:var(--blanc);}
.orig-fig{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;}
.orig-fig figcaption,.psg-hero figcaption,.psg-tall figcaption,.profil-fig figcaption{position:absolute;left:16px;bottom:16px;font:600 12px var(--ff-body);letter-spacing:.12em;background:rgba(6,7,13,.65);backdrop-filter:blur(6px);padding:8px 14px;border-radius:40px;z-index:3;}
@media(max-width:820px){.orig-grid{grid-template-columns:1fr;}.orig-fig{aspect-ratio:16/12;}}

.frere{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,4vw,64px);align-items:center;padding:clamp(34px,6vh,68px) clamp(20px,8vw,140px);}
.frere-fig{border-radius:10px;overflow:hidden;aspect-ratio:4/5;}
.mini-tag{display:inline-block;font:600 12px var(--ff-body);letter-spacing:.22em;color:var(--rouge);margin-bottom:18px;}
.mini-tag.red{color:var(--rouge);}
.mini-tag.gold{color:var(--or);}
.frere-text h3,.l1 h3,.gamb-text h3,.b2b-text h3{font-family:var(--ff-disp);font-size:clamp(38px,6vw,92px);line-height:.92;margin-bottom:22px;}
.frere-text h3 em,.l1 h3 em,.gamb-text h3 em,.b2b-text h3 em{font-style:normal;color:var(--rouge);}
.frere-text p,.gamb-text p,.l1-text p,.b2b-text p{font-size:clamp(15px,1.5vw,19px);line-height:1.65;color:#cfd2dd;max-width:560px;}
.frere-text p b{color:#fff;}
.famille-tree{display:flex;flex-direction:column;gap:8px;margin-top:28px;}
.famille-tree span{font:500 13px var(--ff-body);color:var(--gris);padding-left:18px;position:relative;}
.famille-tree span::before{content:'›';position:absolute;left:0;color:var(--rouge);}
@media(max-width:820px){.frere{grid-template-columns:1fr;}.frere-fig{aspect-ratio:16/12;}}

/* ============================================================
   RENNES
   ============================================================ */
.rennes{background:linear-gradient(180deg,var(--noir) 0%,#120406 50%,var(--noir) 100%);overflow:hidden;}
.club-watermark{position:absolute;top:6%;right:-4%;width:min(46vw,560px);opacity:.05;pointer-events:none;z-index:0;}
.club-watermark img{width:100%;filter:grayscale(1) brightness(2);}
.club-watermark.big{opacity:.06;width:min(54vw,680px);top:8%;left:-6%;right:auto;}
.club-watermark{position:absolute;z-index:0;}
.rennes>*:not(.club-watermark),.psg>*:not(.club-watermark){position:relative;z-index:1;}
.rennes-lead{padding:0 clamp(20px,8vw,140px) 40px;font-size:clamp(18px,2.1vw,28px);line-height:1.5;max-width:980px;color:#dcdee6;}

/* ---- Cutout pinné ---- */
.rennes-cut{position:relative;height:116vh;min-height:760px;display:grid;place-items:end center;overflow:hidden;
  border-radius:clamp(26px,3.6vw,46px) clamp(26px,3.6vw,46px) 0 0;}
.rc-bg{position:absolute;inset:0;z-index:0;background:
   radial-gradient(circle at 50% 60%,rgba(226,35,26,.30),transparent 55%),
   radial-gradient(circle at 50% 100%,rgba(0,0,0,.6),transparent 50%),
   linear-gradient(180deg,#12060a,#1a0306 50%,#0a0205);}
.rc-glow{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.6;mix-blend-mode:screen;pointer-events:none;}
.rc-halo{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:62vh;height:62vh;z-index:1;pointer-events:none;
  background:radial-gradient(circle,rgba(226,35,26,.40),rgba(226,35,26,.08) 42%,transparent 66%);filter:blur(28px);animation:rcHalo 4.6s ease-in-out infinite;}
@keyframes rcHalo{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.9);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1);}}
.rc-word{position:absolute;z-index:1;font-family:var(--ff-disp);font-size:clamp(70px,20vw,320px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.10);pointer-events:none;will-change:transform;}
.rc-word-1{top:16%;left:-2%;}
.rc-word-2{bottom:14%;right:-2%;-webkit-text-stroke:1.5px rgba(226,35,26,.35);}
.rc-cutout{position:relative;z-index:2;height:86vh;max-height:880px;align-self:end;will-change:transform;filter:drop-shadow(0 40px 80px rgba(0,0,0,.65));}
.rc-cutout img{height:100%;width:auto;object-fit:contain;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 84%,transparent 99%);
  mask-image:linear-gradient(180deg,#000 0%,#000 84%,transparent 99%);}
.rc-cutout::after{content:'';position:absolute;left:50%;bottom:1%;transform:translateX(-50%);width:62%;height:32px;background:radial-gradient(ellipse,rgba(226,35,26,.35),transparent 70%);filter:blur(10px);}
.rc-meta{position:absolute;z-index:3;bottom:8%;left:clamp(20px,8vw,140px);}
.rc-club{display:flex;align-items:center;gap:12px;font:700 14px var(--ff-body);letter-spacing:.16em;color:var(--blanc);}
.rc-club img{height:34px;width:auto;}
.rc-tag{display:block;margin-top:10px;font:500 12px var(--ff-body);letter-spacing:.18em;color:var(--gris);}
@media(max-width:760px){.rennes-cut{height:auto;padding:80px 0 60px;}.rc-cutout{height:64vh;}.rc-meta{position:static;text-align:center;margin-top:20px;}.rc-club{justify-content:center;}}

.photo-group{padding:clamp(30px,5vh,70px) clamp(20px,8vw,140px);}
.pg-label{display:block;font:600 12px var(--ff-body);letter-spacing:.22em;color:var(--or);margin-bottom:22px;}
.pg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px);}
.pg-grid figure{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3/4;}
.pg-grid figure::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(6,7,13,.9));}
.pg-grid figcaption{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;gap:9px;font:700 12px var(--ff-body);letter-spacing:.1em;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.55);}
.pg-grid figcaption::before{content:'';flex:0 0 auto;width:18px;height:2px;background:var(--rouge);}
@media(max-width:760px){.pg-grid{grid-template-columns:1fr 1fr;}.pg-grid figure:nth-child(3){grid-column:1/-1;aspect-ratio:16/10;margin-top:0;}}

.gamb{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(40px,7vh,90px) clamp(20px,8vw,140px);}
.gamb-imgs{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gamb-imgs figure{border-radius:8px;overflow:hidden;aspect-ratio:3/4;}
.gamb-imgs figure:first-child{margin-top:40px;}
.muted{color:var(--gris) !important;margin-top:18px;font-size:15px !important;}
.l1{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(40px,7vh,90px) clamp(20px,8vw,140px);}
.l1-fig{border-radius:10px;overflow:hidden;aspect-ratio:4/5;}
.l1-stats{display:flex;gap:36px;margin-top:34px;flex-wrap:wrap;}
.l1-stats b,.bleus-timeline b{font-family:var(--ff-disp);}
.l1-stats div b{display:block;font-size:clamp(34px,4vw,56px);line-height:1;color:var(--rouge);}
.l1-stats div span{font:500 12px var(--ff-body);color:var(--gris);letter-spacing:.04em;}
@media(max-width:820px){.gamb,.l1{grid-template-columns:1fr;}.l1-fig{aspect-ratio:16/11;}}

/* ============================================================
   PSG
   ============================================================ */
.psg{background:linear-gradient(180deg,var(--noir) 0%,#03102b 45%,var(--noir) 100%);overflow:hidden;}
.psg-transfer{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px clamp(20px,8vw,140px) 50px;}
.pt-line{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;}
.pt-k{display:block;font:600 11px var(--ff-body);letter-spacing:.2em;color:var(--gris);margin-bottom:8px;}
.pt-v{font-family:var(--ff-cond);font-size:clamp(24px,2.6vw,40px);letter-spacing:.02em;}
.pt-v i{font-style:normal;font-size:.5em;color:var(--gris);}
.psg-duo{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(16px,2vw,24px);margin:0 clamp(20px,8vw,140px);}
.psg-hero{border-radius:10px;overflow:hidden;aspect-ratio:16/10;position:relative;}
.psg-tall{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:3/4;}
.finale{text-align:center;padding:clamp(70px,11vh,140px) clamp(20px,8vw,140px);}
.finale-score{font-family:var(--ff-disp);font-size:clamp(48px,9vw,150px);line-height:.9;letter-spacing:.01em;}
.finale-score b{color:var(--or);}
.finale-p{max-width:820px;margin:30px auto 0;font-size:clamp(16px,1.8vw,23px);line-height:1.6;color:#d6d8e2;}
.finale-p b{color:#fff;}
.finale-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,20px);margin:48px 0 0;text-align:left;}
.finale-shots figure{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;}
.finale-shots figcaption{position:absolute;left:12px;bottom:12px;font:600 11px var(--ff-body);letter-spacing:.12em;background:rgba(6,7,13,.7);backdrop-filter:blur(6px);padding:6px 12px;border-radius:40px;z-index:3;}
.finale-strip{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px;}
.finale-strip span{font:600 12px var(--ff-body);letter-spacing:.18em;border:1px solid var(--or-2);color:var(--or);padding:10px 18px;border-radius:40px;}
.b2b{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(40px,7vh,90px) clamp(20px,8vw,140px);}
.b2b-fig{border-radius:10px;overflow:hidden;aspect-ratio:4/5;}
@media(max-width:820px){.psg-transfer{grid-template-columns:1fr 1fr;}.psg-duo{grid-template-columns:1fr;}.finale-shots{grid-template-columns:1fr;}.b2b{grid-template-columns:1fr;}.b2b-fig{aspect-ratio:16/11;}}

/* ============================================================
   PALMARES
   ============================================================ */
.palm-banner{position:relative;margin:20px clamp(20px,8vw,140px) 20px;padding:clamp(50px,7vw,96px) clamp(30px,5vw,72px);border-radius:18px;text-align:center;overflow:hidden;
  background:linear-gradient(120deg,rgba(199,154,58,.16),rgba(10,31,77,.45));border:1px solid rgba(233,196,106,.35);}
.pb-photo{position:absolute;inset:0;z-index:0;}
.pb-photo img{width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(1.1);}
.pb-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(8,6,4,.7),rgba(10,31,77,.45));}
.palm-banner::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 30%,rgba(233,196,106,.22) 50%,transparent 70%);background-size:280% 100%;animation:shimmer 4.5s linear infinite;}
@keyframes shimmer{0%{background-position:160% 0;}100%{background-position:-160% 0;}}
.palm-banner>*{position:relative;z-index:2;}
.pb-kick{font:600 12px var(--ff-body);letter-spacing:.4em;color:var(--or);}
.pb-title{font-family:var(--ff-disp);font-size:clamp(40px,8vw,120px);line-height:.9;margin:14px 0 10px;}
.pb-title em{font-style:normal;color:transparent;-webkit-text-stroke:1.6px var(--or);}
.palm-banner p{max-width:560px;margin:0 auto;color:#f0ece0;font-size:clamp(14px,1.6vw,18px);}
.pb-stars{margin-top:18px;font-size:22px;letter-spacing:.4em;color:var(--or);}

.palm-trophies{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:30px clamp(20px,8vw,140px);}
.trophy{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:32px 24px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);transition:transform .4s,border-color .4s,background .4s;}
.trophy:hover{border-color:var(--or);background:linear-gradient(180deg,rgba(233,196,106,.08),transparent);}
.trophy img{height:96px;width:auto;margin:0 auto 22px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5));}
.trophy img.round{border-radius:50%;height:90px;width:90px;object-fit:cover;}
.trophy b{display:block;font-family:var(--ff-disp);font-size:clamp(36px,4vw,58px);line-height:1;color:var(--or);}
.trophy span{font:600 13px var(--ff-body);letter-spacing:.1em;color:var(--blanc);}
.trophy span i{display:block;font-style:normal;font-weight:400;font-size:12px;color:var(--gris);margin-top:6px;}
.palm-extra{display:flex;flex-wrap:wrap;gap:14px;padding:40px clamp(20px,8vw,140px) clamp(60px,10vh,120px);justify-content:center;}
.palm-extra span{font:500 13px var(--ff-body);letter-spacing:.06em;color:var(--gris);border:1px dashed rgba(255,255,255,.18);padding:10px 18px;border-radius:40px;}
@media(max-width:820px){.palm-trophies{grid-template-columns:1fr 1fr;}}

/* ============================================================
   BIG STATS
   ============================================================ */
.bigstats{padding:clamp(40px,8vh,90px) 0;overflow:hidden;}
.bs-row{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:0 clamp(20px,6vw,80px) 50px;}
.bs{text-align:center;}
.bs b{display:block;font-family:var(--ff-disp);font-size:clamp(60px,12vw,170px);line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--blanc);}
.bs span{font:500 13px var(--ff-body);letter-spacing:.1em;color:var(--gris);}
.bs-img{margin:0 clamp(20px,8vw,140px);border-radius:10px;overflow:hidden;aspect-ratio:16/7;}

/* ============================================================
   MATCHS / CALENDRIER
   ============================================================ */
.match-live{margin-left:auto;margin-top:14px;display:inline-flex;align-items:center;gap:8px;font:600 12px var(--ff-body);letter-spacing:.2em;color:var(--gris);}
.match-live i{width:8px;height:8px;border-radius:50%;background:var(--rouge);box-shadow:0 0 10px var(--rouge);animation:blink 1.4s infinite;}
.match-live.ok{color:var(--or);}
.match-live.ok i{background:#22c55e;box-shadow:0 0 10px #22c55e;}
@keyframes blink{50%{opacity:.25;}}
.match-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);padding:20px clamp(20px,8vw,140px) 10px;}
.match-h{display:flex;align-items:center;gap:10px;font:600 13px var(--ff-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:18px;}
.dotr,.dotg{width:9px;height:9px;border-radius:50%;}
.dotr{background:var(--rouge);}
.dotg{background:var(--or);}
.match-card{position:relative;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px 20px;margin-bottom:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);overflow:hidden;transition:transform .4s,border-color .4s;}
.match-card::before{content:'';position:absolute;left:0;top:0;width:4px;height:100%;background:var(--gris);}
.match-card.win::before{background:#22c55e;}
.match-card.draw::before{background:var(--or);}
.match-card.loss::before{background:var(--rouge);}
.match-card.up::before{background:linear-gradient(var(--bleu),var(--rouge));}
.match-card:hover{transform:translateX(8px);border-color:rgba(255,255,255,.25);}
.mc-comp{display:block;font:600 11px var(--ff-body);letter-spacing:.14em;color:var(--gris);margin-bottom:12px;text-transform:uppercase;}
.mc-teams{display:flex;align-items:center;gap:14px;}
.mc-team{display:flex;align-items:center;gap:10px;flex:1;min-width:0;}
.mc-team.away{flex-direction:row-reverse;text-align:right;}
.chip{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font:800 11px var(--ff-body);letter-spacing:.02em;background:var(--c,#222);color:#fff;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.mc-team span{font-family:var(--ff-cond);font-size:20px;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mc-score{font-family:var(--ff-disp);font-size:clamp(22px,2.4vw,34px);line-height:1;letter-spacing:.02em;padding:0 6px;}
.mc-score.soon{font-size:15px;font-family:var(--ff-body);font-weight:600;color:var(--gris);letter-spacing:.1em;}
.mc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
.mc-date{font:500 12px var(--ff-body);color:var(--gris);letter-spacing:.04em;}
.mc-res{font:700 12px var(--ff-body);letter-spacing:.06em;padding:4px 10px;border-radius:30px;}
.mc-res.win{background:rgba(34,197,94,.14);color:#4ade80;}
.mc-res.draw{background:rgba(233,196,106,.14);color:var(--or);}
.mc-res.loss{background:rgba(226,35,26,.14);color:#f87171;}
.mc-res.up{background:rgba(255,255,255,.06);color:#cbd0dd;}
.match-note{padding:24px clamp(20px,8vw,140px) clamp(60px,9vh,110px);font:500 12px var(--ff-body);color:var(--gris);letter-spacing:.04em;}
@media(max-width:760px){.match-cols{grid-template-columns:1fr;}}

/* ============================================================
   BLEUS (refonte premium)
   ============================================================ */
.bleus{position:relative;background:linear-gradient(180deg,var(--noir),#03102b 50%,var(--noir));overflow:hidden;}
.bleus-bands{position:absolute;inset:0;z-index:0;display:flex;pointer-events:none;}
.bleus-bands i{flex:1;height:100%;opacity:.10;}
.bleus-bands i:nth-child(1){background:linear-gradient(180deg,transparent,#0a1f4d);}
.bleus-bands i:nth-child(2){background:linear-gradient(180deg,transparent,#ffffff);}
.bleus-bands i:nth-child(3){background:linear-gradient(180deg,transparent,#e2231a);}
.bleus-grain{position:absolute;inset:0;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;}
.bleus>*{position:relative;z-index:1;}

/* hero bleus */
.bleus-hero{position:relative;height:96vh;min-height:680px;display:grid;place-items:center;overflow:hidden;margin-bottom:20px;}
.bh-flag{position:absolute;inset:0;z-index:0;display:flex;}
.bh-band{flex:1;height:100%;transform:scaleY(0);transform-origin:bottom;}
.bh-band.bleu{background:linear-gradient(180deg,rgba(10,31,77,.0),rgba(10,31,77,.55));}
.bh-band.blanc{background:linear-gradient(180deg,rgba(255,255,255,.0),rgba(255,255,255,.16));}
.bh-band.rouge{background:linear-gradient(180deg,rgba(226,35,26,.0),rgba(226,35,26,.5));}
.bh-big{position:absolute;z-index:1;font-family:var(--ff-disp);font-size:clamp(80px,21vw,360px);line-height:.8;color:transparent;-webkit-text-stroke:1.6px rgba(255,255,255,.12);letter-spacing:-.01em;pointer-events:none;white-space:nowrap;will-change:transform;}
.bh-cut{position:relative;z-index:2;width:min(64vw,560px);aspect-ratio:4/4.3;border-radius:12px;overflow:hidden;box-shadow:0 50px 130px rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.1);}
.bh-cut img{width:100%;height:100%;object-fit:cover;will-change:transform;}
.bh-num{position:absolute;z-index:3;right:6vw;bottom:8%;font-family:var(--ff-disp);font-size:clamp(90px,18vw,260px);line-height:.7;color:transparent;-webkit-text-stroke:2px var(--rouge);pointer-events:none;will-change:transform;}
.bh-tag{position:absolute;z-index:3;left:clamp(20px,8vw,140px);bottom:8%;display:inline-flex;align-items:center;gap:10px;font:700 13px var(--ff-body);letter-spacing:.2em;color:var(--blanc);}
@media(max-width:760px){.bleus-hero{height:auto;padding:60px 0;}.bh-cut{width:80vw;}.bh-num{right:5vw;bottom:4%;}.bh-tag{position:static;justify-content:center;margin-top:24px;}}

.callup{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin:10px clamp(20px,8vw,140px) 40px;padding:clamp(28px,4vw,48px);border-radius:16px;
  background:linear-gradient(120deg,rgba(10,31,77,.55),rgba(226,35,26,.16));border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden;}
.callup::after{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(233,196,106,.18),transparent 70%);}
.callup-tag{display:inline-flex;align-items:center;gap:9px;font:700 12px var(--ff-body);letter-spacing:.18em;color:var(--or);margin-bottom:18px;}
.callup-tag i{width:8px;height:8px;border-radius:50%;background:var(--or);animation:blink 1.4s infinite;}
.callup h3{font-family:var(--ff-disp);font-size:clamp(30px,5vw,72px);line-height:.92;margin-bottom:16px;}
.callup h3 em{font-style:normal;color:transparent;-webkit-text-stroke:1.4px var(--blanc);}
.callup p{max-width:640px;font-size:clamp(14px,1.5vw,17px);line-height:1.6;color:#dfe1e9;}
.callup-right{text-align:center;position:relative;z-index:1;}
.cu-num{display:block;font-family:var(--ff-disp);font-size:clamp(60px,8vw,120px);line-height:.8;color:var(--blanc);}
.cu-lab{display:block;font:500 12px var(--ff-body);color:var(--gris);letter-spacing:.06em;margin:6px 0 12px;}
.cu-flag{font-size:40px;}
@media(max-width:760px){.callup{grid-template-columns:1fr;}.callup-right{display:flex;align-items:center;gap:18px;}}

.bleus-timeline-wrap{padding:0 clamp(20px,8vw,140px) clamp(60px,10vh,120px);}
.bleus-timeline{display:flex;flex-direction:column;}
.bt{display:flex;align-items:baseline;gap:22px;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);transition:padding-left .35s,background .35s;}
.bt:hover{padding-left:16px;}
.bt b{font-family:var(--ff-disp);font-size:clamp(22px,2.4vw,34px);color:var(--rouge);min-width:120px;}
.bt span{font:500 15px var(--ff-body);color:#d6d8e2;}

/* ============================================================
   PROFIL
   ============================================================ */
.profil-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:center;padding:30px clamp(20px,8vw,140px);}
.profil-fig{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;}
.attr{display:grid;grid-template-columns:130px 1fr 46px;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.attr span{font:600 14px var(--ff-body);letter-spacing:.04em;}
.attr i{display:block;height:5px;background:rgba(255,255,255,.1);border-radius:40px;overflow:hidden;}
.attr i b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bleu),var(--rouge));border-radius:40px;transition:width 1.2s cubic-bezier(.2,.8,.2,1);}
.attr.in i b{width:var(--w);}
.attr em{font-family:var(--ff-disp);font-style:normal;font-size:24px;color:var(--or);text-align:right;}
.profil-tags{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:clamp(50px,8vh,100px) clamp(20px,8vw,140px);}
.profil-tags span{font-family:var(--ff-disp);font-size:clamp(18px,2.4vw,38px);color:transparent;-webkit-text-stroke:1px var(--gris);letter-spacing:.02em;transition:.4s;cursor:none;}
.profil-tags span:hover{-webkit-text-stroke:1px var(--rouge);color:var(--rouge);}
@media(max-width:820px){.profil-grid{grid-template-columns:1fr;}.profil-fig{aspect-ratio:16/12;}.attr{grid-template-columns:100px 1fr 40px;gap:12px;}}

/* ============================================================
   HORS-TERRAIN
   ============================================================ */
.hors{background:linear-gradient(180deg,var(--noir),#0a0406 50%,var(--noir));}
.hors-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center;padding:30px clamp(20px,8vw,140px) clamp(60px,10vh,120px);}
.hors-fig{border-radius:10px;overflow:hidden;aspect-ratio:4/5;}
.hors-text p b{color:#fff;}
.brands{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px;}
.brands span{font-family:var(--ff-disp);font-size:clamp(18px,2.2vw,30px);color:transparent;-webkit-text-stroke:1px var(--blanc);transition:.4s;}
.brands span:hover{color:var(--rouge);-webkit-text-stroke:1px var(--rouge);}
@media(max-width:820px){.hors-grid{grid-template-columns:1fr;}.hors-fig{aspect-ratio:16/12;}}

/* ============================================================
   WORLD CUP
   ============================================================ */
.wc{height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:
   radial-gradient(circle at 50% 50%,rgba(10,31,77,.6),transparent 60%),
   radial-gradient(circle at 50% 110%,rgba(226,35,26,.3),transparent 50%),
   var(--noir);}
.wc-grain{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.wc-marq{position:absolute;top:9%;width:100%;overflow:hidden;white-space:nowrap;}
.wc-marq span{font-family:var(--ff-disp);font-size:clamp(28px,5vw,80px);color:transparent;-webkit-text-stroke:1px rgba(233,196,106,.18);white-space:nowrap;}
.wc-marq em{font-style:normal;-webkit-text-stroke:0;color:var(--or);padding:0 .25em;}
.wc-center{text-align:center;z-index:2;}
.wc-kick{font:600 13px var(--ff-body);letter-spacing:.4em;color:var(--or);}
.wc-title{margin:24px 0;}
.wc-title .line{display:block;overflow:hidden;}
.wc-title .line span{display:block;font-family:var(--ff-disp);font-size:clamp(56px,13vw,210px);line-height:.86;transform:translateY(110%);}
.wc-title .grad{background:linear-gradient(90deg,var(--bleu),#fff,var(--rouge));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.wc-sub{max-width:560px;margin:0 auto;color:var(--gris);font-size:clamp(14px,1.6vw,18px);line-height:1.6;}
.wc-flags{display:flex;gap:clamp(16px,3vw,40px);justify-content:center;margin:26px 0 4px;flex-wrap:wrap;}
.wc-flags span{display:flex;align-items:center;gap:10px;font:600 13px var(--ff-body);letter-spacing:.12em;color:#dfe1e9;border:1px solid rgba(255,255,255,.16);padding:9px 18px;border-radius:40px;}
.wc-flags i{font-style:normal;font-size:22px;}
.wc-stars{margin-top:30px;font-size:24px;letter-spacing:.4em;color:var(--or);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{padding:clamp(60px,10vh,120px) clamp(20px,8vw,140px) 50px;border-top:1px solid rgba(255,255,255,.1);}
.foot-top{display:flex;align-items:center;justify-content:space-between;}
.foot-top h3{font-family:var(--ff-disp);font-size:clamp(40px,8vw,120px);line-height:.9;}
.foot-14{font-family:var(--ff-disp);font-size:clamp(50px,10vw,150px);color:transparent;-webkit-text-stroke:1.4px var(--rouge);line-height:.8;}
.foot-mid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:50px 0;border-top:1px solid rgba(255,255,255,.1);padding-top:34px;}
.foot-mid div{font:500 14px var(--ff-body);color:#cfd2dd;}
.foot-mid b{display:block;font-size:11px;letter-spacing:.2em;color:var(--gris);margin-bottom:8px;text-transform:uppercase;font-weight:600;}
.foot-social{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 34px;}
.foot-social a{font:600 13px var(--ff-body);letter-spacing:.08em;color:var(--gris);transition:color .3s;}
.foot-social a:hover{color:var(--rouge);}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font:500 12px var(--ff-body);letter-spacing:.1em;color:var(--gris);}
.foot-bot a{color:var(--blanc);}
@media(max-width:760px){.foot-mid{grid-template-columns:1fr 1fr;gap:28px 20px;}}

/* ============================================================
   PRELOADER logos / scramble / scroll hl / lightbox
   ============================================================ */
.pre-logos{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px;opacity:0;animation:preLogos .8s ease forwards .9s;}
.pre-logos img{height:36px;width:auto;opacity:.9;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));}
.pre-sep{width:5px;height:5px;border-radius:50%;background:var(--rouge);}
@keyframes preLogos{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.menu-social{display:flex;gap:20px;margin-top:28px;flex-wrap:wrap;}
.menu-social a{font:600 13px var(--ff-body);letter-spacing:.08em;color:var(--blanc);position:relative;padding-bottom:4px;}
.menu-social a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--rouge);transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.menu-social a:hover::after{transform:scaleX(1);}

.scramble .sc{display:inline-block;}
.scramble .sc.live{color:var(--rouge);-webkit-text-fill-color:var(--rouge);text-shadow:0 0 14px rgba(226,35,26,.6);}
.scramble em .sc.live{color:var(--rouge);-webkit-text-fill-color:var(--rouge);-webkit-text-stroke:0;}

.scroll-hl .hlw{display:inline-block;opacity:.16;color:var(--gris);transition:none;}

/* tilt 3D shared */
.tilt3d{transform-style:preserve-3d;will-change:transform;}
.tilt3d img{backface-visibility:hidden;}

.lightbox{position:fixed;inset:0;z-index:9500;display:none;align-items:center;justify-content:center;padding:clamp(20px,5vw,80px);}
.lightbox.open{display:flex;}
.lb-back{position:absolute;inset:0;background:rgba(4,6,14,.92);backdrop-filter:blur(8px);}
.lb-stage{position:relative;z-index:2;max-width:92vw;max-height:86vh;}
.lb-stage img{max-width:92vw;max-height:80vh;width:auto;height:auto;border-radius:8px;box-shadow:0 40px 120px rgba(0,0,0,.7);object-fit:contain;}
.lb-cap{display:block;margin-top:16px;text-align:center;font:600 13px var(--ff-body);letter-spacing:.14em;color:var(--gris);}
.lb-close{position:absolute;top:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px);z-index:3;width:74px;height:74px;border-radius:50%;border:1.5px solid var(--rouge);background:rgba(226,35,26,.08);color:var(--rouge);font-family:var(--ff-disp);font-size:34px;line-height:1;display:grid;place-items:center;transition:background .3s,transform .3s,color .3s;cursor:none;}
.lb-close:hover{background:var(--rouge);color:#fff;transform:rotate(90deg) scale(1.05);}
body.lb-open{overflow:hidden;}
@media(max-width:760px){.lb-close{width:58px;height:58px;font-size:26px;}}

/* ---- reduced motion ---- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001s !important;animation-iteration-count:1 !important;}
}
