/* ============================================================
   KIOSQUE BPW FRANCE
   Charte alignée sur bpw.fr et sur la Welcome Letter :
   rouge #A21A18, anthracite #2C3338, jaune #FFEE7F, Roboto 900/300.
   Toutes les classes sont préfixées .bpwk- pour ne pas entrer en
   conflit avec le thème WordPress.
   ============================================================ */

:root{
  /* Marque */
  --bpwk-red:        #A21A18;
  --bpwk-red-solid:  #A21A18;
  --bpwk-red-deep:   #7E1412;
  --bpwk-red-wash:   #FAEDED;
  --bpwk-yellow:     #FFEE7F;
  --bpwk-yellow-2:   #F3DC55;
  --bpwk-ink:        #2C3338;

  /* Surfaces & texte */
  --bpwk-paper:      #FFFFFF;
  --bpwk-grey:       #F7F8F9;
  --bpwk-line:       #E3E6E8;
  --bpwk-text:       #303030;
  --bpwk-text-2:     #3C434A;
  --bpwk-muted:      #616970;

  /* Rôles */
  --bpwk-band-bg:    #2C3338;
  --bpwk-band-fg:    #FFFFFF;
  --bpwk-btn-bg:     #A21A18;
  --bpwk-btn-fg:     #FFFFFF;
  --bpwk-shadow-hard: var(--bpwk-yellow);

  --bpwk-max: 1180px;
  --bpwk-gut: clamp(1.1rem, 4vw, 3rem);
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bpwk-red:        #F0736E;
    --bpwk-red-solid:  #B62521;
    --bpwk-red-deep:   #A21A18;
    --bpwk-red-wash:   #2E1C1C;
    --bpwk-yellow:     #FFEE7F;
    --bpwk-yellow-2:   #E8CE4A;
    --bpwk-ink:        #10151A;

    --bpwk-paper:      #1B2126;
    --bpwk-grey:       #232B31;
    --bpwk-line:       #38424A;
    --bpwk-text:       #E9EDEF;
    --bpwk-text-2:     #C6CED4;
    --bpwk-muted:      #99A5AD;

    --bpwk-band-bg:    #10151A;
    --bpwk-band-fg:    #FFFFFF;
    --bpwk-btn-bg:     #B62521;
    --bpwk-btn-fg:     #FFFFFF;
  }
}

:root[data-theme="dark"]{
  --bpwk-red:        #F0736E;
  --bpwk-red-solid:  #B62521;
  --bpwk-red-deep:   #A21A18;
  --bpwk-red-wash:   #2E1C1C;
  --bpwk-yellow:     #FFEE7F;
  --bpwk-yellow-2:   #E8CE4A;
  --bpwk-ink:        #10151A;

  --bpwk-paper:      #1B2126;
  --bpwk-grey:       #232B31;
  --bpwk-line:       #38424A;
  --bpwk-text:       #E9EDEF;
  --bpwk-text-2:     #C6CED4;
  --bpwk-muted:      #99A5AD;

  --bpwk-band-bg:    #10151A;
  --bpwk-band-fg:    #FFFFFF;
  --bpwk-btn-bg:     #B62521;
  --bpwk-btn-fg:     #FFFFFF;
}

/* ---------- Socle ---------- */

.bpwk *,.bpwk *::before,.bpwk *::after{ box-sizing:border-box; }

.bpwk{
  background:var(--bpwk-paper);
  color:var(--bpwk-text);
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
}

.bpwk-wrap{
  max-width:var(--bpwk-max);
  margin-inline:auto;
  padding-inline:var(--bpwk-gut);
}

/* Les liens sans classe héritent de la couleur du texte ;
   ceux qui portent une classe gardent la leur (pas de collision de cascade). */
.bpwk a:not([class]){ color:inherit; }
.bpwk [hidden]{ display:none !important; }

.bpwk :focus-visible{
  outline:3px solid var(--bpwk-red);
  outline-offset:2px;
}

.bpwk h1,.bpwk h2,.bpwk h3,.bpwk h4{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.08;
  text-wrap:balance;
  margin:0;
  color:var(--bpwk-text);
}

