/* REVLINE — site internet. Thème du jeu et du launcher : noir anthracite, rouge REVLINE, titres italiques condensés. */
@font-face { font-family: "RevTitre"; src: url("polices/roboto-black-italic.woff") format("woff"); font-weight: 900; font-style: italic; font-display: swap; }
@font-face { font-family: "RevCond"; src: url("polices/roboto-bold-condensed.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "RevTexte"; src: url("polices/roboto-regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "RevTexte"; src: url("polices/roboto-medium.woff") format("woff"); font-weight: 500; font-style: normal; font-display: swap; }

:root {
  --fond: #0b0b0d;
  --fond-2: #111115;
  --carte: #16161b;
  --carte-2: #1d1d24;
  --trait: rgba(255, 255, 255, .09);
  --texte: #f2f2f4;
  --gris: #9a9aa6;
  --gris-sombre: #5e5e68;
  --rouge: #e3141c;
  --rouge-vif: #ff2a31;
  --rouge-sombre: #9e0e14;
  --vert: #3dbe55;
  --or: #e8b931;
  --argent: #c4c8d0;
  --bronze: #c98049;
  --titre: "RevTitre", "Arial Black", Impact, sans-serif;
  --cond: "RevCond", "Arial Narrow", Arial, sans-serif;
  --corps: "RevTexte", "Segoe UI", Roboto, Arial, sans-serif;
  --largeur: 1180px;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--fond); color: var(--texte); font: 400 16px/1.55 var(--corps);
  min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden;
}
main { flex: 1; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--texte); text-decoration-color: var(--rouge); text-underline-offset: 3px; }
a:hover { color: var(--rouge-vif); }
:focus-visible { outline: 2px solid var(--rouge-vif); outline-offset: 2px; }
p { margin: 0 0 .8em; }

.enveloppe { width: 100%; max-width: var(--largeur); margin: 0 auto; padding: 0 16px; }
.section { padding-top: 36px; padding-bottom: 12px; }
.etroit { max-width: 860px; }
.discret { color: var(--gris); }
.petit { font-size: .85rem; }
.droite { text-align: right; }
.rouge-texte { color: var(--rouge-vif); }

