/* AC Aiacciu · maquette V1 ter
   Noir profond et craie, rouge du club réservé aux gestes forts ; Anton pour les titres, Archivo pour le texte,
   Instrument Serif italique pour les accents corses. Grille de 1320 px, gouttière fluide. */
:root {
  --noir: #0B0B0C;
  --noir-carte: #151516;
  --noir-ligne: #1E1E1E;
  --noir-ligne-2: #222;
  --noir-bord: #3A3A3A;
  --craie: #F5F3EF;
  --craie-ligne: #DDD8CF;
  --craie-chaude: #E7E3DB;
  --gris-clair: #C9C5BD;
  --gris: #A8A49C;
  --gris-moyen: #8A857C;
  --gris-fonce: #5C5850;
  --brun: #3D3A35;
  --pointille: #B9B3A8;
  --rouge: #D0021B;
  --blanc: #FFFFFF;
  --display: 'Anton', Impact, 'Arial Narrow', sans-serif;
  --body: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --gutter: clamp(16px, 4vw, 56px);
  --max: 1320px;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box }
html { -webkit-text-size-adjust: 100% }
body { margin: 0; background: var(--noir); color: var(--craie); font-family: var(--body); font-size: 16px; line-height: 1.5; overflow-x: hidden }
img { max-width: 100%; height: auto }
a { color: inherit; text-decoration: none }
a:hover { opacity: .85 }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--rouge); outline-offset: 3px }
h1, h2, h3 { margin: 0 }
p { margin: 0 }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap }
.skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 100; width: auto; height: auto; clip: auto; padding: 12px 18px; background: var(--craie); color: var(--noir); font-weight: 700; border-radius: 999px }

.wrap { max-width: var(--max); margin: 0 auto; padding-inline: var(--gutter) }
.disp { font-family: var(--display); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; line-height: .92 }
.serif { font-family: var(--serif); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: 0 }
.kicker { font-family: var(--body); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase }
.accent { color: var(--rouge) }
.card-img { transition: transform .5s ease }
.card:hover .card-img { transform: scale(1.04) }
.card:hover { opacity: 1 }
@media (max-width: 720px) { .hide-sm { display: none !important } }

/* Boutons */
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 18px 28px; border-radius: 999px; font-weight: 700; font-size: 15px; line-height: 1.2 }
.btn svg { width: 18px; height: 18px; flex: none }
.btn--rouge { background: var(--rouge); color: var(--blanc) }
.btn--ligne { border: 1px solid var(--noir-bord) }
.btn--craie { background: var(--craie); color: var(--noir) }
.btn--petit { padding: 14px 22px; font-size: 14px }
.lien-fleche { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px }
.lien-fleche svg { width: 18px; height: 18px }
.lien-souligne { font-weight: 700; font-size: 14px; text-decoration: underline; text-underline-offset: 4px }

