/* =========================================================
   THE JUNGLE GROUP
   Contenus editables : objet CONTENT en bas de page.
   Rayons : coques 28px, coeurs 22px, vignettes 14px, interactifs en pilule.
   Un seul accent : --accent. Le vert est une matiere de fond, pas un accent.
   ========================================================= */
:root{
  --bg:#03100A;
  --shell:rgba(239,234,216,.06);
  --core:rgba(5,16,11,.62);
  --hair:rgba(239,234,216,.12);
  --hair-2:rgba(239,234,216,.22);
  --txt:#F1EDE0;
  --txt-2:#BEBBA9;
  --txt-3:#8E9487;
  --accent:#D9AE3C;
  --accent-soft:rgba(217,174,60,.16);
  /* Nappe verte. --mesh-o pilote l'intensite globale. */
  --mesh-o:1;
  --g1:34,150,96;
  --g2:16,104,76;
  --g3:10,64,48;
  --r-shell:28px;
  --r-core:22px;
  --r-tile:14px;
  --e:cubic-bezier(.32,.72,0,1);
  --e-soft:cubic-bezier(.22,1,.36,1);
  --max:1400px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  background:transparent;color:var(--txt);overflow-x:hidden;
  font-family:'Inter',system-ui,sans-serif;font-weight:400;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;transition:color .5s var(--e)}
::selection{background:var(--accent-soft)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 44px}
@media(max-width:760px){.wrap{padding:0 18px}}
.display{font-family:'Archivo',system-ui,sans-serif;font-weight:800;text-transform:uppercase;line-height:.94;letter-spacing:-.021em}

/* ---------- Nappe verte ---------- */
.mesh{position:fixed;inset:-30%;z-index:-2;pointer-events:none;opacity:var(--mesh-o);
  filter:blur(64px);will-change:transform}
.mesh-a{
  background:
    radial-gradient(30% 28% at 22% 20%, rgba(var(--g1),.95), transparent 62%),
    radial-gradient(28% 25% at 74% 34%, rgba(var(--g2),.90), transparent 64%),
    radial-gradient(34% 30% at 46% 74%, rgba(var(--g2),.85), transparent 66%),
    radial-gradient(26% 24% at 88% 86%, rgba(var(--g3),.95), transparent 66%);
  animation:drift-a 30s ease-in-out infinite alternate}
.mesh-b{
  background:
    radial-gradient(22% 19% at 86% 12%, rgba(217,174,60,.42), transparent 62%),
    radial-gradient(26% 23% at 8% 60%, rgba(var(--g1),.70), transparent 64%),
    radial-gradient(20% 18% at 58% 44%, rgba(var(--g1),.55), transparent 62%);
  animation:drift-b 44s ease-in-out infinite alternate}
@keyframes drift-a{
  from{transform:translate3d(-2%,1%,0) scale(1)}
  to{transform:translate3d(4%,-3%,0) scale(1.18)}}
@keyframes drift-b{
  from{transform:translate3d(3%,-2%,0) scale(1.1)}
  to{transform:translate3d(-4%,3%,0) scale(1)}}
/* vignette legere : uniquement les bords, le vert reste lisible au centre */
.veil{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(92% 74% at 50% 40%, transparent 44%, rgba(2,9,6,.62) 100%),
    linear-gradient(180deg, rgba(2,9,6,.42) 0%, transparent 16%, transparent 82%, rgba(2,9,6,.58) 100%)}

/* ---------- Grain, lignes, progression ---------- */
.fx{position:fixed;inset:0;pointer-events:none}
.fx-grain{z-index:60;opacity:.34;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.fx-scan{z-index:59;opacity:.07;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px)}
#prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--accent),#f0cd74);pointer-events:none}
@supports (animation-timeline:scroll()){
  #prog{animation:growX linear;animation-timeline:scroll(root block)}
}
@keyframes growX{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- Nav ---------- */
.nav-holder{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:center;padding:22px 16px;pointer-events:none}
.nav{
  pointer-events:auto;display:flex;align-items:center;gap:30px;height:80px;padding:0 12px 0 28px;
  border-radius:999px;border:1px solid var(--hair);background:rgba(3,14,9,.42);
  backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 26px 64px rgba(0,0,0,.5);
  transition:background .7s var(--e), border-color .7s var(--e), transform .7s var(--e);
}
.nav.on{background:rgba(3,14,9,.74);border-color:var(--hair-2);transform:translateY(-2px)}
.nav .brand img{height:56px;width:auto;display:block;transition:transform .7s var(--e)}
.nav .brand:hover img{transform:scale(1.03)}
.nav-links{display:flex;gap:24px;font-size:13px;font-weight:400;color:var(--txt-2)}
.nav-links a:hover{color:var(--txt)}
.nav .pill{
  display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 8px 0 22px;border-radius:999px;
  background:var(--accent);color:#03100A;font-size:13px;font-weight:500;
  transition:transform .6s var(--e),filter .6s var(--e)}
.nav .pill:hover{color:#03100A;filter:brightness(1.07)}
.nav .pill:active{transform:scale(.975)}
.nav .pill i{width:36px;height:36px;border-radius:999px;background:rgba(3,16,10,.16);display:grid;place-items:center;
  font-style:normal;font-size:14px;transition:transform .6s var(--e)}
.nav .pill:hover i{transform:translate(3px,-2px) scale(1.06)}
@media(max-width:1180px){.nav-links{display:none}}
@media(max-width:520px){
  .nav{gap:14px;height:70px;padding:0 9px 0 18px}
  .nav .brand img{height:46px}
  .nav .pill span{display:none}.nav .pill{padding:0 8px}
}

/* ---------- Coque double bord ---------- */
.shell{background:var(--shell);border:1px solid var(--hair);border-radius:var(--r-shell);padding:7px;
  backdrop-filter:blur(2px)}
.core{background:var(--core);border-radius:var(--r-core);overflow:hidden;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.08)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;padding:120px 0 90px}
.hero-inner{position:relative;width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:10px;border-radius:999px;border:1px solid var(--hair);
  background:rgba(3,14,9,.4);backdrop-filter:blur(10px);padding:8px 16px;font-size:12px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--txt-2)}
.eyebrow b{width:5px;height:5px;border-radius:999px;background:var(--accent)}
.hero h1{font-size:clamp(40px,7.1vw,122px);margin:30px 0 0;position:relative;z-index:2}
/* Le titre ne doit jamais empieter sur la cascade d affiches, posee
   en absolu a droite du hero. On lui reserve sa largeur, plus une
   gouttiere. Sans cela la collision depend de la coupe des lignes :
   invisible en 1512 px, franche en 1280. */
@media(min-width:1261px){
  .hero h1{max-width:calc(100% - min(560px,46vw) - 48px)}
}
.hero h1 .a{display:block;color:var(--txt)}
.hero h1 .b{display:block;color:var(--accent)}
/* colonne de gauche uniquement : rien ne vient se poser sur les affiches */
.hero-bottom{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;
  gap:28px;margin-top:44px;padding-top:30px;border-top:1px solid var(--hair);
  max-width:min(600px,50%)}
.hero-bottom p{font-size:clamp(16px,1.4vw,19px);color:var(--txt-2);max-width:40ch}
.cta{display:inline-flex;align-items:center;gap:12px;height:62px;padding:0 8px 0 28px;flex-shrink:0;
  border-radius:999px;background:var(--accent);color:#03100A;font-size:14px;font-weight:500;
  transition:transform .6s var(--e),filter .6s var(--e)}
