/* Horison — calqué sur le Media Kit 2026 : page blanche, grands titres noirs en italique très serrés,
   colonnes « intitulé | texte », chiffres en rouge, photos noir et blanc, folio courant en pied de bloc. */
:root{
  --paper:#FFFFFF; --paper-2:#F3F2F1; --ink:#0B0A0A; --muted:#5F5B5A; --rule:#E3E0DF;
  --red:#EA3B2A; --red-text:#CF2F1F; --on-red:#FFFFFF; --ink-band:#333333; --on-ink:#F5F4F3;
  --sans:"Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --max:1320px; --gut:max(20px, 3.2vw);
  --mega:clamp(3.4rem, 11.5vw, 10.5rem); --s1:clamp(2.6rem, 7vw, 6.2rem); --s2:clamp(2.1rem, 5vw, 4.4rem); --s3:clamp(1.45rem, 2.3vw, 2rem);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#0B0A0A; --paper-2:#171515; --ink:#F4F3F2; --muted:#A5A09E; --rule:#2B2827;
  --red:#F2503E; --red-text:#FF6D5B; --on-red:#140302; --ink-band:#262626; --on-ink:#F4F3F2; color-scheme:dark } }
:root[data-theme="dark"]{
  --paper:#0B0A0A; --paper-2:#171515; --ink:#F4F3F2; --muted:#A5A09E; --rule:#2B2827;
  --red:#F2503E; --red-text:#FF6D5B; --on-red:#140302; --ink-band:#262626; --on-ink:#F4F3F2; color-scheme:dark }

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(var(--gut), env(safe-area-inset-left,0px));padding-right:max(var(--gut), env(safe-area-inset-right,0px))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:99}
.skip:focus{left:16px}

/* Marques (masques colorés par les tokens) */
.mark{display:block;background:var(--ink);-webkit-mask:url(img/wordmark-ink.png) left center/contain no-repeat;mask:url(img/wordmark-ink.png) left center/contain no-repeat;aspect-ratio:1600/264}
.sym{display:block;background:var(--red);-webkit-mask:url(img/symbole-rouge.png) center/contain no-repeat;mask:url(img/symbole-rouge.png) center/contain no-repeat;aspect-ratio:800/404}

/* En-tête */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1rem}
.top .mark{width:132px}
.nav{display:flex;gap:clamp(1rem,2.2vw,2.2rem);list-style:none;margin:0;padding:0}
.nav a{font-size:.95rem;font-weight:500;letter-spacing:-.01em;text-decoration:none;padding-block:.25rem;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--ink)}
.nav a[aria-current="page"]{border-color:var(--red);font-style:italic;font-weight:700}
.menu-btn{display:none;background:none;border:1px solid var(--ink);color:var(--ink);font:600 .85rem/1 var(--sans);padding:.6rem .9rem;cursor:pointer}
@media (max-width:880px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);
    padding:.4rem max(var(--gut), env(safe-area-inset-right,0px)) 1rem max(var(--gut), env(safe-area-inset-left,0px))}
  .nav.open{display:flex}
  .nav a{display:block;padding-block:.85rem;font-size:1.3rem;font-weight:800;font-style:italic;letter-spacing:-.04em;border-bottom:1px solid var(--rule)}
}

/* Typo — la voix du Media Kit */
h1,h2,h3,.slab{font-family:var(--sans);margin:0;text-wrap:balance;hyphens:auto;overflow-wrap:break-word}
.slab,h1,h2{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.055em;word-spacing:.14em;line-height:.88;padding-top:.06em}
.mega{font-size:var(--mega);font-style:normal;letter-spacing:-.06em;line-height:.84}
h1{font-size:var(--s1)} h2{font-size:var(--s2)}
h3{font-size:var(--s3);font-weight:500;letter-spacing:-.035em;line-height:1.05}
.say{font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:500;letter-spacing:-.035em;line-height:1.12;margin:0;max-width:24ch}
.say em{font-weight:700}
.prose{max-width:58ch}
.prose p{margin:0 0 1em}
.muted{color:var(--muted)}
.red{color:var(--red-text)}
.kicker{font-size:.95rem;font-weight:700;font-style:italic;letter-spacing:-.02em;margin:0 0 1rem}
.x{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.x li::before{content:"× ";font-weight:600}

/* Folio courant (pied de page du Media Kit) */
.folio{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:baseline;font-size:.82rem;padding-top:1rem;margin-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--rule)}
.folio b{font-weight:800;font-style:italic;letter-spacing:-.02em}
.folio span:last-child{font-variant-numeric:tabular-nums}
@media (max-width:600px){.folio{grid-template-columns:1fr auto}.folio span:nth-child(2){display:none}}