/* Barre utilitaire */
.utilitaire { border-bottom: 1px solid var(--noir-ligne-2); background: var(--noir) }
.utilitaire .wrap { padding-block: 10px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--gris) }
.utilitaire__devise { display: flex; gap: 20px; align-items: center }
.utilitaire__devise .serif { font-size: 17px; color: var(--craie) }
.utilitaire__sep { color: #555 }
.utilitaire__reseaux { display: flex; gap: 20px; align-items: center }

/* En-tête */
.entete { position: relative; z-index: 3; background: var(--noir) }
.entete .wrap { padding-block: 16px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap }
.marque { display: flex; align-items: center; gap: 14px }
.marque img { height: 76px; width: auto; display: block }
.marque__texte { display: flex; flex-direction: column; gap: 4px }
.marque__nom { font-size: 30px }
.marque__sous { font-size: 10px; color: var(--gris) }
.nav-principale ul { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(16px, 2.4vw, 36px); align-items: center; flex-wrap: wrap; font-size: 17px; font-weight: 600 }
.nav-principale .current-menu-item > a, .nav-principale .current-menu-ancestor > a, .nav-principale .current_page_parent > a { color: var(--rouge) }
.btn-butteca { padding: 14px 24px; border-radius: 999px; background: var(--rouge); color: var(--blanc); font-weight: 700; font-size: 15px }
/* Menu mobile */
.burger { display: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--noir-bord); background: transparent; color: var(--craie); cursor: pointer; align-items: center; justify-content: center }
.burger svg { width: 22px; height: 22px }
.entete__actions { display: flex; gap: 10px; align-items: center }
@media (max-width: 1080px) {
  .marque img { height: 60px }
  .marque__nom { font-size: 26px }
  .burger { display: inline-flex }
  .nav-principale { display: none; flex-basis: 100%; order: 3; border-top: 1px solid var(--noir-ligne-2); padding-top: 8px }
  .nav-principale.est-ouvert { display: block }
  .nav-principale ul { flex-direction: column; align-items: stretch; gap: 0; font-size: 20px }
  .nav-principale li a { display: block; padding: 14px 0; border-bottom: 1px solid var(--noir-ligne) }
}
@media (max-width: 480px) {
  .marque__sous { display: none }
  .btn-butteca { padding: 12px 18px; font-size: 14px }
}

/* Hero */
.hero { position: relative; background: var(--noir); border-bottom: 1px solid var(--noir-ligne) }
.hero__trame { position: absolute; inset: 0; background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 72px); pointer-events: none }
.hero .wrap { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; min-height: 720px }
.hero__texte { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 28px; padding-block: 72px 64px; position: relative; z-index: 2 }
.hero__saison { display: flex; align-items: center; gap: 12px }
.hero__saison::before { content: ""; width: 40px; height: 3px; background: var(--rouge); display: block }
.hero__saison span { color: var(--gris) }
.hero h1 { font-size: clamp(64px, 9.5vw, 148px) }
.hero h1 .serif { display: block; font-size: .62em; line-height: 1; margin-top: .06em; color: var(--craie) }
.hero__intro { max-width: 460px; font-size: 18px; line-height: 1.55; color: var(--gris-clair) }
.hero__ctas { display: flex; gap: 12px; flex-wrap: wrap }
.hero__visuel { flex: 1 1 460px; min-width: 0; position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 520px }
.hero__annee { position: absolute; right: -10px; top: 40px; font-size: clamp(160px, 22vw, 320px); color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.12); line-height: .8; pointer-events: none }
.hero__fondu { position: absolute; left: 0; right: 0; bottom: 0; height: 220px; background: linear-gradient(0deg, var(--noir) 0%, rgba(11,11,12,0) 100%); pointer-events: none }

/* Rétrospective (reprise de la maquette, rythme film : flashs, accélérations, ralenti sur 2022) */
.retro { position: relative; width: 100%; max-width: 600px; height: 680px; overflow: hidden; background: var(--noir) }
.retro img { width: 100%; height: 100%; object-fit: cover; display: block }
.retro__flash { background: var(--blanc) }
.retro__fin { background: var(--noir); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 24px }
.retro__fin .serif { font-size: 46px; line-height: 1.05 }
.retro__barre { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(255,255,255,.18) }
.retro__barre div { height: 100%; background: var(--rouge) }
.retro__legendes { position: absolute; left: 0; right: 0; bottom: 40px; height: 110px; pointer-events: none }
.retro__legendes .rt-layer { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px }
.retro__legendes .disp { font-size: 56px }
.retro__legendes span:last-child { font-size: 16px; font-weight: 600; color: var(--craie-chaude) }
@media (max-width: 720px) {
  .hero .wrap { min-height: 0 }
  .hero__texte { padding-block: 48px 32px }
  .hero__visuel { min-height: 0 }
  .retro { height: auto; aspect-ratio: 600 / 680 }
  .retro__legendes { bottom: 24px }
  .retro__legendes .disp { font-size: 44px }
}

