/*
  Feuille de style unique du site Votive Esport (CSS classique, pas de framework).
  Thème : noir profond, texte ivoire, or réservé aux accents (couleurs du logo).
  Les couleurs et polices sont des variables dans :root (--bg, --fg, --gold…) : changer le thème = modifier ces variables.

  Sommaire (chercher le titre du bloc) :
    - En-tête, Accueil, Équipe, Roster, Palmarès, Recrutement, Réseaux : blocs d'origine
    - Page membres (anciennes cartes en lignes, utilisées pour le staff)
    - « Refonte : accueil v2 » : hero, bandeau, prochain tournoi, roster accueil, palmarès
    - Page membres : roster en grille et pagination
    - Page tournois, Tournois : liste compacte et pagination
    - Fiche membre
    - Formulaire de recrutement, sections et disponibilités, formulaire par étapes
    - Pied de page
  Les blocs ajoutés en fin de fichier complètent ou remplacent les règles plus haut (la dernière règle gagne).
*/
/* Concept : site d'équipe sobre, noir profond, texte ivoire, or réservé aux accents (reprend le logo). Grandes capitales espacées, cartes joueurs en tranches verticales. */
:root{
  --bg:#0b0b0c;
  --bg2:#111113;
  --line:#26262a;
  --fg:#f4f1ea;
  --muted:#9a968d;
  --gold:#c4a062;
  --gold-soft:#c4a06226;
  --display:'Jost','Futura','Century Gothic',sans-serif;
  --body:'Instrument Sans','Segoe UI',system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0;margin:0}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto}
h1,h2,h3{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;text-wrap:balance;margin:0}
.eyebrow{font-family:var(--display);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 .9rem}
section{padding-block:clamp(56px,9vw,104px);border-top:1px solid var(--line)}
section h2{font-size:clamp(1.5rem,3.4vw,2.2rem);margin-bottom:1.6rem}
p{margin:0 0 1rem;max-width:62ch;color:#cfcbc2}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.demo{background:var(--gold-soft);color:var(--gold);text-align:center;font-size:.8rem;letter-spacing:.06em;padding:.5rem 1rem;margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px)));}

/* En-tête */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:rgba(11,11,12,.92);z-index:30}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(11,11,12,.92);backdrop-filter:blur(8px);margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px)));padding:0 max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
nav{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:60px}
.brand{font-family:var(--display);font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:.9rem;text-decoration:none;display:flex;align-items:center;gap:.7rem;white-space:nowrap}
.brand i{width:10px;height:16px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.links{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.links a{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--muted);transition:color .2s}
.links a:hover{color:var(--fg)}
.btn{display:inline-block;font-family:var(--display);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;text-decoration:none;
  padding:.95rem 1.7rem;border:1px solid var(--gold);color:var(--bg);background:var(--gold);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--gold)}
.btn.line{background:transparent;color:var(--fg);border-color:var(--line)}
.btn.line:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:820px){.links{display:none}}

/* Accueil */
.hero{border-top:0;padding-block:clamp(48px,8vw,96px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(2.6rem,8vw,5.6rem);line-height:.98;letter-spacing:.1em;margin-bottom:1.4rem}
.hero h1 span{color:var(--gold)}
.hero p{font-size:1.08rem}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.hero figure{margin:0;display:grid;place-items:center}
.hero img{width:min(100%,300px);height:auto}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero figure{order:-1}.hero img{width:170px}}

/* Équipe */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.stats div{background:var(--bg);padding:1.4rem 1.2rem}
.stats b{display:block;font-family:var(--display);font-size:2.3rem;font-weight:600;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.stats span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.split{grid-template-columns:1fr}}