/* Boutons */
.btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.3rem;font-size:.95rem;font-weight:700;font-style:italic;letter-spacing:-.02em;text-decoration:none;border:1.5px solid var(--ink);transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.fill{background:var(--red);border-color:var(--red);color:var(--on-red)}
.btn.fill:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn .arr{font-style:normal}

/* Sections */
section{padding-block:clamp(3.5rem,8vw,7rem)}
.tint{background:var(--paper-2)}
.dark{background:var(--ink-band);color:var(--on-ink)}
.dark .muted{color:color-mix(in srgb, var(--on-ink) 62%, var(--ink-band))}
.dark .folio{border-color:color-mix(in srgb, var(--on-ink) 20%, var(--ink-band))}
.dark .btn{border-color:var(--on-ink)} .dark .btn:hover{background:var(--on-ink);color:var(--ink-band)}

/* Hero */
.hero{padding-block:clamp(2rem,5vw,4rem) clamp(2.5rem,6vw,4.5rem)}
.hero .grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:end}
.hero figure{margin:0;position:relative}
.hero figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hero figure .clipbox{border-radius:12px}
.hero .sym{position:absolute;width:34%;right:-5%;bottom:-6%}
.hero .quote{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:end;margin-top:clamp(2rem,4vw,3rem)}
.quote blockquote{margin:0;font-size:1rem;font-style:italic;font-weight:500;line-height:1.35;max-width:52ch}
.quote cite{font-style:italic;font-weight:300;color:var(--muted);text-align:right;font-size:.95rem}
@media (max-width:820px){.hero .grid{grid-template-columns:minmax(0,1fr)}.hero figure img{aspect-ratio:4/3}.hero .quote{grid-template-columns:minmax(0,1fr)}.quote cite{text-align:left}}
.page-hero .lead{margin-top:1.6rem}

/* Bloc « intitulé | texte » */
.rows{display:grid;gap:clamp(2rem,4vw,3rem)}
.row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.5rem 3rem}
.row h3{font-size:clamp(1.6rem,2.6vw,2.4rem)}
.row p{margin:0 0 .8em;max-width:54ch}
@media (max-width:760px){.row{grid-template-columns:minmax(0,1fr)}}

/* Mise en page à deux volets texte / image */
.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.split.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.split figure{margin:0}
.split figure img{width:100%;object-fit:cover}
.split .tall{aspect-ratio:2/3}
@media (max-width:860px){.split,.split.even{grid-template-columns:minmax(0,1fr)}.split .tall{aspect-ratio:4/3}}

/* Formats (La forme) */
.formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.fmt{display:flex;flex-direction:column;gap:.8rem;text-decoration:none}
.fmt .ph{overflow:hidden;border-radius:10px;background:var(--paper-2)}
.fmt img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease}
a.fmt:hover img{transform:scale(1.04)}
.fmt h3{font-size:1.35rem;font-weight:800;font-style:italic;letter-spacing:-.04em}
.fmt p{margin:0;font-size:.98rem;color:var(--muted);max-width:40ch}
.fmt .go{font-weight:700;font-style:italic;font-size:.92rem;border-bottom:1.5px solid var(--red);align-self:flex-start}
@media (max-width:900px){.formats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.formats{grid-template-columns:minmax(0,1fr)}.fmt img{aspect-ratio:4/3}}