/* Match center */
.matchs { background: var(--craie); color: var(--noir) }
.matchs .wrap { display: flex; flex-wrap: wrap }
.matchs__bloc { min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 40px }
.matchs__prochain { flex: 1.4 1 440px; gap: 20px; padding-left: 0; border-right: 1px solid var(--craie-ligne) }
.matchs__resultat { flex: 1 1 260px; border-right: 1px solid var(--craie-ligne) }
.matchs__classement { flex: 1 1 260px; padding-right: 0 }
.matchs__tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap }
.matchs__compet { font-size: 14px; color: var(--gris-fonce) }
.matchs__affiche { display: flex; align-items: center; justify-content: space-between; gap: 16px }
.matchs__equipe { display: flex; align-items: center; gap: 14px; min-width: 0 }
.matchs__equipe img { height: 52px; width: auto }
.matchs__equipe .disp { font-size: clamp(24px, 3vw, 38px) }
.matchs__equipe--adv { justify-content: flex-end; text-align: right }
.matchs__vs { font-size: 34px; color: var(--gris-moyen) }
.matchs__ecusson-vide { width: 52px; height: 52px; border-radius: 50%; border: 1.5px dashed var(--pointille); flex: none }
.matchs__infos { padding-top: 18px; border-top: 1px solid var(--craie-ligne); font-size: 15px; font-weight: 600 }
.matchs__grand { font-size: 72px }
.matchs__detail { font-size: 15px; color: var(--brun) }
.matchs__rang { display: flex; align-items: baseline; gap: 10px }
.matchs__rang .disp:last-child { font-size: 30px }
.matchs__label { color: var(--gris-fonce) }
@media (max-width: 1000px) {
  .matchs__bloc { padding-inline: 0 }
  .matchs__prochain { flex-basis: 100%; border-right: 0; border-bottom: 1px solid var(--craie-ligne) }
  .matchs__resultat { padding-right: 24px }
}
@media (max-width: 560px) {
  .matchs__resultat { border-right: 0; border-bottom: 1px solid var(--craie-ligne); padding-right: 0 }
  .matchs__equipe img, .matchs__ecusson-vide { height: 40px; width: 40px }
  .matchs__equipe img { width: auto }
}

/* Sections communes */
.section { padding-block: 96px }
.section--craie { background: var(--craie); color: var(--noir) }
.section--noir { background: var(--noir) }
.section--filet { border-top: 1px solid var(--noir-ligne) }
.section .wrap { display: flex; flex-direction: column; gap: 48px }
.section__tete { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap }
.section__titre { font-size: clamp(48px, 6vw, 88px) }
.section__titre .serif { font-size: .55em }
.section__titre-bloc { display: flex; flex-direction: column; gap: 16px }
@media (max-width: 720px) { .section { padding-block: 64px } .section .wrap { gap: 36px } }

/* L'attualità */
.actus__grille { display: flex; flex-wrap: wrap; gap: 32px }
.actu-une { flex: 1.6 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 22px }
.actu-media { overflow: hidden; border-radius: 4px; background: var(--craie-ligne) }
.actu-media img { width: 100%; height: 100%; object-fit: cover; display: block }
.actu-une .actu-media { aspect-ratio: 16 / 10 }
.actu-meta { display: flex; gap: 14px; align-items: center; font-size: 14px; color: var(--gris-fonce) }
.actu-une h3 { font-size: clamp(34px, 3.6vw, 52px); line-height: .98 }
.actu-une p { font-size: 17px; line-height: 1.6; color: var(--brun); max-width: 640px }
.actus__cote { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 32px }
.actu-petite { display: flex; flex-direction: column; gap: 14px }
.actu-petite .actu-media { aspect-ratio: 16 / 9 }
.actu-petite .actu-meta { font-size: 13px }
.actu-petite h3 { font-size: 28px; line-height: 1 }
.actus__liste { display: flex; flex-wrap: wrap; border-top: 2px solid var(--noir) }
.actus__liste a { flex: 1 1 280px; min-width: 0; padding: 22px 24px 8px 0; display: flex; flex-direction: column; gap: 8px }
.actus__liste time { font-size: 13px; color: var(--gris-fonce) }
.actus__liste span { font-size: 19px; font-weight: 700; line-height: 1.3 }
@media (max-width: 560px) { .actu-une { flex-basis: 100% } .actus__cote { flex-basis: 100% } }

