/* Concept : « L'Antenne » — un média qui émet. Collage tramé, couleurs franches de la charte,
   bandes ondulées rouge/ciel du dossier de DA, le téléviseur comme écran de Une.
   Identité mono-thème assumée : la marque est rouge/jaune, elle ne passe pas en mode sombre. */
:root{
  --rouge:#C82828; --jaune:#FAE322; --violet:#5656BF; --corail:#FF4937; --ciel:#38B6FF;
  --encre:#1C1B3F; --papier:#FFFFFF; --voile:#F1F1FA; --gris:#5B5A7A; --trait:#1C1B3F;
  --f-display:"League Spartan","Arial Black",system-ui,sans-serif;
  --f-text:"Archivo","Helvetica Neue",Arial,sans-serif; /* remplace Aileron, absente de Google Fonts */
  --f-label:"Oswald","Arial Narrow",sans-serif;
  --gutter:max(16px, env(safe-area-inset-left,0px));
  --gutter-r:max(16px, env(safe-area-inset-right,0px));
  --max:1320px;
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--f-text);font-size:17px;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--rouge)}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}

/* --- Logo : jaune, contour violet, lettres serrées comme dans la charte --- */
.logo{font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.075em;line-height:.82;
  color:var(--jaune);-webkit-text-stroke:.055em var(--violet);paint-order:stroke fill;white-space:nowrap;display:inline-block;padding-right:.08em}
.logo.on-violet{-webkit-text-stroke-color:var(--rouge)}
.logo.mono{color:var(--encre);-webkit-text-stroke:0}
.outline{color:var(--jaune);-webkit-text-stroke:.05em var(--violet);paint-order:stroke fill}

/* --- Libellés --- */
.kicker{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.82rem;line-height:1.2}
.chip{display:inline-flex;align-items:center;gap:.45em;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.07em;font-weight:600;font-size:.78rem;
  padding:.32em .7em .28em;background:var(--c,var(--rouge));color:var(--on,#fff);text-decoration:none;line-height:1.1}
.chip.demo{background:var(--encre);color:var(--jaune)}
.chip.plain{background:transparent;color:var(--encre);padding-left:0}
[data-c=violet]{--c:var(--violet);--on:#fff;--soft:#E3E3F6}
[data-c=rouge]{--c:var(--rouge);--on:#fff;--soft:#F8DEDE}
[data-c=ciel]{--c:var(--ciel);--on:var(--encre);--soft:#DDF1FF}
[data-c=jaune]{--c:var(--jaune);--on:var(--encre);--soft:#FFF8C4}
[data-c=corail]{--c:var(--corail);--on:#fff;--soft:#FFE1DD}

/* Étoile (puce et badge chiffré de la charte) */
.burst{clip-path:polygon(50% 0,59% 13%,74% 5%,76% 21%,92% 19%,86% 34%,100% 42%,88% 52%,98% 66%,82% 70%,84% 86%,68% 82%,60% 97%,50% 86%,40% 97%,32% 82%,16% 86%,18% 70%,2% 66%,12% 52%,0 42%,14% 34%,8% 19%,24% 21%,26% 5%,41% 13%)}

/* ========== EN-TÊTE ========== */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--rouge);color:var(--jaune);border-bottom:3px solid var(--encre)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:58px}
.top .brand{text-decoration:none;font-size:1.65rem;margin-top:6px}
.top nav{display:none;gap:4px;margin-left:auto;align-items:center}
.top nav a{font-family:var(--f-display);font-weight:700;font-size:.98rem;text-decoration:none;color:var(--jaune);padding:.45em .7em .3em;position:relative}
.top nav a::after{content:"";position:absolute;left:.7em;right:.7em;bottom:.15em;height:3px;background:var(--line,var(--jaune));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.top nav a:hover::after,.top nav a[aria-current=page]::after{transform:scaleX(1)}
.top .tools{display:flex;gap:6px;margin-left:auto}
.iconbtn{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:2px solid var(--jaune);color:var(--jaune)}
.iconbtn:hover{background:var(--jaune);color:var(--rouge)}
.iconbtn svg{width:20px;height:20px}
.onair{display:none;align-items:center;gap:.5em;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:#fff}
.onair i{width:9px;height:9px;border-radius:50%;background:var(--jaune);box-shadow:0 0 0 0 rgba(250,227,34,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(250,227,34,0)}100%{box-shadow:0 0 0 0 rgba(250,227,34,0)}}
@media (min-width:1080px){.top nav{display:flex}.top .tools{margin-left:12px}.top .menu-btn{display:none}.onair{display:flex}}

/* Menu plein écran */
.menu{position:fixed;inset:0;z-index:80;background:var(--rouge);color:var(--jaune);overflow:auto;
  padding:calc(env(safe-area-inset-top,0px) + 14px) var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 30px) var(--gutter);
  transform:translateY(-100%);transition:transform .55s var(--ease);visibility:hidden}
.menu.open{transform:none;visibility:visible}
.menu-head{display:flex;justify-content:space-between;align-items:center;max-width:var(--max);margin:0 auto}
.menu ul{list-style:none;margin:28px auto 0;padding:0;max-width:var(--max);display:grid;gap:0}
.menu li a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-decoration:none;padding:12px 0;border-top:2px solid rgba(250,227,34,.35)}
.menu li a .n{font-family:var(--f-label);font-size:.8rem;letter-spacing:.1em;opacity:.8}
.menu li a .t{font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,8vw,4.4rem);line-height:.95;letter-spacing:-.03em}
.menu li a .bar{width:clamp(40px,10vw,120px);height:16px;background:var(--c,var(--jaune));border:2px solid var(--jaune)}
.menu li a:hover .t{-webkit-text-stroke:.03em var(--jaune);color:transparent}
.menu .minor{display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px auto 0;max-width:var(--max);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em}
.menu .minor a{color:#fff}
.menu .sticker{position:absolute;right:max(16px,4vw);bottom:30px;width:clamp(120px,22vw,260px);transform:rotate(-8deg);pointer-events:none;opacity:.95}
@media (max-width:700px){.menu .sticker{display:none}}

/* Barre d'onglets mobile */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--encre);display:grid;grid-template-columns:repeat(5,1fr);
  padding:0 var(--gutter-r) env(safe-area-inset-bottom,0px) var(--gutter);border-top:3px solid var(--jaune)}
.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 9px;color:#fff;text-decoration:none;background:none;border:0;
  font-family:var(--f-label);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}
.tabbar svg{width:22px;height:22px}
.tabbar [aria-current=page]{color:var(--jaune)}
.tabbar [aria-current=page] svg{transform:translateY(-1px)}
@media (min-width:1080px){.tabbar{display:none}}
@media (max-width:1079px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}

/* Volet de transition entre pages */
.wipe{position:fixed;inset:0;z-index:90;pointer-events:none;display:grid;grid-template-columns:repeat(6,1fr)}
.wipe span{background:var(--c,var(--rouge));transform:scaleY(0);transform-origin:bottom}
.wipe.in span{animation:wipein .38s var(--ease) forwards}
.wipe.out span{transform-origin:top;animation:wipeout .42s var(--ease) forwards}
.wipe span:nth-child(2n){--c2:var(--ciel)}
@keyframes wipein{to{transform:scaleY(1)}}
@keyframes wipeout{from{transform:scaleY(1)}to{transform:scaleY(0)}}
.wipe span:nth-child(1){animation-delay:0s}.wipe span:nth-child(2){animation-delay:.03s}.wipe span:nth-child(3){animation-delay:.06s}
.wipe span:nth-child(4){animation-delay:.09s}.wipe span:nth-child(5){animation-delay:.12s}.wipe span:nth-child(6){animation-delay:.15s}

/* Apparition : état de repos visible, simple glissement */
.rv{transition:transform .8s var(--ease)}
.js .rv.pre{transform:translateY(26px)}

/* ========== HERO / UNE ========== */
.hero{background:var(--rouge);position:relative;overflow:hidden;border-bottom:3px solid var(--encre)}
.stripes{position:absolute;inset:0;width:100%;height:100%}
.hero-inner{position:relative;display:grid;gap:10px;padding-block:26px 30px;justify-items:center}
.tvbox{position:relative;width:min(88vw,470px);aspect-ratio:636/895;margin-bottom:-3%}
.tvbox img{width:100%;height:100%;position:relative;z-index:2;pointer-events:none;filter:drop-shadow(10px 12px 0 rgba(28,27,63,.35))}
.screen{position:absolute;left:14.8%;top:46.8%;width:73%;height:37.8%;z-index:3;border-radius:16% / 22%;overflow:hidden;background:#15142c;color:#fff;
  display:block;text-decoration:none}
.screen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 3px);pointer-events:none;z-index:3}
.screen .slide{position:absolute;inset:0;padding:9% 11% 8%;display:flex;flex-direction:column;justify-content:center;gap:6px;opacity:0;transition:opacity .2s}
.screen .slide.on{opacity:1}
.screen .slide .chip{align-self:flex-start;font-size:clamp(.55rem,1.6vw,.72rem)}
.screen .slide h2{font-family:var(--f-display);font-weight:800;font-size:clamp(.95rem,3.6vw,1.55rem);line-height:1.02;margin:0;color:var(--jaune);text-wrap:balance;letter-spacing:-.01em}
.screen .slide .go{font-family:var(--f-label);font-size:clamp(.55rem,1.5vw,.7rem);letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.85}
.screen canvas{position:absolute;inset:0;width:100%;height:100%;z-index:4;opacity:0;transition:opacity .12s;pointer-events:none}
.screen.static canvas{opacity:1}
.zap{position:absolute;z-index:5;right:-3%;bottom:13.5%;width:15%;aspect-ratio:1;border-radius:50%;border:0;background:transparent}
.zap:focus-visible{outline:3px solid var(--jaune)}
.hero h1{margin:0;position:relative;z-index:3;font-size:clamp(3rem,14.4vw,13rem);text-align:center}
.hero h1 .l{display:inline-block;animation:drop .7s var(--ease) both}
@keyframes drop{from{transform:translateY(-.6em) rotate(-6deg)}}
.hero .tag{margin:0;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1rem,3.2vw,1.6rem);
  color:var(--jaune);-webkit-text-stroke:.04em var(--violet);paint-order:stroke fill;text-align:center;position:relative;z-index:3}
