/* ==========================================================================
   Fiche artiste « l'affiche » (decision Terry 02/10/2026).
   Loaded only by artist pages, after the page has been reshaped by
   scripts/fiche-affiche.mjs. Rule: no box anywhere. No background, border,
   radius or shadow on a block; only type, the artist colour (--ink, set on
   <body> from the latest cover), 1 px rules and edge-to-edge images.
   Caveat = the handwritten "Sélection TIITII NBA" signature (key art: two
   families that overlap, see .claude/rules/key-art-lettrage.md).
   ========================================================================== */
@font-face{font-family:"Caveat";src:url(/assets/fonts/caveat.woff2) format("woff2");font-weight:400 700;font-display:swap}
body.fiche-affiche{background:var(--bg)!important}
html:has(body.fiche-affiche){overflow-x:clip;background:#050505}
main.affiche::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.07;mix-blend-mode:overlay;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.af-glow{position:fixed;inset:-25vh 0 auto;height:95vh;background:var(--cover) center/cover;filter:blur(110px) saturate(1.4);
  opacity:.3;pointer-events:none;z-index:0}

/* ---- 1. the reset: every block loses its box ---------------------------- */
main.affiche :where(section,article,aside,div,header,figure,li,details,summary,form,ul,ol,dl,fieldset,blockquote)
  :where(:not(.jeu-carte,.jeu-carte *,.fiche-gift__art,.fiche-gift__art *)){
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;outline-color:var(--ink)}
main.affiche{--g:clamp(16px,5vw,56px);position:relative;z-index:1;background:none!important;max-width:none!important;
  padding:0!important;margin:0!important;color:var(--color-text);font-family:var(--font-body)}
main.affiche .artist-ambient{display:none!important}
main.affiche img{border-radius:0!important}
main.affiche > :not(header.artist-top):not(.chap):not(.artist-actionbar):not(svg):not(.artist-ambient){
  padding-left:var(--g)!important;padding-right:var(--g)!important;max-width:1180px;margin-left:auto!important;margin-right:auto!important}
main.affiche .artist-panes{display:block!important;padding:0!important}
main.affiche .artist-pane{display:block!important;padding:0!important;margin:0!important}
main.affiche p,main.affiche li,main.affiche dd{font-size:clamp(16px,1.6vw,18px);line-height:1.6}

/* ---- 2. the poster (top) -------------------------------------------------- */
main.affiche header.artist-top{display:block!important;position:relative;padding:0!important;margin:0!important;min-height:0!important;width:auto!important;max-width:none!important}
.affiche .stage{position:relative}
.affiche .stage .cover{width:100%;height:auto;aspect-ratio:1;object-fit:cover;
  -webkit-mask-image:linear-gradient(#000 62%,transparent 98%);mask-image:linear-gradient(#000 62%,transparent 98%);animation:af-cover 1.1s var(--ease-out) both}
.affiche .lockup{position:relative;margin-top:clamp(-150px,-26vw,-90px);padding:0 var(--g);z-index:2}
.affiche .sign{display:block;font:700 clamp(26px,7vw,40px)/1 "Caveat",cursive;color:var(--color-text);transform:rotate(-5deg);
  margin:0 0 -.28em .1em;position:relative;z-index:2;animation:af-sign .8s .45s var(--ease-out) both}
.affiche .lockup h1{font:800 clamp(72px,21vw,190px)/.82 var(--font-display)!important;letter-spacing:-.055em!important;color:var(--ink)!important;
  text-wrap:balance;margin:0!important;text-transform:none!important;animation:af-up 1s .2s var(--ease-out) both}
.affiche .billing{margin-top:18px;font:600 10px/1.9 var(--font-body)!important;letter-spacing:.32em;text-transform:uppercase;color:var(--color-text-soft)}
.affiche .billing b{color:var(--color-text);font-weight:700}
.affiche .portrait{position:absolute;right:var(--g);top:clamp(-40px,-6vw,-20px);width:clamp(64px,18vw,104px);height:auto;aspect-ratio:1;
  object-fit:cover;transform:rotate(4deg);z-index:3;animation:af-portrait .9s .6s var(--ease-out) both}
.affiche .col{padding:0 var(--g)}
.affiche .lede{margin-top:28px;font-size:clamp(17px,2.2vw,20px)!important;line-height:1.55;max-width:34em}
.affiche .af-rule{border:0;height:1px;background:var(--rule);margin:44px 0 0}
.affiche .k,main.affiche .fiche-sec__k,main.affiche .fiche-listen__eyebrow,main.affiche .fv-avant__t,main.affiche .fd-carte__t,
main.affiche .artist-endcard__eyebrow,main.affiche .fiche-gift__eyebrow,main.affiche .artist-pari__tag{
  font:600 10px/1.4 var(--font-body)!important;letter-spacing:.32em!important;text-transform:uppercase!important;color:var(--color-text-soft)!important;
  background:none!important;border:0!important;padding:0!important}
.affiche .pair{display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(16px,4vw,40px);padding-top:28px}
.affiche .pair>.v{background:var(--rule)}
.affiche .pair>section{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.affiche .pair :is(h2,h3){margin-top:12px;font:800 clamp(22px,5.4vw,40px)/.95 var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere}
.affiche .pair .small{margin-top:8px;font-size:13px!important;line-height:1.5;color:var(--color-text-soft)}
.affiche .mini{margin-top:10px;font-size:13px;color:var(--color-text-soft);text-decoration:underline;text-underline-offset:3px}
.affiche .jeu{position:relative;isolation:isolate}
.affiche .jeu .q{position:absolute;right:-.04em;bottom:-.12em;z-index:-1;font:800 clamp(130px,34vw,260px)/1 var(--font-display);
  color:transparent;-webkit-text-stroke:1.5px var(--ink-deep);opacity:.3}
.affiche .jeu h3{font-size:clamp(20px,4.6vw,32px)}

/* the action disc */
.affiche .go{display:inline-flex;align-items:center;gap:14px;margin-top:24px;min-height:52px;font:800 clamp(20px,4.2vw,26px)/1.05 var(--font-display);
  letter-spacing:-.02em;color:var(--color-text);text-decoration:none}
.affiche .go .ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--on-ink);
  transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.affiche .go .ic svg{width:21px;height:21px}
.affiche .go .ic b{font:800 26px/1 var(--font-display)}
.affiche .go .t{transition:transform .35s var(--ease-out)}
.affiche .go:hover .ic{transform:scale(1.08);box-shadow:0 0 30px 2px var(--ink-glow)}
.affiche .go:hover .t{transform:translateX(4px)}
.affiche .go:active .ic{transform:scale(.94)}
.affiche .go:focus-visible{outline:none}
.affiche .go:focus-visible .ic{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--color-text)}
.affiche .pair .go{gap:10px;font-size:clamp(17px,3.8vw,22px);margin-top:auto;padding-top:18px}
.affiche .pair .go .ic{width:44px;height:44px}
.affiche .pair .go .ic svg{width:18px;height:18px}
.affiche .pair .go .ic b{font-size:22px}

/* ---- 3. chapter line ------------------------------------------------------ */
.affiche .chap{position:sticky;top:0;z-index:40;display:flex;gap:clamp(18px,4vw,40px);overflow-x:auto;scrollbar-width:none;
  padding:16px var(--g) 22px;margin-top:40px;background:linear-gradient(var(--bg) 70%,transparent)}
.affiche .chap::-webkit-scrollbar{display:none}
.affiche .chap a{flex:none;font:800 clamp(16px,3.6vw,20px)/1 var(--font-display);letter-spacing:-.01em;color:var(--color-text-soft);
  text-decoration:none;padding-bottom:6px;background:linear-gradient(var(--ink),var(--ink)) 0 100%/0 2px no-repeat;transition:background-size .3s var(--ease-out),color .3s}
.affiche .chap a[aria-current],.affiche .chap a:hover{color:var(--color-text);background-size:100% 2px}

/* ---- 4. section heads: the chapter titles --------------------------------- */
main.affiche .fiche-sec__head{display:block!important;margin-top:96px!important;padding-top:40px!important;border-top:1px solid var(--rule)!important;scroll-margin-top:70px}
main.affiche .fiche-sec__t{margin:12px 0 0!important;font:800 clamp(48px,12vw,128px)/.84 var(--font-display)!important;letter-spacing:-.055em!important;
  color:var(--color-text)!important;text-transform:none!important}
main.affiche .artist-section{margin-top:64px!important;padding-top:0!important}
main.affiche .artist-section>h2,main.affiche .fiche-listen__title,main.affiche .parole__q,main.affiche .fiche-gift__lead,
main.affiche .bouyon-chapter h2{font:800 clamp(30px,6.4vw,60px)/.92 var(--font-display)!important;letter-spacing:-.045em!important;
  color:var(--color-text)!important;margin:0 0 22px!important;text-transform:none!important}
main.affiche .artist-pane__hook,main.affiche .artist-section__note,main.affiche .disco-intro{color:var(--color-text-soft)!important;max-width:40em}

/* ---- 5. Écouter ------------------------------------------------------------ */
/* playlist */
main.affiche .fiche-listen{margin-top:56px!important;padding-top:0!important}
main.affiche .fiche-listen__strip{margin:18px calc(var(--g) * -1) 0!important;overflow:hidden}
main.affiche .fiche-listen__rail{display:flex!important;gap:2px!important;animation-duration:60s}
main.affiche .fiche-listen__rail img{width:clamp(72px,16vw,140px)!important;height:auto!important;aspect-ratio:1;flex:none}
main.affiche .fiche-listen__meta{color:var(--color-text-soft)!important;margin-top:14px!important}
main.affiche .fiche-listen__btn,main.affiche .artist-endcard__cta,main.affiche .fiche-gift__btn--primary,main.affiche .parole__go,
main.affiche .bouyon-chapter__partage--plein,main.affiche .fd-btn--ecoute,
main.affiche .artist-music-bridge__links .artist-music-bridge__listen{
  display:inline-flex!important;align-items:center;gap:10px;min-height:52px;padding:0 26px!important;border:0!important;border-radius:999px!important;
  background:var(--ink)!important;color:var(--on-ink)!important;font:800 17px/1 var(--font-display)!important;letter-spacing:-.01em!important;
  box-shadow:none!important;text-decoration:none!important;transition:box-shadow .35s var(--ease-out),transform .2s}
main.affiche .fiche-listen__btn:hover,main.affiche .artist-endcard__cta:hover,main.affiche .fiche-gift__btn--primary:hover,
main.affiche .parole__go:hover,main.affiche .bouyon-chapter__partage--plein:hover,
main.affiche .artist-music-bridge__links .artist-music-bridge__listen:hover{box-shadow:0 0 30px 2px var(--ink-glow)!important}
main.affiche .fiche-listen__btn{margin-top:20px!important}
/* latest releases strip, edge to edge */
main.affiche .fv-avant ol{display:grid!important;grid-auto-flow:column;grid-auto-columns:clamp(150px,38vw,220px);gap:2px!important;overflow-x:auto;
  margin:14px calc(var(--g) * -1) 0!important;padding:0!important;list-style:none;scroll-snap-type:x mandatory;scrollbar-width:none}
main.affiche .fv-avant li{scroll-snap-align:start}
main.affiche .fv-avant a{display:block!important;text-decoration:none;color:inherit;padding:0!important;background:none!important;border:0!important}
main.affiche .fv-avant img{width:100%!important;height:auto!important;aspect-ratio:1;display:block}
main.affiche .fv-avant span{display:block;padding:10px 12px 0}
main.affiche .fv-avant strong{display:block;font:800 18px/1.05 var(--font-display);letter-spacing:-.02em}
main.affiche .fv-avant small{display:block;margin-top:4px;font-size:12px;color:var(--color-text-soft)}
/* marquee releases: a big typographic list */
main.affiche .artist-works{display:block!important}
main.affiche .artist-works article{display:grid!important;grid-template-columns:clamp(64px,14vw,96px) 1fr;gap:18px;align-items:center;
  padding:18px 0!important;border-bottom:1px solid var(--rule)!important}
main.affiche .artist-works .artist-work__cover{width:100%!important;height:auto!important;aspect-ratio:1;display:grid!important;place-items:center;
  font:800 22px/1 var(--font-display);color:var(--ink);background:hsl(var(--w-h,0) 40% 16%)!important}
main.affiche .artist-work__year{color:var(--ink)!important;font:700 13px/1 var(--font-body)!important;letter-spacing:.12em;margin:0 0 6px!important}
main.affiche .artist-works h3,main.affiche .artist-collabs h3{font:800 clamp(24px,5.6vw,44px)/.95 var(--font-display)!important;letter-spacing:-.04em!important;margin:0!important}
main.affiche .artist-works .artist-work__txt p:not(.artist-work__year){margin-top:6px;color:var(--color-text-soft);font-size:14px!important}
/* full discography: quiet rows */
main.affiche .disco-picker{margin:10px 0 0!important}
main.affiche .disco-cols{display:grid!important;gap:40px;grid-template-columns:1fr;margin-top:var(--phi-3)!important}
main.affiche .disco-h{font:800 clamp(24px,5vw,36px)/1 var(--font-display)!important;letter-spacing:-.03em;display:flex;gap:10px;align-items:baseline}
main.affiche .disco-n{color:var(--ink)!important;font:800 .7em/1 var(--font-display)!important;background:none!important;padding:0!important}
main.affiche .disco-list{list-style:none;padding:0!important;margin:10px 0 0!important}
main.affiche .disco-row{display:grid!important;grid-template-columns:3.6em 1fr;gap:12px;padding:12px 0!important;border:0!important;
  border-bottom:1px solid var(--rule)!important;border-radius:0!important;background:none!important;color:inherit;text-decoration:none}
main.affiche .disco-row:hover .disco-t{color:var(--ink)}
main.affiche .disco-y{color:var(--ink)!important;font:700 13px/1.5 var(--font-body)!important;background:none!important}
main.affiche .disco-t{font:700 16px/1.35 var(--font-body)!important}
main.affiche .disco-by{display:block;font-size:13px;color:var(--color-text-soft)}
main.affiche details>summary{cursor:pointer;list-style:none;font:800 18px/1 var(--font-display);color:var(--ink);padding:16px 0!important;
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
main.affiche details>summary::-webkit-details-marker{display:none}
/* platforms: big text links */
main.affiche .artist-platforms__links{display:flex!important;flex-wrap:wrap;gap:6px clamp(18px,4vw,36px)}
main.affiche .artist-platform{font:800 clamp(24px,5vw,40px)/1.15 var(--font-display)!important;letter-spacing:-.035em;color:var(--color-text)!important;
  background:none!important;border:0!important;padding:0!important;text-decoration:none}
main.affiche .artist-platform:hover{color:var(--ink)!important}

/* ---- 6. Le cercle: faces edge to edge --------------------------------------- */
main.affiche .fv-visages ul{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px!important;list-style:none;padding:0!important;
  margin:0 calc(var(--g) * -1)!important}
/* justify-items: the dossier sheet centres this link as a grid; as a block it
   still shrank each photo to 0 px until it loaded, so the page grew ~300 px
   during a chapter jump (« Jouer » stopped short, 05/10/2026). */
main.affiche .fv-visages a{display:block;justify-items:normal;text-decoration:none;color:inherit}
main.affiche .fv-visage{position:relative;display:block!important;width:auto!important;height:auto!important}
main.affiche .fv-visage img{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:cover;display:block;border:0!important}
main.affiche .fv-visage b{position:absolute;left:8px;bottom:6px;font:800 clamp(28px,7vw,56px)/1 var(--font-display);color:var(--ink);
  background:none!important;border:0!important;width:auto!important;height:auto!important;text-shadow:0 2px 14px rgb(0 0 0 / .6)}
main.affiche .fv-visage__nom{display:block;padding:8px 8px 0;font:800 clamp(15px,3.4vw,22px)/1.05 var(--font-display);letter-spacing:-.02em}
main.affiche .fv-visage__n{display:block;padding:2px 8px 0;font-size:12px;color:var(--color-text-soft)}
main.affiche .artist-collabs{display:block!important}
main.affiche .artist-collabs article{padding:18px 0!important;border-bottom:1px solid var(--rule)!important}
main.affiche .artist-links{display:flex!important;flex-wrap:wrap;gap:4px 14px;margin-top:8px!important}
main.affiche .artist-links a{background:none!important;border:0!important;padding:0!important;color:var(--ink)!important;font:700 15px/1.4 var(--font-body)!important;text-decoration:none}
main.affiche .artist-links a::before{content:"avec ";color:var(--color-text-soft);font-weight:400}
main.affiche .artist-links a+a::before{content:"· ";}
main.affiche .artist-carte__lien{display:flex!important;align-items:center;gap:16px;text-decoration:none;color:inherit;padding:0!important;background:none!important;border:0!important}
main.affiche .artist-carte__ic{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%!important;background:var(--ink)!important;
  color:var(--on-ink)!important;font-size:22px;border:0!important}
main.affiche .artist-carte__txt b{display:block;font:800 clamp(22px,4.6vw,32px)/1 var(--font-display);letter-spacing:-.03em}
main.affiche .artist-carte__txt i{display:block;margin-top:6px;font-style:normal;color:var(--color-text-soft);font-size:14px}
main.affiche .artist-carte__go{display:none}
/* other voices: a board of portraits, no card */
main.affiche .artist-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px!important;margin:0 calc(var(--g) * -1)!important}
main.affiche .artist-card{padding:0!important;min-height:0!important;transform:none!important}
main.affiche .artist-card>a{display:block!important;padding:0 0 18px!important;color:inherit;text-decoration:none;background:none!important;border:0!important;height:auto!important}
main.affiche .artist-card__visual{position:relative!important;display:block!important;inset:auto!important;aspect-ratio:1;overflow:hidden;background:hsl(var(--sig-h,0) 40% 16%)!important}
main.affiche .artist-card__photo{position:static!important;width:100%!important;height:100%!important;object-fit:cover;opacity:1!important;filter:none!important;transform:none!important}
main.affiche .artist-card__veil,main.affiche .artist-card__glow,main.affiche .artist-card__arrow,main.affiche .artist-card__mark{display:none!important}
main.affiche .artist-card__top{position:static!important;padding:10px 10px 0!important}
main.affiche .artist-card__works{display:flex!important;gap:6px;align-items:baseline;background:none!important;border:0!important;padding:0!important;color:var(--color-text-soft)}
main.affiche .artist-card__works-n{font:800 16px/1 var(--font-display);color:var(--ink)}
main.affiche .artist-card__works-l{font-size:12px}
main.affiche .artist-card__body{padding:4px 10px 0!important;position:static!important}
main.affiche .artist-card__body h3{font:800 clamp(22px,5vw,34px)/.95 var(--font-display)!important;letter-spacing:-.04em!important;margin:0!important;color:var(--color-text)!important}
main.affiche .artist-card__kind{margin-top:6px!important;font-size:13px!important;line-height:1.4;color:var(--color-text-soft)!important}
main.affiche .artist-card__facts{display:flex!important;flex-wrap:wrap;gap:2px 12px;padding:6px 10px 0!important;margin:0!important;font-size:12px;color:var(--color-text-soft)}
main.affiche .artist-card__fact{display:flex;gap:4px;padding:0!important}
main.affiche .artist-card__fact dt{color:var(--color-text-soft);font-weight:400}
main.affiche .artist-card__fact dd{margin:0;color:var(--color-text);font-size:12px!important}
main.affiche .artist-card__pin{display:none!important}
main.affiche .artist-card__genres{display:block!important;padding:4px 10px 0!important;font-size:0}
main.affiche .artist-card__genre{display:inline;background:none!important;border:0!important;padding:0!important;font:600 10px/1.6 var(--font-body)!important;
  letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-soft)!important}
main.affiche .artist-card__genre+.artist-card__genre::before{content:" · "}
main.affiche .artist-card__cta{display:inline-block!important;margin:8px 10px 0!important;background:none!important;border:0!important;padding:0!important;
  font:800 15px/1 var(--font-display)!important;color:var(--ink)!important}
main.affiche .artist-card__cta::after{content:" →"}

/* ---- 7. Comprendre: a magazine column ---------------------------------------- */
main.affiche .fd-histoire{display:grid!important;gap:40px;grid-template-columns:1fr}
main.affiche .fd-histoire__recit p{max-width:36em}
main.affiche .fiche-lettrine::first-letter{font:800 4.6em/.8 var(--font-display);float:left;margin:.06em .1em 0 0;color:var(--ink)}
main.affiche .fiche-lien{color:var(--ink)!important;text-decoration:underline!important;text-underline-offset:3px}
main.affiche .k-annee,main.affiche .k-oeuvre{color:var(--ink);font-weight:700;background:none!important}
main.affiche .artist-facts{display:block!important;margin:0!important}
main.affiche .artist-facts>div{display:grid!important;grid-template-columns:7.5em 1fr;gap:12px;padding:10px 0!important;border-bottom:1px solid var(--rule)!important}
main.affiche .artist-facts dt{font:600 10px/1.9 var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--color-text-soft)}
main.affiche .artist-facts dd{margin:0;font-size:15px!important}
main.affiche .artist-tags{display:block!important;margin-top:14px;font-size:0}
main.affiche .artist-tags span{display:inline;background:none!important;border:0!important;padding:0!important;font:600 10px/1.8 var(--font-body);letter-spacing:.24em;
  text-transform:uppercase;color:var(--color-text-soft)}