.cta:hover{color:#03100A;filter:brightness(1.07)}
.cta:active{transform:scale(.98)}
.cta i{width:46px;height:46px;border-radius:999px;background:rgba(3,16,10,.16);display:grid;place-items:center;
  font-style:normal;font-size:17px;transition:transform .6s var(--e)}
.cta:hover i{transform:translate(4px,-2px) scale(1.06)}

/* cascade : les affiches passent derriere le titre */
.cascade{position:absolute;right:0;top:0;width:min(560px,46vw);height:600px;z-index:1}
.cascade .frame{position:absolute;width:44%;transition:transform 1s var(--e)}
.cascade .frame img{width:100%;aspect-ratio:480/680;object-fit:cover;display:block}
.cascade .f1{left:0;top:14%;transform:rotate(-5deg)}
.cascade .f2{left:28%;top:0;width:48%;z-index:3;transform:rotate(1deg)}
.cascade .f3{left:57%;top:26%;transform:rotate(6deg);z-index:2}
.cascade .frame{box-shadow:0 46px 90px rgba(0,0,0,.6)}
.cascade:hover .f1{transform:rotate(-8deg) translate(-16px,-10px)}
.cascade:hover .f2{transform:rotate(0deg) translateY(-18px)}
.cascade:hover .f3{transform:rotate(9deg) translate(16px,-10px)}
@media(max-width:1260px){
  /* Mise en page empilee.
     La cascade est le PREMIER enfant du hero. Laissee dans le flux,
     elle se dessinait donc AU-DESSUS du titre, et ses affiches, bien
     plus hautes que les 340px du conteneur, retombaient dessus : le
     texte passait sous les images sur toute la hauteur.
     On la renvoie en fin de colonne avec order, et on la laisse
     prendre sa hauteur naturelle au lieu de la brider. Les affiches
     deviennent trois colonnes dans le flux, legerement inclinees. */
  .hero .wrap{display:flex;flex-direction:column}
  .cascade{order:2;position:relative;right:auto;top:auto;transform:none;
    width:100%;height:auto;margin-top:44px;
    display:flex;gap:2.4%;align-items:flex-start}
  .cascade .frame{position:relative;left:auto;top:auto;width:31.7%;flex:none}
  .cascade .f1{transform:rotate(-4deg)}
  .cascade .f2{width:31.7%;transform:rotate(1deg);margin-top:-2%}
  .cascade .f3{transform:rotate(5deg)}
  .hero{padding:130px 0 70px}
  .hero-bottom{order:3;max-width:100%}
}
@media(max-width:760px){
  .cascade{height:250px}
}

/* ---------- Sections ---------- */
section{padding:clamp(56px,6.5vw,92px) 0;position:relative}
@media(max-width:760px){section{padding:56px 0}}
h2.display{font-size:clamp(29px,4vw,60px);margin-bottom:24px}
.lede{color:var(--txt-2);font-size:17.5px;max-width:56ch}
.sec-head{margin-bottom:44px}
.rule{width:64px;height:2px;background:var(--accent);margin-bottom:28px;border-radius:2px}

/* ---------- Bandeau d'affiches, pleine largeur ---------- */
.strip-wrap{padding:0 22px}
@media(max-width:760px){.strip-wrap{padding:0 10px}}
.strip-core{position:relative;background:rgba(0,0,0,.72);border-radius:var(--r-core);overflow:hidden;padding:16px 0;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.08)}
.perf{height:22px;background:repeating-linear-gradient(90deg,transparent 0 15px,rgba(255,255,255,.09) 15px 36px,transparent 36px 51px)}
.strip-mask{overflow-x:auto;overflow-y:hidden;padding:14px 0;cursor:grab;
  user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain;
  scrollbar-width:none;-ms-overflow-style:none}
.strip-mask::-webkit-scrollbar{display:none}
.strip-mask.prise{cursor:grabbing}
.strip-run{display:inline-flex;gap:16px;padding-right:16px;will-change:transform}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.poster{position:relative;width:236px;flex-shrink:0;border-radius:var(--r-tile);overflow:hidden;display:block}
.poster img{width:236px;aspect-ratio:480/680;object-fit:cover;display:block;
  filter:saturate(1.05);transition:transform .8s var(--e),filter .8s var(--e)}
.poster:hover img,.poster:focus-within img{transform:scale(1.05);filter:saturate(1.12) brightness(1.06)}
.poster .info{position:absolute;left:0;right:0;bottom:0;padding:60px 16px 16px;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.55) 30%,rgba(0,0,0,.96));
  transition:opacity .6s var(--e)}
.poster:hover .info,.poster:focus-within .info{opacity:1}
.poster .info b{display:block;font-size:13.5px;font-weight:600;line-height:1.28}
.poster .info em{display:block;font-style:normal;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin-top:7px}
.poster .info small{display:block;font-size:12px;line-height:1.45;color:var(--txt-2);margin-top:10px;
  padding-top:10px;border-top:1px solid rgba(241,237,224,.16)}
@media(max-width:760px){.poster,.poster img{width:172px}}

/* ---------- Coming soon : bandeau media ---------- */
.coming .core{position:relative;min-height:520px;display:flex;align-items:flex-end;padding:0}
.coming .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.coming .still{display:none}
.coming .veil-c{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,16,10,.30) 0%,rgba(3,16,10,.10) 34%,rgba(3,16,10,.92) 100%)}
.coming .inner{position:relative;width:100%;padding:44px 44px 46px;display:grid;
  grid-template-columns:auto 1fr;gap:40px;align-items:end}
.badge{display:inline-flex;align-items:center;gap:9px;border-radius:999px;
  border:1px solid rgba(241,237,224,.28);background:rgba(3,16,10,.55);backdrop-filter:blur(12px);
  padding:9px 17px;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--txt)}
.badge b{width:6px;height:6px;border-radius:999px;background:#7BD64F;
  box-shadow:0 0 0 0 rgba(123,214,79,.6);animation:ping 2.6s var(--e-soft) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(123,214,79,.55)}70%,100%{box-shadow:0 0 0 12px rgba(123,214,79,0)}}
/* Le logo est detoure lettre par lettre, sans le halo : il tient donc
   sur n'importe quel fond. La plaque reprend le vert tendre du generique. */
.coming .plate{width:clamp(240px,28vw,380px);flex-shrink:0;
  box-shadow:0 26px 60px rgba(0,0,0,.5);animation:float 7s var(--e-soft) infinite alternate}
.coming .plate .core{background:linear-gradient(152deg,#EDF1D6 0%,#DDE4B2 100%);
  padding:26px 28px;min-height:0;display:block;
  box-shadow:inset 0 0 0 1px rgba(60,80,30,.10), inset 0 2px 8px rgba(60,80,30,.08)}
.coming .sticker{width:100%;height:auto;display:block}
@keyframes float{from{transform:translateY(0) rotate(-1.1deg)}to{transform:translateY(-13px) rotate(1.1deg)}}
.coming .say{max-width:46ch}
.coming .say p{font-size:16px;color:var(--txt-2);margin-top:16px}
.coming .say .meta{display:block;margin-top:18px;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--txt-3)}
.coming .say .meta b{color:var(--accent);font-weight:500}
@media(max-width:900px){
  .coming .core{min-height:0}
  .coming .inner{grid-template-columns:1fr;gap:26px;padding:150px 22px 30px}
}
@media(prefers-reduced-motion:reduce){
  .coming .bg{display:none}
  .coming .still{display:block}
  .coming .plate,.badge b{animation:none}
}

/* ---------- Metiers : bento asymetrique ---------- */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.bento>*{min-width:0}
.act{display:flex;transition:transform .8s var(--e)}
.act:hover{transform:translateY(-5px)}
.act .shell{display:flex;width:100%}
/* --c : code couleur du métier, défini par carte dans CONTENT.metiers */
.act .shell{transition:box-shadow .8s var(--e),border-color .8s var(--e)}
.act:hover .shell{border-color:rgba(var(--c),.34);box-shadow:0 34px 74px rgba(var(--c),.10)}
.act .core{position:relative;flex:1;display:flex;flex-direction:column;padding:38px 34px 32px;min-height:280px;
  background:linear-gradient(152deg,rgba(var(--c),.16),rgba(5,16,11,.68) 58%)}
