/* =========================================================================
   Hero d'accueil — générique colonne fine (format maquette) + son
   ========================================================================= */

/* --- Intro : logo centré sur fond noir --- */
.jlp-intro{position:absolute; inset:0; z-index:6; background:#000; display:flex; align-items:center; justify-content:center; opacity:1; transition:opacity 1.1s ease}
.jlp-intro.hide{opacity:0}
.jlp-intro.gone{display:none}
.jlp-intro img{width:min(440px,64vw); height:auto; opacity:0; animation:jlpIntroLogo 2.6s ease forwards}
@keyframes jlpIntroLogo{0%{opacity:0;transform:scale(1.05)}34%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1)}100%{opacity:.92;transform:scale(1)}}

/* --- Générique : colonne centrée, fine, séparateurs, défilement très lent --- */
.jlp-credits-roll{position:absolute; inset:0; z-index:2; overflow:hidden; pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 20%, #000 78%, transparent 98%);
          mask-image:linear-gradient(to bottom, transparent 0%, #000 20%, #000 78%, transparent 98%);
  transform-origin:center center; will-change:transform,opacity;
  animation:jlpBreathe 16s ease-in-out infinite;
}
@keyframes jlpBreathe{0%{transform:scale(1);opacity:.94}50%{transform:scale(1.018);opacity:1}100%{transform:scale(1);opacity:.94}}
.jlp-credits-track{position:absolute; left:0; right:0; top:0; will-change:transform;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:52vh clamp(20px,6vw,60px)}
.cr-line{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:400; color:#EFEAE0;
  font-size:clamp(16px,1.9vw,22px); line-height:1.55; letter-spacing:.07em;
  margin:clamp(3px,.7vh,7px) 0; text-shadow:0 1px 18px rgba(0,0,0,.65); max-width:820px}
.cr-title{font-weight:500; font-size:clamp(22px,2.6vw,31px); letter-spacing:.22em; color:#FFFFFF; text-transform:uppercase}
.cr-name{font-weight:400; font-size:clamp(15px,1.7vw,19px); letter-spacing:.24em; color:#E6E0D4; text-transform:uppercase}
.cr-sep{font-style:normal; font-weight:300; color:rgba(240,234,224,.55); font-size:clamp(14px,1.5vw,18px);
  margin:clamp(10px,1.6vh,18px) 0; letter-spacing:0}

/* --- Boutons : bas du hero, discrets --- */
.jlp-hero-btns{position:absolute; left:50%; bottom:clamp(52px,10vh,100px); transform:translateX(-50%); z-index:3;
  display:flex; justify-content:center; gap:0; flex-wrap:wrap; opacity:0; transition:opacity 1.4s ease}
.jlp-hero-btns.in{opacity:1}

/* --- Bouton son (coin bas droit), sobre --- */
.jlp-sound{position:absolute; right:clamp(16px,3vw,36px); bottom:clamp(16px,3vh,30px); z-index:4;
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.45);
  background:rgba(0,0,0,.35); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:15px; line-height:1; transition:background .25s ease, border-color .25s ease; backdrop-filter:blur(4px)}
.jlp-sound:hover{background:rgba(0,0,0,.55); border-color:rgba(255,255,255,.8)}

@media (prefers-reduced-motion:reduce){
  .jlp-intro img{animation:none; opacity:1}
  .jlp-hero-btns{opacity:1; transition:none}
  .jlp-credits-roll{animation:none}
}

/* =========================================================================
   Galerie Avis — grille en cartes, ratio homogène, sans recadrage (contain)
   ========================================================================= */
.jlp-avis-gallery{max-width:1200px; margin:0 auto; padding:clamp(40px,7vw,90px) clamp(16px,4%,40px) clamp(60px,9vw,110px);
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2vw,30px)}
.jlp-avis-gallery figure{margin:0; background:#0f0e0c; border:1px solid rgba(160,120,60,0.16); border-radius:10px; overflow:hidden;
  aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,0.3);
  transition:transform .35s ease, box-shadow .35s ease}
.jlp-avis-gallery figure:hover{transform:translateY(-5px); box-shadow:0 22px 48px rgba(0,0,0,0.5)}
.jlp-avis-gallery img{width:100%; height:100%; object-fit:contain; display:block}
@media(max-width:900px){.jlp-avis-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.jlp-avis-gallery{grid-template-columns:1fr}}