.hero .sub{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;position:relative;z-index:3;margin-top:8px}
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-display);font-weight:800;text-decoration:none;font-size:1rem;line-height:1;
  padding:.85em 1.2em .72em;background:var(--jaune);color:var(--encre);border:3px solid var(--encre);box-shadow:5px 5px 0 var(--encre);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--encre)}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--encre)}
.btn.alt{background:#fff}
.btn.dark{background:var(--encre);color:var(--jaune);border-color:var(--encre);box-shadow:5px 5px 0 var(--jaune)}
.hero .floater{position:absolute;z-index:2;pointer-events:none}
.hero .f1{width:clamp(80px,14vw,200px);left:3%;top:14%;transform:rotate(-12deg)}
.hero .f2{width:clamp(70px,11vw,160px);right:4%;top:8%;transform:rotate(14deg)}
.hero .f3{width:clamp(90px,13vw,200px);right:6%;top:40%;transform:rotate(-6deg)}
@media (max-width:640px){.hero .f1{top:4%;left:-4%}.hero .f2{top:2%;right:-3%}.hero .f3{display:none}}

/* Bandeau défilant */
.ticker{background:var(--jaune);color:var(--violet);border-bottom:3px solid var(--encre);overflow:hidden;display:flex}
.ticker .lbl{flex:none;background:var(--violet);color:var(--jaune);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.8rem;
  padding:.85em 1em .8em;display:flex;align-items:center;gap:.5em;position:relative;z-index:1}
.ticker .track{display:flex;width:max-content;animation:crawl 48s linear infinite}
.ticker:hover .track{animation-play-state:paused}
.ticker a{font-family:var(--f-label);text-transform:uppercase;font-weight:600;letter-spacing:.04em;font-size:.95rem;text-decoration:none;padding:.72em 1.4em;white-space:nowrap;display:flex;align-items:center;gap:1.4em}
.ticker a::after{content:"";width:12px;height:12px;background:var(--corail)}
.ticker a:hover{color:var(--rouge)}
@keyframes crawl{to{transform:translateX(-50%)}}

/* Titres de section */
.sec{padding-block:clamp(48px,7vw,96px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:clamp(24px,4vw,44px)}
.sec-head h2{margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.92;font-size:clamp(2.6rem,8.5vw,6.4rem)}
.sec-head p{margin:0;max-width:40ch;color:var(--gris)}
.more{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.85rem;text-decoration:none;border-bottom:3px solid var(--c,var(--rouge));padding-bottom:2px}
.more:hover{color:var(--c,var(--rouge))}

/* Vignette : aplat de couleur + trame + découpage (le système visuel des articles) */
.vis{position:relative;background:var(--c);overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center;isolation:isolate}
.vis::before{content:"";position:absolute;inset:-10%;background-image:radial-gradient(rgba(28,27,63,.22) 1.6px,transparent 1.8px);background-size:11px 11px;z-index:-1;
  transform:rotate(-8deg)}
.vis img{max-height:86%;max-width:78%;object-fit:contain;filter:drop-shadow(6px 7px 0 rgba(28,27,63,.28));transition:transform .55s var(--ease),filter .55s var(--ease)}
.vis.full img{max-height:none;max-width:none;width:100%;height:100%;object-fit:cover;filter:none}
a:hover .vis img,.vis:hover img{transform:rotate(-3deg) scale(1.05);filter:drop-shadow(10px 12px 0 var(--encre))}
a:hover .vis.full img{transform:scale(1.04);filter:none}
.vis .stamp{position:absolute;left:12px;top:12px;z-index:2}

/* ========== LA UNE ========== */
.une{display:grid;gap:clamp(28px,4vw,48px)}
.lead{display:grid;gap:20px;text-decoration:none}
.lead h3{margin:0;font-family:var(--f-display);font-weight:900;font-size:clamp(2.1rem,6.4vw,4.8rem);line-height:.92;letter-spacing:-.035em;text-wrap:balance}
.lead:hover h3{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.08em;text-decoration-color:var(--c)}
.lead p{margin:0;font-size:1.15rem;max-width:52ch}
.lead .vis{aspect-ratio:5/4;border:3px solid var(--encre);box-shadow:10px 10px 0 var(--encre)}
.meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--gris)}
.second{display:grid;gap:28px}
.card{display:grid;gap:12px;text-decoration:none;align-content:start}
.card .txt{display:grid;gap:10px;align-content:start;min-width:0}
.card h3{margin:0;font-family:var(--f-display);font-weight:800;font-size:clamp(1.35rem,2.6vw,1.75rem);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.card:hover h3{color:var(--c)}
.card[data-c=jaune]:hover h3,.card[data-c=ciel]:hover h3{color:var(--encre);text-decoration:underline;text-decoration-color:var(--c);text-decoration-thickness:.12em}
.card p{margin:0;color:var(--gris);font-size:.98rem}
.card .vis{border:3px solid var(--encre)}
.fil{border-top:6px solid var(--encre);padding-top:10px}
.fil h3.kicker{margin:0 0 6px}
.fil a{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 0;border-bottom:2px solid var(--encre);text-decoration:none;align-items:start}
.fil a b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.12rem;line-height:1.08;letter-spacing:-.01em}
.fil a:hover b{text-decoration:underline;text-decoration-color:var(--c);text-decoration-thickness:3px}
.fil .dot{width:14px;height:14px;background:var(--c);margin-top:4px;border:2px solid var(--encre)}
@media (min-width:900px){
  .une{grid-template-columns:1.55fr 1fr;align-items:start}
  .lead{grid-template-columns:1fr;grid-row:span 2}
  .second{grid-template-columns:1fr}
  .second .card{grid-template-columns:150px 1fr;align-items:start}
  .second .card .vis{aspect-ratio:1}
}
@media (min-width:1200px){.une{grid-template-columns:1.5fr 1fr .8fr}.lead{grid-row:auto}.fil{grid-column:3;grid-row:1}}