main.affiche .artist-tags span+span::before{content:" · "}
main.affiche .bouyon-chapter__p{max-width:36em}
main.affiche .bouyon-chapter h2{color:var(--ink)!important;margin-top:48px!important}
/* FAQ: lines that open */
main.affiche .artist-faq__item{padding:20px 0!important;border-bottom:1px solid var(--rule)!important}
main.affiche .artist-faq__q{font:800 clamp(20px,4.4vw,28px)/1.1 var(--font-display)!important;letter-spacing:-.025em!important;margin:0!important}
main.affiche .artist-faq__a{margin-top:10px!important;color:var(--color-text-soft)!important;max-width:40em}
/* dates: giant hollow years */
main.affiche .artist-timeline{list-style:none;padding:0!important;margin:0!important}
main.affiche .artist-timeline li{display:grid!important;grid-template-columns:clamp(110px,26vw,260px) 1fr;gap:clamp(14px,3vw,32px);align-items:start;
  padding:22px 0!important;border-bottom:1px solid var(--rule)!important}
main.affiche .artist-timeline li::before,main.affiche .artist-timeline li::after{display:none!important}
main.affiche .artist-timeline time{font:800 clamp(40px,10vw,104px)/.85 var(--font-display);letter-spacing:-.05em;color:transparent;
  -webkit-text-stroke:1.5px var(--ink);background:none!important;padding:0!important;border:0!important}