/* Roster */
.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{background:var(--bg2);border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .3s,border-color .3s}
.card:hover{transform:translateY(-4px);border-color:var(--gold)}
.photo{aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(160deg,#17171a,#0d0d0e);position:relative}
.photo svg{width:34%;opacity:.35}
.photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.card:hover .photo::after{transform:scaleX(1)}
.card .who{padding:1rem 1.1rem 1.2rem}
.card h3{font-size:1.15rem;letter-spacing:.14em}
.card small{display:block;color:var(--gold);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.2rem}
.card p{font-size:.88rem;color:var(--muted);margin:.7rem 0 0}

/* Palmarès */
.table{border:1px solid var(--line);overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{text-align:left;padding:1rem 1.2rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
th{font-family:var(--display);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:500}
tr:last-child td{border-bottom:0}
tbody tr{transition:background .2s}
tbody tr:hover{background:var(--bg2)}
.place{font-family:var(--display);font-weight:600;color:var(--gold)}

/* Recrutement */
form{display:grid;gap:1rem;max-width:560px}
label{display:grid;gap:.4rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--fg);background:var(--bg2);border:1px solid var(--line);padding:.85rem 1rem;width:100%;border-radius:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.sent{color:var(--gold);min-height:1.5rem;margin:0}

/* Réseaux */
.socials{display:flex;flex-wrap:wrap;gap:12px}
.socials a{flex:1 1 150px;text-align:center;border:1px solid var(--line);padding:1.1rem 1rem;text-decoration:none;font-family:var(--display);letter-spacing:.22em;text-transform:uppercase;font-size:.82rem;transition:border-color .2s,color .2s}
.socials a:hover{border-color:var(--gold);color:var(--gold)}

footer{border-top:1px solid var(--line);padding-block:32px;color:var(--muted);font-size:.82rem;display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between}
footer p{margin:0;color:inherit}

/* Apparition au défilement : visible par défaut, animé seulement si le script est actif */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}

/* Capitaine */
.card.cap{border-color:var(--gold)}
.badge{position:absolute;top:12px;left:12px;z-index:1;font-family:var(--display);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:.3rem .6rem;font-weight:600}
.more{display:inline-block;margin-top:1.6rem;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.2rem}
.more:hover{color:var(--fg);border-color:var(--fg)}

/* Page membres */
.pagehead{padding-block:clamp(40px,7vw,80px) 0}
.pagehead h1{font-size:clamp(2rem,6vw,3.6rem);letter-spacing:.1em;margin-bottom:1rem}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:1.6rem 0 0}
.filters button{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;background:transparent;color:var(--muted);border:1px solid var(--line);padding:.7rem 1.1rem;cursor:pointer;transition:all .2s}
.filters button:hover{color:var(--fg);border-color:var(--gold)}
.filters button[aria-pressed="true"]{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.group{padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line);margin-top:clamp(32px,5vw,56px)}
.group h2{font-size:1.1rem;letter-spacing:.24em;margin-bottom:1.4rem}
.members{display:grid;gap:12px}
.member{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:1.2rem;align-items:center;background:var(--bg2);border:1px solid var(--line);padding:14px 18px 14px 14px;transition:border-color .25s,transform .25s}
.member:hover{border-color:var(--gold);transform:translateX(4px)}
.member.cap{border-color:var(--gold)}
.member .av{width:72px;height:72px;background:linear-gradient(160deg,#1b1b1f,#0d0d0e);display:grid;place-items:center}
.member .av svg{width:46%;opacity:.35}
.member h3{font-size:1.1rem;letter-spacing:.14em;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.member h3 .tag{font-size:.64rem;letter-spacing:.2em;background:var(--gold);color:var(--bg);padding:.2rem .5rem}
.member .meta{color:var(--muted);font-size:.86rem;margin:.2rem 0 0}
.member .meta b{color:var(--gold);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-family:var(--display)}
.nets{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.nets a{font-family:var(--display);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid var(--line);padding:.4rem .65rem;color:var(--muted);transition:all .2s}
.nets a:hover{border-color:var(--gold);color:var(--gold)}
.member[hidden]{display:none}
@media(max-width:680px){.member{grid-template-columns:56px minmax(0,1fr)}.member .av{width:56px;height:56px}.nets{grid-column:1/-1;justify-content:flex-start}}
[hidden]{display:none!important}

.navm{display:none;font-family:var(--display);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--fg);margin-left:auto}
@media(max-width:820px){.navm{display:inline-block}.btn{padding:.7rem 1.1rem}.brand{letter-spacing:.2em}}

.back{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.6rem;font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--muted);text-decoration:none;border:1px solid var(--line);padding:.55rem 1rem .55rem .8rem;transition:color .2s,border-color .2s,gap .2s}
.back:hover{color:var(--gold);border-color:var(--gold);gap:.9rem}

.member h3 a{text-decoration:none}
.member h3 a:hover{color:var(--gold)}
.profile{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,5vw,64px);padding-block:clamp(16px,3vw,32px) clamp(40px,6vw,72px);align-items:start}
.pphoto{aspect-ratio:4/5;background:linear-gradient(160deg,#1b1b1f,#0d0d0e);display:grid;place-items:center;border:1px solid var(--line);border-bottom:2px solid var(--gold)}
.pphoto svg{width:36%;opacity:.35}
.profile h1{font-size:clamp(2.2rem,6vw,3.8rem);letter-spacing:.1em;margin-bottom:1rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:1.4rem 0}
.facts div{background:var(--bg);padding:1rem 1.1rem}
.facts dt{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:.3rem 0 0;font-family:var(--display);font-size:1rem;letter-spacing:.06em}
.nets.big{justify-content:flex-start}
.nets.big a{font-size:.78rem;padding:.7rem 1.1rem}
.clipsec{padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line)}
.clipsec h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:1.4rem}
.clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.clip{display:block;text-decoration:none;background:var(--bg2);border:1px solid var(--line);transition:border-color .25s,transform .25s}
.clip:hover{border-color:var(--gold);transform:translateY(-4px)}
.thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#1b1b1f,#0b0b0c);display:grid;place-items:center;position:relative}
.play{width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;position:relative;transition:background .25s}
.play::after{content:"";position:absolute;left:21px;top:16px;border-left:15px solid var(--gold);border-top:11px solid transparent;border-bottom:11px solid transparent;transition:border-left-color .25s}
.clip:hover .play{background:var(--gold)}
.clip:hover .play::after{border-left-color:var(--bg)}
.ct{padding:.9rem 1.1rem 1.1rem;display:grid;gap:.2rem}
.ct b{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;font-weight:600}
.ct span{color:var(--muted);font-size:.82rem}
.note{color:var(--muted);font-size:.85rem;margin:1.2rem 0 0}
.pn{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:1.6rem}
.pn a{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;color:var(--muted);text-decoration:none}
.pn a:hover{color:var(--gold)}
@media(max-width:700px){.profile{grid-template-columns:1fr}.pphoto{aspect-ratio:16/10}}

.evs{padding-block:clamp(24px,4vw,40px) clamp(40px,6vw,72px)}
section h2{font-size:clamp(1.3rem,3vw,1.8rem);margin-bottom:1.4rem}
.events{display:grid;gap:12px}
.ev{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:1.4rem;align-items:center;background:var(--bg2);border:1px solid var(--line);padding:1.1rem 1.3rem;transition:border-color .25s,transform .25s}
.ev:hover{border-color:var(--gold);transform:translateX(4px)}
.ev .when b{display:block;font-family:var(--display);font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase}
.ev .cd{color:var(--gold);font-size:.82rem;letter-spacing:.06em}
.ev h3{font-size:1.05rem;letter-spacing:.12em}
.ev .meta{color:var(--muted);font-size:.86rem;margin:.2rem 0 0}
.ev .pill{font-family:var(--display);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.45rem .8rem;white-space:nowrap}
@media(max-width:680px){.ev{grid-template-columns:1fr;gap:.6rem}.ev .pill{justify-self:start}}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:1.4rem}
.kpis div{background:var(--bg);padding:1.3rem 1.1rem}
.kpis b{display:block;font-family:var(--display);font-size:2.2rem;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.kpis span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
tr[hidden]{display:none}

.brand .mark{height:28px;width:auto;display:block}
a.card{display:block;text-decoration:none;color:inherit}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ===== Refonte : accueil v2 ===== */
.progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--gold);transform-origin:left;transform:scaleX(0);z-index:60}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

.hero2{position:relative;padding-block:clamp(40px,7vw,88px) clamp(32px,5vw,56px);overflow:hidden;--mx:0px;--my:0px}
.hero2 .ghost{position:absolute;right:4%;top:2%;width:min(46vw,440px);height:auto;color:var(--fg);opacity:.24;pointer-events:none;
  transform:translate3d(var(--mx),var(--my),0);transition:transform .25s ease-out;filter:drop-shadow(0 0 60px rgba(196,160,98,.35))}
.hero-eyebrow{position:relative;margin-bottom:clamp(14px,2vw,26px)}
.mega{position:relative;font-size:clamp(3.6rem,17.5vw,14rem);line-height:.84;letter-spacing:.01em;font-weight:700;margin:0}
.mega .l{display:block;overflow:hidden;padding-bottom:.04em}
.mega .l>span{display:block;transform:translateY(106%);animation:rise 1.1s cubic-bezier(.2,.8,.2,1) .15s forwards}
.mega .l:nth-child(2)>span{animation-delay:.3s}
.mega .outline{color:transparent;-webkit-text-stroke:2px var(--gold)}
@keyframes rise{to{transform:none}}
.herofoot{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) auto;gap:clamp(20px,4vw,56px);align-items:end;margin-top:clamp(28px,5vw,56px)}
.herofoot p{margin:0;font-size:1.08rem}
.herofoot .cta{margin:0}
@media(max-width:760px){.herofoot{grid-template-columns:1fr}.hero2 .ghost{width:70vw;opacity:.16}}