/* ========== FRÉQUENCES (rubriques) ========== */
.freq{border-top:3px solid var(--encre)}
.band{display:block;background:var(--c);color:var(--on);text-decoration:none;border-bottom:3px solid var(--encre);position:relative;overflow:hidden}
.band .wrap{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;padding-block:22px;align-items:center;position:relative;z-index:1}
.band .ch{font-family:var(--f-label);font-weight:600;letter-spacing:.1em;font-size:.85rem;grid-row:span 2;align-self:start;padding-top:.6em;
  writing-mode:vertical-rl;transform:rotate(180deg)}
.band .name{font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.85;font-size:clamp(2.3rem,9.5vw,7.8rem);transition:transform .5s var(--ease)}
.band .last{display:flex;flex-wrap:wrap;gap:6px 20px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.05em;font-size:.86rem;font-weight:600}
.band .last span::before{content:"→ "}
.band img{position:absolute;right:max(16px,5vw);top:50%;height:150%;max-height:none;width:auto;transform:translate(30%,-50%) rotate(8deg);opacity:0;transition:transform .6s var(--ease),opacity .4s;z-index:0;pointer-events:none}
.band:hover img,.band:focus-visible img{opacity:1;transform:translate(0,-50%) rotate(-4deg)}
.band:hover .name{transform:translateX(14px)}
.band[data-c=jaune] .name,.band[data-c=ciel] .name{color:var(--encre)}
.band[data-c=rouge] .name,.band[data-c=violet] .name{color:var(--jaune)}
@media (max-width:700px){.band img{opacity:.9;height:120%;transform:translate(35%,-50%) rotate(-4deg)}.band:hover img{transform:translate(35%,-50%) rotate(-4deg)}}