/* Chiffres rouges */
.figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.5rem}
.fig{display:grid;gap:.5rem;align-content:start}
.fig b{font-size:clamp(3.2rem,7vw,6rem);font-weight:900;letter-spacing:-.07em;line-height:.85;color:var(--red);font-variant-numeric:tabular-nums}
.fig span{color:var(--red-text);font-weight:500;line-height:1.25;max-width:22ch}
.dark .fig span{color:var(--on-ink)}
@media (max-width:860px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Équipe : portraits ronds comme dans le kit */
.team{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.4rem 1.2rem}
@media (max-width:900px){.team{grid-template-columns:repeat(3,minmax(0,1fr))}}
.member{display:grid;justify-items:center;text-align:center;gap:.7rem}
.member img{width:100%;max-width:200px;aspect-ratio:1;object-fit:cover;object-position:center 25%;border-radius:50%;filter:grayscale(1);transition:filter .4s}
.member:hover img{filter:none}
.member h3{font-size:1.1rem;font-weight:900;font-style:normal;text-transform:uppercase;letter-spacing:-.02em}
.member p{margin:-.4rem 0 0;font-size:.88rem;color:var(--muted);line-height:1.3;max-width:20ch}
.strip{display:flex;flex-wrap:wrap;gap:.6rem}
.strip img{width:clamp(56px,9vw,92px);aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center 25%;filter:grayscale(1)}

/* Feuille de route */
.road{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding-top:4.2rem}
.road::before{content:"";position:absolute;left:0;right:14px;top:3.2rem;height:2px;background:var(--red)}
.road::after{content:"";position:absolute;right:0;top:calc(3.2rem - 6px);border-left:14px solid var(--red);border-top:7px solid transparent;border-bottom:7px solid transparent}
.step{display:grid;gap:.9rem;align-content:start}
.step .yr{position:absolute;top:0;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:500;letter-spacing:-.05em}
.step{position:relative}
.step .yr{top:-4.2rem}
.step ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.step li{line-height:1.2}
.step li b{display:block;font-weight:500;letter-spacing:-.02em}
.step li i{font-weight:300;color:var(--muted)}
.step.now .yr::after{content:"en cours";display:inline-block;margin-left:.5rem;vertical-align:middle;font-size:.7rem;letter-spacing:0;font-weight:700;background:var(--red);color:var(--on-red);padding:.2rem .45rem}
@media (max-width:860px){
  .road{grid-template-columns:minmax(0,1fr);padding-top:0;padding-left:1.6rem;gap:2.2rem}
  .road::before{left:0;right:auto;top:0;bottom:14px;width:2px;height:auto}
  .road::after{left:-6px;right:auto;top:auto;bottom:0;border-top:14px solid var(--red);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:0}
  .step .yr{position:static}
}

/* Manifeste final */
.manifest p{font-size:clamp(1.35rem,2.5vw,2rem);font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:0 0 1.1em;max-width:30ch}
.manifest p strong{font-weight:800;font-style:italic}

/* Média (vidéo) */
.play{position:relative;display:block;text-decoration:none;overflow:hidden;background:#000;border-radius:10px}
.play img{width:100%;object-fit:cover;transition:transform .6s,opacity .3s}
.play:hover img{transform:scale(1.03);opacity:.85}
.play .pb{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.6rem;background:var(--red);color:#fff;padding:.65rem 1rem;font-size:.9rem;font-weight:700;font-style:italic;letter-spacing:-.02em}
.play .pb::before{content:"";width:0;height:0;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.vert img{aspect-ratio:9/14;max-height:620px}

/* Pochettes des guides audio */
.covers{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:1rem}
.covers figure{margin:0}
.covers img{border-radius:10px;width:100%}
.covers figcaption{font-size:.85rem;margin-top:.5rem;font-weight:700;font-style:italic;letter-spacing:-.02em}
@media (max-width:560px){.covers{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}}

/* Plateformes */
.platforms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid currentColor}
.platforms a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 1rem 1.4rem 0;text-decoration:none;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.045em;font-size:clamp(1.15rem,2vw,1.7rem);border-bottom:1.5px solid currentColor}
.platforms a + a{padding-left:1rem;border-left:1.5px solid currentColor}
.platforms a span{color:var(--red);font-style:normal;transition:transform .2s}
.platforms a:hover span{transform:translate(3px,-3px)}
@media (max-width:760px){.platforms{grid-template-columns:repeat(2,minmax(0,1fr))}.platforms a:nth-child(3){padding-left:0;border-left:0}}

/* FAQ */
.faq{border-top:1.5px solid var(--ink);max-width:900px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;font-weight:500;font-size:1.25rem;letter-spacing:-.03em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:1.6rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 1.4rem;color:var(--muted);max-width:62ch}

/* Contact */
.contact-card{display:grid;gap:1.3rem;padding:clamp(1.5rem,4vw,2.5rem);border:1.5px solid var(--ink)}
.mail{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.mail a{font-weight:900;font-style:italic;letter-spacing:-.045em;font-size:clamp(1.15rem,2.6vw,1.9rem);text-decoration:none;border-bottom:2px solid var(--red);word-break:break-all}
.copy{background:none;border:1px solid var(--ink);color:var(--ink);font:600 .82rem/1 var(--sans);padding:.55rem .8rem;cursor:pointer}

/* Pied de page */
footer{background:var(--ink-band);color:var(--on-ink);padding-block:clamp(3rem,7vw,5rem) 1.5rem}
footer .logo-full{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}
footer .logo-full .sym{width:min(260px,50vw);background:var(--on-ink)}
footer .logo-full .mark{width:min(320px,60vw);background:var(--on-ink)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin-top:3rem}
footer h2{font-size:1rem;letter-spacing:-.03em;margin-bottom:1rem;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
footer a{text-decoration:none} footer a:hover{color:var(--red)}
footer .folio{border-color:color-mix(in srgb, var(--on-ink) 20%, var(--ink-band))}
@media (max-width:760px){footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}footer .cols > :first-child{grid-column:1/-1}}

/* Fil d'Ariane */
.crumbs{font-size:.85rem;color:var(--muted);margin:0 0 2rem}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--rule)}
.crumbs ol{list-style:none;display:flex;gap:.5rem;margin:0;padding:0}
.crumbs li + li::before{content:"/";margin-right:.5rem}

/* Apparition douce au chargement */
@keyframes rise{from{transform:translateY(14px)}to{transform:none}}
.hero .slab,.page-hero h1{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){.hero .slab,.page-hero h1{animation:none}}

/* Vidéos courtes en boucle, posées sur l'image */
.clipbox{position:relative;overflow:hidden}
.clipbox video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;pointer-events:none}
.clipbox video.on{opacity:1}
.play .clipbox{border-radius:inherit}