.bpwk h1 .bpwk-thin,
.bpwk h2 .bpwk-thin,
.bpwk h3 .bpwk-thin{ font-weight:300; }

.bpwk .bpwk-red{ color:var(--bpwk-red); }

/* Ligne manuscrite — l'accent de la Welcome Letter */
.bpwk-script{
  font-family:Caveat,"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  font-weight:600;
  line-height:1.25;
  letter-spacing:0;
}

.bpwk-eyebrow{
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--bpwk-red);
  margin:0;
}

/* ---------- Bandeau anthracite ---------- */

.bpwk-band{
  background:var(--bpwk-band-bg);
  color:var(--bpwk-band-fg);
  border-bottom:5px solid var(--bpwk-red);
  padding:1.05rem 0;
}

.bpwk-band__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.bpwk-band__name{
  font-size:1.375rem;
  font-weight:900;
  letter-spacing:.07em;
}

.bpwk-band__sub{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--bpwk-yellow);
  line-height:1.45;
  text-align:right;
}

/* ---------- Hero ---------- */

.bpwk-hero{ padding-block:clamp(2rem,5vw,3.1rem) clamp(1.4rem,3vw,2rem); }

.bpwk-hero__grid{
  display:grid;
  gap:clamp(1.6rem,4vw,2.6rem);
  grid-template-columns:1fr;
  align-items:start;
}

@media (min-width:52rem){
  .bpwk-hero__grid{ grid-template-columns:190px 1fr; }
}

/* Le carré rouge à ombre jaune pleine */
.bpwk-stamp{
  width:100%;
  max-width:170px;
  min-height:170px;
  background:var(--bpwk-red-solid);
  border:4px solid var(--bpwk-red-solid);
  box-shadow:10px 10px 0 var(--bpwk-yellow);
  color:#FFFFFF;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:1rem .65rem;
  margin-bottom:10px;
}

.bpwk-stamp__l1,.bpwk-stamp__l2{
  font-family:Caveat,"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  font-weight:700;
  line-height:1.04;
  max-width:100%;
  overflow-wrap:normal;
  hyphens:none;
}
.bpwk-stamp__l1{ font-size:clamp(1.3rem,5vw,1.75rem); }
.bpwk-stamp__l2{ font-size:clamp(1.1rem,4.4vw,1.5rem); }
.bpwk-stamp__tag{
  font-size:.625rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--bpwk-yellow);
  margin-top:.8rem;
}

.bpwk-hero h1{
  font-size:clamp(2.1rem,1.2rem + 3.6vw,3.35rem);
  margin-bottom:.6rem;
}

.bpwk-hero__script{
  font-size:clamp(1.25rem,1.05rem + .8vw,1.5rem);
  color:var(--bpwk-text);
  margin:0 0 1.3rem;
  max-width:34ch;
}

.bpwk-hero__lede{
  font-size:1.0625rem;
  line-height:1.72;
  color:var(--bpwk-text-2);
  margin:0;
  max-width:60ch;
}

/* Bandeau rouge de légende, repris de la lettre */
.bpwk-strap{
  background:var(--bpwk-red-solid);
  color:#FFFFFF;
  padding:.7rem 1rem;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  line-height:1.5;
}

/* ---------- Sections ---------- */

.bpwk-section{ padding-block:clamp(2.4rem,6vw,4rem); }
.bpwk-section--grey{ background:var(--bpwk-grey); }
.bpwk-section--line{ border-top:1px solid var(--bpwk-line); }

.bpwk-head{
  display:grid;
  gap:.75rem;
  margin-bottom:clamp(1.5rem,3.5vw,2.4rem);
}

.bpwk-head h2{ font-size:clamp(1.6rem,1.1rem + 2.1vw,2.35rem); max-width:22ch; }
.bpwk-head p{ margin:0; color:var(--bpwk-text-2); max-width:62ch; font-size:1rem; }

/* ---------- Manifeste ---------- */

.bpwk-manifesto{
  display:grid;
  gap:1px;
  grid-template-columns:1fr;
  background:var(--bpwk-line);
  border:1px solid var(--bpwk-line);
}