/* ---------------- bandeau en direct (toutes les pages) */
.bandeau { background: #070708; border-bottom: 1px solid var(--trait); font: 700 .82rem/1 var(--cond); letter-spacing: .04em; text-transform: uppercase; }
.bandeau-in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; }
.direct { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: var(--gris); }
.direct.enligne { color: var(--texte); }
.pastille { width: 9px; height: 9px; border-radius: 50%; background: var(--gris-sombre); flex: none; }
.enligne .pastille { background: var(--vert); box-shadow: 0 0 0 3px rgba(61, 190, 85, .2); animation: pulse 2.4s ease-in-out infinite; }
.horsligne .pastille { background: var(--rouge); }
.horsligne { color: #ff8a8e; }
@keyframes pulse { 50% { box-shadow: 0 0 0 6px rgba(61, 190, 85, 0); } }
@media (prefers-reduced-motion: reduce) { .enligne .pastille { animation: none; } }
.langues { display: inline-flex; gap: 4px; }
.langues a { padding: 4px 7px; text-decoration: none; color: var(--gris); border: 1px solid transparent; }
.langues a.actif { color: var(--texte); border-color: var(--trait); }

/* ---------------- en-tête */
.entete { position: sticky; top: 0; z-index: 10; background: rgba(11, 11, 13, .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--trait); }
.entete-in { display: flex; align-items: center; gap: 20px; min-height: 64px; }
.logo img { width: 150px; height: auto; }
.nav { display: flex; gap: 2px; margin-left: auto; flex-wrap: wrap; }
.nav a {
  font: 700 .95rem/1 var(--cond); text-transform: uppercase; letter-spacing: .03em; text-decoration: none;
  padding: 10px 11px; color: var(--gris); transform: skewX(-12deg); border-bottom: 2px solid transparent;
}
.nav a:hover { color: var(--texte); }
.nav a.actif { color: var(--texte); background: var(--rouge); border-color: var(--rouge-vif); }
.menu-case, .menu-bouton { display: none; }

/* ---------------- titres (comme « GARAGE » / « MULTIJOUEUR » du jeu) */
.titre-bloc { margin: 0 0 22px; }
.titre, .titre-2, .titre-3, .heros-titre, .categorie-titre {
  font-family: var(--titre); font-weight: 900; font-style: italic; text-transform: uppercase; letter-spacing: .01em; line-height: 1.02; margin: 0;
}
.titre { font-size: clamp(2rem, 5vw, 3.2rem); }
.titre::after { content: ""; display: block; width: 72px; height: 5px; margin-top: 10px; background: var(--rouge); transform: skewX(-25deg); }
.sous-titre { color: var(--gris); margin: 12px 0 0; max-width: 760px; }
.titre-2 { font-size: clamp(1.4rem, 3.4vw, 2rem); }
.titre-3 { font-size: 1.3rem; margin: 30px 0 14px; display: flex; align-items: center; gap: 10px; }
.titre-3::before { content: ""; width: 14px; height: 18px; background: var(--rouge); transform: skewX(-20deg); flex: none; }
.categorie-titre { font-size: 1.05rem; margin: 22px 0 8px; color: var(--rouge-vif); }

/* ---------------- héros (accueil) */
.heros {
  position: relative; min-height: min(78vh, 720px); display: flex; align-items: flex-end;
  background: linear-gradient(90deg, rgba(11, 11, 13, .95) 0%, rgba(11, 11, 13, .7) 38%, rgba(11, 11, 13, .1) 75%),
              linear-gradient(0deg, var(--fond) 0%, rgba(11, 11, 13, 0) 35%), url("img/heros.webp") center / cover no-repeat;
}
.heros-in { padding-top: 70px; padding-bottom: 56px; }
.heros-logo { width: min(520px, 86vw); margin-bottom: 18px; }
.heros-titre { font-size: clamp(1.7rem, 4.4vw, 3rem); max-width: 720px; text-shadow: 0 2px 18px rgba(0, 0, 0, .75); }
.heros-texte { color: #d4d4da; max-width: 560px; margin: 14px 0 26px; font-size: 1.08rem; }
.boutons { display: flex; flex-wrap: wrap; gap: 12px; }

.bouton {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(22, 22, 27, .85); color: var(--texte); text-decoration: none; cursor: pointer;
  font: 700 1rem/1 var(--cond); text-transform: uppercase; letter-spacing: .04em; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.bouton:hover { background: var(--carte-2); color: var(--texte); border-color: var(--rouge); }
.bouton.rouge { background: var(--rouge); border-color: var(--rouge-vif); }
.bouton.rouge:hover { background: var(--rouge-vif); }

/* ---------------- chiffres, cartes, grilles */
.chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 14px; }
.chiffre { background: var(--carte); border: 1px solid var(--trait); border-left: 4px solid var(--rouge); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.chiffre.fort { background: linear-gradient(135deg, var(--rouge-sombre), var(--carte) 70%); }
.chiffre-n { font: 900 italic 2.2rem/1 var(--titre); }
.chiffre-n.petit-n { font-size: 1.35rem; }
.chiffre-l { font: 700 .82rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .04em; color: var(--gris); }
.grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.carte { background: var(--carte); border: 1px solid var(--trait); padding: 18px; }
.carte.alerte { border-left: 4px solid var(--rouge); }
.alerte-titre { font: 900 italic 1.3rem/1.1 var(--titre); text-transform: uppercase; color: #ff8a8e; }
.vide { color: var(--gris); padding: 22px; border: 1px dashed var(--trait); }
.lien-fleche { font: 700 .95rem/1 var(--cond); text-transform: uppercase; letter-spacing: .04em; text-decoration: none; }
.lien-fleche::after { content: " →"; color: var(--rouge-vif); }
.badge {
  display: inline-block; font: 700 .72rem/1 var(--cond); text-transform: uppercase; letter-spacing: .05em; padding: 4px 7px;
  background: var(--carte-2); border: 1px solid var(--trait); color: var(--gris); vertical-align: middle;
}
.badge.rouge { background: var(--rouge); border-color: var(--rouge-vif); color: #fff; }
.badge.vert { background: #1d4d27; border-color: var(--vert); color: #c8f5d1; }
.badge.barre { text-decoration: line-through; }
.tag { font: 700 .8rem/1 var(--cond); background: var(--rouge); color: #fff; padding: 3px 6px; letter-spacing: .04em; }

.cartes-records .record { display: flex; flex-direction: column; gap: 3px; text-decoration: none; transition: border-color .15s; }
.cartes-records .record:hover { border-color: var(--rouge); color: var(--texte); }
.record-circuit { font: 900 italic 1.15rem/1.1 var(--titre); text-transform: uppercase; }
.record-cat { font: 700 .8rem/1.2 var(--cond); text-transform: uppercase; color: var(--rouge-vif); letter-spacing: .04em; }
.record-temps { font: 900 italic 1.9rem/1.1 var(--titre); font-variant-numeric: tabular-nums; margin-top: 6px; }
.record-pilote { color: var(--gris); font-size: .92rem; }

.evenement-haut { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 8px; }
.evenement-date { font: 700 .9rem/1 var(--cond); text-transform: uppercase; color: var(--rouge-vif); letter-spacing: .03em; }
.evenement-nom, .circuit-nom, .equipe-nom { font: 900 italic 1.3rem/1.1 var(--titre); text-transform: uppercase; margin: 0 0 6px; }
.evenement-circuit { font-weight: 500; }
.evenement-desc { color: #d0d0d6; white-space: pre-line; }
.nouvelle p { white-space: pre-line; }
.etroit .nouvelle { margin-bottom: 14px; }
.liste-membres { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }

/* ---------------- courbe 24 h */
.courbe { margin: 10px 0 0; background: var(--carte); border: 1px solid var(--trait); padding: 12px 12px 6px; }
.courbe svg { width: 100%; height: 120px; display: block; }
.courbe-ligne { fill: none; stroke: var(--rouge-vif); stroke-width: 2; vector-effect: non-scaling-stroke; }
.courbe-aire { fill: rgba(227, 20, 28, .18); stroke: none; }
.courbe figcaption { margin-top: 6px; }

/* ---------------- tableaux */
.tableau-cadre { width: 100%; overflow-x: auto; border: 1px solid var(--trait); background: var(--carte); }
.tableau { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tableau th {
  text-align: left; font: 700 .78rem/1 var(--cond); text-transform: uppercase; letter-spacing: .05em; color: var(--gris);
  padding: 12px 12px; background: var(--fond-2); border-bottom: 2px solid var(--rouge); white-space: nowrap;
}
.tableau th.droite { text-align: right; }
.tableau td { padding: 10px 12px; border-bottom: 1px solid var(--trait); vertical-align: middle; }
.tableau tbody tr:nth-child(even) { background: rgba(255, 255, 255, .018); }
.tableau tbody tr:hover { background: rgba(227, 20, 28, .07); }
.tableau .pos { width: 52px; font: 900 italic 1.05rem/1 var(--titre); color: var(--gris); }
.tableau .temps { font-family: var(--cond); font-weight: 700; font-size: 1.05rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.podium.p1 .pos { color: var(--or); }
.podium.p2 .pos { color: var(--argent); }
.podium.p3 .pos { color: var(--bronze); }
.podium.p1 td:first-child { box-shadow: inset 4px 0 0 var(--or); }
.pilote { font-weight: 500; text-decoration: none; }
.pilote:hover { text-decoration: underline; }
.m-seul { display: none; }

/* ---------------- classements */
.filtres, .recherche { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0 0 22px; padding: 16px; background: var(--carte); border: 1px solid var(--trait); }
.filtres label { display: flex; flex-direction: column; gap: 6px; font: 700 .78rem/1 var(--cond); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); flex: 1 1 220px; min-width: 0; }
select, input[type="search"] {
  width: 100%; min-height: 46px; padding: 0 12px; background: var(--fond); color: var(--texte); border: 1px solid rgba(255, 255, 255, .18);
  font: 400 1rem var(--corps); border-radius: 0;
}
select:focus, input:focus { border-color: var(--rouge); outline: none; }
.recherche input { flex: 1 1 240px; width: auto; }
.entete-classement { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.record-grand { background: var(--rouge); padding: 10px 18px; transform: skewX(-10deg); display: flex; flex-direction: column; }
.record-grand span { font: 700 .75rem/1 var(--cond); text-transform: uppercase; letter-spacing: .06em; }
.record-grand strong { font: 900 italic 1.8rem/1.1 var(--titre); font-variant-numeric: tabular-nums; }
.puces { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.puce { font: 700 .85rem/1 var(--cond); text-transform: uppercase; text-decoration: none; padding: 8px 12px; background: var(--carte); border: 1px solid var(--trait); }
.puce span { color: var(--gris); margin-left: 4px; }
.puce.actif { background: var(--rouge); border-color: var(--rouge-vif); }
.puce.actif span { color: #ffd1d3; }

/* ---------------- profil pilote */
.profil { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.profil .titre::after { display: none; }
.profil-niveau {
  width: 84px; height: 84px; flex: none; background: var(--rouge); display: flex; flex-direction: column; align-items: center; justify-content: center;
  clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}
.profil-niveau span { font: 700 .75rem/1 var(--cond); text-transform: uppercase; }
.profil-niveau strong { font: 900 italic 2rem/1 var(--titre); }
.profil-equipe { margin: 8px 0 0; }
.profil-equipe a { text-decoration: none; }

/* ---------------- galerie, textes */
.galerie { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.galerie figure { margin: 0; background: var(--carte); border: 1px solid var(--trait); }
.galerie figcaption { padding: 8px 12px; font: 700 .8rem/1.2 var(--cond); text-transform: uppercase; color: var(--gris); letter-spacing: .04em; }
.texte h2 { margin-top: 26px; }
.introuvable { padding-top: 70px; padding-bottom: 70px; }

/* ---------------- pied */
.pied { margin-top: 56px; background: #070708; border-top: 1px solid var(--trait); padding: 30px 0 22px; }
.pied-in { display: grid; grid-template-columns: 1fr auto; gap: 14px 30px; align-items: start; }
.pied-in img { margin-bottom: 12px; width: 126px; }
.pied-liens { display: flex; flex-wrap: wrap; gap: 6px 18px; font: 700 .9rem/1.4 var(--cond); text-transform: uppercase; letter-spacing: .04em; }
.pied-liens a { text-decoration: none; color: var(--gris); }
.pied-liens a:hover { color: var(--texte); }
.pied-in > .petit { grid-column: 1 / -1; margin: 0; }

/* ---------------- téléphone */
@media (max-width: 900px) {
  .menu-bouton { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; margin-left: auto; cursor: pointer; padding: 10px; }
  .menu-bouton span { display: block; height: 3px; background: var(--texte); transform: skewX(-20deg); }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; background: var(--fond-2); border-bottom: 2px solid var(--rouge); padding: 8px 16px 14px; }
  .nav a { transform: none; padding: 13px 10px; font-size: 1.05rem; border-bottom: 1px solid var(--trait); }
  .menu-case:checked ~ .nav { display: flex; }
  .entete-in { position: relative; }
  .galerie { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  body { font-size: 15px; }
  .heros { min-height: min(82vh, 640px); background: linear-gradient(0deg, var(--fond) 8%, rgba(11, 11, 13, .55) 60%, rgba(11, 11, 13, .35) 100%), url("img/heros-mobile.webp") center / cover no-repeat; }
  .heros-in { padding-top: 40px; padding-bottom: 32px; }
  .boutons { flex-direction: column; }
  .bouton { width: 100%; }
  .chiffres { grid-template-columns: 1fr 1fr; gap: 8px; }
  .chiffre { padding: 12px; }
  .chiffre-n { font-size: 1.7rem; }
  .m-cache { display: none; }
  .m-seul { display: block; font-size: .8rem; }
  .tableau td, .tableau th { padding: 9px 8px; }
  .pied-in { grid-template-columns: 1fr; }
  .bandeau { font-size: .74rem; }
  .profil-niveau { width: 66px; height: 66px; }
  .grille { grid-template-columns: 1fr; }
}

/* ---------------- (06/11) espace partenaires */
.heros-partenaires { min-height: min(62vh, 560px); }
.surtitre { font: 700 .95rem/1 var(--cond); text-transform: uppercase; letter-spacing: .12em; color: var(--rouge-vif); margin: 0 0 12px; }
.offres { margin-bottom: 10px; }
.offre { display: flex; flex-direction: column; gap: 6px; border-top: 3px solid var(--rouge); }
.offre-prix, .pack-prix { font: 900 italic 1.6rem/1 var(--titre); font-variant-numeric: tabular-nums; }
.offre-prix span, .pack-prix span { font: 700 .8rem/1 var(--cond); color: var(--gris); text-transform: uppercase; margin-left: 4px; font-style: normal; }
.offre-nom { font: 700 1.1rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .02em; margin: 4px 0 0; }
.packs { margin-bottom: 10px; }
.pack { position: relative; overflow: hidden; }
.pack::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--gris-sombre); }
.pack-bronze::before { background: var(--bronze); } .pack-argent::before { background: var(--argent); } .pack-or::before { background: var(--or); }
.pack-platine::before { background: linear-gradient(90deg, #e9ecf2, #8fd3ff); }
.pack-platine { background: linear-gradient(160deg, #20232c, var(--carte) 60%); }
.pack-nom { font: 900 italic 1.6rem/1 var(--titre); text-transform: uppercase; margin: 6px 0 8px; }
.pack-bronze .pack-nom { color: var(--bronze); } .pack-argent .pack-nom { color: var(--argent); } .pack-or .pack-nom { color: var(--or); } .pack-platine .pack-nom { color: #cfe9ff; }
.pack ul { margin: 12px 0 0; padding-left: 18px; color: #d4d4da; }
.pack li { margin: 4px 0; }
.appel { margin-top: 26px; border-left: 4px solid var(--rouge); }
.appel .titre-2 { margin-bottom: 10px; }
.formulaire { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.formulaire label { display: flex; flex-direction: column; gap: 6px; font: 700 .8rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); }
.formulaire input[type="text"], .formulaire input[type="email"], .formulaire input[type="tel"], .formulaire input[type="password"], .formulaire input[type="number"], .formulaire textarea {
  width: 100%; min-height: 46px; padding: 10px 12px; background: var(--fond); color: var(--texte); border: 1px solid rgba(255, 255, 255, .18); font: 400 1rem var(--corps); border-radius: 0;
}
.formulaire textarea { resize: vertical; text-transform: none; }
.formulaire input:focus, .formulaire textarea:focus { border-color: var(--rouge); outline: none; }
.formulaire .bouton { align-self: flex-start; }
.deux-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.deux-blocs { display: grid; grid-template-columns: 1.15fr .85fr; gap: 26px; align-items: start; }
.options { border: 1px solid var(--trait); padding: 12px 14px; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.options legend { font: 700 .8rem/1 var(--cond); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); padding: 0 6px; }
.formulaire label.case { flex-direction: row; align-items: center; gap: 10px; font: 400 .98rem/1.3 var(--corps); text-transform: none; letter-spacing: 0; color: var(--texte); padding: 7px 4px; cursor: pointer; border-bottom: 1px solid var(--trait); }
.case input { width: 18px; height: 18px; accent-color: var(--rouge); flex: none; }
.case span { flex: 1; }
.case em { font: 700 .85rem/1 var(--cond); color: var(--gris); font-style: normal; white-space: nowrap; }
.estimation { background: var(--fond-2); border-left: 4px solid var(--rouge); padding: 12px 14px; min-height: 52px; }
.estimation:empty { display: none; }
.estimation p { margin: 0 0 6px; }
.estimation ul { margin: 4px 0 0; padding-left: 18px; color: #d4d4da; }
.estimation .gros { font: 900 italic 1.25rem/1.2 var(--titre); text-transform: uppercase; }
.msg-erreur, .msg-ok { padding: 12px 14px; margin: 0 0 16px; border-left: 4px solid; }
.msg-erreur { background: rgba(227, 20, 28, .12); border-color: var(--rouge); color: #ffc7ca; }
.msg-ok { background: rgba(61, 190, 85, .1); border-color: var(--vert); color: #c8f5d1; }
.liste-props { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.prop { display: flex; flex-direction: column; gap: 4px; text-decoration: none; }
.prop:hover { border-color: var(--rouge); color: var(--texte); }
.prop-haut { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 1.05rem; }
.badge.or { background: #4a3a0a; border-color: var(--or); color: #ffe7a3; }
.fil { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.bulle { max-width: 78%; padding: 12px 16px; background: var(--carte); border: 1px solid var(--trait); }
.bulle p { margin: 6px 0 0; white-space: pre-line; }
.bulle.revline { align-self: flex-end; background: linear-gradient(135deg, #2a0c0f, var(--carte) 70%); border-color: rgba(227, 20, 28, .45); }
.bulle-qui { font: 700 .78rem/1 var(--cond); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); }
.bulle.revline .bulle-qui { color: var(--rouge-vif); }
.contre-offre { margin-top: 8px; font: 700 .95rem/1.2 var(--cond); text-transform: uppercase; color: var(--or); }
.accepter { border-left: 4px solid var(--vert); margin-bottom: 18px; }
.lien { text-decoration: underline; }
.retour::after { content: ""; } .retour::before { content: "← "; color: var(--rouge-vif); }
@media (max-width: 900px) { .deux-blocs { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .deux-col { grid-template-columns: 1fr; } .bulle { max-width: 100%; } .formulaire .bouton { align-self: stretch; } }
.estimation .ecart { margin-top: 8px; color: var(--or); }
.offres, .packs { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.deux-blocs .titre { font-size: clamp(1.35rem, 2.4vw, 1.9rem); } .deux-blocs .titre-bloc { margin-bottom: 14px; }
.puces + .titre-bloc, .carte + .titre-bloc { margin-top: 30px; }
.tableau-cadre + .titre-bloc, .chiffres + .titre-bloc, .vide + .titre-bloc { margin-top: 30px; }

/* (06/11, 1.1.1) vidéo de /partenaires : cadre 16:9, chargée au clic */
.section-video { padding-bottom: 8px; }
.video-cadre { position: relative; aspect-ratio: 16 / 9; width: 100%; max-width: 1100px; margin: 0 auto; background: #050506; border: 1px solid var(--trait); overflow: hidden; }
.video-cadre iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-lancer { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; cursor: pointer; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: radial-gradient(ellipse at 70% 80%, rgba(208,20,27,.45), transparent 60%), repeating-linear-gradient(115deg, #0d0d10 0 22px, #111116 22px 44px); font: inherit; }
.video-lancer:hover .video-play, .video-lancer:focus-visible .video-play { transform: scale(1.08); background: #ff1f28; }
.video-play { width: 92px; height: 92px; border-radius: 50%; background: #d0141b; box-shadow: 0 0 0 10px rgba(208,20,27,.18), 0 12px 40px rgba(0,0,0,.6); position: relative; transition: transform .15s, background .15s; }
.video-play::after { content: ""; position: absolute; left: 36px; top: 28px; border-left: 30px solid #fff; border-top: 18px solid transparent; border-bottom: 18px solid transparent; }
.video-titre { font-family: var(--titre, inherit); font-weight: 800; font-style: italic; text-transform: uppercase; font-size: clamp(20px, 3vw, 34px); letter-spacing: .5px; }
.video-note { color: var(--gris, #9a9aa5); font-size: 13px; }

/* (11/11) recrutement */
.postes { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin: 0 0 28px; }
.poste h2 { margin: 0 0 6px; }
.poste p { margin: 0; color: var(--gris); }
.piege { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