.act .core::before{content:"";position:absolute;left:0;top:0;height:3px;width:34%;
  background:rgb(var(--c));transition:width .8s var(--e)}
.act:hover .core::before{width:100%}
.act h3{font-family:'Archivo',system-ui,sans-serif;font-weight:800;text-transform:uppercase;font-size:27px;line-height:1;
  margin-bottom:16px;color:rgb(var(--c))}
.act p{font-size:15px;color:var(--txt-2);margin-bottom:auto}
.act .by{margin-top:28px;padding-top:18px;border-top:1px solid var(--hair);font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3)}
.act .by b{color:rgb(var(--c));font-weight:500}
.act.lead{grid-column:span 7}
.act.side{grid-column:span 5}
.act.half{grid-column:span 6}
@media(max-width:900px){
  .bento{grid-template-columns:minmax(0,1fr);gap:12px}
  .act.lead,.act.side,.act.half{grid-column:span 1}
  .act .core{min-height:0}
}

/* ---------- Societes ---------- */
.socs{display:grid;gap:12px}
.soc{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:start;padding:32px 34px;
  transition:transform .8s var(--e)}
.soc:hover{transform:translateY(-3px)}
.soc .no{font-size:12px;color:var(--accent);letter-spacing:.18em;padding-top:10px}
.soc h4{font-family:'Archivo',system-ui,sans-serif;font-weight:800;text-transform:uppercase;font-size:24px;line-height:1.06}
.soc p{font-size:15px;color:var(--txt-2);margin-top:10px;max-width:74ch}
.soc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.soc .tags span{border-radius:999px;border:1px solid var(--hair);padding:6px 14px;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3)}
.soc .geo{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-3);padding-top:12px;white-space:nowrap}
.soc .blason{display:flex;gap:10px}
.soc .pastille{width:62px;height:62px;border-radius:999px;background-size:cover;background-position:center;transition:transform .8s var(--e)}
.soc .blason .pastille+.pastille{margin-left:-16px}
.soc:hover .blason .pastille+.pastille{margin-left:0}
.soc .pastille:not([data-logo=""]){box-shadow:0 6px 20px rgba(0,0,0,.45)}
.soc:hover .pastille{transform:scale(1.06)}
@media(max-width:760px){.soc{grid-template-columns:auto 1fr;gap:14px 18px;padding:26px 22px}
  .soc .no{grid-column:1/-1;padding-top:0}
  .soc .pastille{width:52px;height:52px}
  .soc .blason{gap:8px}
  .soc .blason .pastille+.pastille{margin-left:-14px}
  .soc .geo{grid-column:1/-1;padding-top:0}}

/* ---------- Direction ---------- */
/* la grille s'adapte au nombre de portraits, pas l'inverse :
   personne ne se retrouve seul sur une deuxieme ligne */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,160px));gap:14px;align-items:start}
.member{transition:transform .8s var(--e)}
.member:hover{transform:translateY(-6px)}
.member .core{padding:5px 5px 14px}
.member .shot{border-radius:var(--r-tile);overflow:hidden;background:#08120E}
/* serie de portraits homogene : tout le monde en noir et blanc,
   quelle que soit la photo fournie */
.member img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.04);
  transition:transform .9s var(--e),filter .9s var(--e)}
.member:hover img{transform:scale(1.04);filter:grayscale(1) contrast(1.04) brightness(1.08)}
.member .id{padding:12px 8px 0}
.member .id h4{font-family:'Archivo',system-ui,sans-serif;font-weight:800;text-transform:uppercase;font-size:14px;line-height:1.1}
.member .id span{display:block;font-size:12px;color:var(--txt-3);margin-top:8px;line-height:1.45}
.member .id span b{color:var(--accent);font-weight:500}
@media(max-width:520px){.team{grid-template-columns:repeat(3,1fr);gap:8px}.member .id h4{font-size:12px}.member .id span{font-size:12px}}

/* ---------- Actualites ---------- */
.news{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.news-a{grid-column:span 7}
.news-b-stack{grid-column:span 5;display:grid;gap:16px}
.news-item .core{padding:34px 32px;height:100%;display:flex;flex-direction:column}
.news-item .d{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.news-item h4{font-family:'Archivo',system-ui,sans-serif;font-weight:800;text-transform:uppercase;margin:16px 0 12px;font-size:24px;line-height:1.02}
.news-a h4{font-size:clamp(36px,3.8vw,50px)}
.news-item p{font-size:15px;color:var(--txt-2)}
.news-a .core{min-height:360px;justify-content:flex-end;background:linear-gradient(155deg,rgba(217,174,60,.12),rgba(5,16,11,.66) 58%)}
@media(max-width:900px){.news{grid-template-columns:1fr}.news-a,.news-b-stack{grid-column:span 1}}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}
.offices{display:grid;gap:16px}
.office .core{padding:26px 28px}
.office .c{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.office .a{font-size:15px;color:var(--txt-2);margin-top:9px;line-height:1.55}
.office a:hover{color:var(--accent)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}}

/* ---------- Footer avec signature typographique ---------- */
footer{border-top:1px solid var(--hair);padding:56px 0 34px;overflow:hidden}
.signature{font-family:'Archivo',system-ui,sans-serif;font-weight:800;text-transform:uppercase;line-height:.86;
  font-size:clamp(28px,7.7vw,126px);color:transparent;-webkit-text-stroke:1px rgba(241,237,224,.16);
  white-space:nowrap;margin-bottom:34px;user-select:none}
.foot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--txt-3)}

/* ---------- Reveal ---------- */
[data-rv]{opacity:0;transform:translateY(60px);filter:blur(7px);
  transition:opacity 1s var(--e-soft),transform 1s var(--e-soft),filter 1s var(--e-soft)}
[data-rv].on{opacity:1;transform:none;filter:blur(0)}
@media(prefers-reduced-motion:reduce){
  [data-rv]{opacity:1;transform:none;filter:none;transition:none}
  .strip-run,.mesh-a,.mesh-b,#prog{animation:none}
  .cascade .frame,.act,.soc,.member{transition:none}
}

/* ================= ajouts ================= */

/* --- sélecteur de langue --- */
.lang{display:flex;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--hair);
  background:rgba(3,14,9,.4)}
.lang button{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:500;letter-spacing:.06em;
  padding:7px 12px;border-radius:999px;background:transparent;color:var(--txt-3);
  transition:background .5s var(--e),color .5s var(--e)}
.lang button:hover{color:var(--txt)}
.lang button.on{background:var(--accent);color:#03100A}
@media(max-width:520px){.lang button{padding:6px 9px;font-size:12px}}

/* --- fond vidéo du hero --- */
.hero-video{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-video video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,16,10,.72) 0%,rgba(3,16,10,.40) 42%,rgba(3,16,10,.92) 100%)}
/* quand le showreel est en place, la baseline passe au centre et grandit */
body.has-reel .hero-inner{text-align:center}
body.has-reel .hero h1{font-size:clamp(40px,8.4vw,148px);margin:34px auto 0;max-width:none}
body.has-reel .hero-bottom{max-width:none;align-items:center;border-top:0;margin-top:44px}
body.has-reel .hero-bottom p{max-width:52ch;margin:0 auto}
body.has-reel .cascade{display:none}

/* --- sociétés cliquables, quand une page dédiée existe --- */
.soc-link{display:block;transition:transform .8s var(--e),border-color .8s var(--e)}
.soc-link:hover{transform:translateY(-3px);border-color:var(--hair-2)}
.soc-link .soc h4::after{content:" →";color:var(--accent);font-family:'Inter',system-ui,sans-serif;
  font-size:.6em;vertical-align:middle;opacity:0;transition:opacity .5s var(--e)}
.soc-link:hover .soc h4::after{opacity:1}