/* A squadra */
.joueurs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px }
@media (max-width: 1100px) { .joueurs { grid-template-columns: repeat(3, minmax(0, 1fr)) } }
.joueur { display: flex; flex-direction: column; background: var(--noir-carte); border-radius: 4px; overflow: hidden }
.joueur__photo { overflow: hidden; aspect-ratio: 4 / 5; background: #111 }
.joueur__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block }
.joueur__texte { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 6px; border-top: 3px solid var(--rouge) }
.joueur__prenom { font-size: 13px; color: var(--gris) }
.joueur__nom { font-size: 26px }
.joueur__poste { font-size: 10px; color: var(--gris) }
@media (max-width: 640px) { .joueurs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px } .joueur__nom { font-size: 21px } }

/* À l'Orsu TV */
.video .wrap { flex-direction: row; flex-wrap: wrap; align-items: center }
.video__texte { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 22px }
.video__texte p { font-size: 17px; line-height: 1.6; color: var(--gris-clair); max-width: 420px }
.video__texte .btn { align-self: flex-start }
.video__ecran { flex: 2 1 520px; min-width: 0; position: relative; aspect-ratio: 16 / 9; border-radius: 4px; overflow: hidden; background: var(--noir-carte); display: flex; align-items: center; justify-content: center }
.video__ecran img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover }
.video__ecran::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,11,12,.85) 0%, rgba(11,11,12,.1) 55%) }
.video__trame { position: absolute; inset: 0; background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 48px) }
.video__play { position: relative; z-index: 1; width: 96px; height: 96px; border-radius: 50%; background: var(--rouge); display: flex; align-items: center; justify-content: center }
.video__play svg { width: 34px; height: 34px; fill: var(--blanc) }
.video__titre { position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 22px; font-size: 15px; font-weight: 600 }
@media (max-width: 560px) { .video__play { width: 68px; height: 68px } .video__titre { left: 16px; bottom: 14px; font-size: 14px } }

/* Club & Scola di ballò */
.duo .wrap { flex-direction: row; flex-wrap: wrap; gap: 32px }
.duo__carte { flex: 1 1 420px; min-width: 0; border-radius: 4px; padding: 48px; display: flex; flex-direction: column; justify-content: space-between; gap: 64px; min-height: 380px; position: relative; overflow: hidden }
.duo__carte h2 { font-size: clamp(40px, 4.4vw, 64px) }
.duo__carte p { font-size: 16px; line-height: 1.6; max-width: 420px }
.duo__carte .lien { font-weight: 700; font-size: 15px; text-decoration: underline; text-underline-offset: 4px }
.duo__corps { display: flex; flex-direction: column; gap: 16px; position: relative }
.duo__storia { background: var(--noir); color: var(--craie) }
.duo__storia p { color: var(--gris-clair) }
.duo__storia .serif { font-size: .7em }
.duo__1910 { position: absolute; right: -16px; bottom: -40px; font-size: 260px; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.14); pointer-events: none }
.duo__scola { background: var(--rouge); color: var(--blanc) }
@media (max-width: 560px) { .duo__carte { padding: 32px 24px; min-height: 320px; gap: 40px } }