/* --- Rangées éditoriales (maquette) : texte | vidéo | texte --- */
.jlp-row{max-width:1440px; margin:0 auto; display:grid; gap:clamp(28px,4vw,64px); align-items:center}
.jlp-row-3{grid-template-columns:minmax(200px,1fr) minmax(280px,1.55fr) minmax(200px,1fr)}
.jlp-row-2{grid-template-columns:minmax(200px,1fr) minmax(280px,2.4fr)}
@media(max-width:980px){
  .jlp-row-3,.jlp-row-2{grid-template-columns:1fr}
  .jlp-row-3 > div, .jlp-row-2 > div{text-align:center !important; align-items:center !important}
}

/* =========================================================================
   Portfolio éditorial — cartes entretiens / décryptages (image alternée)
   ========================================================================= */
.jlp-pf-head{max-width:860px; margin:0 auto; text-align:center}
.jlp-pf-kicker{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:5px; text-transform:uppercase; color:rgba(201,168,108,0.78); margin:0 0 18px}
.jlp-pf-title{font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(30px,4.6vw,54px); letter-spacing:.10em; text-transform:uppercase; color:#F5EDD8; line-height:1.08; margin:0 0 22px}
.jlp-pf-sub{font-family:'Source Serif 4',Georgia,serif; font-size:clamp(15px,1.8vw,19px); line-height:1.7; color:rgba(226,216,196,0.72); margin:0 auto; max-width:640px}

.jlp-pf-subhead{max-width:1100px; margin:0 auto; display:flex; align-items:center; gap:clamp(14px,2vw,26px)}
.jlp-pf-subhead::before,.jlp-pf-subhead::after{content:''; flex:1; height:1px; background:linear-gradient(to right,transparent,rgba(160,120,60,0.28),transparent)}
.jlp-pf-subhead h3{font-family:'Playfair Display',serif; font-weight:600; font-size:clamp(18px,2.4vw,26px); letter-spacing:.20em; text-transform:uppercase; color:#EDE5D8; margin:0; white-space:nowrap}

.jlp-pf-card{max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); align-items:center}
.jlp-pf-card .jlp-pf-text{order:1; min-width:0}
.jlp-pf-card .jlp-pf-media{order:2; min-width:0}
.jlp-pf-card.jlp-rev .jlp-pf-text{order:2}
.jlp-pf-card.jlp-rev .jlp-pf-media{order:1}
.jlp-pf-media{display:flex; justify-content:center; align-items:center}
.jlp-pf-media .wrap{position:relative; display:inline-block}
.jlp-pf-media img{width:100%; display:block; box-shadow:0 24px 60px rgba(0,0,0,0.55),0 4px 16px rgba(0,0,0,0.35); transition:transform .5s ease}
.jlp-pf-card:hover .jlp-pf-media img{transform:translateY(-4px)}
.jlp-pf-media .grad{position:absolute; inset:0; background:linear-gradient(to top,rgba(12,12,10,0.32) 0%,transparent 60%)}
.jlp-pf-kick{font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:4px; text-transform:uppercase; color:#A07845; margin:0 0 18px; opacity:.9}
.jlp-pf-h{font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(22px,3vw,36px); line-height:1.2; color:#E6DAC6; letter-spacing:-.4px; margin:0 0 14px}
.jlp-pf-meta{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:1.5px; color:rgba(180,155,120,0.7); margin:0 0 14px}
.jlp-pf-desc{font-family:'Source Sans 3',sans-serif; font-size:16px; line-height:1.75; color:rgba(196,182,158,0.68); margin:0 0 32px; max-width:480px}
.jlp-pf-btn{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:#C9A86C; border:1px solid rgba(160,120,60,0.35); padding:12px 26px; display:inline-block; transition:background .3s ease,border-color .3s ease}
.jlp-pf-card:hover .jlp-pf-btn{background:rgba(160,120,60,0.08); border-color:rgba(201,168,108,0.55)}

@media(max-width:900px){
  .jlp-pf-card{grid-template-columns:1fr; gap:30px}
  .jlp-pf-card .jlp-pf-media,.jlp-pf-card.jlp-rev .jlp-pf-media{order:-1}
  .jlp-pf-card .jlp-pf-text,.jlp-pf-card.jlp-rev .jlp-pf-text{order:2; text-align:center}
  .jlp-pf-desc{margin-left:auto; margin-right:auto}
  .jlp-pf-subhead h3{white-space:normal}
}

/* =========================================================================
   Collaborer — deux colonnes (médias / entreprises)
   ========================================================================= */
.jlp-collab-2{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px)}
.jlp-collab-col{background:linear-gradient(180deg,rgba(20,17,14,0.55),rgba(12,11,9,0.55)); border:1px solid rgba(160,120,60,0.16); border-radius:12px; padding:clamp(30px,3.4vw,48px); display:flex; flex-direction:column}
.jlp-collab-col h3{font-family:'Playfair Display',serif; font-weight:600; font-size:clamp(19px,2.2vw,26px); letter-spacing:.04em; color:#F0E7D4; margin:0 0 6px}
.jlp-collab-col .lead{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:rgba(201,168,108,0.75); margin:0 0 24px}
.jlp-collab-col ul{list-style:none; margin:0 0 34px; padding:0; flex:1}
.jlp-collab-col li{font-family:'Source Serif 4',Georgia,serif; font-size:clamp(15px,1.6vw,17px); color:rgba(226,216,196,0.82); padding:11px 0 11px 22px; position:relative; border-bottom:1px solid rgba(160,120,60,0.08)}
.jlp-collab-col li:last-child{border-bottom:none}
.jlp-collab-col li::before{content:''; position:absolute; left:0; top:calc(50% - 3px); width:6px; height:6px; border:1px solid rgba(201,168,108,0.7); transform:rotate(45deg)}
.jlp-collab-btn{align-self:flex-start; background:transparent; border:1px solid rgba(255,255,255,0.55); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:14px 34px; cursor:pointer; text-decoration:none; display:inline-block; transition:background .25s ease,color .25s ease,border-color .25s ease}
.jlp-collab-btn:hover{background:#fff; color:#000; border-color:#fff}

@media(max-width:820px){
  .jlp-collab-2{grid-template-columns:1fr; gap:22px}
  .jlp-collab-btn{align-self:stretch; text-align:center}
}

/* Éditorial Entreprise — carte vedette deux colonnes (portrait plein pied) */
.jlp-ve-card{ display:grid; grid-template-columns:minmax(260px,400px) 1fr; align-items:stretch; }
.jlp-ve-media{ background:#08090A; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.jlp-ve-media img{ width:100%; height:auto; display:block; transition:transform .6s ease; }
.jlp-ve-card:hover .jlp-ve-media img{ transform:scale(1.03); }
.jlp-ve-text{ padding:clamp(32px,4%,60px); display:flex; flex-direction:column; justify-content:center; }
@media(max-width:820px){
  .jlp-ve-card{ grid-template-columns:1fr; }
  .jlp-ve-media img{ width:auto; max-width:100%; max-height:80vh; margin:0 auto; }
}

/* =========================================================================
   Avis — lightbox (agrandissement au clic). N'affecte que la galerie d'avis.
   ========================================================================= */
.jlp-avis-gallery img{cursor:zoom-in}
body.jlp-lb-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.jlp-lb-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(6,6,8,0.88);padding:5vh 5vw;opacity:0;transition:opacity .22s ease}
.jlp-lb-overlay.open{display:flex;opacity:1}
.jlp-lb-img{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;
  border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,0.6);background:#0f0e0c}
.jlp-lb-close{position:fixed;top:max(14px,2vh);right:max(14px,2vw);width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1;
  color:#F3EAD6;background:rgba(20,18,14,0.72);border:1px solid rgba(201,168,108,0.4);
  border-radius:50%;cursor:pointer;transition:background .2s ease,border-color .2s ease;
  -webkit-tap-highlight-color:transparent}
.jlp-lb-close:hover{background:rgba(40,34,24,0.9);border-color:rgba(201,168,108,0.7)}
.jlp-lb-close:focus-visible{outline:2px solid #C9A86C;outline-offset:3px}
@media(max-width:560px){
  .jlp-lb-overlay{padding:0}
  .jlp-lb-img{max-width:100vw;max-height:100vh;border-radius:0}
  .jlp-lb-close{width:48px;height:48px;font-size:30px;top:12px;right:12px}
}

/* Bloc vedette — l'image occupe pleinement sa colonne (~46 % du bloc)
   au lieu d'être bornée à 360 px, qui produisait un effet de vignette. */
.jlp-pf-card.jlp-pf-vedette{grid-template-columns:1fr minmax(0,46%); align-items:center}
.jlp-pf-vedette .jlp-pf-media .wrap{display:block; width:100%}
.jlp-pf-vedette .jlp-pf-media img{width:100%; height:auto; max-width:none}
@media(max-width:900px){
  .jlp-pf-card.jlp-pf-vedette{grid-template-columns:1fr}
  .jlp-pf-vedette .jlp-pf-media .wrap{max-width:440px; margin:0 auto}
}

/* =========================================================================
   Carte « À l'affiche » dont l'image porte déjà le titre.
   L'image est l'élément dominant : ~62 % de la largeur, le texte reste
   secondaire. Aucun second titre visible, aucun recadrage.
   ========================================================================= */
.jlp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.jlp-affiche-sec{padding-left:0 !important; padding-right:0 !important}

.jlp-pf-card.jlp-pf-affiche{
  width:min(1160px, calc(100% - 48px));
  max-width:none;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,0.34fr) minmax(0,0.66fr);
  align-items:center;
  gap:clamp(32px,4vw,64px)}

.jlp-affiche-frame{
  display:block; width:100%; max-width:none; margin:0;
  padding:10px;
  border:1px solid rgba(201,160,82,0.42);
  background:rgba(8,14,26,0.72);
  border-radius:4px;
  box-shadow:0 20px 50px rgba(0,0,0,0.22);
  transition:border-color .35s ease, box-shadow .35s ease}

.jlp-affiche-img{
  display:block; width:100%; height:auto; max-width:none;
  aspect-ratio:16 / 9; object-fit:contain;
  background:#080E1A; border-radius:2px; box-shadow:none}

@media(hover:hover){
  .jlp-pf-card.jlp-pf-affiche:hover .jlp-affiche-frame{
    border-color:rgba(217,164,65,0.62); box-shadow:0 24px 56px rgba(0,0,0,0.30)}
}
.jlp-pf-affiche .jlp-pf-media img,
.jlp-pf-card.jlp-pf-affiche:hover .jlp-pf-media img{transform:none}

/* le texte reste secondaire et compact */
.jlp-pf-affiche .jlp-pf-desc{margin-bottom:22px; max-width:38ch}
.jlp-pf-affiche .jlp-pf-meta{margin-bottom:12px}

/* une seule colonne dès 900px, l'image d'abord */
@media(max-width:900px){
  .jlp-pf-card.jlp-pf-affiche{
    grid-template-columns:1fr;
    width:min(1160px, calc(100% - 40px));
    gap:26px}
  .jlp-pf-affiche .jlp-pf-media{order:-1}
  .jlp-pf-affiche .jlp-pf-text{order:2; text-align:center}
  .jlp-pf-affiche .jlp-pf-desc{margin-left:auto; margin-right:auto; max-width:52ch}
}
@media(max-width:560px){
  .jlp-pf-card.jlp-pf-affiche{width:calc(100% - 32px)}
  .jlp-affiche-frame{padding:7px}
}

/* =========================================================================
   Bandeau vedette « Senna Brands ». Publication phare : il suit la section
   « Mon Portfolio » et domine visuellement toutes les cartes precedentes.
   ========================================================================= */
.sn-feat{position:relative;background:#08090C;
  border-top:1px solid rgba(238,199,38,.22);border-bottom:1px solid rgba(238,199,38,.22);
  padding:clamp(64px,8vw,124px) clamp(18px,5%,56px) clamp(48px,6vw,84px);
  /* piece maitresse du Portfolio : elle reste dans la colonne de la section
     et se distingue par son echelle, pas par une sortie de cadre. */
  background:linear-gradient(180deg,#08090C 0%,#0B0D12 100%)}

.sn-feat-main{display:grid;
  grid-template-columns:minmax(0,0.95fr) minmax(0,1.25fr);
  gap:clamp(36px,5vw,84px);align-items:center;
  width:min(1280px,calc(100% - 64px));margin-inline:auto;
  text-decoration:none;color:inherit}

.sn-feat-media{order:2;min-width:0;position:relative}
.sn-feat-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  object-position:50% 18%;background:#111;
  box-shadow:0 30px 70px rgba(0,0,0,.62);
  transition:box-shadow .4s ease,transform .5s ease}
.sn-feat-main:hover .sn-feat-media img{box-shadow:0 34px 80px rgba(0,0,0,.72)}

.sn-feat-txt{order:1;min-width:0}
.sn-feat-kick{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:5.5px;
  text-transform:uppercase;color:#EEC726;margin-bottom:clamp(24px,3vw,38px);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sn-feat-stars{letter-spacing:3px;font-size:8px;opacity:.85}
.sn-feat-kick::after{content:'';flex:1;height:1px;background:rgba(238,199,38,.3);max-width:80px}
.sn-feat-h{font-family:'Playfair Display',Georgia,serif;font-weight:700;
  font-size:clamp(28px,3.3vw,50px);line-height:1.02;letter-spacing:-.03em;
  color:#EEC726;margin-bottom:clamp(20px,2.4vw,30px);max-width:15ch;text-wrap:balance}
.sn-feat-meta{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(14px,1.1vw,16px);
  line-height:1.8;color:rgba(245,243,238,.9);margin-bottom:18px;
  padding-top:18px;border-top:1px solid rgba(238,199,38,.2)}
.sn-feat-desc{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(15px,1.18vw,17.5px);
  line-height:1.85;color:rgba(245,243,238,.7);margin-bottom:clamp(24px,3vw,34px);max-width:44ch}
.sn-feat-btn{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;
  letter-spacing:2.8px;text-transform:uppercase;color:#EEC726;
  border-bottom:1px solid rgba(238,199,38,.45);padding-bottom:5px}

.sn-feat-langs{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;
  width:min(1280px,calc(100% - 64px));margin:clamp(34px,4vw,56px) auto 0;
  padding-top:clamp(28px,3vw,42px);border-top:1px solid rgba(238,199,38,.16)}
.sn-feat-langs a{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:2.8px;
  text-transform:uppercase;color:rgba(245,243,238,.7);text-decoration:none;
  border:1px solid rgba(238,199,38,.3);border-radius:2px;padding:10px 24px;white-space:nowrap;
  transition:color .25s ease,border-color .25s ease}
.sn-feat-langs a:hover,.sn-feat-langs a:focus-visible{color:#EEC726;border-color:rgba(238,199,38,.65)}
.sn-feat-langs span{color:rgba(238,199,38,.35);font-size:11px}

@media(max-width:900px){
  .sn-feat-main{grid-template-columns:1fr;gap:28px}
  .sn-feat-media{order:1}
  .sn-feat-txt{order:2}
  .sn-feat-h,.sn-feat-desc{max-width:100%}
}
@media(max-width:560px){
  .sn-feat{padding-left:16px;padding-right:16px}
  .sn-feat-main,.sn-feat-langs{width:100%}
  .sn-feat-langs span{display:none}
  .sn-feat-langs a{flex:1 1 auto;text-align:center;padding:10px 12px}
}

/* --- Études de cas (page Collaborer) ----------------------------------
   Reprend les polices, les couleurs et les filets du site. Aucun nouveau
   composant graphique : mêmes familles, mêmes teintes, même sobriété. */
.jlp-cas-sec{max-width:880px; margin:0 auto; padding:clamp(56px,8vh,90px) clamp(24px,5%,48px)}
.jlp-cas-intro{text-align:center; margin-bottom:clamp(40px,5vw,64px)}
.jlp-cas-kick{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:5px;
  text-transform:uppercase; color:#A07845; margin-bottom:18px}
.jlp-cas-h2{font-family:'Source Serif 4',Georgia,serif; font-weight:400;
  font-size:clamp(17px,1.9vw,21px); line-height:1.6; color:rgba(232,223,206,.9);
  max-width:66ch; margin:0 auto 24px}
.jlp-cas-avert{font-family:'Source Sans 3',system-ui,sans-serif; font-size:13px;
  line-height:1.75; color:rgba(200,185,155,.6); max-width:72ch; margin:0 auto;
  padding-top:20px; border-top:1px solid rgba(160,120,60,.16)}

.jlp-cas{border-top:1px solid rgba(160,120,60,.18); padding:clamp(34px,4.5vw,52px) 0}
.jlp-cas-num{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:2px;
  color:#A07845; margin-bottom:14px}
.jlp-cas-secteur{font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:3.4px;
  text-transform:uppercase; color:rgba(201,168,108,.72); margin-bottom:16px}
.jlp-cas-titre{font-family:'Playfair Display',Georgia,serif; font-weight:700;
  font-size:clamp(21px,2.6vw,31px); line-height:1.2; letter-spacing:-.3px;
  color:#F0E8D8; margin:0 0 14px}
.jlp-cas-sous{font-family:'Source Serif 4',Georgia,serif; font-style:italic;
  font-size:clamp(15.5px,1.5vw,17.5px); line-height:1.65; color:rgba(201,168,108,.9);
  margin-bottom:16px}
.jlp-cas-nature{font-family:'Source Sans 3',system-ui,sans-serif; font-size:14px;
  line-height:1.7; color:rgba(232,223,206,.72); margin-bottom:22px}

.jlp-cas-btn{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:2.6px;
  text-transform:uppercase; color:#A07845; background:transparent;
  border:1px solid rgba(160,120,60,.4); border-radius:2px; padding:11px 24px;
  cursor:pointer; transition:all .25s ease}
.jlp-cas-btn:hover{background:rgba(160,120,60,.12); color:#C9A86C}
.jlp-cas-btn:focus-visible{outline:2px solid #C9A86C; outline-offset:3px}

.jlp-cas-detail{margin-top:clamp(28px,3.4vw,40px)}
.jlp-cas-detail[hidden]{display:none}
.jlp-cas-champ{margin-bottom:clamp(22px,2.6vw,30px)}
.jlp-cas-lab{font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:3px;
  text-transform:uppercase; color:#A07845; margin-bottom:10px}
.jlp-cas-p{font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:clamp(14.5px,1.15vw,15.5px); line-height:1.85; color:rgba(232,223,206,.82);
  margin:0 0 .9em; max-width:70ch}
.jlp-cas-ul{list-style:none; margin:0; padding:0}
.jlp-cas-ul li{font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:clamp(14px,1.1vw,15px); line-height:1.75; color:rgba(232,223,206,.78);
  padding:7px 0 7px 18px; position:relative; border-bottom:1px solid rgba(160,120,60,.09)}
.jlp-cas-ul li::before{content:'·'; position:absolute; left:4px; color:#A07845}
.jlp-cas-note{font-family:'Source Serif 4',Georgia,serif; font-style:italic; font-size:13.5px;
  line-height:1.7; color:rgba(200,185,155,.6); margin-top:12px; max-width:70ch}

.jlp-cas-transparence{margin:clamp(24px,3vw,34px) 0; padding:18px 20px;
  border-left:2px solid rgba(160,120,60,.35); background:rgba(160,120,60,.05)}
.jlp-cas-transparence .jlp-cas-p{margin:0; color:rgba(200,185,155,.72); font-size:13.5px}

.jlp-cas-pied{margin-top:clamp(24px,3vw,34px)}
.jlp-cas-cta{font-family:'Source Serif 4',Georgia,serif; font-size:clamp(15.5px,1.5vw,17px);
  line-height:1.6; color:rgba(232,223,206,.88); margin-bottom:18px; max-width:62ch}
.jlp-cas-cta-btn{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:2.6px;
  text-transform:uppercase; background:#E8DFCE; color:#0B0A08; border:1px solid #E8DFCE;
  border-radius:2px; padding:14px 30px; cursor:pointer; transition:all .25s ease}
.jlp-cas-cta-btn:hover{background:#C9A86C; border-color:#C9A86C}
.jlp-cas-cta-btn:focus-visible{outline:2px solid #C9A86C; outline-offset:3px}
.jlp-cas-liens{margin-top:18px; display:flex; gap:18px; flex-wrap:wrap}
.jlp-cas-lien{font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:2px;
  text-transform:uppercase; color:#A07845; text-decoration:none;
  border-bottom:1px solid rgba(160,120,60,.4); padding-bottom:3px}
.jlp-cas-lien:hover{color:#C9A86C}

.jlp-cas-final{border-top:1px solid rgba(160,120,60,.18);
  margin-top:clamp(34px,4vw,52px); padding-top:clamp(40px,5vw,60px); text-align:center}
.jlp-cas-final-h{font-family:'Playfair Display',Georgia,serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); line-height:1.25; color:#F0E8D8; margin:0 0 20px}
.jlp-cas-final-ul{list-style:none; margin:0 0 20px; padding:0}
.jlp-cas-final-ul li{font-family:'Source Serif 4',Georgia,serif; font-style:italic;
  font-size:clamp(15px,1.4vw,16.5px); line-height:1.9; color:rgba(201,168,108,.85)}
.jlp-cas-final-p{font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:clamp(14.5px,1.15vw,15.5px); line-height:1.8; color:rgba(232,223,206,.8);
  max-width:60ch; margin:0 auto clamp(24px,3vw,32px)}
.jlp-cas-final-btns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.jlp-cas-b1,.jlp-cas-b2{font-family:'IBM Plex Mono',monospace; font-size:10.5px;
  letter-spacing:2.6px; text-transform:uppercase; border-radius:2px; padding:15px 32px;
  cursor:pointer; transition:all .25s ease}
.jlp-cas-b1{background:#E8DFCE; color:#0B0A08; border:1px solid #E8DFCE}
.jlp-cas-b1:hover{background:#C9A86C; border-color:#C9A86C}
.jlp-cas-b2{background:transparent; color:#A07845; border:1px solid rgba(160,120,60,.45)}
.jlp-cas-b2:hover{background:rgba(160,120,60,.12); color:#C9A86C}
.jlp-cas-b1:focus-visible,.jlp-cas-b2:focus-visible{outline:2px solid #C9A86C; outline-offset:3px}

@media(max-width:640px){
  .jlp-cas-sec{padding-left:18px; padding-right:18px}
  .jlp-cas-final-btns{flex-direction:column}
  .jlp-cas-b1,.jlp-cas-b2,.jlp-cas-cta-btn{width:100%}
  .jlp-cas-liens{flex-direction:column; gap:12px}
}

/* --- Bloc commercial, section autonome placée après le hero -----------
   Il était auparavant en position:absolute à l'intérieur de #jlpHero et
   se superposait donc à la colonne du texte défilant. Il vit désormais
   dans le flux normal, dans sa propre section. Aucune classe partagée
   avec les vidéos, les affiches ou le générique n'est employée ici. */
.jlp-pitch{position:static; background:#0B0A08;
  border-bottom:1px solid rgba(160,120,60,.14);
  padding:clamp(38px,5vw,64px) clamp(20px,5%,48px); text-align:center}
.jlp-pitch > *{max-width:760px; margin-left:auto; margin-right:auto}
.jlp-pitch-title{font-family:'Playfair Display',Georgia,serif; font-weight:700;
  font-size:clamp(17px,1.9vw,23px); line-height:1.2; letter-spacing:.01em;
  color:rgba(240,232,216,.85); margin:0 auto 12px}
.jlp-pitch-tag{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic;
  font-size:clamp(17px,2vw,25px); line-height:1.35; color:#E4D9C2; margin:0 auto 14px}
.jlp-pitch-promise{font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:clamp(13.5px,1.1vw,15px); line-height:1.75; color:rgba(232,223,206,.72);
  margin:0 auto 14px; max-width:62ch}
.jlp-pitch-formats{font-family:'IBM Plex Mono',monospace; font-size:clamp(8.5px,.8vw,10px);
  letter-spacing:.18em; text-transform:uppercase; color:#A07845;
  margin:0 auto clamp(20px,2.4vw,28px)}
.jlp-pitch .jlp-hero-btns{position:static; transform:none; left:auto; bottom:auto;
  opacity:1; display:flex; justify-content:center; gap:10px; flex-wrap:wrap}
.jlp-cta{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.08em;
  text-transform:uppercase; padding:13px 30px; border-radius:2px; box-shadow:none;
  cursor:pointer; transition:all .25s ease; margin:0}
.jlp-cta-1{background:#E8DFCE; border:1px solid #E8DFCE; color:#0B0A08; font-weight:500}
.jlp-cta-1:hover{background:#C9A86C; border-color:#C9A86C}
.jlp-cta-2{background:transparent; border:1px solid rgba(160,120,60,.45); color:#A07845}
.jlp-cta-2:hover{background:rgba(160,120,60,.12); color:#C9A86C}
.jlp-cta:focus-visible{outline:2px solid #C9A86C; outline-offset:3px}
@media(max-width:640px){
  .jlp-pitch{padding-left:16px; padding-right:16px}
  .jlp-pitch .jlp-hero-btns{flex-direction:column; gap:8px}
  .jlp-cta{width:100%; padding:13px 18px}
}
@media(max-width:380px){
  .jlp-pitch{padding-top:30px; padding-bottom:34px}
  .jlp-pitch-promise{margin-bottom:12px}
  .jlp-pitch-formats{margin-bottom:18px}
}