/* --- affiche cliquable --- */
.poster{cursor:pointer}
.poster:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* --- fiche production --- */
body.locked{overflow:hidden}
.sheet{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:26px}
.sheet[hidden]{display:none}
.sheet-back{position:absolute;inset:0;background:rgba(2,9,6,.82);backdrop-filter:blur(10px)}
.sheet-card{position:relative;width:min(880px,94vw);max-height:88vh;overflow:auto;
  animation:sheetUp .5s var(--e) both}
@keyframes sheetUp{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
.sheet-card .core{display:grid;grid-template-columns:300px 1fr;gap:0}
.sheet-card img{width:100%;height:100%;object-fit:cover;display:block}
.sheet-txt{padding:40px 40px 38px}
.sheet-txt h3{font-size:clamp(30px,3.6vw,46px)}
.sheet-credits{margin-top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.sheet-txt p{margin-top:20px;color:var(--txt-2);font-size:16px}
.sheet-x{position:absolute;top:14px;right:16px;z-index:2;width:40px;height:40px;border-radius:999px;
  border:1px solid var(--hair);background:rgba(3,16,10,.66);color:var(--txt);font-size:22px;
  line-height:1;cursor:pointer;transition:background .4s var(--e)}
.sheet-x:hover{background:rgba(3,16,10,.9)}
@media(max-width:760px){
  .sheet-card .core{grid-template-columns:1fr}
  .sheet-card img{max-height:38vh}
  .sheet-txt{padding:26px 22px 28px}
}
@media(prefers-reduced-motion:reduce){.sheet-card{animation:none}}

/* létat masqué doit primer sur toute règle de display */
[hidden]{display:none !important}

/* --- repli quand le visiteur a demandé moins d'animations ---
   Le bandeau ne défile plus tout seul, il se fait glisser au doigt
   ou à la souris. Sans cela, il paraissait simplement figé. */
/* --- commandes manuelles du bandeau : deux fleches posees sur les bords --- */
.strip-arrow{position:absolute;top:50%;z-index:3;width:46px;height:46px;
  transform:translateY(-50%);border-radius:999px;border:1px solid var(--hair);
  background:rgba(3,16,10,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:var(--txt);font:400 22px/1 system-ui,sans-serif;display:grid;place-items:center;
  cursor:pointer;opacity:0;
  transition:opacity .45s var(--e),background .45s var(--e),color .45s var(--e),border-color .45s var(--e)}
.strip-arrow.prev{left:16px}
.strip-arrow.next{right:16px}
.strip-core:hover .strip-arrow,.strip-arrow:focus-visible{opacity:1}
.strip-arrow:hover{background:var(--accent);color:#06150E;border-color:transparent}
@media(hover:none){.strip-arrow{opacity:1}}
@media(max-width:760px){.strip-arrow{width:38px;height:38px;font-size:19px}
  .strip-arrow.prev{left:8px}.strip-arrow.next{right:8px}}
/* sans survol possible, les legendes restent lisibles en permanence */
@media(hover:none){
  .poster .info{opacity:1;
    background:linear-gradient(180deg,transparent,rgba(0,0,0,.5) 46%,rgba(0,0,0,.94))}
  .poster .info small{display:none}
}

/* --- pastilles de la charte graphique, integrees en base64 --- */
.pastille[data-logo="horizon"]{background-image:url(data:image/webp;base64,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)}
.pastille[data-logo="films"]{background-image:url(data:image/webp;base64,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)}
.pastille[data-logo="factory"]{background-image:url(data:image/webp;base64,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)}

/* ---------- Coming soon : bouton lecture / son ---------- */
.coming .vg-play{position:absolute;right:44px;top:44px;z-index:3;
  display:inline-flex;align-items:center;gap:10px;padding:11px 18px 11px 13px;
  border:1px solid rgba(255,255,255,.28);border-radius:999px;
  background:rgba(3,16,10,.42);backdrop-filter:blur(6px);
  color:#fff;font:inherit;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;line-height:1;cursor:pointer;
  transition:background .6s var(--e),border-color .6s var(--e),transform .6s var(--e)}
.coming .vg-play:hover{background:rgba(3,16,10,.64);border-color:rgba(255,255,255,.5);
  transform:translateY(-1px)}
.coming .vg-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.coming .vg-play[hidden]{display:none}
.coming .vg-play svg{width:17px;height:17px;fill:currentColor;flex:none}
.coming .vg-play .i-mute{display:none}
#coming.sound-on .vg-play .i-play{display:none}
#coming.sound-on .vg-play .i-mute{display:block}

/* Son actif : on allege le voile pour laisser respirer l'image */
.coming .veil-c{transition:background .8s var(--e)}
#coming.sound-on .veil-c{background:linear-gradient(180deg,rgba(3,16,10,.14) 0%,
  rgba(3,16,10,.04) 40%,rgba(3,16,10,.80) 100%)}

/* Mobile : poster par defaut, la video n arrive qu au clic */
@media(max-width:900px){
  .coming video.bg{display:none}
  .coming .still{display:block}
  #coming.sound-on video.bg{display:block}
  #coming.sound-on .still{display:none}
  .coming .vg-play{right:22px;top:22px;padding:9px 15px 9px 11px}
}
@media(prefers-reduced-motion:reduce){
  #coming.sound-on video.bg{display:block}
  #coming.sound-on .still{display:none}
}

/* ---------- Lien vers le catalogue complet (noir degrade bordeaux) ---------- */
.sec-head .cat-link{display:inline-flex;align-items:center;gap:13px;margin-top:24px;
  padding:14px 24px;border-radius:999px;text-decoration:none;color:#F3EEE6;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;line-height:1;
  background:linear-gradient(102deg,#0A0609 0%,#3A0A1B 52%,#6E1230 100%);
  border:1px solid rgba(243,238,230,.18);
  box-shadow:0 18px 42px rgba(110,18,48,.30);
  transition:transform .7s var(--e),box-shadow .7s var(--e),border-color .7s var(--e)}
.sec-head .cat-link:hover{transform:translateY(-2px);border-color:rgba(217,174,60,.55);
  box-shadow:0 28px 60px rgba(110,18,48,.46)}
.sec-head .cat-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sec-head .cat-link svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .7s var(--e)}
.sec-head .cat-link:hover svg{transform:translateX(4px)}
@media(max-width:640px){.sec-head .cat-link{padding:12px 19px;font-size:12px}}

/* maquette 7 maisons : pastilles ajoutées + contact par maison */
.pastille[data-logo="prod"]{background-image:url(../images/marque/jungle-prod-badge.jpg)}
.pastille[data-logo="flair"]{background:#fff url(../images/marque/flair-production-badge.png) center/cover}
.pastille[data-logo="silk"]{background:#fff url(../images/marque/silk-sun-badge.png) center/cover}
.pastille[data-logo="lbp"]{background:#1f3fd0 url(../images/marque/lbp-logo-blanc-420.png) center/78% no-repeat}
.soc-contact{margin-top:14px;font-size:13px;color:rgba(255,255,255,.62)}
.soc-contact b{color:rgba(255,255,255,.9);font-weight:600}
.todo{color:#f2c94c;font-style:italic}
.vg-modal{width:min(1100px,92vw);padding:0;border:0;border-radius:18px;background:#000;overflow:visible}
.vg-modal::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}
.vg-modal video{width:100%;display:block;border-radius:18px}
.vg-close{position:absolute;top:-16px;right:-16px;width:40px;height:40px;border-radius:50%;border:0;background:#E9C45C;color:#111;font-size:24px;cursor:pointer}
/* ---------- à venir : autres projets en « coming soon » ---------- */
#avenir{margin-top:22px}
.avenir-liste{display:grid;gap:22px}
.avenir .core{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center;padding:clamp(16px,2vw,26px)}
.av-affiche{border-radius:var(--r-tile);overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.av-affiche img{width:100%;aspect-ratio:706/1000;object-fit:cover;display:block}
.av-txt h3{font-size:clamp(21px,1.8vw,26px);line-height:1.05;margin-top:16px}
.av-txt p{color:var(--txt-2);max-width:620px;margin-top:12px}
.av-txt .meta{display:block;margin-top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3)}
.av-txt .meta b{color:var(--accent);font-weight:600}
.av-actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:22px}
.av-play{display:inline-flex;align-items:center;gap:12px;padding:12px 20px 12px 12px;border:0;border-radius:999px;background:var(--accent);color:#1a1206;font:600 14px Inter,sans-serif;cursor:pointer}
.av-play svg{width:28px;height:28px;padding:7px;border-radius:50%;background:rgba(0,0,0,.14);fill:currentColor}
.av-lien{font-size:14px;color:var(--txt);border-bottom:1px solid var(--hair-2);padding-bottom:3px}
.av-lien:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:640px){.avenir .core{grid-template-columns:1fr}.av-affiche{max-width:220px}}
/* à venir : écran vidéo en boucle, comme le showreel de la Factory */
.avenir .core:has(.av-reel){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.av-reel{position:relative;aspect-ratio:16/9;border-radius:var(--r-tile);overflow:hidden;background:#000;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.av-reel video{width:100%;height:100%;object-fit:cover;display:block}
.av-reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.6));pointer-events:none}
.av-play-reel{position:absolute;left:16px;bottom:16px;z-index:2}
.av-pause{position:absolute;right:14px;top:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;cursor:pointer;display:grid;place-items:center;padding:0}
.av-pause svg{width:16px;height:16px;fill:currentColor}.av-pause .i-lire,.av-pause[aria-pressed=true] .i-pause{display:none}.av-pause[aria-pressed=true] .i-lire{display:block}
.av-pause:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:820px){.avenir .core:has(.av-reel){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.av-boucle,.av-pause{display:none}}

/* fenetres video : centrees et ouverture fluide */
dialog.vg-modal{position:fixed;inset:0;margin:auto;max-height:92vh}
dialog.vg-modal[open]{animation:dlg-in .5s cubic-bezier(.2,.8,.2,1)}
dialog.vg-modal[open]::backdrop{animation:dlg-fond .5s ease}
@keyframes dlg-in{from{opacity:0;transform:translateY(22px) scale(.95)}to{opacity:1;transform:none}}
@keyframes dlg-fond{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){dialog.vg-modal[open],dialog.vg-modal[open]::backdrop{animation:none}}
.av-reel{cursor:pointer}

/* ---------- Jungle x Flair (bloc de l'accueil) ---------- */
#jxf{padding-top:0}
.jxf{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px 50px;align-items:end;padding:clamp(30px,4.5vw,60px);border-radius:var(--r-shell);
  border:1px solid var(--hair);text-decoration:none;color:var(--txt);position:relative;overflow:hidden;
  background:radial-gradient(80% 120% at 0% 0%,rgba(34,150,96,.3),transparent 55%),radial-gradient(70% 110% at 100% 100%,rgba(242,163,58,.18),transparent 55%),rgba(5,16,11,.62);
  transition:transform .7s var(--e),border-color .7s var(--e)}
.jxf:hover{transform:translateY(-4px);border-color:var(--hair-2)}
.jxf-sur{grid-column:1/-1;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.jxf-titre{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(32px,4.4vw,62px);line-height:1;letter-spacing:-.03em;color:var(--accent)}
.jxf-texte{color:var(--txt-2);font-size:16.5px;max-width:48ch}
.jxf-axe{grid-column:1;display:flex;align-items:center;gap:16px;font:800 clamp(20px,2.2vw,30px)/1 Archivo,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:var(--accent)}
.jxf-axe .paris{color:#4F8DFF}
.jxf-axe i{flex:1;height:2px;min-width:40px;background:linear-gradient(90deg,#4F8DFF,var(--accent));position:relative}
.jxf-axe em{position:absolute;top:50%;left:0;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:#F0CD74;box-shadow:0 0 16px #F0CD74;animation:jxf-navette 3.4s var(--e) infinite alternate}
@keyframes jxf-navette{to{left:calc(100% - 12px)}}
.jxf-btn{justify-self:start;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 8px 0 22px;border-radius:999px;background:var(--accent);color:#03100A;font-size:14px;font-weight:500}
.jxf-btn i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(3,16,10,.16);font-style:normal}
@media(max-width:860px){.jxf{grid-template-columns:1fr}.jxf-axe{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.jxf-axe em{animation:none}}

/* capsule Jungle x Flair : logo assemble selon la charte (outils/logo-jungle-x-flair.md).
   Trois morceaux de meme hauteur : une ligne sur grand ecran, empiles sur telephone. */
.capsule{--h:clamp(34px,4.2vw,58px);display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--h)*.28);max-width:100%;
  padding:clamp(6px,.8vw,10px) clamp(14px,1.8vw,26px);border-radius:999px;
  border:1px solid rgba(239,234,216,.18);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 20px 50px rgba(0,0,0,.28)}
.capsule img{display:block;height:var(--h);width:auto;flex:none}
@media(max-width:600px){.capsule{--h:46px;flex-direction:column;gap:0;border-radius:28px;padding:12px 18px}.capsule .jxf-x{height:44px;margin:-12px 0}}
.jxf-sur{display:block;margin-bottom:8px}

/* ---------- Jungle x Flair mis en avant ---------- */
.nav-links .nav-jxf{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:500}
.nav-links .nav-jxf b{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(217,174,60,.18);animation:jxf-pouls 2.4s ease-in-out infinite}
.nav-links .nav-jxf:hover{color:#F0CD74}
@keyframes jxf-pouls{50%{box-shadow:0 0 0 6px rgba(217,174,60,0)}}
.annonce{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;padding:6px 16px 6px 6px;border-radius:999px;border:1px solid rgba(217,174,60,.35);
  background:rgba(217,174,60,.08);color:var(--txt);font-size:13.5px;text-decoration:none;transition:border-color .5s var(--e),background .5s var(--e)}
.annonce:hover{border-color:var(--accent);background:rgba(217,174,60,.14)}
.annonce b{padding:4px 10px;border-radius:999px;background:var(--accent);color:#03100A;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.annonce i{font-style:normal;color:var(--accent);transition:transform .5s var(--e)}
.annonce:hover i{transform:translateX(4px)}
body.has-reel .annonce{margin-inline:auto}
#jxf.jxf-haut{padding-top:clamp(40px,6vw,80px);padding-bottom:0}
.news-lien{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--accent);font-size:14px;font-weight:500;text-decoration:none}
.news-lien i{font-style:normal}
.annonce{max-width:100%}
.annonce span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.annonce b,.annonce i{flex:none}
@media(max-width:560px){.annonce{font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.nav-links .nav-jxf b{animation:none}}
html,body{overflow-x:clip}

/* ---------- retours du 29/09 ---------- */
a.act{text-decoration:none;color:inherit}
.act-cliquable .core{transition:transform .6s var(--e)}
.act-cliquable:hover .core{transform:translateY(-4px)}
.act-lien{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--accent);font-size:14px;font-weight:600}
.act-lien i{font-style:normal}
.soc .tags .statut{background:rgba(217,174,60,.16);color:var(--accent);border-color:rgba(217,174,60,.4)}
.office .m{margin:6px 0 10px;color:var(--txt-2);font-size:13px;line-height:1.5}
#showreel-groupe{padding-top:0}
.sr-sur{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.sr-titre{margin:0 0 28px}
.sr-cadre{border-radius:var(--r-shell);overflow:hidden;border:1px solid var(--hair);background:#000;aspect-ratio:16/9;box-shadow:0 40px 100px rgba(0,0,0,.45)}
.sr-cadre video{width:100%;height:100%;display:block;object-fit:cover}

/* accessibilite : zones de clic d'au moins 44 px au doigt, lien d'evitement */
.av-lien,.act-lien,.office .a a{display:inline-flex;align-items:center;min-height:44px}
.av-lien{padding-bottom:0}
.aller{position:absolute;left:16px;top:-80px;z-index:10001;padding:12px 20px;border-radius:999px;background:var(--accent);color:#111;font-weight:700;text-decoration:none;transition:top .2s}
.aller:focus{top:16px}

/* ---------- echelle typographique commune a tous les sites du groupe ----------
   titre de section clamp(36px,4.4vw,64px) · titre de carte clamp(21px,1.8vw,26px) · texte 16 px · libelles 12 px.
   Une meme rubrique = une meme taille, carte mise en avant comprise. */
h2.display{font-size:clamp(36px,4.4vw,64px);line-height:1}
#metiers .act h3,#societes .soc h4,#actualites .news-item h4{font-size:clamp(21px,1.8vw,26px);line-height:1.05}
.act p,.soc p,.news-item p{font-size:16px}

/* ---------- accueil : rubans d'affiches (modele C, 06/10) ----------
   Trois bandes d'affiches des maisons defilent en travers de l'ecran,
   derriere un titre centre, les maisons et les chiffres cles. */
.rubans{display:none}
body.has-rubans .cascade{display:none}
body.has-rubans .rubans{display:flex;position:absolute;inset:0;z-index:0;flex-direction:column;justify-content:center;gap:22px;overflow:hidden;
  transform:rotate(-7deg) scale(1.18);opacity:.55;pointer-events:none}
body.has-rubans .hero{overflow:hidden;text-align:center;padding:104px 0 56px}
body.has-rubans .hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(58% 48% at 50% 50%,rgba(3,16,10,.93),rgba(3,16,10,.5) 70%,rgba(3,16,10,.25)),linear-gradient(0deg,var(--bg),transparent 22%)}
.ruban{overflow:hidden}
.ruban .file{display:flex;gap:18px;width:max-content;animation:ruban-file 90s linear infinite}
.ruban.r2 .file{animation-direction:reverse;animation-duration:105s}
.ruban.r3 .file{animation-duration:80s}
.ruban img{height:clamp(160px,21vw,300px);aspect-ratio:2/3;object-fit:cover;border-radius:14px;display:block}
@keyframes ruban-file{to{transform:translateX(-50%)}}
body.has-rubans .hero-inner{z-index:2;display:flex;flex-direction:column;align-items:center}
body.has-rubans .hero h1{max-width:none;font-size:clamp(44px,min(7.6vw,13.5vh),132px);line-height:.88;margin-top:22px}
body.has-rubans .hero h1 .b{background:linear-gradient(100deg,#F6D77A,#D9AE3C 45%,#B8862A);-webkit-background-clip:text;background-clip:text;color:transparent}
body.has-rubans .hero-bottom{align-items:center;border-top:0;margin-top:26px;max-width:none}
body.has-rubans .hero-bottom p{margin-inline:auto;max-width:46ch}
.hero-maisons{display:none}
body.has-rubans .hero-maisons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.hero-maisons span{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 14px;border-radius:999px;border:1px solid var(--hair-2);background:rgba(3,16,10,.55);backdrop-filter:blur(8px);font-size:13px;font-weight:600}
.hero-maisons i{width:8px;height:8px;border-radius:50%}
.hero-chiffres{display:none}
body.has-rubans .hero-chiffres{display:flex;gap:clamp(26px,5vw,70px);margin:24px 0 0}
.hero-chiffres b{display:block;font:900 clamp(30px,3.4vw,48px)/1 Archivo,system-ui,sans-serif;color:var(--accent)}
.hero-chiffres span{display:block;margin-top:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-2)}
@media(max-width:700px){body.has-rubans .rubans{transform:rotate(-7deg) scale(1.5);gap:14px}.ruban .file{gap:12px}.ruban img{height:150px}
  body.has-rubans .hero::after{background:radial-gradient(90% 55% at 50% 50%,rgba(3,16,10,.94),rgba(3,16,10,.6) 75%,rgba(3,16,10,.35))}}
@media(prefers-reduced-motion:reduce){.ruban .file{animation:none}}

/* ---------- accueil : visuel Bruxelles - Paris (06/10) ----------
   Atomium et tour Eiffel relies par un reseau dore (visuel genere avec Canva).
   Titre "The Jungle Group", signature en sous-titre, maisons sous chaque ville. */
.villes-fond,.ville,.hero-sous{display:none}
body.has-villes .villes-fond{display:block;position:absolute;inset:0;z-index:0;overflow:hidden;background:#020805}
.villes-photo{position:absolute;inset:0;background:center 100%/cover no-repeat;animation:villes-respire 40s var(--e) infinite alternate;transform-origin:50% 60%;image-rendering:auto}
@keyframes villes-respire{to{transform:scale(1.025)}}
.villes-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,5,.35) 0%,rgba(2,8,5,0) 30%,rgba(2,8,5,0) 86%,#050505 100%)}
#villesCv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
body.has-villes .rubans,body.has-villes .cascade,body.has-villes .hero-maisons{display:none!important}
body.has-villes .hero{overflow:hidden;text-align:center;padding:clamp(96px,12vh,150px) 0 0;align-items:flex-start;min-height:100dvh}
body.has-villes .hero::after{display:none}
body.has-villes .hero-inner{z-index:2;display:flex;flex-direction:column;align-items:center;min-height:calc(100dvh - clamp(96px,12vh,150px))}
body.has-villes .hero h1{max-width:none;font-size:clamp(48px,min(9.6vw,15.5vh),176px);line-height:.84;letter-spacing:-.055em;margin-top:20px;
  background:linear-gradient(180deg,#FFF6DA 0%,#F6D77A 45%,#C8932B 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 40px rgba(217,174,60,.25))}
body.has-villes .hero h1 .a,body.has-villes .hero h1 .b{color:transparent;background:none}
body.has-villes .hero-sous{display:block;margin:18px 0 0;font:800 clamp(18px,2.1vw,30px)/1.1 'Archivo',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#F6D77A;
  text-shadow:0 0 2px rgba(0,0,0,.9),0 2px 10px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.85)}
.hero-sous em{font-style:normal;color:#FFF1C4}
body.has-villes .hero-bottom{align-items:center;border-top:0;margin-top:14px;max-width:none;flex:1;justify-content:space-between;padding-bottom:clamp(26px,5vh,54px)}
/* phrase d'accroche : couleur or pale sur un bandeau sombre, lisible sur le visuel */
body.has-villes .hero-bottom p{margin-inline:auto;max-width:56ch;color:#F6E7BF;font-weight:500;
  text-shadow:0 0 2px rgba(0,0,0,.95),0 2px 10px rgba(0,0,0,.95),0 0 28px rgba(0,0,0,.9)}
body.has-villes .hero-chiffres{display:flex;gap:clamp(26px,5vw,70px);margin:auto 0 14px}
body.has-villes .ville{display:block;position:absolute;z-index:3;transform:translateX(-50%);text-align:center}
.ville b{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(2,8,5,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(246,215,122,.35);font:800 13px/1 'Archivo',system-ui,sans-serif;letter-spacing:.24em;color:#F6D77A}
.ville b i{width:7px;height:7px;border-radius:50%;background:#F6D77A;box-shadow:0 0 12px #F6D77A}
.ville ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(-6px);transition:opacity .6s var(--e),transform .6s var(--e)}
.ville:hover ul,.ville.ouvert ul{opacity:1;transform:none}
.ville li{display:inline-flex;align-self:center;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(2,8,5,.72);border:1px solid var(--hair);font-size:12.5px;font-weight:600;white-space:nowrap}
.ville li i{width:7px;height:7px;border-radius:50%}
@media(max-width:800px){
  .villes-photo{background-size:140% auto;background-position:45% 66%}
  .villes-photo::after{background:linear-gradient(180deg,rgba(2,8,5,1) 0%,rgba(2,8,5,.9) 40%,rgba(2,8,5,0) 54%,rgba(2,8,5,0) 72%,var(--bg) 84%)}
  .ville ul{display:none}body.has-villes .hero-chiffres{display:none}
  .ville b{font-size:11px;padding:6px 11px;letter-spacing:.18em}
  body.has-villes .hero{padding-top:96px}body.has-villes .hero-inner{min-height:calc(100dvh - 150px)}body.has-villes .hero-bottom{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.villes-photo{animation:none}}

/* maisons cliquables sous les villes */
.ville li{padding:0;overflow:hidden}
.ville li a,.ville li .sans-lien{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;color:inherit;text-decoration:none}
.ville li a span{opacity:.5;font-size:11px;transition:transform .4s var(--e),opacity .4s}
.ville li a:hover{background:rgba(246,215,122,.14)}
.ville li a:hover span{opacity:1;transform:translate(2px,-2px)}
.ville li a:focus-visible{outline:2px solid #F6D77A;outline-offset:-2px;border-radius:999px}
body.has-villes .ville.ouvert ul,body.has-villes .ville:focus-within ul{opacity:1;transform:none}
/* pellicule : bande d'affiches facon film, en bas de l'en-tete */
.pellicule{display:none}
body.has-villes .pellicule:not([hidden]){display:block;position:absolute;z-index:2;left:0;right:0;bottom:0;height:var(--pel-h,140px);overflow:hidden;
  background:#050505;border-top:1px solid rgba(246,215,122,.18);
  -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pellicule::before,.pellicule::after{content:"";position:absolute;left:0;right:0;height:10px;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(239,234,216,.55) 8px 16px,transparent 16px 26px);background-size:26px 6px;background-repeat:repeat-x;background-position:0 50%}
.pellicule::before{top:2px}.pellicule::after{bottom:2px}
.pel-file{display:flex;gap:8px;height:100%;padding:16px 0;width:max-content;animation:pel-file 140s linear infinite}
.pellicule:hover .pel-file{animation-play-state:paused}
.pel-file a{display:block;height:100%}
.pel-file img{height:100%;aspect-ratio:2/3;object-fit:cover;display:block;border-radius:2px;filter:saturate(.9) brightness(.85);transition:filter .4s,transform .4s var(--e)}
.pel-file a:hover img{filter:none;transform:scale(1.08)}
@keyframes pel-file{to{transform:translateX(-50%)}}
body.has-villes .hero-bottom{padding-bottom:calc(clamp(18px,3vh,40px) + var(--pel-h,140px))}
@media(max-width:800px){body.has-villes{--pel-h:104px}.pel-file{padding:13px 0}body.has-villes .hero-bottom{padding-bottom:calc(var(--pel-h) + 24px)}}
@media(prefers-reduced-motion:reduce){.pel-file{animation:none}}
/* le grain de pellicule et les lignes de balayage salissaient le visuel HD :
   retires de l'accueil quand le visuel Bruxelles - Paris est actif */
body.has-villes .fx-grain,body.has-villes .fx-scan{display:none}



/* affiches en fondu dans le ciel vide, derriere le titre */
.villes-affiches{position:absolute;left:-4%;right:-4%;top:-6%;height:66%;display:grid;grid-template-columns:repeat(12,1fr);gap:14px;transform:rotate(-4deg);opacity:.16;
  -webkit-mask:radial-gradient(70% 80% at 50% 20%,#000 0%,rgba(0,0,0,.6) 45%,transparent 78%);mask:radial-gradient(70% 80% at 50% 20%,#000 0%,rgba(0,0,0,.6) 45%,transparent 78%);
  filter:saturate(.7);pointer-events:none}
.villes-affiches img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;display:block}
.villes-affiches img:nth-child(even){transform:translateY(34%)}
@media(max-width:800px){.villes-affiches{grid-template-columns:repeat(6,1fr);height:58%;opacity:.13}}
/* ordinateur : le visuel est descendu pour poser l'horizon dans le tiers bas */
@media(min-width:801px){body.has-villes .villes-photo{top:var(--descente,18%);bottom:calc(-1 * var(--descente,18%))}}
/* la liste des maisons s'ouvre au-dessus de l'etiquette, pour ne pas couvrir la pellicule */
@media(min-width:801px){
  body.has-villes .ville ul{position:absolute;left:50%;bottom:calc(100% + 10px);margin:0;transform:translate(-50%,6px)}
  body.has-villes .ville:hover ul,body.has-villes .ville.ouvert ul,body.has-villes .ville:focus-within ul{transform:translate(-50%,0)}}

/* ordinateur : Bruxelles a gauche de l'Atomium, Paris a droite de la tour Eiffel */
@media(min-width:801px){
  body.has-villes #villeBx{transform:translate(-100%,-50%);text-align:right}
  body.has-villes #villePa{transform:translate(0,-50%);text-align:left}
  body.has-villes #villeBx ul{left:auto;right:0;transform:translateY(6px)}
  body.has-villes #villePa ul{left:0;transform:translateY(6px)}
  body.has-villes #villeBx:hover ul,body.has-villes #villeBx.ouvert ul,body.has-villes #villeBx:focus-within ul,
  body.has-villes #villePa:hover ul,body.has-villes #villePa.ouvert ul,body.has-villes #villePa:focus-within ul{transform:none}
  body.has-villes #villeBx li{align-self:flex-end}body.has-villes #villePa li{align-self:flex-start}}

/* ---------- accueil : tout tient dans le premier ecran, quelle que soit sa hauteur ----------
   les tailles suivent la hauteur de l'ecran (vh) autant que sa largeur */
body.has-villes{--pel-h:clamp(124px,21vh,200px)}
body.has-villes .hero{padding-top:clamp(80px,11vh,140px)}
body.has-villes .hero-inner{min-height:calc(100dvh - clamp(80px,11vh,140px))}
body.has-villes .hero h1{font-size:clamp(40px,min(8.4vw,10.8vh),150px);margin-top:clamp(10px,1.6vh,20px)}
body.has-villes .hero-sous{font-size:clamp(14px,min(1.7vw,2.9vh),24px);margin-top:clamp(8px,1.4vh,16px)}
body.has-villes .hero-bottom{margin-top:clamp(6px,1.2vh,14px);padding-bottom:calc(clamp(10px,2vh,30px) + var(--pel-h))}
body.has-villes .hero-bottom p{font-size:clamp(13px,min(1.1vw,2.1vh),17px);line-height:1.45}
body.has-villes .hero-chiffres{margin:auto 0 clamp(8px,1.4vh,14px);gap:clamp(22px,4vw,60px)}
body.has-villes .hero-chiffres b{font-size:clamp(22px,min(2.6vw,4.4vh),40px)}
body.has-villes .hero-chiffres span{font-size:11px;margin-top:4px}
body.has-villes .hero .cta{padding-top:clamp(8px,1.2vh,12px);padding-bottom:clamp(8px,1.2vh,12px)}
@media(max-width:800px){body.has-villes{--pel-h:clamp(110px,16vh,140px)}}

/* etiquette placee sous son monument quand il n'y a pas la place a cote */
@media(min-width:801px){body.has-villes #villeBx.dessous,body.has-villes #villePa.dessous{transform:translateX(-50%);text-align:center}
  body.has-villes .ville.dessous ul{left:50%;right:auto;transform:translate(-50%,6px)}
  body.has-villes .ville.dessous:hover ul,body.has-villes .ville.dessous.ouvert ul{transform:translate(-50%,0)}
  body.has-villes .ville.dessous li{align-self:center}}

/* ---------- titre principal "Connecting creative ecosystems" (modele contour) ---------- */
.hero-marque{display:none}
body.has-villes .hero .eyebrow{display:none}
body.has-villes .hero h1{text-transform:uppercase;line-height:.9;margin-top:clamp(26px,5vh,56px);
  font-size:clamp(40px,min(7.6vw,11.4vh),150px);letter-spacing:-.04em;background:none;-webkit-background-clip:border-box;background-clip:border-box;filter:none}
body.has-villes .hero h1 .a{color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px var(--accent)}
body.has-villes .hero h1 .b{color:var(--accent);-webkit-text-fill-color:var(--accent);background:none}
/* chiffres : une couleur vive chacun, lisibles sur le reseau dore */
body.has-villes .hero-chiffres > :nth-child(3n+1) b{color:#4ADE9F;text-shadow:0 0 22px rgba(74,222,159,.45)}
body.has-villes .hero-chiffres > :nth-child(3n+2) b{color:#7CC4FF;text-shadow:0 0 22px rgba(124,196,255,.45)}
body.has-villes .hero-chiffres > :nth-child(3n+3) b{color:#FF8FB1;text-shadow:0 0 22px rgba(255,143,177,.45)}
body.has-villes .hero-chiffres span{color:#E9E4D2}
/* bouton du catalogue : corail, pour se detacher du jaune */
body.has-villes .hero .cta{background:linear-gradient(120deg,#FF7A59,#F0457E);color:#fff;box-shadow:0 12px 34px rgba(240,69,126,.38)}
body.has-villes .hero .cta:hover{color:#fff}
body.has-villes .hero .cta i{background:rgba(255,255,255,.2)}
/* villes : simple lien vers les maisons, sans liste deroulante */
.ville a.ville-lien{display:inline-flex;align-items:center;gap:10px;color:#F6D77A;text-decoration:none;transition:transform .5s var(--e),background .5s var(--e)}
.ville a.ville-lien:hover{transform:translateY(-2px);background:rgba(246,215,122,.16)}
.ville a.ville-lien:focus-visible{outline:2px solid #F6D77A;outline-offset:3px}
.ville b.ville-b{padding:0;overflow:hidden}
.ville a.ville-lien{padding:8px 16px;border-radius:999px}
@media(max-width:800px){.ville a.ville-lien{padding:6px 11px}}
body.has-villes .hero .cta span{font-weight:600}
/* retouches : pas de bouton ni d'affiches dans le ciel ; 168 mene au catalogue */
body.has-villes .hero .cta,body.has-villes .villes-affiches{display:none}
.chiffre-lien{position:relative;display:block;color:inherit;text-decoration:none;text-align:center}
.chiffre-lien b{transition:transform .5s var(--e)}
.chiffre-lien:hover b,.chiffre-lien:focus-visible b{transform:scale(1.08)}
.chiffre-lien::after{content:attr(data-bulle) "  ↗";position:absolute;left:50%;bottom:calc(100% + 12px);white-space:nowrap;padding:8px 16px;border-radius:999px;
  background:linear-gradient(120deg,#FF7A59,#F0457E);color:#fff;font:600 13px/1 'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:0;box-shadow:0 10px 30px rgba(240,69,126,.4);
  opacity:0;transform:translate(-50%,6px);pointer-events:none;transition:opacity .4s var(--e),transform .4s var(--e)}
.chiffre-lien:hover::after,.chiffre-lien:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.chiffre-lien:focus-visible{outline:2px solid #7CC4FF;outline-offset:6px;border-radius:12px}
/* mobile : le bouton n'existe plus, les chiffres reprennent sa place (168 ouvre le catalogue) */
@media(max-width:800px){body.has-villes .hero-chiffres{display:flex;justify-content:center;gap:34px;margin:auto 0 clamp(14px,3vh,30px)}
  body.has-villes .hero-chiffres b{font-size:34px}}
/* les chiffres gardent leur hauteur entre les monuments, a la place laissee par le bouton */
@media(min-width:801px){body.has-villes .hero-chiffres{margin-bottom:calc(clamp(8px,1.4vh,14px) + 76px)}}
/* listes des villes : pastilles de meme largeur, points alignes a gauche, fleche a droite */
body.has-villes .ville ul{width:max-content}
body.has-villes .ville li,body.has-villes #villeBx li,body.has-villes #villePa li{align-self:stretch}
body.has-villes .ville li a,body.has-villes .ville li .sans-lien{display:flex;width:100%;box-sizing:border-box}
body.has-villes .ville li a span{margin-left:auto;padding-left:6px}

/* ================= site en plusieurs pages =================
   chaque rubrique a sa page (metiers.html, maisons.html, equipe.html,
   actualites.html) ; l'accueil n'en garde qu'un apercu avec un lien */

/* page active dans le menu */
.nav-links a[aria-current="page"]{color:var(--txt);font-weight:600;text-decoration:underline 2px var(--accent);text-underline-offset:9px}

/* en-tete des pages interieures : place pour la barre du haut, titre en h1 */
.page-tete{padding-top:clamp(140px,18vh,190px)}
.page-tete h1.display{font-size:clamp(34px,5.4vw,84px);margin:0 0 24px}

/* apercus de l'accueil */
.apercu .sec-head{margin-bottom:30px}
.ap-puces{display:flex;flex-wrap:wrap;gap:10px}
.ap-puce{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--hair-2);
  background:rgba(3,16,10,.5);color:var(--txt);font-size:15px;font-weight:600;text-decoration:none;transition:border-color .4s var(--e),transform .4s var(--e)}
.ap-puce i{width:8px;height:8px;border-radius:50%;background:rgb(var(--c,217,174,60));flex:none}
.ap-puce:hover{border-color:rgb(var(--c,217,174,60));transform:translateY(-2px)}
.ap-maisons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ap-maison{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:20px 22px;border-radius:20px;
  border:1px solid var(--hair);background:var(--core);color:var(--txt);text-decoration:none;transition:border-color .4s var(--e),transform .4s var(--e)}
.ap-maison i{grid-row:1/3;width:12px;height:12px;border-radius:50%}
.ap-maison b{font:800 18px/1.2 'Archivo',system-ui,sans-serif;letter-spacing:-.01em}
.ap-maison span{grid-column:2;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3)}
.ap-maison em{grid-row:1/3;grid-column:3;font-style:normal;color:var(--txt-3);transition:transform .4s var(--e),color .4s}
a.ap-maison:hover{border-color:var(--hair-2);transform:translateY(-2px)}
a.ap-maison:hover em{color:var(--accent);transform:translate(3px,-3px)}
@media(max-width:900px){.ap-maisons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ap-maisons{grid-template-columns:1fr}}
.ap-lien{display:inline-flex;align-items:center;gap:12px;margin-top:28px;min-height:48px;padding:12px 24px;border-radius:999px;border:1px solid rgba(217,174,60,.45);
  color:var(--accent);font-size:14px;font-weight:600;text-decoration:none;transition:transform .4s var(--e),background .4s var(--e)}
.ap-lien i{font-style:normal;transition:transform .4s var(--e)}
.ap-lien:hover{background:rgba(217,174,60,.1);transform:translateY(-2px)}
.ap-lien:hover i{transform:translateX(4px)}
.ap-lien-2{margin-left:10px;border-color:var(--hair-2);color:var(--txt)}
@media(max-width:560px){.ap-lien-2{margin-left:0}}
.ap-lien:focus-visible,.ap-puce:focus-visible,.ap-maison:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* pied de page : lien vers les mentions legales */
.foot-liens{display:flex;gap:18px;flex-wrap:wrap}
.foot-liens a{color:var(--txt-2);text-decoration:underline;text-underline-offset:3px}
.foot-liens a:hover{color:var(--txt)}

/* mentions legales */
.mentions{display:grid;gap:14px;max-width:860px}
.mention{padding:24px 26px;border-radius:20px;border:1px solid var(--hair);background:var(--core)}
.mention h2{margin:0 0 10px;font:800 19px/1.2 'Archivo',system-ui,sans-serif}
.mention p{margin:0;color:var(--txt-2);line-height:1.7}
.mention mark{background:rgba(217,174,60,.18);color:#F6D77A;padding:1px 6px;border-radius:5px}