/* Butteca */
.butteca { background: var(--noir); border-top: 1px solid var(--noir-ligne); position: relative; overflow: hidden }
.butteca .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 32px }
.butteca__texte { flex: 1 1 440px; min-width: 0; padding-block: 88px; display: flex; flex-direction: column; gap: 22px }
.butteca__texte h2 { font-size: clamp(56px, 8vw, 120px) }
.butteca__texte p { font-size: 17px; line-height: 1.6; color: var(--gris-clair); max-width: 420px }
.butteca__texte .btn { align-self: flex-start }
.butteca__visuel { flex: 1 1 420px; min-width: 0; align-self: stretch; position: relative; min-height: 420px; display: flex; align-items: flex-end; justify-content: center }
.butteca__fond { position: absolute; left: 12%; right: 12%; top: 48px; bottom: 0; background: var(--rouge); border-radius: 4px 4px 0 0 }
.butteca__visuel img { position: relative; width: 82%; max-width: 480px; display: block; mix-blend-mode: lighten }
@media (max-width: 720px) { .butteca__texte { padding-block: 64px 0 } .butteca__visuel { min-height: 320px } }

/* Partenaires */
.partenaires .wrap { gap: 40px }
.partenaires h2 { font-size: clamp(40px, 5vw, 64px) }
.partenaires__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); border-top: 1px solid var(--craie-ligne); border-left: 1px solid var(--craie-ligne) }
.partenaires__grille > * { height: 120px; display: flex; align-items: center; justify-content: center; padding: 20px; border-right: 1px solid var(--craie-ligne); border-bottom: 1px solid var(--craie-ligne) }
.partenaires__grille img { max-height: 72px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s }
.partenaires__grille a:hover img { filter: none; opacity: 1 }
.partenaires__nom { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gris-moyen); text-align: center }
@media (max-width: 480px) { .partenaires__grille { grid-template-columns: repeat(2, minmax(0, 1fr)) } }