main.affiche .artist-timeline p{margin:0!important}
main.affiche .artist-tl-src{display:block;margin-top:6px;font-size:12px;color:var(--color-text-soft)!important;text-decoration:underline;text-underline-offset:3px}
/* news */
main.affiche .artist-news__list{list-style:none;padding:0!important}
main.affiche .artist-news__list li{padding:16px 0!important;border-bottom:1px solid var(--rule)!important}
main.affiche .artist-news__list a{font:800 clamp(18px,3.8vw,24px)/1.15 var(--font-display);letter-spacing:-.02em;color:var(--color-text);text-decoration:none}
main.affiche .artist-news__list a:hover{color:var(--ink)}
main.affiche .artist-news__all{display:inline-block;margin-top:14px;color:var(--ink)!important;font:800 17px/1 var(--font-display)}
/* sources: fine print */
main.affiche .artist-sources{list-style:none;padding:0!important}
main.affiche .artist-sources li{display:grid!important;grid-template-columns:2.4em 1fr;gap:8px;padding:10px 0!important;border-bottom:1px solid var(--rule)!important;font-size:13px}
main.affiche .artist-source__num{color:var(--ink);font:700 12px/1.6 var(--font-body);background:none!important;border:0!important;width:auto!important;height:auto!important}
main.affiche .artist-source__body,main.affiche .artist-source__body *{font-size:13px!important;line-height:1.5}
/* the voice */
main.affiche .parole input,main.affiche .parole textarea,main.affiche .artist-endcard__mail input,main.affiche .fiche-gift__prealert-input{
  background:transparent!important;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;color:var(--color-text)!important;
  font:400 17px/1.4 var(--font-body)!important;padding:12px 0!important;box-shadow:none!important}