.next{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:clamp(14px,3vw,40px);align-items:center;text-decoration:none;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0;transition:background .3s}
.next:hover{background:var(--bg2)}
.next .nl{font-family:var(--display);font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.next .nn b{display:block;font-family:var(--display);font-size:1.15rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.next .nn em{font-style:normal;color:var(--muted);font-size:.86rem}
.cdn{display:flex;gap:1.3rem}
.cdn span{display:grid;text-align:center}
.cdn b{font-family:var(--display);font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.cdn i{font-style:normal;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.next .na{font-family:var(--display);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
@media(max-width:860px){.next{grid-template-columns:1fr auto;grid-template-areas:"nl nl" "nn cdn" "na na"}.next .nl{grid-area:nl}.next .nn{grid-area:nn}.cdn{grid-area:cdn}.next .na{grid-area:na}}

.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding-block:1.1rem;margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq span{display:flex;align-items:center;gap:2.2rem;padding-right:2.2rem;font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,4vw,2.8rem);letter-spacing:.14em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px #6d6a63;white-space:nowrap}
.mq i{width:12px;height:18px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

.lead{font-size:1.12rem;color:#d9d5cc}
.bignums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem;align-content:start}
.bignums div{border-top:1px solid var(--line);padding-top:1rem}
.bignums b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(3rem,8vw,5.6rem);line-height:.95;color:var(--gold);font-variant-numeric:tabular-nums}
.bignums span{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

.roster2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.pc{grid-column:span 3;position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--bg2);border:1px solid var(--line);overflow:hidden;transition:border-color .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.pc.cap{grid-column:span 6;grid-row:span 2;border-color:var(--gold)}
.pc:hover{border-color:var(--gold);transform:translateY(-5px)}
.pc-photo{position:relative;flex:1;min-height:170px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#202024,#0c0c0d 70%);overflow:hidden}
.pc-photo img{width:34%;max-width:150px;opacity:.5;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .3s}
.pc.cap .pc-photo img{max-width:200px}
.pc:hover .pc-photo img{transform:scale(1.12) rotate(-2deg);opacity:.85}
.pc-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.pc:hover .pc-photo::after{transform:scaleX(1)}
.pc-info{padding:1.1rem 1.2rem 1.3rem}
.pc-info small{font-family:var(--display);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.pc-info h3{font-size:1.2rem;letter-spacing:.12em;margin-top:.25rem}
.pc.cap .pc-info h3{font-size:clamp(1.6rem,3vw,2.2rem)}
.pc-info p{margin:.5rem 0 0;font-size:.88rem;color:var(--muted)}
@media(max-width:900px){.pc{grid-column:span 6}.pc.cap{grid-column:span 12;grid-row:auto}}
@media(max-width:520px){.pc,.pc.cap{grid-column:span 12}}

.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:clamp(84px,12vw,140px) minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);transition:padding .35s,background .35s}
.row:hover{padding-left:1rem;background:var(--bg2)}
.row .place{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.row.pod .place{color:var(--fg)}
.row.win .place{color:var(--gold);font-size:2.1rem}
.row.win{border:1px solid var(--gold);background:var(--bg2);padding-left:1rem;padding-right:1rem;margin:.4rem 0}
.row .trophy{width:22px;height:22px;color:var(--gold)}
.row .rn b{display:block;font-family:var(--display);font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.row .rn em{font-style:normal;color:var(--muted);font-size:.86rem}
.row .rd{color:var(--muted);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}
@media(max-width:560px){.row{grid-template-columns:64px minmax(0,1fr)}.row .rd{grid-column:2}}

.recruit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,6vw,80px);align-items:start}
.recruit form{max-width:none}
@media(max-width:820px){.recruit{grid-template-columns:1fr}}

.bigsocials{border-top:1px solid var(--line)}
.bigsocials a{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--line);text-decoration:none;
  font-family:var(--display);font-weight:500;font-size:clamp(1rem,2.4vw,1.25rem);letter-spacing:.2em;text-transform:uppercase;transition:padding .35s,color .25s}
.bigsocials a i{font-style:normal;color:var(--gold);transition:transform .35s}
.bigsocials a:hover{padding-left:1rem;color:var(--gold)}
.bigsocials a:hover i{transform:translateX(-.6rem)}

.js .rv>*{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.js .rv.in>*{opacity:1;transform:none}
.js .rv.in>*:nth-child(2){transition-delay:.08s}.js .rv.in>*:nth-child(3){transition-delay:.16s}.js .rv.in>*:nth-child(4){transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.mq{animation:none}.mega .l>span{animation:none;transform:none}.js .rv>*{opacity:1;transform:none}}

/* ---- Page membres : roster en grille ---- */
.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pcard{background:var(--bg2);border:1px solid var(--line);transition:border-color .3s,transform .3s,opacity .22s;position:relative}
.pcard.out,.member.out{opacity:0;transform:scale(.97)}
.pcard:hover{border-color:var(--gold);transform:translateY(-4px)}
.pcard::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--gold);transition:width .4s}
.pcard:hover::after{width:100%}
.pcard .ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(160deg,#1b1b1f,#0d0d0e);display:grid;place-items:center}
.pcard .ph .av{width:100%;height:100%;display:grid;place-items:center;transition:transform .6s}
.pcard .ph .av svg{width:38%;opacity:.3}
.pcard:hover .ph .av{transform:scale(1.06)}
.pcard .ph-link{position:absolute;inset:0;z-index:1}
.pcard .num{position:absolute;top:12px;left:14px;z-index:2;font-family:var(--display);font-size:.78rem;letter-spacing:.2em;color:var(--gold);pointer-events:none}
.pcard .nets{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-wrap:wrap;gap:6px;padding:14px;background:linear-gradient(transparent,rgba(11,11,12,.92));transform:translateY(100%);transition:transform .35s}
.pcard:hover .nets,.pcard:focus-within .nets{transform:none}
.pcard .info{padding:16px 18px 20px}
.pcard h3{font-size:1.15rem;letter-spacing:.14em;margin:.3rem 0 0}
.pcard h3 a{text-decoration:none}
.pcard h3 a:hover{color:var(--gold)}
.pcard .meta{color:var(--muted);font-size:.86rem;margin:.3rem 0 0}
.pcard .meta b{color:var(--gold);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-family:var(--display)}
.pcard .tag{display:inline-block;font-size:.64rem;letter-spacing:.2em;background:var(--gold);color:var(--bg);padding:.2rem .5rem;font-family:var(--display);text-transform:uppercase}
.pcard.cap{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);border-color:var(--gold)}
.pcard.cap .ph{aspect-ratio:auto;min-height:300px}
.pcard.cap .info{align-self:center;padding:28px}
.pcard.cap h3{font-size:clamp(1.8rem,4vw,2.8rem)}
.pcard[hidden]{display:none}
.member{transition:opacity .22s,transform .22s,border-color .25s}
.members{margin-bottom:0}
@media(hover:none){.pcard .nets{transform:none;position:static;background:none;padding:0 18px 18px}.pcard .ph{aspect-ratio:1}}
@media(max-width:900px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.roster{grid-template-columns:1fr}.pcard.cap{grid-template-columns:1fr}.pcard.cap .ph{min-height:0;aspect-ratio:1}}

/* ---- Page tournois ---- */
.nextev{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;background:var(--bg2);border:1px solid var(--gold);padding:2rem;margin-bottom:14px}
.nextev h3{font-size:clamp(1.5rem,3.4vw,2.4rem);letter-spacing:.1em;margin:.3rem 0 .6rem}
.nextev .meta{color:var(--muted)}
.bigcd{display:flex;gap:10px}
.bigcd div{min-width:84px;text-align:center;border:1px solid var(--line);background:var(--bg);padding:1rem .6rem}
.bigcd b{display:block;font-family:var(--display);font-size:2.4rem;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.bigcd span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.timeline{list-style:none;margin:1.6rem 0 0;padding:0 0 0 0;position:relative}
.timeline::before{content:"";position:absolute;left:84px;top:0;bottom:0;width:1px;background:var(--line)}
.tl{display:grid;grid-template-columns:84px minmax(0,1fr);gap:0;align-items:center;padding:.9rem 0;position:relative;transition:opacity .22s,transform .22s}
.tl.out{opacity:0;transform:translateX(-8px)}
.tl[hidden]{display:none}
.tl::after{content:"";position:absolute;left:80px;top:50%;width:9px;height:9px;margin-top:-4px;background:var(--bg);border:1px solid var(--muted);border-radius:50%}
.tl .pl{display:flex;align-items:center;gap:.4rem;padding-right:28px;justify-content:flex-end}
.tl .pl b{font-family:var(--display);font-size:1.7rem;color:var(--muted);line-height:1}
.tl .tx{padding:.9rem 1.2rem .9rem 34px;border:1px solid transparent;transition:border-color .25s,background .25s}
.tl:hover .tx{border-color:var(--line);background:var(--bg2)}
.tl h3{font-size:1.05rem;letter-spacing:.12em}
.tl .meta{color:var(--muted);font-size:.86rem;margin:.2rem 0 0}
.tl.pod .pl b{color:var(--fg)}
.tl.win .pl b{color:var(--gold);font-size:2.1rem}
.tl.win::after{background:var(--gold);border-color:var(--gold)}
.tl.win .tx{border-color:var(--gold);background:var(--bg2)}
.trophy{width:22px;height:22px;color:var(--gold)}
@media(max-width:720px){.nextev{grid-template-columns:1fr;padding:1.4rem}.bigcd div{min-width:0;flex:1}.timeline::before{left:64px}.tl{grid-template-columns:64px minmax(0,1fr)}.tl::after{left:60px}.tl .pl{padding-right:20px}.tl .pl b{font-size:1.3rem}.tl.win .pl b{font-size:1.5rem}.trophy{display:none}}

/* ---- Fiche membre ---- */
.profile{align-items:stretch;animation:fadeup .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pphoto{position:relative;aspect-ratio:4/5;background:radial-gradient(circle at 50% 40%,#202024,#0c0c0d 70%);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.pphoto::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gold)}
.pphoto .pmark{width:42%;opacity:.5}
.pphoto .tag{position:absolute;top:14px;left:14px;font-family:var(--display);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:.3rem .6rem}
.pbody{align-self:center}
.profile h1{font-size:clamp(2.6rem,8vw,5.6rem);line-height:.95;letter-spacing:.06em;margin:.3rem 0 1.2rem}
.profile h1::after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-top:1rem}
.profile .pbody>p:not(.eyebrow){font-size:1.1rem;max-width:56ch}
.pn{display:grid;height:auto;max-width:none;margin-inline:0;grid-template-columns:1fr 1fr;gap:14px;border-top:0;margin-bottom:clamp(32px,5vw,56px);padding-block:clamp(28px,4vw,48px) 0}
.pnc{display:block;border:1px solid var(--line);background:var(--bg2);padding:1.2rem 1.4rem;text-decoration:none;transition:border-color .25s,transform .25s}
.pnc.r{text-align:right}
.pnc small{display:block;font-family:var(--display);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pnc b{display:block;font-family:var(--display);font-size:1.3rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.3rem;color:var(--fg)}
.pnc:hover{border-color:var(--gold);transform:translateY(-3px)}
.pnc:hover b{color:var(--gold)}
@media(max-width:700px){.pphoto{aspect-ratio:1}.pn{grid-template-columns:1fr}.pnc.r{text-align:left}}

/* ---- Formulaire de recrutement ---- */
.apply-wrap{min-width:0}
#apply{display:grid;gap:1.1rem}
.fld{position:relative}
.fld input,.fld textarea{padding:1.45rem 1rem .6rem;background:var(--bg2);border:1px solid var(--line);transition:border-color .2s}
.fld label{position:absolute;left:1rem;top:1.05rem;display:block;font-size:.95rem;letter-spacing:normal;text-transform:none;color:var(--muted);pointer-events:none;transition:all .18s}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{top:.45rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.fld.bad input,.fld.bad textarea{border-color:#c0584a}
.err{display:block;color:#d9776a;font-size:.8rem;min-height:0;margin-top:.3rem}
.err:empty{display:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
fieldset.pills{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
fieldset.pills legend{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:.6rem;float:left;width:100%}
fieldset.pills label{display:block;position:static;letter-spacing:normal;text-transform:none}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills span{display:block;font-family:var(--display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);background:var(--bg2);color:var(--muted);padding:.7rem 1.1rem;cursor:pointer;transition:all .2s}
.pills label:hover span{color:var(--fg);border-color:var(--gold)}
.pills input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.pills input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.btn .spin{display:none;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;margin-left:.6rem;vertical-align:-2px}
.btn.busy .spin{display:inline-block}
.btn:disabled{opacity:.7;cursor:wait}
@keyframes spin{to{transform:rotate(360deg)}}
.done{border:1px solid var(--gold);background:var(--bg2);padding:2.4rem;text-align:center;animation:fadeup .6s both}
.done svg{width:56px;height:56px;color:var(--gold)}
.done h3{font-size:1.4rem;letter-spacing:.14em;margin:1rem 0 .4rem}
.done p{color:var(--muted);margin:0}
.done[hidden],#apply[hidden]{display:none}
@media(max-width:560px){.row2{grid-template-columns:1fr}}

/* ---- Pied de page ---- */
.sitefoot{display:block;border-top:1px solid var(--line);padding-block:0;margin-top:clamp(48px,8vw,96px);font-size:inherit;color:inherit}
.sitefoot a{text-decoration:none}
.fcta{display:flex;flex-wrap:wrap;gap:1.4rem 2rem;align-items:center;justify-content:space-between;padding-block:clamp(32px,5vw,56px);border-bottom:1px solid var(--line)}
.fcta h2{margin:.2rem 0 0;font-size:clamp(1.4rem,3.4vw,2.2rem)}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-block:clamp(28px,4vw,48px)}
.fcols h3{font-family:var(--display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem;font-weight:500}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.fcols li a{color:var(--muted);transition:color .2s}
.fcols li a:hover{color:var(--gold)}
.fbrand .brand{display:inline-flex}
.fbrand p{color:var(--muted);margin:.8rem 0 0;max-width:34ch}
.fbar{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;border-top:1px solid var(--line);padding-block:1.4rem 2rem;color:var(--muted);font-size:.82rem}
.fbar p{margin:0;color:inherit}
.fbar a{color:var(--muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.fbar a:hover{color:var(--gold);border-color:var(--gold)}
.totop{margin-left:.4rem}
@media(max-width:700px){.fcols{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}
.prose{max-width:70ch;padding-bottom:1rem}
.prose h2{font-size:1.05rem;letter-spacing:.14em;margin:2rem 0 .5rem}
.prose p{color:var(--muted)}
.prose a{color:var(--gold)}
.prose .todo{border:1px dashed var(--gold);color:var(--gold);padding:.9rem 1.1rem;font-size:.9rem}

/* ---- Tournois : liste compacte et pagination ---- */
.tl{padding:.35rem 0}
.tl .tx{padding:.6rem 1.2rem .6rem 34px}
.tl h3{font-size:1rem}
.timeline{margin-top:1.2rem}
.morewrap{text-align:center;margin-top:1.6rem}
.morebtn{font-family:var(--display);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;background:transparent;color:var(--fg);border:1px solid var(--line);padding:.9rem 1.6rem;cursor:pointer;transition:all .2s}
.morebtn:hover{border-color:var(--gold);color:var(--gold)}
.morebtn[hidden],.empty[hidden]{display:none}
.empty{color:var(--muted);text-align:center;margin:2rem 0}

.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:1.6rem}
.pager[hidden]{display:none}
.pager button{min-width:42px;height:42px;font-family:var(--display);font-size:.8rem;letter-spacing:.1em;background:transparent;color:var(--muted);border:1px solid var(--line);cursor:pointer;transition:all .2s}
.pager button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.pager button[aria-current="page"]{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.pager button:disabled{opacity:.35;cursor:default}

.pager{height:auto;max-width:none;margin-inline:0}
#pager{margin-bottom:.5rem}

/* ---- Formulaire : sections et disponibilités ---- */
fieldset.step{border:0;margin:0;padding:0;display:grid;gap:1rem;min-width:0}
fieldset.step+fieldset.step{border-top:1px solid var(--line);padding-top:1.4rem}
fieldset.step legend{float:left;width:100%;display:flex;align-items:center;gap:.8rem;font-family:var(--display);font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg);padding:0;margin-bottom:1rem}
fieldset.step legend+*{clear:both}
fieldset.step legend i{font-style:normal;font-size:.7rem;color:var(--gold);border:1px solid var(--gold);padding:.15rem .45rem;letter-spacing:.1em}
.sub{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:-.4rem}
.hint{margin:0;color:var(--muted);font-size:.9rem}
div.pills{display:flex;flex-wrap:wrap;gap:8px}
.avail{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:6px;align-items:center}
.avail b{font-family:var(--display);font-weight:500;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
.avail .day{font-family:var(--display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);padding-right:.8rem}
.avail .cell{display:block;position:static;letter-spacing:normal;text-transform:none;cursor:pointer}
.avail .cell input{position:absolute;opacity:0;width:1px;height:1px}
.avail .cell span{display:block;height:38px;border:1px solid var(--line);background:var(--bg2);transition:all .15s;position:relative}
.avail .cell:hover span{border-color:var(--gold)}
.avail .cell input:checked+span{background:var(--gold);border-color:var(--gold)}
.avail .cell input:checked+span::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:12px;border:solid var(--bg);border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
.avail .cell input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:560px){.avail b{font-size:.56rem;letter-spacing:.04em}.avail .day{font-size:.7rem;padding-right:.4rem}.avail .cell span{height:34px}}

/* ---- Formulaire par étapes ---- */
fieldset.step{display:none}
fieldset.step.on{display:grid;animation:fadeup .35s both}
fieldset.step+fieldset.step{border-top:0;padding-top:0}
.steps{margin-bottom:.4rem}
.steps .bar{height:3px;background:var(--line)}
.steps .bar i{display:block;height:100%;width:25%;background:var(--gold);transition:width .35s}
.steps p{margin:.6rem 0 0;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.actions{display:flex;gap:10px;align-items:center;margin-top:.4rem}
.actions [hidden]{display:none}
.ghostbtn{font-family:var(--display);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;background:transparent;color:var(--muted);border:1px solid var(--line);padding:.95rem 1.3rem;cursor:pointer;transition:all .2s}
.ghostbtn:hover{color:var(--gold);border-color:var(--gold)}
.avail .cell span{height:34px}

/* ---- Heure de début des tournois ---- */
.start{color:var(--gold);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem}
.nextev .start{font-size:1rem;margin:.2rem 0 .8rem}
.start small{color:var(--muted);letter-spacing:.04em;text-transform:none;font-family:inherit;font-size:.8rem}
.ev .when .start{display:block;margin-top:.15rem}

/* ---- Page détail d'un tournoi ---- */
.thero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;background:var(--bg2);border:1px solid var(--line);border-bottom:2px solid var(--gold);padding:clamp(1.4rem,4vw,2.4rem)}
.thero.win{border-color:var(--gold)}
.thero h1{font-size:clamp(1.8rem,5vw,3.2rem);letter-spacing:.1em;margin:.3rem 0 .8rem}
.thero .start{font-size:1rem;margin:0 0 .9rem}
.thero .pill{display:inline-block;font-family:var(--display);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.45rem .8rem}
.tplace{text-align:center;border:1px solid var(--line);background:var(--bg);padding:1.2rem 2rem;min-width:150px}
.tplace b{display:block;font-family:var(--display);font-size:3.2rem;line-height:1;color:var(--fg)}
.thero.win .tplace b,.thero.pod .tplace b{color:var(--gold)}
.tplace span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.tinfo{padding-block:clamp(28px,5vw,48px) 0}
.tsum{max-width:68ch;color:var(--muted);font-size:1.05rem}
.tlinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.4rem}
.tplayers{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tp{position:relative;display:flex;align-items:center;gap:.9rem;background:var(--bg2);border:1px solid var(--line);padding:.8rem 1rem;text-decoration:none;transition:border-color .25s,transform .25s}
.tp:hover{border-color:var(--gold);transform:translateY(-3px)}
.tp .av{width:44px;height:44px;flex:none;display:grid;place-items:center;background:linear-gradient(160deg,#1b1b1f,#0d0d0e);border:1px solid var(--line);border-radius:50%;font-family:var(--display);font-size:1.1rem;font-weight:600;color:var(--fg)}
.tp.cap{border-color:var(--gold)}
.tp.cap .av{border-color:var(--gold);color:var(--gold)}
.tpt{display:grid;gap:.1rem;min-width:0;flex:1}
.tcap{position:absolute;top:0;right:0;font-family:var(--display);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:.2rem .5rem}
.tp.cap .go{display:none}
.tp b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp .go{color:var(--gold);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s}
.tp:hover .go{opacity:1;transform:none}
.tp b,.mtl b{display:block;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;font-weight:600}
.tp small,.mtl small{color:var(--muted);font-size:.8rem}
.mt{display:grid;gap:10px}
.mtl{display:grid;grid-template-columns:84px minmax(0,1fr);gap:1rem;align-items:center;background:var(--bg2);border:1px solid var(--line);padding:.9rem 1.1rem;text-decoration:none;transition:border-color .25s,transform .25s}
.mtl:hover{border-color:var(--gold);transform:translateX(4px)}
.mtp{font-family:var(--display);font-size:1.3rem;color:var(--gold)}
a.row{text-decoration:none;color:inherit}
a.ev{text-decoration:none;color:inherit}
.nextev h3 a,.tl h3 a{text-decoration:none}
.nextev h3 a:hover,.tl h3 a:hover{color:var(--gold)}
.nextev .btn{margin-top:.2rem}
@media(max-width:700px){.thero{grid-template-columns:1fr}.thero .bigcd{flex-wrap:wrap}.mtl{grid-template-columns:64px minmax(0,1fr)}}

/* Cartes entièrement cliquables : le lien du titre couvre toute la carte */
.tl .tx,.nextev{position:relative}
.tl h3 a::after,.nextev h3 a::after{content:"";position:absolute;inset:0}
.tl .tx{cursor:pointer}