@media (min-width:48rem){
  .bpwk-manifesto{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

.bpwk-mf{
  background:var(--bpwk-paper);
  padding:1.5rem 1.5rem 1.7rem;
  border-top:5px solid var(--bpwk-red);
}
.bpwk-mf:nth-child(2){ border-top-color:var(--bpwk-yellow); }

.bpwk-mf__mark{
  display:block;
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bpwk-red);
  margin-bottom:.5rem;
}

.bpwk-mf h3{ font-size:1.3rem; margin-bottom:.6rem; }
.bpwk-mf p{ margin:0; color:var(--bpwk-text-2); font-size:.9375rem; line-height:1.65; }

/* ---------- Sommaire / filtres ---------- */

.bpwk-index{
  list-style:none;
  margin:0;
  padding:0;
  border-top:3px solid var(--bpwk-ink);
  border-bottom:3px solid var(--bpwk-ink);
}

.bpwk-index li + li{ border-top:1px solid var(--bpwk-line); }

.bpwk-index button{
  appearance:none;
  border:0;
  background:transparent;
  font:inherit;
  color:inherit;
  cursor:pointer;
  display:grid;
  grid-template-columns:2.9rem 1fr auto;
  align-items:center;
  gap:.7rem;
  width:100%;
  text-align:left;
  padding:.95rem .6rem;
  transition:background .16s ease;
}

.bpwk-index button:hover{ background:var(--bpwk-red-wash); }

.bpwk-index button[aria-pressed="true"]{
  background:var(--bpwk-red-solid);
  color:#FFFFFF;
}

.bpwk-index__n{
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.1em;
  color:var(--bpwk-red);
  font-variant-numeric:tabular-nums;
}
.bpwk-index button[aria-pressed="true"] .bpwk-index__n{ color:var(--bpwk-yellow); }

.bpwk-index__name{
  font-size:clamp(1rem,.9rem + .45vw,1.25rem);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.2;
}

.bpwk-index__count{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--bpwk-muted);
  white-space:nowrap;
}
.bpwk-index button[aria-pressed="true"] .bpwk-index__count{ color:#FFFFFF; }

.bpwk-filterbar{
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-wrap:wrap;
  margin:0 0 1.4rem;
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--bpwk-muted);
}

.bpwk-filterbar strong{ color:var(--bpwk-red); }

.bpwk-clear{
  appearance:none;
  border:0;
  background:var(--bpwk-ink);
  color:#FFFFFF;
  font:inherit;
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  padding:.4rem .7rem;
  cursor:pointer;
}
.bpwk-clear:hover{ background:var(--bpwk-red-solid); }

/* ---------- Cartes webinaires ---------- */

.bpwk-wall{
  display:grid;
  gap:clamp(1rem,2vw,1.5rem);
  grid-template-columns:1fr;
}

@media (min-width:44rem){
  .bpwk-wall{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:70rem){
  .bpwk-wall--lead > .bpwk-cover:first-child{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    grid-template-areas:"plate plate" "body foot";
    column-gap:clamp(1.6rem,3.5vw,3rem);
    align-items:start;
  }
  .bpwk-wall--lead > .bpwk-cover:first-child .bpwk-cover__plate{ grid-area:plate; }
  .bpwk-wall--lead > .bpwk-cover:first-child .bpwk-cover__body{ grid-area:body; }
  .bpwk-wall--lead > .bpwk-cover:first-child .bpwk-cover__foot{
    grid-area:foot;
    margin-top:0;
    padding:.2rem 0 .2rem 1.5rem;
    border-left:4px solid var(--bpwk-yellow);
    flex-direction:column;
    align-items:flex-start;
    gap:1.4rem;
  }
  .bpwk-wall--lead > .bpwk-cover:first-child .bpwk-cover__meta{ flex-direction:column; gap:1rem; }
}

.bpwk-cover{
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--bpwk-paper);
  border:1px solid var(--bpwk-line);
  border-top:5px solid var(--bpwk-red);
  padding:1.5rem 1.4rem 1.3rem;
  transition:box-shadow .2s ease, transform .2s ease;
}