main.affiche .parole input:focus,main.affiche .parole textarea:focus{border-bottom-color:var(--ink)!important;outline:none}
main.affiche .parole__aide,main.affiche .parole__rgpd{color:var(--color-text-soft)!important}

/* ---- 8. Jouer: the bet in large type ------------------------------------------ */
main.affiche .artist-pari-progress__bar{display:flex;gap:4px}
main.affiche .pari-seg{height:3px!important;flex:1;background:var(--rule)!important;border-radius:0!important}
main.affiche .pari-seg.is-done{background:var(--ink)!important}
main.affiche .artist-pari{padding:28px 0 8px!important}
main.affiche .artist-pari__q{font:800 clamp(28px,6.6vw,60px)/.95 var(--font-display)!important;letter-spacing:-.045em!important;margin:12px 0 18px!important}
main.affiche .artist-pari__opts{display:block!important;counter-reset:opt}
main.affiche .artist-pari__opt{counter-increment:opt;display:flex!important;align-items:center;gap:16px;width:100%;min-height:64px;padding:10px 0!important;
  background:none!important;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;box-shadow:none!important;
  color:var(--color-text)!important;font:800 clamp(20px,4.4vw,30px)/1.1 var(--font-display)!important;letter-spacing:-.025em;text-align:left;cursor:pointer}