/* Pied de page : la marque et les réseaux à gauche ; à droite, les rubriques du menu principal et leurs sous-rubriques */
.pied { background: var(--noir); border-top: 4px solid var(--rouge) }
.pied .wrap { padding-block: 80px 36px; display: flex; flex-direction: column; gap: 64px }
.pied__haut { display: flex; flex-wrap: wrap; gap: 56px clamp(40px, 6vw, 96px); align-items: flex-start }
.pied__marque { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 28px }
.pied__identite { display: flex; align-items: center; gap: 22px }
.pied__identite img { height: 104px; width: auto; flex: none }
.pied__devise { display: flex; flex-direction: column; gap: 12px; min-width: 0 }
.pied__devise .serif { font-size: clamp(30px, 3vw, 42px); line-height: 1.05 }
.pied__devise .kicker { font-size: 10px; color: var(--gris) }
.pied__reseaux { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px }
.pied__reseaux a { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--noir-bord); display: inline-flex; align-items: center; justify-content: center; color: var(--craie); transition: background-color .15s, border-color .15s }
.pied__reseaux a:hover { background: var(--rouge); border-color: var(--rouge); opacity: 1 }
.pied__reseaux svg { width: 18px; height: 18px; fill: currentColor }
.pied__liens { flex: 2 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px }
.pied__col { display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--gris-clair) }
.pied__col a { align-self: flex-start }
.pied__col a:hover { color: var(--craie); opacity: 1 }
.pied__titre { color: var(--craie); padding-bottom: 14px; margin-bottom: 4px; border-bottom: 1px solid var(--noir-ligne-2); align-self: stretch !important }
.pied__col--titres { gap: 0 }
.pied__col--titres .pied__titre { padding-block: 0 14px; margin-bottom: 18px }
.pied__col--titres .pied__titre:last-child { margin-bottom: 0 }
.pied__titre:hover { color: var(--rouge) !important }
.insecable { white-space: nowrap }
.pied__bas { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--noir-ligne-2); font-size: 13px; color: var(--gris-moyen) }
.pied__bas nav { display: flex; gap: 20px; flex-wrap: wrap }
@media (max-width: 900px) { .pied__liens { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px } }
@media (max-width: 640px) {
  .pied .wrap { padding-block: 56px 28px; gap: 48px }
  .pied__identite img { height: 80px }
}
/* Gabarits de base (articles, pages, listes) en attendant leur design dédié */
.page-tete { background: var(--noir); border-bottom: 1px solid var(--noir-ligne) }
.page-tete .wrap { padding-block: 64px 48px; display: flex; flex-direction: column; gap: 18px }
.page-tete h1 { font-size: clamp(40px, 6vw, 84px); max-width: 18ch }
.page-tete .actu-meta { color: var(--gris) }
.page-corps { background: var(--craie); color: var(--noir) }
.page-corps .wrap { padding-block: 56px 96px }
.prose { max-width: 720px; font-size: 18px; line-height: 1.7; color: var(--brun) }
.prose > * + * { margin-top: 1.1em }
.prose h2, .prose h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; color: var(--noir); line-height: 1; margin-top: 1.6em }
.prose h2 { font-size: 36px }
.prose h3 { font-size: 26px }
.prose a { color: var(--rouge); text-decoration: underline; text-underline-offset: 3px }
.prose img, .prose figure, .prose iframe { max-width: 100%; height: auto; border-radius: 4px }
.prose figure { margin: 1.6em 0 }
.prose figcaption { font-size: 14px; color: var(--gris-fonce); margin-top: 8px }
.prose blockquote { margin: 1.6em 0; padding-left: 20px; border-left: 3px solid var(--rouge); font-family: var(--serif); font-style: italic; font-size: 24px; line-height: 1.35; color: var(--noir) }
.une-article { max-width: 1000px; margin-bottom: 48px; border-radius: 4px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--craie-ligne) }
.une-article img { width: 100%; height: 100%; object-fit: cover; display: block }
.liste-actus { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 40px 32px }
.pagination { margin-top: 56px; display: flex; gap: 8px; flex-wrap: wrap }
.pagination .page-numbers { min-width: 46px; height: 46px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--craie-ligne); border-radius: 999px; font-weight: 700 }
.pagination .current { background: var(--noir); color: var(--craie); border-color: var(--noir) }
.fiche { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start }
.fiche__photo { flex: 0 1 380px; min-width: 0; border-radius: 4px; overflow: hidden; aspect-ratio: 4 / 5; background: #111 }
.fiche__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20% }
.fiche__infos { flex: 1 1 320px; min-width: 0; display: grid; grid-template-columns: auto 1fr; gap: 14px 28px; font-size: 17px; align-self: center }
.fiche__infos dt { font-family: var(--body); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gris-fonce); padding-top: 4px }
.fiche__infos dd { margin: 0; font-weight: 600; color: var(--noir) }
@keyframes rt-s1{0.000%{opacity:0;transform:scale(1.14)} 2.451%{opacity:1} 14.706%{opacity:1;transform:scale(1.0)} 14.804%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s1{animation:rt-s1 20.4s linear infinite}
@keyframes rt-f1{0%{opacity:0}14.706%{opacity:0}14.902%{opacity:1}16.176%{opacity:0}100%{opacity:0}}
.rt-f1{animation:rt-f1 20.4s linear infinite}
@keyframes rt-s2{0.000%{opacity:0;transform:scale(1.0)} 15.196%{opacity:0;transform:scale(1.0)} 15.294%{opacity:1} 28.922%{opacity:1;transform:scale(1.08)} 29.020%{opacity:0} 100.000%{opacity:0;transform:scale(1.08)}}
.rt-s2{animation:rt-s2 20.4s linear infinite}
@keyframes rt-f2{0%{opacity:0}28.922%{opacity:0}29.118%{opacity:1}30.147%{opacity:0}100%{opacity:0}}
.rt-f2{animation:rt-f2 20.4s linear infinite}
@keyframes rt-s3{0.000%{opacity:0;transform:scale(1.06)} 29.412%{opacity:0;transform:scale(1.06)} 29.510%{opacity:1} 35.294%{opacity:1;transform:scale(1.0)} 35.392%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s3{animation:rt-s3 20.4s linear infinite}
@keyframes rt-s4{0.000%{opacity:0;transform:scale(1.0)} 35.294%{opacity:0;transform:scale(1.0)} 35.392%{opacity:1} 40.686%{opacity:1;transform:scale(1.05)} 40.784%{opacity:0} 100.000%{opacity:0;transform:scale(1.05)}}
.rt-s4{animation:rt-s4 20.4s linear infinite}
@keyframes rt-s5{0.000%{opacity:0;transform:scale(1.05)} 40.686%{opacity:0;transform:scale(1.05)} 40.784%{opacity:1} 45.588%{opacity:1;transform:scale(1.0)} 45.686%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s5{animation:rt-s5 20.4s linear infinite}
@keyframes rt-s6{0.000%{opacity:0;transform:scale(1.0)} 45.588%{opacity:0;transform:scale(1.0)} 45.686%{opacity:1} 50.000%{opacity:1;transform:scale(1.04)} 50.098%{opacity:0} 100.000%{opacity:0;transform:scale(1.04)}}
.rt-s6{animation:rt-s6 20.4s linear infinite}
@keyframes rt-f3{0%{opacity:0}50.000%{opacity:0}50.196%{opacity:1}51.225%{opacity:0}100%{opacity:0}}
.rt-f3{animation:rt-f3 20.4s linear infinite}
@keyframes rt-s7{0.000%{opacity:0;transform:scale(1.05)} 50.490%{opacity:0;transform:scale(1.05)} 50.588%{opacity:1} 53.922%{opacity:1;transform:scale(1.0)} 54.020%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s7{animation:rt-s7 20.4s linear infinite}
@keyframes rt-s8{0.000%{opacity:0;transform:scale(1.0)} 53.922%{opacity:0;transform:scale(1.0)} 54.020%{opacity:1} 57.353%{opacity:1;transform:scale(1.04)} 57.451%{opacity:0} 100.000%{opacity:0;transform:scale(1.04)}}
.rt-s8{animation:rt-s8 20.4s linear infinite}
@keyframes rt-s9{0.000%{opacity:0;transform:scale(1.14)} 57.353%{opacity:0;transform:scale(1.14)} 57.451%{opacity:1} 59.804%{transform:scale(1.06)} 63.725%{transform:scale(1.02)} 70.588%{opacity:1;transform:scale(1.0)} 70.686%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s9{animation:rt-s9 20.4s linear infinite}
@keyframes rt-f4{0%{opacity:0}70.588%{opacity:0}70.784%{opacity:1}71.814%{opacity:0}100%{opacity:0}}
.rt-f4{animation:rt-f4 20.4s linear infinite}
@keyframes rt-s10{0.000%{opacity:0;transform:scale(1.04)} 71.078%{opacity:0;transform:scale(1.04)} 71.176%{opacity:1} 75.000%{opacity:1;transform:scale(1.0)} 75.098%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s10{animation:rt-s10 20.4s linear infinite}
@keyframes rt-s11{0.000%{opacity:0;transform:scale(1.0)} 75.000%{opacity:0;transform:scale(1.0)} 75.098%{opacity:1} 78.431%{opacity:1;transform:scale(1.04)} 78.529%{opacity:0} 100.000%{opacity:0;transform:scale(1.04)}}
.rt-s11{animation:rt-s11 20.4s linear infinite}
@keyframes rt-s12{0.000%{opacity:0;transform:scale(1.04)} 78.431%{opacity:0;transform:scale(1.04)} 78.529%{opacity:1} 81.863%{opacity:1;transform:scale(1.0)} 81.961%{opacity:0} 100.000%{opacity:0;transform:scale(1.0)}}
.rt-s12{animation:rt-s12 20.4s linear infinite}
@keyframes rt-s13{0.000%{opacity:0;transform:scale(1.0)} 81.863%{opacity:0;transform:scale(1.0)} 81.961%{opacity:1} 86.275%{opacity:1} 88.235%{opacity:0;transform:scale(1.05)} 100.000%{opacity:0;transform:scale(1.05)}}
.rt-s13{animation:rt-s13 20.4s linear infinite}
@keyframes rt-end{0.000%{opacity:0} 88.235%{opacity:0} 90.441%{opacity:1} 95.343%{opacity:1} 97.549%{opacity:0} 100.000%{opacity:0}}
.rt-end{animation:rt-end 20.4s linear infinite}
@keyframes rt-c1{0.000%{opacity:0} 1.961%{opacity:0} 3.922%{opacity:1} 14.706%{opacity:1} 14.804%{opacity:0} 100.000%{opacity:0}}
.rt-c1{animation:rt-c1 20.4s linear infinite}
@keyframes rt-c2{0.000%{opacity:0} 16.667%{opacity:0} 18.137%{opacity:1} 28.922%{opacity:1} 29.020%{opacity:0} 100.000%{opacity:0}}
.rt-c2{animation:rt-c2 20.4s linear infinite}
@keyframes rt-c3{0.000%{opacity:0} 30.882%{opacity:0} 32.108%{opacity:1} 40.686%{opacity:1} 40.784%{opacity:0} 100.000%{opacity:0}}
.rt-c3{animation:rt-c3 20.4s linear infinite}
@keyframes rt-c4{0.000%{opacity:0} 41.667%{opacity:0} 42.892%{opacity:1} 50.000%{opacity:1} 50.098%{opacity:0} 100.000%{opacity:0}}
.rt-c4{animation:rt-c4 20.4s linear infinite}
@keyframes rt-c5{0.000%{opacity:0} 51.471%{opacity:0} 52.941%{opacity:1} 70.588%{opacity:1} 70.686%{opacity:0} 100.000%{opacity:0}}
.rt-c5{animation:rt-c5 20.4s linear infinite}
@keyframes rt-c6{0.000%{opacity:0} 72.549%{opacity:0} 74.020%{opacity:1} 85.784%{opacity:1} 87.255%{opacity:0} 100.000%{opacity:0}}
.rt-c6{animation:rt-c6 20.4s linear infinite}
@keyframes rt-bar{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}.rt-bar{transform-origin:left center;animation:rt-bar 20.4s linear infinite}
@keyframes rt-flicker{0%{filter:grayscale(1) contrast(1.15) brightness(1)}25%{filter:grayscale(1) contrast(1.15) brightness(.9)}50%{filter:grayscale(1) contrast(1.15) brightness(1.06)}75%{filter:grayscale(1) contrast(1.15) brightness(.95)}100%{filter:grayscale(1) contrast(1.15) brightness(1)}}.rt-old{animation:rt-flicker .24s steps(4) infinite}
@keyframes rt-flicker2{0%{filter:sepia(.4) saturate(.7) contrast(1.12) brightness(1)}25%{filter:sepia(.4) saturate(.7) contrast(1.12) brightness(.9)}50%{filter:sepia(.4) saturate(.7) contrast(1.12) brightness(1.06)}75%{filter:sepia(.4) saturate(.7) contrast(1.12) brightness(.95)}100%{filter:sepia(.4) saturate(.7) contrast(1.12) brightness(1)}}.rt-old-color{animation:rt-flicker2 .24s steps(4) infinite}
.rt-layer{position:absolute;inset:0;opacity:0;will-change:opacity,transform}
@media (prefers-reduced-motion: reduce){.rt-layer,.rt-bar,.rt-old,.rt-old-color{animation:none !important}.rt-s9,.rt-c5{opacity:1}}