.bpwk-section--grey .bpwk-cover{ background:var(--bpwk-paper); }

.bpwk-cover:hover{
  transform:translateY(-3px);
  box-shadow:9px 9px 0 var(--bpwk-yellow);
}

.bpwk-cover[data-state="soon"],
.bpwk-cover[data-state="replay"]{ border-top-color:var(--bpwk-yellow); }
.bpwk-cover[data-state="past"]{ border-top-color:var(--bpwk-muted); }

.bpwk-cover__plate{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.1rem;
}

/* Le carré rouge à ombre jaune, en petit */
.bpwk-cover__num{
  flex:none;
  width:52px; height:52px;
  background:var(--bpwk-red-solid);
  color:#FFFFFF;
  box-shadow:7px 7px 0 var(--bpwk-yellow);
  display:grid;
  place-items:center;
  font-family:Caveat,cursive;
  font-weight:700;
  font-size:1.6rem;
  line-height:1;
}

.bpwk-cover[data-state="soon"] .bpwk-cover__num,
.bpwk-cover[data-state="replay"] .bpwk-cover__num{
  background:var(--bpwk-ink);
  box-shadow:7px 7px 0 var(--bpwk-yellow);
}

.bpwk-cover[data-state="past"] .bpwk-cover__num{
  background:var(--bpwk-muted);
  box-shadow:7px 7px 0 var(--bpwk-line);
}

.bpwk-cover__flags{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.4rem;
  text-align:right;
}

.bpwk-cover__issue{
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bpwk-muted);
}

.bpwk-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.28rem .6rem;
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

.bpwk-chip--live{ background:var(--bpwk-red-solid); color:#FFFFFF; }
.bpwk-chip--replay{ background:var(--bpwk-yellow); color:#2C3338; }
.bpwk-chip--soon{ border:2px dashed var(--bpwk-yellow-2); color:var(--bpwk-red); }
.bpwk-chip--past{ border:1px solid var(--bpwk-line); color:var(--bpwk-muted); }

.bpwk-chip__dot{
  width:.4rem; height:.4rem; border-radius:50%;
  background:currentColor;
}

.bpwk-cover__body{ display:flex; flex-direction:column; gap:.55rem; }

.bpwk-cover__kicker{
  margin:0;
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--bpwk-red);
}

.bpwk-cover__title{
  font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);
  line-height:1.14;
}

.bpwk-wall--lead > .bpwk-cover:first-child .bpwk-cover__title{
  font-size:clamp(1.5rem,1.1rem + 1.7vw,2.35rem);
}

.bpwk-cover__guest{
  margin:0;
  font-family:Caveat,cursive;
  font-weight:600;
  font-size:1.2rem;
  line-height:1.25;
  color:var(--bpwk-text);
}

.bpwk-wall--lead > .bpwk-cover:first-child .bpwk-cover__guest{ font-size:1.5rem; }

.bpwk-cover__blurb{
  margin:.2rem 0 0;
  font-size:.9375rem;
  line-height:1.65;
  color:var(--bpwk-text-2);
}

.bpwk-cover__foot{
  margin-top:auto;
  padding-top:1.2rem;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.bpwk-cover__meta{
  margin:0;
  display:flex;
  gap:1.4rem;
}

.bpwk-cover__meta div{ margin:0; }

.bpwk-cover__meta dt{
  margin:0 0 .15rem;
  font-size:.5625rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bpwk-muted);
}

.bpwk-cover__meta dd{
  margin:0;
  font-size:.9375rem;
  font-weight:700;
  color:var(--bpwk-text);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* ---------- Boutons ---------- */

.bpwk-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.7rem 1.1rem;
  background:var(--bpwk-btn-bg);
  color:var(--bpwk-btn-fg);
  border:2px solid var(--bpwk-btn-bg);
  text-decoration:none;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  line-height:1;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}