main.affiche .artist-pari__opt::before{content:counter(opt,upper-alpha);flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);font:800 18px/1 var(--font-display);transition:background .25s,color .25s}
main.affiche .artist-pari__opt:hover::before{background:var(--ink);color:var(--on-ink)}
main.affiche .artist-pari__opt.good::before{background:var(--ink);color:var(--on-ink);content:"✓"}
main.affiche .artist-pari__opt.bad{color:var(--color-text-soft)!important;text-decoration:line-through}
main.affiche .artist-pari__opt.bad::before{content:"✕";box-shadow:inset 0 0 0 1.5px var(--color-text-soft);color:var(--color-text-soft)}
main.affiche .artist-pari__reveal{margin-top:14px!important;padding:0!important;color:var(--ink)!important;font-size:16px}
main.affiche .artist-endcard{margin-top:48px!important;padding:0 var(--g)!important}
main.affiche .artist-endcard__title{font:800 clamp(30px,6.4vw,56px)/.95 var(--font-display)!important;letter-spacing:-.045em!important}
main.affiche .artist-endcard__share-row{display:flex!important;flex-wrap:wrap;gap:12px 24px;align-items:center}
main.affiche .artist-endcard__share,main.affiche .bouyon-chapter__partage:not(.bouyon-chapter__partage--plein),main.affiche .fiche-gift__btn:not(.fiche-gift__btn--primary),
main.affiche .kit-artiste__btn{
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 0!important;color:var(--color-text)!important;
  font:800 17px/1 var(--font-display)!important;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--ink);text-decoration-thickness:2px}