/* ========== ANTENNE (teaser + page) ========== */
.antenne{background:var(--violet);color:#fff;border-bottom:3px solid var(--encre);position:relative;overflow:hidden}
.antenne .sec-head h2{color:var(--jaune);-webkit-text-stroke:.03em var(--rouge);paint-order:stroke fill}
.antenne .sec-head p{color:#E8E8FF}
.grille{display:grid;gap:0;border-top:3px solid var(--jaune)}
.prog{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:18px 0;border-bottom:2px solid rgba(250,227,34,.4);text-decoration:none;color:#fff;align-items:baseline}
.prog .ch{font-family:var(--f-display);font-weight:900;font-size:2.4rem;line-height:.8;color:var(--c);-webkit-text-stroke:.03em var(--encre);paint-order:stroke fill;grid-row:span 3}
.prog .type{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--jaune)}
.prog b{font-family:var(--f-display);font-weight:800;font-size:clamp(1.35rem,3vw,2rem);line-height:1;letter-spacing:-.02em}
.prog small{font-size:.9rem;color:#DADAF8}
.prog:hover b{color:var(--jaune)}
.antenne .mic{position:absolute;right:-40px;bottom:-40px;width:clamp(120px,22vw,300px);transform:rotate(14deg);pointer-events:none;opacity:.35;z-index:0}
.antenne .wrap{position:relative;z-index:1}
.prog[data-c=violet] .ch{color:#fff}
@media (min-width:900px){.antenne .cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.antenne .mic{right:2%;left:auto;bottom:-90px;opacity:.3}}

.studio{display:grid;gap:30px;align-items:center}
.studio .tvbox{margin:0 auto;width:min(92vw,520px)}

.remote{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.remote button{display:grid;gap:4px;text-align:left;background:#fff;color:var(--encre);border:3px solid var(--encre);padding:12px 14px;box-shadow:4px 4px 0 var(--encre);transition:transform .2s var(--ease),box-shadow .2s,background .2s}
.remote button .n{font-family:var(--f-display);font-weight:900;font-size:1.6rem;line-height:.8}
.remote button .t{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}
.remote button[aria-pressed=true]{background:var(--c);color:var(--on);transform:translate(3px,3px);box-shadow:1px 1px 0 var(--encre)}
.remote button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--encre)}
.chan-info{background:#fff;color:var(--encre);border:3px solid var(--encre);box-shadow:8px 8px 0 var(--jaune);padding:22px}
.chan-info h3{margin:6px 0 8px;font-family:var(--f-display);font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);line-height:.95;letter-spacing:-.03em}
.chan-info p{margin:0 0 12px}
.status{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600;background:var(--voile);padding:.4em .7em}
.status i{width:9px;height:9px;border-radius:50%;background:var(--corail);animation:pulse 2s infinite}
@media (min-width:980px){.studio{grid-template-columns:1.05fr 1fr;gap:56px}}
.platforms{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.platforms span,.platforms a{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;padding:.55em .9em;border:2px solid currentColor;text-decoration:none}
.platforms span{opacity:.6}

/* ========== AGIR ========== */
.agir-sec{background:#fff}
.stats{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-bottom:36px}
.stat{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.stat .burst{width:clamp(108px,14vw,140px);aspect-ratio:1;background:var(--violet);display:grid;place-items:center;font-family:var(--f-display);font-weight:900;color:var(--corail);font-size:clamp(2rem,4vw,2.6rem);letter-spacing:-.04em}
.stat p{margin:0;font-family:var(--f-display);font-weight:800;text-transform:uppercase;color:var(--violet);line-height:1.05;font-size:1.05rem}
.stat small{display:block;margin-top:6px;font-family:var(--f-text);text-transform:none;font-weight:400;color:var(--gris);font-size:.82rem}
.actions{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.act{display:grid;gap:10px;align-content:start;background:#fff;border:6px solid var(--c,var(--jaune));padding:20px 20px 18px;text-decoration:none;position:relative;transition:transform .25s var(--ease)}
.act:hover{transform:translateY(-4px)}
.act .kicker{color:var(--gris)}
.act b{font-family:var(--f-display);font-weight:800;font-size:1.45rem;line-height:1.02;letter-spacing:-.02em}
.act p{margin:0;font-size:.95rem}
.act .go{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:600;margin-top:4px}
.act .go::after{content:" ↗"}
.act.int .go::after{content:" →"}

/* Appel à projets */
.emerge{background:var(--jaune);border-block:3px solid var(--encre);position:relative;overflow:hidden}
.emerge .cols{display:grid;gap:30px;align-items:center}
.emerge h2{margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.85;font-size:clamp(2.8rem,10vw,7rem);color:var(--rouge);-webkit-text-stroke:.025em var(--encre);paint-order:stroke fill}
.emerge .woman{width:min(70vw,380px);justify-self:center;filter:drop-shadow(10px 10px 0 var(--rouge))}
@media (min-width:900px){.emerge .cols{grid-template-columns:1.2fr .8fr}}
form.box{display:grid;gap:12px;margin-top:22px;max-width:560px}
.field{display:grid;gap:5px}
.field label{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:600}
.field input,.field textarea,.field select{font:inherit;font-size:1rem;padding:.75em .85em;border:3px solid var(--encre);background:#fff;color:var(--encre);border-radius:0;width:100%}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;box-shadow:5px 5px 0 var(--violet)}
.row2{display:grid;gap:12px}
@media (min-width:600px){.row2{grid-template-columns:1fr 1fr}}
.notice{font-size:.85rem;color:var(--gris);margin:0}
.ok{background:var(--encre);color:var(--jaune);padding:14px 16px;font-family:var(--f-display);font-weight:700;border-left:10px solid var(--corail)}

/* ========== PIED DE PAGE ========== */
.foot{background:var(--rouge);color:#fff;border-top:3px solid var(--encre);overflow:hidden}
.foot .giant{font-size:clamp(2.8rem,14.6vw,15rem);display:block;text-align:center;margin:0 auto -.08em;padding-top:.25em}
.foot .grid{display:grid;gap:28px;padding-block:34px 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.foot h3{margin:0 0 10px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:var(--jaune)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:2px}
.foot .signal form{display:flex;gap:0;margin-top:8px}
.foot .signal input{flex:1;min-width:0;font:inherit;padding:.7em .8em;border:3px solid var(--encre);border-right:0;border-radius:0}
.foot .signal button{font-family:var(--f-display);font-weight:800;background:var(--jaune);color:var(--encre);border:3px solid var(--encre);padding:0 1em}
.foot .legal{border-top:2px solid rgba(255,255,255,.35);padding-block:16px;font-size:.82rem;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:#FFE3E3}

/* ========== RUBRIQUE ========== */
.r-head{background:var(--c);color:var(--on);border-bottom:3px solid var(--encre);position:relative;overflow:hidden}
.r-head .wrap{display:grid;gap:14px;padding-block:clamp(30px,6vw,70px) clamp(26px,5vw,56px);position:relative;z-index:1}
.r-head h1{margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.05em;line-height:.84;font-size:clamp(3rem,12vw,10rem);max-width:12ch;text-wrap:balance}
.r-head[data-c=rouge] h1,.r-head[data-c=violet] h1{color:var(--jaune);-webkit-text-stroke:.02em var(--encre);paint-order:stroke fill}
.r-head p{margin:0;max-width:46ch;font-size:1.12rem}
.r-head .ch{font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.r-head img{position:absolute;right:max(10px,4vw);bottom:-6%;height:115%;max-height:520px;width:auto;opacity:.95;transform:rotate(-5deg);pointer-events:none;filter:drop-shadow(10px 10px 0 rgba(28,27,63,.3))}
@media (max-width:760px){.r-head img{height:52%;opacity:.35;right:-20px;bottom:auto;top:10px}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.8rem;padding:.6em 1em;background:#fff;border:2px solid var(--encre)}
.filters button[aria-pressed=true]{background:var(--encre);color:var(--jaune)}
.list{display:grid;gap:34px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.empty{border:3px dashed var(--encre);padding:30px;text-align:center;font-family:var(--f-display);font-weight:700}
.others{display:flex;flex-wrap:wrap;gap:10px}

/* ========== ARTICLE ========== */
.progress{position:fixed;left:0;top:env(safe-area-inset-top,0px);height:6px;width:100%;z-index:70;transform-origin:left;transform:scaleX(0);background:var(--c,var(--jaune))}
.a-head{border-bottom:3px solid var(--encre)}
.a-head .wrap{display:grid;gap:18px;padding-block:clamp(28px,5vw,64px) 34px}
.a-head h1{margin:0;font-family:var(--f-display);font-weight:900;letter-spacing:-.04em;line-height:.9;font-size:clamp(2.4rem,7.2vw,6rem);max-width:17ch;text-wrap:balance}
.a-head .chapo{margin:0;font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.4;max-width:46ch;font-weight:500}
.a-head .chips{display:flex;flex-wrap:wrap;gap:8px}
.a-hero{display:grid;gap:26px}
.a-hero .vis{aspect-ratio:16/10;border:3px solid var(--encre);box-shadow:10px 10px 0 var(--c)}
@media (min-width:980px){.a-hero{grid-template-columns:1.15fr .85fr;align-items:end}.a-hero .vis{aspect-ratio:1}}
.demo-note{background:var(--voile);border-left:8px solid var(--encre);padding:12px 16px;font-size:.92rem;max-width:68ch}
.a-body{display:grid;gap:40px;padding-block:44px 30px}
.prose{max-width:66ch;font-size:clamp(1.06rem,1.4vw,1.16rem);line-height:1.72;min-width:0}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.15em}
.prose>p:first-of-type::first-letter{font-family:var(--f-display);font-weight:900;float:left;font-size:4.6em;line-height:.78;margin:.04em .1em 0 0;color:var(--jaune);-webkit-text-stroke:.03em var(--violet);paint-order:stroke fill}
.prose h2{font-family:var(--f-display);font-weight:800;font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.02;letter-spacing:-.025em;margin:1.7em 0 .55em;display:flex;gap:.45em;align-items:center}
.prose h2::before{content:"";flex:none;width:.8em;height:.8em;background:var(--c);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.prose blockquote{margin:1.6em 0;padding:24px 22px 20px;background:var(--jaune);border:3px solid var(--encre);box-shadow:8px 8px 0 var(--violet);position:relative}
.prose blockquote p{margin:0;font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.3rem,2.8vw,1.85rem);line-height:1.05;letter-spacing:-.015em;color:var(--violet)}
.prose blockquote cite{display:block;margin-top:12px;font-style:normal;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--encre)}
.prose .fact{margin:1.6em 0;border:6px solid var(--jaune);padding:18px 20px;background:#fff}
.prose .fact .kicker{display:inline-block;background:var(--encre);color:var(--jaune);padding:.3em .6em;margin-bottom:8px}
.prose .fact p{margin:0;font-weight:500}
.prose ul{padding:0;list-style:none;margin:0 0 1.2em;display:grid;gap:10px}
.prose li{display:grid;grid-template-columns:18px 1fr;gap:12px}
.prose li::before{content:"";width:14px;height:14px;margin-top:.45em;background:var(--c);border:2px solid var(--encre)}
.aside{display:grid;gap:22px;align-content:start}
.jagis{background:var(--rouge);color:#fff;padding:24px 22px;border:3px solid var(--encre);box-shadow:8px 8px 0 var(--jaune)}
.jagis h2{margin:0 0 10px;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:1.9rem;line-height:.9;color:var(--jaune);-webkit-text-stroke:.025em var(--violet);paint-order:stroke fill}
.jagis p{margin:0 0 16px}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.share button,.share a{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;padding:.6em .9em;border:2px solid var(--encre);background:#fff;text-decoration:none}
.share button:hover,.share a:hover{background:var(--jaune)}
.copyurl{font-size:.8rem;word-break:break-all;color:var(--gris);user-select:all}
@media (min-width:1080px){.a-body{grid-template-columns:minmax(0,66ch) 1fr;gap:70px}.aside{position:sticky;top:90px}}
.next{background:var(--voile);border-top:3px solid var(--encre)}

/* ========== À PROPOS ========== */
.ab-hero{background:var(--jaune);border-bottom:3px solid var(--encre);overflow:hidden;position:relative}
.ab-hero .wrap{padding-block:clamp(36px,7vw,90px);display:grid;gap:20px;position:relative;z-index:1}
.ab-hero h1{margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:-.045em;font-size:clamp(2.7rem,9vw,7.6rem);color:var(--violet);max-width:12ch}
.ab-hero h1 em{font-style:normal;color:var(--rouge)}
.ab-hero p{margin:0;max-width:48ch;font-size:1.2rem}
.ab-hero .bin{position:absolute;right:-30px;top:20px;width:clamp(160px,30vw,420px);transform:rotate(6deg);pointer-events:none}
@media (max-width:760px){.ab-hero .bin{opacity:.25}}
.two{display:grid;gap:28px}
@media (min-width:860px){.two{grid-template-columns:1fr 1fr;gap:48px}}
.panel{border:6px solid var(--jaune);padding:24px}
.panel h2{margin:0 0 10px;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(2rem,4.5vw,3.2rem);line-height:.9;color:var(--violet)}
.panel p{margin:0}
.hl{background:linear-gradient(transparent 12%,var(--violet) 12%,var(--violet) 88%,transparent 88%);color:#fff;padding:0 .2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.team{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.member{display:grid;gap:10px;align-content:start}
.member .ph{aspect-ratio:4/5;border:3px solid var(--encre);overflow:hidden;background:var(--c)}
.member .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;transition:filter .5s}
.member:hover .ph img{filter:none;mix-blend-mode:normal}
.member b{font-family:var(--f-display);font-weight:800;font-size:1.25rem;line-height:1}
.member small{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;color:var(--gris)}
.member q{font-size:.95rem;quotes:"« " " »"}
.member .ph.slot{display:grid;place-items:center;background:repeating-linear-gradient(45deg,var(--voile) 0 12px,#fff 12px 24px)}
.member .ph.slot span{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;background:#fff;border:2px solid var(--encre);padding:.4em .7em}
.words{display:flex;flex-wrap:wrap;gap:10px}
.words span{font-family:var(--f-display);font-weight:800;font-size:clamp(1.1rem,2.6vw,1.7rem);padding:.35em .7em .25em;border:3px solid var(--encre);background:var(--c);color:var(--on);transform:rotate(var(--r,0deg))}
.figures{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));border:3px solid var(--encre)}
.figures div{padding:20px;border:1.5px solid var(--encre);display:grid;gap:4px}
.figures b{font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,5vw,3.6rem);line-height:.85;color:var(--rouge);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.figures span{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}

/* ========== RECHERCHE ========== */
.search{position:fixed;inset:0;z-index:85;background:rgba(28,27,63,.55);display:grid;align-items:start;justify-items:center;
  padding:calc(env(safe-area-inset-top,0px) + 4vh) var(--gutter-r) 20px var(--gutter);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.search.open{opacity:1;visibility:visible}
.search .panel2{width:min(100%,860px);background:#fff;border:3px solid var(--encre);box-shadow:10px 10px 0 var(--jaune);max-height:88vh;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}
.search .bar{display:flex;align-items:center;border-bottom:3px solid var(--encre)}
.search input{flex:1;min-width:0;border:0;font-family:var(--f-display);font-weight:800;font-size:clamp(1.3rem,4vw,2.2rem);padding:.6em .7em .45em;color:var(--encre);background:#fff}
.search input:focus{outline:none}
.search .bar button{width:56px;height:56px;margin-right:8px;background:var(--rouge);color:var(--jaune);border:3px solid var(--encre);display:grid;place-items:center;flex:none}
.search .sf{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-bottom:2px solid var(--voile)}
.search .sf button{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.07em;font-size:.74rem;font-weight:600;padding:.45em .8em;border:2px solid var(--encre);background:#fff}
.search .sf button[aria-pressed=true]{background:var(--c,var(--encre));color:var(--on,var(--jaune))}
.search .res{overflow:auto;padding:4px 16px 16px}
.search .res a{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:14px 0;border-bottom:2px solid var(--voile);text-decoration:none}
.search .res a:hover b{text-decoration:underline;text-decoration-color:var(--c);text-decoration-thickness:3px}
.search .res b{font-family:var(--f-display);font-weight:800;font-size:1.2rem;line-height:1.05;display:block}
.search .res small{color:var(--gris);font-size:.9rem}
.search .res .dot{width:14px;height:14px;background:var(--c);border:2px solid var(--encre);margin-top:4px}
.search mark{background:var(--jaune);color:inherit}
.search .hint{padding:18px 0;color:var(--gris)}

.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--encre);color:var(--jaune);font-family:var(--f-display);font-weight:700;
  padding:.8em 1.2em;border:3px solid var(--jaune);opacity:0;transition:.3s var(--ease);z-index:95;pointer-events:none;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ticker .track{flex-wrap:wrap;width:auto}
  .js .rv.pre{transform:none}
}

/* ===== v2 : blog, podcast, équipe, contact ===== */
.mailbox{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.mailbox .addr{font-family:var(--f-display);font-weight:700;font-size:1.02rem;word-break:break-all;user-select:all;background:var(--jaune);color:var(--encre);padding:.35em .6em .25em;border:2px solid var(--encre)}
.mailbox button,.mailbox a{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:600;padding:.55em .8em;border:2px solid var(--encre);background:#fff;color:var(--encre);text-decoration:none}
.mailbox button:hover,.mailbox a:hover{background:var(--jaune)}
.mailbox.dark button,.mailbox.dark a{border-color:var(--jaune);background:transparent;color:var(--jaune)}
.mailbox.dark button:hover,.mailbox.dark a:hover{background:var(--jaune);color:var(--encre)}
.ok{display:grid;gap:4px}
.band .last em{font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--f-text);font-weight:500;font-size:1rem;max-width:52ch}
.filters button[data-c][aria-pressed=true]{background:var(--c);color:var(--on)}
.r-head .blogimg{height:95%;bottom:-4%}
.soon{border:3px dashed var(--encre);padding:22px;display:grid;gap:10px;align-content:center;background:var(--voile)}
.soon b{font-family:var(--f-display);font-weight:800;font-size:1.4rem;line-height:1.05}
.soon p{margin:0;color:var(--gris)}
.prose figure{margin:1.6em 0}
.prose figure img{border:3px solid var(--encre);width:100%}
.prose figcaption{font-size:.85rem;color:var(--gris);margin-top:8px}

/* Bloc équipe sur l'accueil */
.crew{border-top:3px solid var(--encre);background:var(--voile)}
.crew-in{display:grid;gap:32px;align-items:center}
.crew-ph{border:3px solid var(--encre);box-shadow:12px 12px 0 var(--rouge);overflow:hidden;aspect-ratio:4/3;background:var(--ciel)}
.crew-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.crew-t{margin:8px 0 14px;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;font-size:clamp(2.4rem,6vw,4.6rem);color:var(--violet)}
.crew-in p{margin:0 0 18px;max-width:50ch;font-size:1.08rem}
.crew-names{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:0;border-top:2px solid var(--encre)}
.crew-names li{display:grid;grid-template-columns:14px 1fr;column-gap:12px;padding:10px 0;border-bottom:2px solid var(--encre)}
.crew-names li::before{content:"";width:14px;height:14px;background:var(--c);border:2px solid var(--encre);margin-top:4px;grid-row:span 2}
.crew-names b{font-family:var(--f-display);font-weight:800;font-size:1.15rem;line-height:1.1}
.crew-names span{font-size:.92rem;color:var(--gris)}
@media (min-width:900px){.crew-in{grid-template-columns:1.1fr 1fr;gap:56px}}

/* Page À propos : photo de groupe + portraits */
.group{border:3px solid var(--encre);box-shadow:12px 12px 0 var(--jaune);overflow:hidden;aspect-ratio:16/9;margin-bottom:36px;background:var(--ciel)}
.group img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}
@media (max-width:700px){.group{aspect-ratio:4/5}}
.member .studies{font-size:.95rem;font-weight:500;line-height:1.35}
.member .ph img{filter:grayscale(1) contrast(1.05)}

/* Page podcast */
.pod{display:grid;gap:14px;align-content:start}
.pod .vis{border:3px solid var(--encre);box-shadow:8px 8px 0 var(--encre)}
.pod h3{margin:6px 0 0;font-family:var(--f-display);font-weight:900;font-size:clamp(1.9rem,4vw,2.8rem);line-height:.95;letter-spacing:-.03em}
.pod>p{margin:0}
.eps{list-style:none;margin:0;padding:0;border-top:3px solid var(--encre)}
.eps a{display:grid;gap:2px;padding:12px 0;border-bottom:2px solid var(--encre);text-decoration:none}
.eps b{font-family:var(--f-display);font-weight:800;font-size:1.15rem}
.eps span{font-size:.88rem;color:var(--gris)}
.pod .platforms span,.pod .platforms a{color:var(--encre)}
@media (min-width:1200px){.une.solo{grid-template-columns:1.45fr 1fr}.une.solo .fil{grid-column:auto;grid-row:auto}}
@media (min-width:900px){.une.solo .lead{grid-row:auto}}
.member .ph{background:var(--voile);border-bottom:10px solid var(--c)}
.member .ph img{mix-blend-mode:normal;filter:grayscale(1) contrast(1.05);object-position:50% 25%}
.member:hover .ph img{filter:none}
.team{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.group{aspect-ratio:3/2;max-width:1040px}
.group img{object-position:50% 18%}
@media (max-width:700px){.group{aspect-ratio:4/5}}

/* ===== v3 : article sources, podcast en grand ===== */
.prose .note{font-size:.88rem;color:var(--gris);border-top:2px solid var(--voile);padding-top:12px;margin-top:2em}
.prose .srcs{margin-top:1.2em;background:var(--voile);padding:18px 20px;border-left:8px solid var(--c)}
.prose .srcs ul{margin:8px 0 0;gap:6px}
.prose .srcs li{font-size:.92rem;line-height:1.45}
.podsec{border-bottom:3px solid var(--encre)}
.podsec.alt{background:var(--voile)}
.stage16{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--c);border:3px solid var(--encre);box-shadow:12px 12px 0 var(--encre);overflow:hidden;isolation:isolate}
.stage16::before{content:"";position:absolute;inset:-10%;background-image:radial-gradient(rgba(28,27,63,.22) 1.6px,transparent 1.8px);background-size:12px 12px;z-index:-1;transform:rotate(-8deg)}
.stage16 .bgimg{position:absolute;right:6%;top:50%;transform:translateY(-50%) rotate(-6deg);height:70%;width:auto;max-width:none;z-index:0;filter:drop-shadow(8px 9px 0 rgba(28,27,63,.3))}
.yt{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:clamp(18px,4vw,40px);background:linear-gradient(transparent 40%,rgba(28,27,63,.75));color:#fff;border:0;text-align:left;width:100%;cursor:pointer}
.yt b{display:block;font-family:var(--f-display);font-weight:900;font-size:clamp(1.5rem,4vw,3.2rem);line-height:.95;letter-spacing:-.03em;color:var(--jaune);max-width:20ch}
.yt .kicker{color:#fff}
.yt span:not(.kicker):not(.playbtn):not(.yt-t){max-width:40ch}
.playbtn{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:clamp(70px,10vw,110px);aspect-ratio:1;border-radius:50%;background:var(--jaune);color:var(--encre);display:grid;place-items:center;font-size:clamp(1.6rem,3vw,2.4rem);border:3px solid var(--encre);box-shadow:5px 5px 0 var(--encre);transition:transform .25s var(--ease)}
.yt:hover .playbtn{transform:translate(-50%,-50%) scale(1.08)}
.soon-yt{cursor:default;background:linear-gradient(90deg,rgba(28,27,63,.7),transparent 70%)}
.soon-yt b{max-width:14ch}
.ytframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2;background:#000}
.ep-txt{display:grid;gap:12px;align-content:start;min-width:0}
.ep-txt h3{margin:0;font-family:var(--f-display);font-weight:900;font-size:clamp(1.7rem,4vw,3rem);line-height:.95;letter-spacing:-.03em;text-wrap:balance}
.ep-txt p{margin:0;max-width:56ch;font-size:1.05rem}
.ep-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}
.stage16+.ep-txt{margin-top:30px}
.audio-card{display:grid;gap:clamp(20px,4vw,48px);align-items:center}
.audio-card .cover{position:relative;aspect-ratio:1;background:var(--c);border:3px solid var(--encre);box-shadow:12px 12px 0 var(--jaune);display:grid;place-items:center;overflow:hidden;isolation:isolate;max-width:520px;width:100%}
.audio-card .cover::before{content:"";position:absolute;inset:-10%;background-image:radial-gradient(rgba(28,27,63,.25) 1.6px,transparent 1.8px);background-size:12px 12px;z-index:-1;transform:rotate(-8deg)}
.audio-card .cover img{height:86%;width:auto;filter:drop-shadow(8px 9px 0 rgba(28,27,63,.35))}
.audio-card .epn{position:absolute;left:16px;bottom:12px;font-family:var(--f-display);font-weight:900;font-size:clamp(2.6rem,7vw,5rem);line-height:.8;color:var(--jaune);-webkit-text-stroke:.03em var(--encre);paint-order:stroke fill;letter-spacing:-.04em}
@media (min-width:860px){.audio-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.eplist{margin-top:40px}
.eplist .eps{margin-top:10px}

/* ===== v4 : cohérence, couvertures, une, podcast ===== */
/* Couverture typographique des articles (en attendant les photos) */
.vis.cover{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:clamp(16px,3vw,30px);color:var(--on);text-align:left;place-items:initial}
.cv-k{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.82rem;color:var(--on)}
.cv-big{font-family:var(--f-display);font-weight:900;letter-spacing:-.05em;line-height:.85;font-size:clamp(3.4rem,11vw,9rem);color:var(--jaune);-webkit-text-stroke:.025em var(--encre);paint-order:stroke fill;margin-top:auto}
[data-c=jaune] .cv-big,[data-c=ciel] .cv-big{color:var(--encre);-webkit-text-stroke:0}
.cv-s{font-family:var(--f-text);font-weight:500;font-size:clamp(.95rem,1.6vw,1.15rem);line-height:1.3;max-width:26ch;margin-top:12px;color:var(--on)}
.cv-e{position:absolute;right:clamp(14px,2.5vw,26px);top:clamp(14px,2.5vw,26px);width:clamp(44px,6vw,64px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:var(--encre);font-family:var(--f-display);font-weight:900;font-size:clamp(1.6rem,2.6vw,2.3rem);color:var(--jaune);-webkit-text-stroke:.05em var(--violet);paint-order:stroke fill;line-height:1;padding-top:.12em}
.cv-e.big{width:clamp(110px,16vw,180px);font-size:clamp(4rem,8vw,7rem);top:50%;right:8%;transform:translateY(-50%)}
.card .vis.cover .cv-big{font-size:clamp(3rem,7vw,5.2rem)}
.card .vis.cover .cv-s{font-size:.92rem}

/* La une : article en vedette + programme */
.feature{display:grid;gap:clamp(20px,4vw,48px);text-decoration:none;align-items:center}
.feature .vis{aspect-ratio:4/3;border:3px solid var(--encre);box-shadow:10px 10px 0 var(--encre)}
.ftxt{display:grid;gap:16px;min-width:0}
.ftxt h3{margin:0;font-family:var(--f-display);font-weight:900;font-size:clamp(2.1rem,5.4vw,4.4rem);line-height:.92;letter-spacing:-.035em;text-wrap:balance}
.ftxt p{margin:0;font-size:1.12rem;max-width:52ch}
.ftxt .more{justify-self:start}
.feature:hover h3{text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.08em;text-decoration-color:var(--c)}
@media (min-width:900px){.feature{grid-template-columns:1.05fr 1fr}}
.prog4{margin-top:clamp(44px,6vw,72px)}
.prog4>.kicker{margin:0 0 14px;border-top:6px solid var(--encre);padding-top:10px}
.tiles{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.tile{display:grid;gap:10px;align-content:start;text-decoration:none;background:var(--c);color:var(--on);border:3px solid var(--encre);padding:18px 18px 16px;min-height:170px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.tile .kicker{color:var(--on)}
.tile b{font-family:var(--f-display);font-weight:800;font-size:1.35rem;line-height:1.05;letter-spacing:-.015em}
.tile .go{margin-top:auto;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:600}
.tile:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--encre)}

/* Bandes thématiques : une seule règle pour les petites lignes et les numéros */
.band .ch{color:var(--on);opacity:1}
.band .last{display:block;font-family:var(--f-text);text-transform:none;letter-spacing:0;font-weight:500;font-size:1.02rem;max-width:56ch;color:var(--on)}
.band .last span::before{content:none}

/* Teaser podcast */
.pod-intro{display:grid;gap:18px;align-content:start}
.pod-h{margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.92;font-size:clamp(2.6rem,8.5vw,6.4rem);color:var(--jaune);-webkit-text-stroke:.03em var(--rouge);paint-order:stroke fill}
.pod-p{margin:0;font-family:var(--f-text);font-weight:500;font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.4;color:#fff;max-width:36ch}
.pod-photo{position:relative;display:block;border:3px solid var(--encre);box-shadow:10px 10px 0 var(--jaune);overflow:hidden;aspect-ratio:4/3;max-width:560px}
.pod-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;transition:transform .6s var(--ease)}
.pod-photo:hover img{transform:scale(1.04)}
.epn{position:absolute;left:16px;bottom:12px;font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.8;color:var(--jaune);-webkit-text-stroke:.03em var(--encre);paint-order:stroke fill;letter-spacing:-.04em}
.prog .ch{color:var(--jaune)!important}
.prog .type{color:#fff;opacity:.85}
.prog small{color:#fff;opacity:.85;font-size:.95rem}
.antenne .sec-head p{color:#fff;font-size:1.15rem;font-weight:500}

/* À propos : photo de groupe entière */
.group-row{display:grid;gap:28px;align-items:center;margin-bottom:40px}
.group{aspect-ratio:4/5;max-width:560px;margin:0}
.group img{object-position:50% 58%}
.group-txt p{margin:0;font-size:1.2rem;max-width:44ch}
@media (min-width:860px){.group-row{grid-template-columns:minmax(0,560px) 1fr;gap:56px}}
.crew-ph{aspect-ratio:4/5;max-width:560px}
.crew-ph img{object-position:50% 58%}

/* Podcast : photo, affiche vidéo, lecteur */
.audio-card .cover.photo{place-items:stretch}
.audio-card .cover.photo::before{display:none}
.audio-card .cover.photo img{width:100%;height:100%;object-fit:cover;filter:none}
.audio-card .cover .cv-e.big{position:static;transform:none}
.stage16 .bgphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.aplayer{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:var(--encre);color:#fff;padding:14px 18px 14px 14px;border:3px solid var(--encre);box-shadow:6px 6px 0 var(--c,var(--violet));max-width:560px}
.ap-btn{width:58px;height:58px;border-radius:50%;background:var(--jaune);color:var(--encre);border:3px solid var(--jaune);display:grid;place-items:center;font-size:1.3rem;font-weight:900}
.ap-btn:hover{background:#fff}
.ap-mid{display:grid;gap:6px;min-width:0}
.ap-bar{width:100%;accent-color:var(--jaune);height:6px;cursor:pointer}
.ap-t{display:flex;justify-content:space-between;font-family:var(--f-label);letter-spacing:.08em;font-size:.8rem;font-variant-numeric:tabular-nums;opacity:.9}
.aplayer.err .ap-cur{color:var(--corail)}

/* ===== v5 ===== */
/* Écran recalé sur le nouveau détourage */
.tvbox{aspect-ratio:664/907}
.screen{left:14.6%;top:47.4%;width:71.6%;height:37.4%}

/* Têtes de section : le texte d'accompagnement passe sous le titre, en typo de titrage */
.sec-head{display:grid;justify-content:start;align-items:end;gap:14px}
.sec-head p{max-width:34ch;color:var(--encre);font-family:var(--f-display);font-weight:700;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.15;letter-spacing:-.01em}

/* Accroche : style du carrousel Instagram (titrage + surlignage) */
.lede{margin:0;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:-.015em;line-height:1.08;font-size:clamp(1.35rem,2.6vw,2.05rem);color:var(--violet);max-width:24ch}
.lede .hl{background:var(--violet);color:#fff;padding:.02em .18em 0;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lede.on-dark{color:var(--jaune)}
.lede.on-dark .hl{background:var(--jaune);color:var(--violet)}

/* Badge rythme (étoile de la charte) */
.pod-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px}
.rhythm{width:clamp(130px,15vw,170px);aspect-ratio:1;background:var(--corail);color:#fff;display:grid;place-content:center;text-align:center;gap:2px;padding:20px;transform:rotate(-8deg);flex:none}
.rhythm span{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:600}
.rhythm b{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:clamp(.95rem,1.4vw,1.15rem);line-height:.95;color:var(--jaune)}
.antenne .pod-top{margin-bottom:clamp(24px,4vw,44px)}
.pod-intro .pod-top{margin-bottom:0}
.pod-intro .lede{max-width:22ch}

/* Article : colonne principale + colonne latérale collante */
.art{border-bottom:3px solid var(--encre)}
.a-grid{display:grid;gap:36px;padding-block:clamp(28px,5vw,60px) 50px}
.a-main{min-width:0;display:grid;gap:30px;align-content:start}
.a-head2{display:grid;gap:18px}
.a-head2 h1{margin:0;font-family:var(--f-display);font-weight:900;letter-spacing:-.04em;line-height:.9;font-size:clamp(2.4rem,6.4vw,5.4rem);text-wrap:balance}
.a-head2 .chapo{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.25;max-width:42ch}
.a-head2 .chips{display:flex;flex-wrap:wrap;gap:8px}
.a-vis-m .vis,.a-vis-d .vis{aspect-ratio:4/5;border:3px solid var(--encre);box-shadow:10px 10px 0 var(--encre)}
.a-vis-d{display:none}
.prose>p:first-of-type::first-letter{all:unset}
.prose>p:first-of-type{font-size:1.18em;font-weight:500}
@media (min-width:1080px){
  .a-grid{grid-template-columns:minmax(0,68ch) minmax(300px,1fr);gap:clamp(48px,6vw,90px)}
  .a-vis-m{display:none}
  .a-vis-d{display:block}
  .aside{position:sticky;top:84px;align-self:start}
  .a-vis-d .vis{aspect-ratio:1}
}

/* À propos : équipe */
.group-txt{display:grid;gap:22px;align-content:center}
.group-txt .crew-t{margin:0}
.group-txt .crew-names{margin:0}
.crew-in .lede{margin:0 0 18px}
.pod-intro{gap:26px}
.pod-photo{max-width:none;aspect-ratio:4/5}
.pod-photo img{object-position:50% 80%}
@media (min-width:900px){.antenne .cols{grid-template-columns:1.1fr .9fr;align-items:center}}
.antenne .pod-top+.lede{margin-top:-6px}
.pod-top>div{display:grid;gap:14px}
.antenne .cols{display:grid;gap:36px}
.spotify{max-width:620px;border:3px solid var(--encre);box-shadow:6px 6px 0 var(--c,var(--violet));background:#121212;line-height:0}
.spotify iframe{display:block;border:0}
.spotify-link{display:flex;align-items:center;gap:14px;max-width:560px;background:#121212;color:#fff;text-decoration:none;padding:14px 18px 14px 14px;border:3px solid var(--encre);box-shadow:6px 6px 0 var(--c,var(--violet))}
.spotify-link .sp-dot{width:52px;height:52px;border-radius:50%;background:#1ED760;color:#121212;display:grid;place-items:center;font-size:1.2rem;flex:none}
.spotify-link b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.15rem}
.spotify-link small{opacity:.75;font-size:.85rem}
.spotify-link:hover .sp-dot{transform:scale(1.06)}
.pod-name{margin:10px 0 0;font-family:var(--f-display);font-weight:800;font-size:clamp(1.2rem,2.4vw,1.7rem);line-height:1.05;color:#fff;letter-spacing:-.01em}