.bpwk-btn:hover{ background:var(--bpwk-ink); border-color:var(--bpwk-ink); color:#FFFFFF; transform:translateY(-1px); }

.bpwk-btn--big{ padding:1rem 1.6rem; font-size:.9375rem; }

.bpwk-btn--mute{
  background:transparent;
  color:var(--bpwk-muted);
  border-color:var(--bpwk-line);
  cursor:default;
}
.bpwk-btn--mute:hover{ background:transparent; color:var(--bpwk-muted); border-color:var(--bpwk-line); transform:none; }

/* ---------- État vide ---------- */

.bpwk-empty{
  border:2px dashed var(--bpwk-line);
  padding:2rem 1.3rem;
  text-align:center;
  color:var(--bpwk-text-2);
  font-size:.9375rem;
  margin:0;
}

/* ---------- Voix ---------- */

.bpwk-voices{
  display:grid;
  gap:clamp(1.4rem,3vw,2.2rem);
  grid-template-columns:1fr;
}

@media (min-width:46rem){
  .bpwk-voices{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

.bpwk-voice{ display:flex; flex-direction:column; gap:.5rem; }

.bpwk-voice__face{
  position:relative;
  width:100px; height:100px;
  border-radius:50%;
  background:var(--bpwk-red-solid);
  border:4px solid var(--bpwk-red-solid);
  color:#FFFFFF;
  display:grid;
  place-items:center;
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:.02em;
  overflow:hidden;
  margin-bottom:.6rem;
  flex:none;
}

.bpwk-voice:nth-child(2) .bpwk-voice__face{
  border-color:var(--bpwk-yellow);
  background:var(--bpwk-ink);
}

.bpwk-voice__face img{
  position:absolute;
  inset:0;
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}

.bpwk-voice h3{ font-size:1.2rem; }

.bpwk-voice__role{
  margin:0;
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--bpwk-red);
}

.bpwk-voice__bio{
  margin:.15rem 0 0;
  font-size:.9375rem;
  line-height:1.65;
  color:var(--bpwk-text-2);
}

/* ---------- Communauté ---------- */

.bpwk-community{
  margin-top:clamp(1.8rem,4vw,2.8rem);
  border:3px solid var(--bpwk-ink);
  padding:clamp(1.3rem,3vw,2rem);
  display:grid;
  gap:1.3rem;
}

@media (min-width:52rem){
  .bpwk-community{ grid-template-columns:1fr 1fr; gap:clamp(1.6rem,4vw,2.6rem); align-items:center; }
}

.bpwk-community h3{ font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem); margin-bottom:.6rem; }
.bpwk-community p{ margin:0; color:var(--bpwk-text-2); font-size:.9375rem; line-height:1.65; }

.bpwk-tags{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:.4rem;
}

.bpwk-tags li{
  font-size:.75rem;
  font-weight:700;
  padding:.32rem .65rem;
  background:var(--bpwk-grey);
  border-left:3px solid var(--bpwk-red);
  color:var(--bpwk-text-2);
}

.bpwk-section--grey .bpwk-tags li{ background:var(--bpwk-paper); }

/* ---------- Proposer un sujet ---------- */

.bpwk-pitch{
  display:grid;
  gap:clamp(1.5rem,3.5vw,2.6rem);
  grid-template-columns:1fr;
  align-items:start;
}

@media (min-width:52rem){
  .bpwk-pitch{ grid-template-columns:1fr 1fr; }
}

.bpwk-steps{
  list-style:none; margin:0 0 1.6rem; padding:0;
  counter-reset:st;
  display:grid; gap:1rem;
}

.bpwk-steps li{
  counter-increment:st;
  display:grid;
  grid-template-columns:2.6rem 1fr;
  gap:.7rem;
  align-items:start;
  font-size:.9375rem;
  line-height:1.6;
  color:var(--bpwk-text-2);
}

.bpwk-steps li::before{
  content:counter(st,decimal-leading-zero) " ·";
  font-size:.6875rem;
  font-weight:900;
  letter-spacing:.1em;
  color:var(--bpwk-red);
  padding-top:.3rem;
  font-variant-numeric:tabular-nums;
}

.bpwk-steps strong{ color:var(--bpwk-text); font-weight:900; }

.bpwk-contacts{
  list-style:none; margin:0; padding:0;
  border-top:3px solid var(--bpwk-ink);
}

.bpwk-contacts li{ border-bottom:1px solid var(--bpwk-line); }

.bpwk-contacts a{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem .5rem;
  text-decoration:none;
  transition:background .16s ease, padding-left .16s ease;
}

.bpwk-contacts a:hover{ background:var(--bpwk-red-wash); padding-left:.9rem; }

.bpwk-contacts__label{
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bpwk-red);
}