/* ---- 9. the end: gift, share, next ------------------------------------------- */
main.affiche .fiche-fin{margin-top:96px!important;padding-top:40px!important;border-top:1px solid var(--rule)!important}
main.affiche .fiche-gift{padding:0!important}
main.affiche .fiche-gift__card{padding:0!important;margin-top:24px}
main.affiche .fiche-gift__title{font:800 clamp(30px,6.4vw,56px)/.95 var(--font-display)!important;letter-spacing:-.045em}
main.affiche .fiche-gift__badge,main.affiche .fiche-gift__chips li{background:none!important;border:0!important;padding:0!important;
  font:600 10px/1.8 var(--font-body)!important;letter-spacing:.24em;text-transform:uppercase;color:var(--color-text-soft)!important}
main.affiche .fiche-gift__chips{display:block!important;font-size:0}
main.affiche .fiche-gift__chips li{display:inline}
main.affiche .fiche-gift__chips li+li::before{content:" · "}
main.affiche .artist-partage{margin-top:56px!important}
main.affiche .artist-endcard--bridge{padding-bottom:140px!important}
/* bottom actions: no bar, two choices over a fade */
main.affiche .artist-actionbar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;z-index:50;display:flex!important;
  align-items:center;justify-content:space-between;gap:12px;width:auto!important;max-width:none!important;margin:0!important;transform:none!important;
  padding:34px var(--g) max(16px,env(safe-area-inset-bottom))!important;background:linear-gradient(transparent,var(--bg) 55%)!important;border:0!important;border-radius:0!important}
main.affiche .artist-actionbar__btn{min-height:48px;border:0!important;box-shadow:none!important;text-decoration:none}
main.affiche .artist-actionbar__btn--p{display:inline-flex!important;align-items:center;gap:8px;padding:0 22px!important;border-radius:999px!important;
  background:var(--ink)!important;color:var(--on-ink)!important;font:700 15px/1 var(--font-body)!important}
main.affiche .fiche-nav__btn{display:inline-flex!important;align-items:center;gap:6px;flex-direction:row-reverse;background:none!important;padding:0!important;
  color:var(--color-text)!important;font:700 15px/1 var(--font-body)!important}
main.affiche .fiche-nav__btn>span[aria-hidden]{color:var(--ink)}
main.affiche .fiche-nav{background:none!important;border:0!important}

@keyframes af-up{from{opacity:0;transform:translateY(28px)}}
@keyframes af-cover{from{opacity:0;transform:scale(1.04)}}
@keyframes af-sign{from{opacity:0;transform:rotate(-5deg) translateY(20px)}}
@keyframes af-portrait{from{opacity:0;transform:rotate(10deg) translateY(20px)}}