/* Compteurs en direct */
.live{margin-top:clamp(2.5rem,6vw,4rem);padding-top:1.6rem;border-top:1px solid color-mix(in srgb, var(--on-ink) 20%, var(--ink-band))}
.live-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1.8rem;font-weight:800;font-style:italic;letter-spacing:-.02em;font-size:1.05rem}
.live-head .when{font-weight:400;font-style:normal;color:color-mix(in srgb, var(--on-ink) 62%, var(--ink-band));font-size:.9rem}
.live-head .demo{font-style:normal;font-weight:600;font-size:.75rem;border:1px solid currentColor;padding:.15rem .45rem}
.dot{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 60%, transparent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}
.live-figs{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:2rem 2.5rem}
.live-figs .fig b{font-size:clamp(2.4rem,4vw,3.6rem);white-space:nowrap}

/* Pochettes typographiques des séries (reprend vos pochettes de guides audio) */
.series-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
@media (max-width:980px){.series-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.series{display:grid;gap:.5rem;text-decoration:none}
.series h3{font-size:1.15rem;font-weight:800;font-style:italic;letter-spacing:-.04em;margin-top:.3rem}
.series p{margin:0;font-size:.9rem;color:var(--muted)}
.dark .series p{color:color-mix(in srgb, var(--on-ink) 62%, var(--ink-band))}
.cover{position:relative;aspect-ratio:4/5;border-radius:12px;background:#2B2B2B;color:#F2F0EE;padding:8%;display:grid;grid-template-rows:auto 1fr auto;gap:6%;overflow:hidden;transition:transform .35s ease}
a.series:hover .cover{transform:translateY(-4px)}
.cv-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--red);border-radius:4px;padding:.3em .5em;font-size:clamp(.7rem,1.2vw,.95rem)}
.cv-bar i{width:.8em;height:.8em;border-radius:50%;border:2px solid #2B2B2B;flex:none}
.cv-bar b{font-weight:900;font-style:italic;letter-spacing:-.04em;color:#2B2B2B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-sym{background:var(--red);-webkit-mask:url(img/symbole-rouge.png) center/contain no-repeat;mask:url(img/symbole-rouge.png) center/contain no-repeat}
.cv-foot{font-size:clamp(.55rem,.9vw,.72rem);font-weight:900;font-style:italic;letter-spacing:-.02em;border-bottom:1px solid #F2F0EE55;padding-bottom:.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cover-lg{max-width:300px;width:100%;justify-self:end}
.cover-lg .cv-bar{font-size:1.1rem}.cover-lg .cv-foot{font-size:.8rem}
@media (max-width:860px){.cover-lg{display:none}}

/* Liste d'épisodes */
.eps{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink);columns:2;column-gap:3rem}
.ep{break-inside:avoid;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.ep-n{font-weight:900;font-style:italic;color:var(--red-text);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:1.15rem}
.ep h3{font-size:1.2rem;font-weight:800;letter-spacing:-.035em}
.ep h3 em{font-weight:400;color:var(--muted)}
.ep p{margin:.35rem 0 0;font-size:.95rem;color:var(--muted);line-height:1.45}
@media (max-width:860px){.eps{columns:1}}

/* Événements */
.events{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.ev{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr) minmax(0,.4fr);gap:.5rem 2rem;padding:1.4rem 0;border-bottom:1px solid var(--rule);align-items:start}

.ev time{font-weight:900;font-style:italic;letter-spacing:-.04em;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--red-text);line-height:1.1}
.ev h3{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:800;letter-spacing:-.04em}
.ev p{margin:.3rem 0 0;max-width:56ch}
.ev .ev-where{color:var(--muted);font-size:.92rem;margin-top:.25rem}
.ev-pic{margin:0}.ev-pic img{border-radius:8px;width:100%;max-width:260px;margin-left:auto}
@media (max-width:760px){.ev,.ev.has-pic{grid-template-columns:minmax(0,1fr)}.ev-pic img{margin-left:0;max-width:220px}}

/* Teaser et lieux des DJ sets */
.teaser{margin:0;max-width:380px;width:100%;justify-self:center}
.teaser video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:12px;background:#000;display:block}
.teaser figcaption{font-size:.85rem;color:var(--muted);margin-top:.6rem}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
.places figure{margin:0}
.places img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}
.places figcaption{font-size:.95rem;font-weight:700;font-style:italic;letter-spacing:-.025em;margin-top:.5rem}
@media (max-width:640px){.places{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Hero vidéo */
.hero figure .clipbox img{width:100%;aspect-ratio:4/5;object-fit:cover}
.platforms{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:900px){.platforms{grid-template-columns:repeat(2,minmax(0,1fr))}.platforms a:nth-child(odd){padding-left:0;border-left:0}.platforms a:nth-child(even){padding-left:1rem;border-left:1.5px solid currentColor}}

/* Bouton Soutenir dans l'en-tête */
.top .wrap{gap:1rem}
.top nav{margin-left:auto}
.support-btn{order:3;padding:.55rem .9rem;font-size:.88rem}
@media (max-width:880px){.support-btn{margin-left:auto;order:0}.top nav{margin-left:0}}

/* Dons */
.dons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.don{display:grid;gap:.4rem;align-content:start;padding-top:1rem;border-top:1.5px solid currentColor}
.don b{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:900;letter-spacing:-.06em;line-height:.9;color:var(--red)}
.don-net{font-weight:700;font-style:italic;letter-spacing:-.02em}
.don p{margin:0;color:color-mix(in srgb, var(--on-ink) 70%, var(--ink-band))}
@media (max-width:860px){.dons{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pochettes réelles */
.cover{aspect-ratio:1;padding:0;display:block;background:none}
.cover img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}
.ev-vid video{width:100%;height:auto;max-width:260px;margin-left:auto;aspect-ratio:9/16;object-fit:cover;border-radius:8px;background:#000;display:block}
@media (max-width:760px){.ev-vid video{margin-left:0;max-width:240px}}
@media (max-width:820px){.hero .sym{right:8px;bottom:-4%;width:30%}}

/* DJ sets YouTube */
.sets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem) clamp(.8rem,1.6vw,1.2rem)}
@media (max-width:860px){.sets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.sets{grid-template-columns:minmax(0,1fr)}}
.set{display:grid;gap:.4rem;text-decoration:none}
.set-ph{position:relative;overflow:hidden;border-radius:10px;background:#000}
.set-ph img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s ease}
.set:hover .set-ph img{transform:scale(1.04)}
.set-play{position:absolute;right:.7rem;bottom:.7rem;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--red)}
.set-play::after{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}
.set h3{font-size:1.25rem;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.04em;margin-top:.3rem}
.set p{margin:0;font-size:.92rem;color:var(--muted)}
/* 13 sets : le plus récent en grand, la grille tombe juste (4 x 4) */
.sets{grid-template-columns:repeat(4,minmax(0,1fr))}
.set:first-child{grid-column:span 2;grid-row:span 2}
.set:first-child .set-ph{height:100%}.set:first-child .set-ph img{height:100%;aspect-ratio:auto;min-height:240px}
.set:first-child h3{font-size:1.8rem}
.set:first-child{grid-template-rows:1fr auto auto}
@media (max-width:860px){.sets{grid-template-columns:repeat(2,minmax(0,1fr))}.set:first-child{grid-row:auto}.set:first-child .set-ph img{aspect-ratio:16/9;height:auto}}
@media (max-width:520px){.sets{grid-template-columns:minmax(0,1fr)}.set:first-child{grid-column:auto}}

/* Formulaire de contact */
.contact-form{display:grid;gap:1rem;padding:clamp(1.5rem,4vw,2.5rem);border:1.5px solid var(--ink);background:var(--paper)}
.f-row{display:grid;gap:.35rem}
.f-row label{font-weight:700;font-size:.92rem;letter-spacing:-.01em}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid color-mix(in srgb, var(--ink) 35%, var(--paper));padding:.75rem .85rem;border-radius:0;width:100%;min-width:0}
.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--ink)}
.contact-form .btn{justify-self:start;cursor:pointer;font-family:inherit}
.contact-form .btn:disabled{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-status{margin:0;font-size:.95rem;min-height:1.4em}
.f-status.ok{color:var(--ink);font-weight:700}
.f-status.ok::before{content:"✓ ";color:var(--red)}
.f-status.err{color:var(--red-text);font-weight:600}

/* Page épisode */
.script{max-width:66ch;font-size:clamp(1.08rem,1.4vw,1.22rem);line-height:1.7}
.script p{margin:0 0 1.15em}
.script p:first-child::first-letter{font-size:3.4em;font-weight:900;font-style:italic;float:left;line-height:.85;margin:.06em .1em 0 0;color:var(--red)}
.script p:last-child{font-style:italic;color:var(--muted)}
.ep-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:clamp(2rem,4vw,3rem);border-top:1.5px solid var(--ink);padding-top:1.2rem;max-width:66ch}
.ep-nav a{display:grid;gap:.2rem;text-decoration:none}
.ep-nav a span{font-size:.85rem;color:var(--muted)}
.ep-nav a b{font-weight:800;font-style:italic;letter-spacing:-.03em;font-size:1.15rem}
.ep-nav .next{text-align:right}
.ep-nav a:hover b{color:var(--red-text)}
.ep-mini{list-style:none;margin:0;padding:0;columns:3;column-gap:2rem;border-top:1.5px solid var(--ink)}
.ep-mini li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.ep-mini a{display:flex;gap:.7rem;padding:.6rem 0;text-decoration:none;font-weight:600;letter-spacing:-.02em}
.ep-mini a:hover{color:var(--red-text)}
.ep-mini .ep-n{font-size:.95rem}
.ep h3 a{text-decoration:none}
.ep h3 a:hover{color:var(--red-text)}
@media (max-width:860px){.ep-mini{columns:2}}
@media (max-width:520px){.ep-mini{columns:1}.ep-nav{grid-template-columns:minmax(0,1fr)}.ep-nav .next{text-align:left}}