.bpwk-contacts__value{
  font-size:1rem;
  font-weight:700;
  text-align:right;
  color:var(--bpwk-text);
}

.bpwk-pitch__aside{ display:grid; gap:1.2rem; justify-items:start; }

.bpwk-pitch__script{
  font-size:1.3rem;
  color:var(--bpwk-text);
  margin:0;
  max-width:30ch;
}

/* ---------- Pied ---------- */

.bpwk-foot{
  background:var(--bpwk-band-bg);
  color:#C9CED2;
  padding-block:clamp(1.6rem,4vw,2.4rem);
  font-size:.8125rem;
  line-height:1.75;
}

.bpwk-foot__inner{ display:grid; gap:.7rem; }

.bpwk-foot a{ color:var(--bpwk-yellow); text-decoration:none; }
.bpwk-foot a:hover{ text-decoration:underline; }

.bpwk-foot__sync{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bpwk-yellow);
  margin:0;
}

.bpwk-foot__dot{
  width:.45rem; height:.45rem; border-radius:50%;
  background:var(--bpwk-yellow);
}

.bpwk-foot p{ margin:0; }
.bpwk-foot strong{ color:#FFFFFF; }

/* ---------- Entrée ---------- */

@media (prefers-reduced-motion:no-preference){
  .bpwk-rise{
    opacity:0;
    transform:translateY(12px);
    animation:bpwk-rise .55s cubic-bezier(.2,.7,.3,1) forwards;
  }
  @keyframes bpwk-rise{ to{ opacity:1; transform:none; } }
}

@media (prefers-reduced-motion:reduce){
  .bpwk-cover{ transition:none; }
  .bpwk-cover:hover{ transform:none; }
}


/* ============================================================
   AJOUTS v3 — photos, ancre verticale, appels à l'action
   ============================================================ */

/* ---------- Ancre verticale permanente ---------- */

.bpwk-rail{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  z-index:60;
  display:flex;
  flex-direction:column;
  gap:.1rem;
  padding:.7rem .6rem;
  background:var(--bpwk-band-bg);
  border-left:4px solid var(--bpwk-red-solid);
  right:.5rem;
  max-width:44px;
  overflow:hidden;
}

.bpwk-rail__item{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.35rem .2rem;
  text-decoration:none;
  color:#C9CED2;
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  line-height:1.2;
  transition:color .16s ease;
}

.bpwk-rail__dot{
  flex:none;
  width:9px; height:9px;
  background:#6B7278;
  transition:background .16s ease, transform .16s ease;
}

.bpwk-rail__label{ display:none; }

.bpwk-rail__item:hover{ color:#FFFFFF; }
.bpwk-rail__item:hover .bpwk-rail__dot{ background:var(--bpwk-yellow); }

.bpwk-rail__item[aria-current="true"]{ color:var(--bpwk-yellow); }
.bpwk-rail__item[aria-current="true"] .bpwk-rail__dot{
  background:var(--bpwk-yellow);
  transform:scale(1.45);
}

@media (min-width:86rem){
  .bpwk-rail{
    right:auto;
    left:.75rem;
    max-width:none;
    padding:1rem .9rem;
  }
  .bpwk-rail__label{ display:inline; }
}

/* Sur petit écran, l'ancre se réduit à une colonne de pastilles :
   on réserve la place à droite pour qu'elle ne recouvre jamais le texte. */
@media (max-width:52rem){
  .bpwk-rail{
    padding:.5rem .4rem;
    right:.35rem;
    max-width:30px;
    border-left-width:3px;
  }
  .bpwk-rail__dot{ width:8px; height:8px; }
  .bpwk-wrap{ padding-right:calc(var(--bpwk-gut) + 30px); }
}

@media print{ .bpwk-rail{ display:none; } }

/* Les ancres ne doivent pas passer sous l'en-tête du site */
.bpwk-anchor{ scroll-margin-top:110px; }

/* ---------- Photos ---------- */

.bpwk-figure{ margin:0; }

.bpwk-figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border:0;
}

.bpwk-figure--band{
  margin-top:clamp(1.6rem,4vw,2.4rem);
}

.bpwk-figure--band img{
  aspect-ratio:16/6;
  min-height:190px;
}

.bpwk-figure figcaption{
  background:var(--bpwk-red-solid);
  color:#FFFFFF;
  padding:.7rem 1rem;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  line-height:1.5;
}

/* Deux photos dans le manifeste */
.bpwk-duo{
  display:grid;
  gap:clamp(1rem,2vw,1.4rem);
  grid-template-columns:1fr;
  margin-top:clamp(1.4rem,3vw,2rem);
}

@media (min-width:48rem){
  .bpwk-duo{ grid-template-columns:1fr 1fr; }
}

.bpwk-duo img{ aspect-ratio:4/3; }

/* Photo + texte côte à côte */
.bpwk-split{
  display:grid;
  gap:clamp(1.3rem,3vw,2.4rem);
  grid-template-columns:1fr;
  align-items:center;
}

@media (min-width:52rem){
  .bpwk-split{ grid-template-columns:1fr 1fr; }
  .bpwk-split--reverse > .bpwk-figure{ order:2; }
}

.bpwk-split img{ aspect-ratio:4/3; }

.bpwk-split__body > * + *{ margin-top:1rem; }

/* ---------- Liens vers le reste du site ---------- */

.bpwk-index li{
  display:grid;
  grid-template-columns:1fr;
}

@media (min-width:44rem){
  .bpwk-index li{ grid-template-columns:1fr auto; align-items:center; }
}

.bpwk-index__link{
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--bpwk-red);
  text-decoration:none;
  padding:.5rem .9rem .95rem;
  white-space:nowrap;
}