/* ---- 10. desktop: the cover holds the left half of the poster --------------- */
@media (min-width:1000px){
  main.affiche header.artist-top{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .affiche .stage{position:sticky;top:0;height:100dvh}
  .affiche .stage .cover{height:100dvh;width:100%;aspect-ratio:auto;
    -webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}
  .affiche .side{padding:22vh 0 60px}
  .affiche .lockup{margin:0 0 0 clamp(-220px,-14vw,-120px);padding:0 var(--g) 0 0}
  .affiche .lockup h1{font-size:clamp(110px,10.5vw,200px)!important}
  .affiche .portrait{right:auto;left:calc(100% - 140px);top:-70px}
  .affiche .col{padding:0 var(--g) 0 0}
  .affiche .chap{justify-content:center}
  main.affiche .disco-cols{grid-template-columns:1fr 1fr}
  main.affiche .fd-histoire{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  main.affiche .artist-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important}
  main.affiche .fv-visages ul{grid-template-columns:repeat(6,minmax(0,1fr));margin:0!important}
  main.affiche .fv-avant ol{margin:14px 0 0!important}
  main.affiche .fiche-listen__strip{margin:18px 0 0!important}
  main.affiche .artist-actionbar{justify-content:center;gap:28px;padding-bottom:24px!important}
}
@media (prefers-reduced-motion:reduce){main.affiche *,main.affiche *::before{animation:none!important;transition:none!important}}

/* ---- 11. fixes found while scrolling the real page ----------------------- */
/* the site sets overflow-x:hidden on body, which turns body into the sticky
   container and breaks the chapter line: html clips instead */
body.fiche-affiche{overflow-x:visible!important}
.affiche .go .ic{background:var(--ink)!important;border-radius:50%!important;color:var(--on-ink)!important}
main.affiche .disco-list li{margin:0!important;padding:0!important}
main.affiche .disco-row{min-height:0!important;height:auto!important;align-items:baseline}
main.affiche .disco-row *{margin:0!important;min-height:0!important}
main.affiche .disco-main{display:block!important;padding:0!important}
main.affiche .disco-h{text-transform:none!important}
main.affiche .disco-picker{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
main.affiche .disco-picker__set{display:flex!important;flex-wrap:wrap;gap:6px 18px}
main.affiche .disco-picker__set button{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:4px 0!important;
  color:var(--color-text-soft)!important;font:800 16px/1.2 var(--font-display)!important;cursor:pointer;
  background-image:linear-gradient(var(--ink),var(--ink))!important;background-repeat:no-repeat!important;background-position:0 100%!important;background-size:0 2px!important}
main.affiche .disco-picker__set button.is-on{color:var(--color-text)!important;background-size:100% 2px!important}
main.affiche .fv-avant img{max-height:none!important;object-fit:cover}
main.affiche .disco-row{grid-template-columns:3.6em 1fr auto!important;grid-template-rows:auto!important}
main.affiche .disco-row::after{color:var(--ink)!important;align-self:center}
main.affiche .artist-card,main.affiche .artist-card>a{height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important}
main.affiche .artist-card__works-l,main.affiche .artist-card__works-n{text-transform:none!important;letter-spacing:0!important;font-family:var(--font-body)!important}
main.affiche .artist-card__body h3{text-transform:none!important}
main.affiche .artist-tags span+span::before{content:none}

/* ---- 12. platform choice: you SEE where every link goes ---------------------
   Terry 02/10: switching platform changed the links with zero visible sign.
   Three signs now: the chosen chip is a full disc with the logo, every row
   shows the logo + name of the platform it opens, and the list flashes once. */
main.affiche .disco-picker__set button{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;padding:0 16px!important;border-radius:999px!important;
  background:none!important;box-shadow:inset 0 0 0 1px var(--rule)!important;color:var(--color-text-soft)!important;font:700 15px/1 var(--font-body)!important;
  transition:background .25s,color .25s,box-shadow .25s}
main.affiche .disco-picker__set button::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;
  background:var(--pf-ic) center/14px no-repeat,#0b0b0f}
main.affiche .disco-picker__set button[aria-pressed="true"]{background:var(--ink)!important;color:var(--on-ink)!important;box-shadow:none!important}
main.affiche .disco-picker__set button[aria-pressed="true"]::after{content:"✓";font-weight:800;margin-left:2px}
main.affiche .disco-picker__l{font:600 10px/1.4 var(--font-body)!important;letter-spacing:.32em;text-transform:uppercase;color:var(--color-text-soft)!important;width:100%}
main.affiche .disco-row::after{content:var(--pf-nom)!important;display:inline-flex!important;align-items:center;gap:6px;justify-self:end;white-space:nowrap;
  padding-left:22px;min-height:16px;font:700 11px/1 var(--font-body)!important;letter-spacing:.04em;color:var(--color-text-soft)!important;
  background:var(--pf-ic) left center/15px no-repeat!important;opacity:1!important;transform:none!important}
main.affiche .disco-picker__set button[data-plateforme="apple"]{--pf-ic:url(/assets/icons/applemusic.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="apple"][aria-pressed="true"]){--pf-nom:"Apple Music";--pf-ic:url(/assets/icons/applemusic.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="apple"][aria-pressed="true"]) .disco-t{animation:af-flash-apple .8s var(--ease-out)}
@keyframes af-flash-apple{0%,30%{color:var(--ink)}}
main.affiche .disco-picker__set button[data-plateforme="spotify"]{--pf-ic:url(/assets/icons/spotify.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="spotify"][aria-pressed="true"]){--pf-nom:"Spotify";--pf-ic:url(/assets/icons/spotify.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="spotify"][aria-pressed="true"]) .disco-t{animation:af-flash-spotify .8s var(--ease-out)}
@keyframes af-flash-spotify{0%,30%{color:var(--ink)}}
main.affiche .disco-picker__set button[data-plateforme="deezer"]{--pf-ic:url(/assets/icons/deezer.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="deezer"][aria-pressed="true"]){--pf-nom:"Deezer";--pf-ic:url(/assets/icons/deezer.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="deezer"][aria-pressed="true"]) .disco-t{animation:af-flash-deezer .8s var(--ease-out)}
@keyframes af-flash-deezer{0%,30%{color:var(--ink)}}
main.affiche .disco-picker__set button[data-plateforme="youtube"]{--pf-ic:url(/assets/icons/youtube.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="youtube"][aria-pressed="true"]){--pf-nom:"YouTube";--pf-ic:url(/assets/icons/youtube.svg)}
main.affiche .artist-disco:has(.disco-picker__set button[data-plateforme="youtube"][aria-pressed="true"]) .disco-t{animation:af-flash-youtube .8s var(--ease-out)}
@keyframes af-flash-youtube{0%,30%{color:var(--ink)}}
/* the dates: on a phone the year sits above its fact */
main.affiche .artist-tl-src{white-space:normal!important;overflow-wrap:anywhere}
@media (max-width:699px){
  main.affiche .artist-timeline li{grid-template-columns:1fr!important;gap:10px}
  main.affiche .artist-timeline time{font-size:clamp(44px,13vw,64px)}
}
main.affiche .artist-card__genres,main.affiche .artist-card__genre,main.affiche .artist-card__kind{white-space:normal!important;overflow-wrap:anywhere}
main.affiche .artist-card{min-width:0!important;overflow:hidden!important}
/* edge to edge on a phone, whatever padding the original blocks add */
@media (max-width:999px){
  main.affiche .fiche-listen__strip,main.affiche .fv-visages ul,main.affiche .artist-grid{
    width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
}
main.affiche .fv-avant{margin-left:0!important;margin-right:0!important}
@media (max-width:999px){main.affiche .fv-avant ol{width:auto!important;margin-left:calc(-1 * var(--g))!important;margin-right:calc(-1 * var(--g))!important}}
main.affiche{overflow-x:clip!important}
/* the next artist, giant, last thing on the page */
main.affiche .af-next{display:block;margin-top:72px!important;padding-top:32px!important;padding-bottom:var(--phi-5)!important;border-top:1px solid var(--rule);
  color:var(--color-text);text-decoration:none}
main.affiche .af-next .row{display:flex;align-items:center;gap:16px;margin-top:12px}
main.affiche .af-next img{width:clamp(56px,14vw,96px);height:auto;aspect-ratio:1;object-fit:cover;flex:none}
main.affiche .af-next b{font:800 clamp(52px,15vw,150px)/.85 var(--font-display);letter-spacing:-.055em;overflow-wrap:anywhere;transition:color .3s}
main.affiche .af-next i{font-style:normal;margin-left:auto;font:800 clamp(28px,7vw,60px)/1 var(--font-display);color:var(--ink);transition:transform .35s var(--ease-out)}
main.affiche .af-next:hover b{color:var(--ink)}
main.affiche .af-next:hover i{transform:translateX(8px)}
main.affiche .artist-endcard--bridge{padding-bottom:0!important}
main.affiche .fv-visages li{width:auto!important;max-width:none!important;min-width:0!important;flex:none}
@media (min-width:1000px){main.affiche .fv-visages ul{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
/* ---- 13. chapter line, aligned on the content column ---------------------- */
main.affiche .chap{display:block;position:sticky;top:var(--chap-top,0px);z-index:40;margin-top:40px;padding:0;overflow:visible;
  background:transparent;transition:background-color .3s,box-shadow .3s}
main.affiche .chap.is-stuck{background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  box-shadow:inset 0 -1px 0 var(--rule)}
main.affiche .chap__in{display:flex;align-items:baseline;gap:clamp(18px,3vw,36px);max-width:1180px;margin:0 auto;padding:16px var(--g);
  overflow-x:auto;scrollbar-width:none}
main.affiche .chap__in::-webkit-scrollbar{display:none}
main.affiche .chap__nom{flex:none;font:800 clamp(16px,3.6vw,22px)/1 var(--font-display);letter-spacing:-.02em;color:var(--ink);
  max-width:0;opacity:0;overflow:hidden;white-space:nowrap;margin-right:calc(-1 * clamp(18px,3vw,36px));transition:max-width .4s var(--ease-out),opacity .3s,margin .4s}
main.affiche .chap.is-stuck .chap__nom{max-width:12em;opacity:1;margin-right:clamp(6px,2vw,24px)}
main.affiche .chap__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform-origin:left;transform:scaleX(var(--p,0))}
@media (max-width:699px){main.affiche .chap__nom{display:none}}
@media (min-width:1000px){main.affiche .chap{justify-content:normal}}
main.affiche .chap__in{padding-left:calc(var(--g) * 2);padding-right:calc(var(--g) * 2)}

/* ---- 14. pages without any image: a poster made of type --------------------- */
.affiche .stage--type{position:relative;height:clamp(240px,48vw,520px);overflow:hidden;display:flex;align-items:center}
.affiche .stage--type span{font:800 clamp(120px,34vw,420px)/.8 var(--font-display);letter-spacing:-.06em;white-space:nowrap;color:transparent;
  -webkit-text-stroke:1.5px var(--ink-deep);opacity:.35;padding-left:var(--g)}
.affiche .stage--type + .side .lockup{margin-top:clamp(-120px,-18vw,-60px)}
.affiche .pair--solo{grid-template-columns:1fr}
@media (min-width:1000px){
  .affiche .stage--type{position:sticky;top:0;height:100dvh}
  .affiche .stage--type span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(160px,18vw,300px)}
}
/* End of the profile (05/10/2026). The artist kit is appended by script at the
   very end of main, after « Fiche suivante »: its button stayed hidden under the
   fixed action bar, even fully scrolled. Main itself now keeps room for the bar,
   and the kit loses its gradient and rounded corners (no tiles: a rule, like the
   rest of the affiche). */
main.affiche{padding-bottom:calc(var(--phi-7) + env(safe-area-inset-bottom, 0px))!important}
/* Phone and tablet: bouyon-fiche-dossier.css gives the latest-releases row a
   « 1fr » first column, which squeezed the first cover (90 px against 150,
   05/10/2026). Every column now takes the same width. */
@media (max-width:999px){main.affiche .fv-avant ol{grid-template-columns:none!important}}
main.affiche .kit-artiste{margin:var(--phi-5) 0 0!important;padding:var(--phi-3) 0 0!important;background:none!important;
  border:0!important;border-top:1px solid var(--rule)!important;border-radius:0!important;box-shadow:none!important}