@media (min-width:44rem){
  .bpwk-index__link{ padding:.5rem .9rem; }
}

.bpwk-index__link:hover{ text-decoration:underline; }

.bpwk-links{
  list-style:none;
  margin:clamp(1.4rem,3vw,2rem) 0 0;
  padding:0;
  display:grid;
  gap:1px;
  background:var(--bpwk-line);
  border:1px solid var(--bpwk-line);
  grid-template-columns:1fr;
}

@media (min-width:44rem){ .bpwk-links{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:70rem){ .bpwk-links{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

.bpwk-links a{
  display:block;
  height:100%;
  background:var(--bpwk-paper);
  padding:1rem 1.1rem;
  text-decoration:none;
  transition:background .16s ease;
}

.bpwk-links a:hover{ background:var(--bpwk-red-wash); }

.bpwk-links__title{
  display:block;
  font-weight:900;
  font-size:1rem;
  letter-spacing:-.01em;
  color:var(--bpwk-text);
}

.bpwk-links__title::after{ content:" →"; color:var(--bpwk-red); }

.bpwk-links__desc{
  display:block;
  font-size:.8125rem;
  line-height:1.55;
  color:var(--bpwk-text-2);
  margin-top:.2rem;
}

/* ---------- Appels à l'action ---------- */

.bpwk-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.5rem;
}

.bpwk-btn--ghost{
  background:transparent;
  color:var(--bpwk-text);
  border-color:var(--bpwk-ink);
}
.bpwk-btn--ghost:hover{ background:var(--bpwk-ink); border-color:var(--bpwk-ink); color:#FFFFFF; }

.bpwk-relay{
  margin-top:clamp(1.4rem,3vw,2rem);
  border:3px solid var(--bpwk-ink);
  padding:1.2rem 1.3rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  flex-wrap:wrap;
}

.bpwk-relay p{
  margin:0;
  font-size:1.05rem;
  font-weight:700;
  color:var(--bpwk-text);
  max-width:52ch;
}

.bpwk-relay .bpwk-script{ font-weight:600; font-size:1.3rem; }

/* Bandeau final */
.bpwk-final{
  background:var(--bpwk-band-bg);
  color:#FFFFFF;
  padding-block:clamp(2.4rem,6vw,4rem);
  border-top:5px solid var(--bpwk-red-solid);
}

.bpwk-final h2{ color:#FFFFFF; font-size:clamp(1.6rem,1.1rem + 2.1vw,2.35rem); max-width:20ch; }
.bpwk-final .bpwk-eyebrow{ color:var(--bpwk-yellow); }
.bpwk-final .bpwk-script{ color:var(--bpwk-yellow); font-size:1.35rem; margin:.9rem 0 0; }

.bpwk-final__grid{
  display:grid;
  gap:clamp(1.4rem,3vw,2.4rem);
  grid-template-columns:1fr;
  align-items:start;
}

@media (min-width:56rem){
  .bpwk-final__grid{ grid-template-columns:1fr 1.15fr; }
}

.bpwk-final__cards{
  display:grid;
  gap:1px;
  background:#414A51;
  border:1px solid #414A51;
  grid-template-columns:1fr;
}

@media (min-width:34rem){ .bpwk-final__cards{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

.bpwk-final__card{
  background:var(--bpwk-band-bg);
  padding:1.2rem 1.1rem 1.3rem;
  text-decoration:none;
  display:block;
  border-top:5px solid var(--bpwk-red-solid);
  transition:background .16s ease;
}
.bpwk-final__card:nth-child(2){ border-top-color:var(--bpwk-yellow); }
.bpwk-final__card:hover{ background:#1F262B; }

.bpwk-final__n{
  display:block;
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bpwk-yellow);
  margin-bottom:.5rem;
}

.bpwk-final__t{
  display:block;
  font-size:1.15rem;
  font-weight:900;
  color:#FFFFFF;
  letter-spacing:-.02em;
  line-height:1.15;
}
.bpwk-final__t::after{ content:" →"; }

.bpwk-final__d{
  display:block;
  font-size:.8125rem;
  line-height:1.55;
  color:#C9CED2;
  margin-top:.45rem;
}

/* ---------- Bureau fédéral ---------- */

.bpwk-bureau{
  display:grid;
  gap:clamp(1rem,2.4vw,1.8rem);
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:clamp(1.4rem,3vw,2rem);
}

@media (min-width:52rem){
  .bpwk-bureau{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

.bpwk-member{ text-align:center; }

.bpwk-member__face{
  display:block;
  width:110px; height:110px;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto .7rem;
  border:4px solid var(--bpwk-red-solid);
  background:var(--bpwk-grey);
}
.bpwk-member:nth-child(even) .bpwk-member__face{ border-color:var(--bpwk-yellow); }

.bpwk-member__face img{ width:100%; height:100%; object-fit:cover; display:block; }

.bpwk-member__name{
  display:block;
  font-weight:900;
  font-size:.9375rem;
  line-height:1.25;
  color:var(--bpwk-text);
  letter-spacing:-.01em;
}

.bpwk-member__role{
  display:block;
  font-size:.6875rem;
  font-weight:700;
  line-height:1.45;
  color:var(--bpwk-text-2);
  margin-top:.3rem;
}

/* Communauté avec photo */
.bpwk-community--photo{ padding:0; gap:0; }
.bpwk-community--photo > .bpwk-figure{ height:100%; }
.bpwk-community--photo > .bpwk-figure img{ aspect-ratio:4/3; height:100%; }
.bpwk-community__body{ padding:clamp(1.3rem,3vw,2rem); }
.bpwk-community__body > * + *{ margin-top:1rem; }

@media (min-width:52rem){
  .bpwk-community--photo{ grid-template-columns:.85fr 1.15fr; align-items:stretch; }
  .bpwk-community--photo > .bpwk-figure img{ aspect-ratio:auto; }
}

/* Photo dans la colonne "proposer un sujet" */
.bpwk-pitch__aside > .bpwk-figure{ width:100%; }
.bpwk-pitch__aside > .bpwk-figure img{ aspect-ratio:4/3; }
