/*
Theme Name: Thème PAYSAGE - V1
Theme URI: https://paysages-urba.fr
Author: Hugo Giorgi
Description: Thème WordPress custom PAYSAGE — version V1 safe admin / anti-504, sans imports ni migrations automatiques au chargement du back-office.
Version: 1.2.2-final
Text Domain: theme-paysage-v1
*/

/* =========================================================
   DESIGN SYSTEM
   ========================================================= */
:root{
  --red:#E4032E; --ink:#1A1714; --ink-2:#403A34;
  --paper:#F2EDE4; --paper-2:#E9E2D5; --white:#FBF8F2;
  --line:#CBC1B0; --line-strong:#A89C86;
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-snap:cubic-bezier(0.34,1.14,0.64,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --sp-1:8px; --sp-2:14px; --sp-3:20px; --sp-4:28px; --sp-5:40px; --sp-6:64px;
  --serif:"Fraunces",Georgia,serif; --mono:"Spline Sans Mono",ui-monospace,monospace; --sans:"Archivo",system-ui,sans-serif;
  --header-h:74px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--red);color:#fff}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ink-2)}
.mono--red{color:var(--red)}
.serif{font-family:var(--serif)}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--sp-4)}
.section{padding:var(--sp-6) 0;position:relative}
.lead-xl{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,62px);line-height:1.04;letter-spacing:-.02em;max-width:18ch}
.lead-xl em{font-style:italic;color:var(--red)}

/* grille atlas en fond (léger) */
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.3;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:26px 26px;-webkit-mask-image:radial-gradient(130% 120% at 75% 0%,#000 55%,transparent 100%);mask-image:radial-gradient(130% 120% at 75% 0%,#000 55%,transparent 100%)}

/* =========================================================
   HEADER
   ========================================================= */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:16px var(--sp-4);background:rgba(242,237,228,.86);backdrop-filter:saturate(120%) blur(8px)}
.hd::after{content:"";position:absolute;left:var(--sp-4);right:var(--sp-4);bottom:0;height:1px;background:var(--ink);opacity:.16}
.brand{display:flex;align-items:center;gap:12px}
.brand>span{display:flex;flex-direction:column}
.brand__mono{width:34px;height:34px;flex:none}
.brand__txt{font-weight:800;letter-spacing:.02em;font-size:18px;line-height:1}
.brand__sub{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-top:3px;white-space:nowrap}
.nav{display:flex;gap:2px;justify-self:center}
.nav a{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding:9px 14px;color:var(--ink-2);transition:color .3s var(--ease)}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{transform:scaleX(1)}
.nav a.is-active{color:var(--ink)}
.nav a.is-active::after{transform:scaleX(1)}
.hd__meta{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);text-align:right;line-height:1.5}
.hd__meta b{color:var(--red);font-weight:500}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* ===== MENU MOBILE — révélation par panneaux décalés ===== */
.mobile-nav{position:fixed;inset:0;z-index:55;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:40px;clip-path:inset(0 0 100% 0);transition:clip-path .5s var(--ease-out);overflow:hidden}
body.menu-open .mobile-nav{clip-path:inset(0 0 0 0);transition:clip-path .52s var(--ease-snap)}
.mobile-nav::before{content:"";position:absolute;inset:0;background:var(--red);transform:scaleY(1);transform-origin:top;transition:transform .55s var(--ease);z-index:0}
body.menu-open .mobile-nav::before{transform:scaleY(0);transition-delay:.15s}
.mobile-nav__list{position:relative;z-index:1;display:flex;flex-direction:column}
.mobile-nav a{font-family:var(--serif);font-size:clamp(34px,9vw,52px);font-weight:300;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);display:flex;align-items:baseline;gap:16px;opacity:0;transform:translateX(-30px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
body.menu-open .mobile-nav a{opacity:1;transform:translateX(0)}
body.menu-open .mobile-nav a:nth-child(1){transition-delay:.30s}
body.menu-open .mobile-nav a:nth-child(2){transition-delay:.37s}
body.menu-open .mobile-nav a:nth-child(3){transition-delay:.44s}
body.menu-open .mobile-nav a:nth-child(4){transition-delay:.51s}
body.menu-open .mobile-nav a:nth-child(5){transition-delay:.58s}
body.menu-open .mobile-nav a:nth-child(6){transition-delay:.65s}
.mobile-nav a em{font-family:var(--mono);font-size:13px;color:var(--red);font-style:normal;transition:color .3s}
.mobile-nav a:hover{color:var(--red)}
.mobile-nav a:hover em{color:var(--paper)}
.mobile-nav__foot{position:relative;z-index:1;margin-top:40px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--line-strong);opacity:0;transition:opacity .5s var(--ease) .7s}
body.menu-open .mobile-nav__foot{opacity:1}

.page{padding-top:var(--header-h);position:relative;z-index:1}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:15px 26px;border:1px solid var(--ink);background:none;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:10px;transition:background .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease);margin-left:-1px;position:relative;overflow:hidden}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.btn--red{background:var(--red);border-color:var(--red);color:#fff}
.btn--red:hover{background:var(--ink);border-color:var(--ink)}

/* =========================================================
   HERO (home)
   ========================================================= */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:var(--sp-6);z-index:1}
.hero__top{position:absolute;top:96px;left:var(--sp-4);right:var(--sp-4);display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(64px,13vw,200px);line-height:.86;letter-spacing:-.035em}
.hero h1 em{font-style:italic;color:var(--red)}
.hero__lead{display:flex;justify-content:space-between;align-items:flex-end;margin-top:var(--sp-4);gap:var(--sp-5);flex-wrap:wrap}
.hero__lead p{font-family:var(--serif);font-weight:300;font-size:clamp(19px,2.1vw,26px);line-height:1.35;max-width:42ch}
.hero__lead p em{font-style:italic;color:var(--red)}
.hero__cta{display:flex;flex:none}
.contours{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.5}
.contours path{fill:none;stroke:var(--red);stroke-width:1;opacity:.45}


/* logo hero (placeholder ou réel) */
.hero__logo{display:flex;align-items:center;gap:18px;margin-bottom:6px}
.hero__logo .brand__mono,.hero__logo svg{width:clamp(54px,8vw,92px);height:auto;flex:none}
.hero__logo img{max-height:120px;width:auto}
.hero__logo h1{font-family:var(--serif);font-weight:300;font-size:clamp(56px,12vw,180px);line-height:.86;letter-spacing:-.035em}
.hero__logo h1 em{font-style:italic;color:var(--red)}
.hero__logo--placeholder{position:relative}

/* bandeau sombre */
.band{background:var(--ink);color:var(--paper);position:relative;z-index:1;overflow:hidden}
.band .bg-grid{position:absolute;opacity:.06;-webkit-mask-image:none;mask-image:none;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px)}
.band__in{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:var(--sp-6) var(--sp-4)}
.band h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,5vw,68px);line-height:1.04;letter-spacing:-.02em;max-width:18ch}
.band h2 em{font-style:italic;color:var(--red)}
.band .mono{color:var(--line-strong)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);margin-top:var(--sp-6)}
.stat{padding:var(--sp-4) var(--sp-3);border-right:1px solid rgba(255,255,255,.2)}
.stat:last-child{border-right:0}
.stat b{font-family:var(--serif);font-weight:300;font-size:clamp(44px,5.5vw,76px);color:var(--red);line-height:1;display:block}
.stat span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--line-strong);margin-top:10px;display:block}

/* expertise layers */
.layers{border-top:1px solid var(--ink)}
.layer{display:grid;grid-template-columns:90px 1fr minmax(0,46ch);gap:30px;align-items:center;padding:var(--sp-4) 0;border-bottom:1px solid var(--line-strong);transition:padding-left .3s var(--ease-snap),background .3s var(--ease)}
.layer:hover{padding-left:18px;background:var(--white)}
.layer__n{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.1em}
.layer__t{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.2vw,42px);letter-spacing:-.01em}
.layer__d{font-size:14px;color:var(--ink-2);line-height:1.6}

.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:var(--sp-4)}

/* =========================================================
   CARDS (références featured, brèves)
   ========================================================= */
.gv-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line-strong)}
.card{position:relative;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:22px;cursor:pointer;display:flex;flex-direction:column;min-height:300px;transition:background .22s var(--ease),transform .22s var(--ease-snap)}
.card:hover{background:var(--white);transform:translateY(-2px)}
.card::after{content:"";position:absolute;inset:0;border:1px solid var(--red);opacity:0;pointer-events:none;transition:opacity .22s var(--ease)}
.card:hover::after{opacity:1}
.card__n{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--line-strong)}
.card:hover .card__n{color:var(--red)}
.card__t{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.06;margin:16px 0 12px;letter-spacing:-.01em}
.card__i{font-size:13px;color:var(--ink-2);line-height:1.55;flex:1}
.card__meta{margin-top:18px;display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);border-top:1px dashed var(--line-strong);padding-top:12px}
.card__meta b{color:var(--ink);font-weight:600}
.card .ar{position:absolute;right:20px;bottom:22px;color:var(--red);opacity:0;transform:translateX(-6px);transition:all .22s var(--ease)}
.card:hover .ar{opacity:1;transform:translateX(0)}

/* =========================================================
   FOOTER
   ========================================================= */
.foot{background:var(--ink);color:var(--paper);position:relative;z-index:1}
.foot__in{max-width:1280px;margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-4);display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--sp-5)}
.foot h3{font-family:var(--serif);font-weight:300;font-size:38px;line-height:.95;margin-bottom:var(--sp-3)}
.foot h3 em{font-style:italic;color:var(--red)}
.foot__col h4{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--line-strong);margin-bottom:16px}
.foot__col ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;color:#D8CFC0}
.foot__col a:hover{color:var(--red)}
.foot__bar{border-top:1px solid rgba(255,255,255,.18);margin-top:var(--sp-4);padding:18px var(--sp-4);max-width:1280px;margin-left:auto;margin-right:auto;display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--line-strong)}

/* =========================================================
   RESPONSIVE GLOBAL
   ========================================================= */
@media (max-width:1100px){
  .nav,.hd__meta{display:none}
  .hd{grid-template-columns:1fr auto}
  .burger{display:flex}
}
@media (max-width:1023px){
  .gv-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .layer{grid-template-columns:70px 1fr;gap:8px 20px}
  .layer__d{grid-column:2}
  .foot__in{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  :root{--header-h:64px}
  .nav,.hd__meta{display:none}
  .hd{grid-template-columns:1fr auto;padding:13px var(--sp-3)}
  .burger{display:flex}
  .wrap{padding:0 var(--sp-3)}
  .section{padding:var(--sp-5) 0}
  .hero__top{display:none}
  .hero__cta{flex-direction:column;width:100%}
  .hero__cta .btn{width:100%;justify-content:center;margin:-1px 0 0}
  .gv-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .layer{grid-template-columns:1fr;gap:8px}
  .layer:hover{padding-left:0}
  .section-title{flex-direction:column;align-items:flex-start}
  .foot__in{grid-template-columns:1fr}
  .foot__bar{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Compat V26 */


/* =========================================================
   V30 — corrections structurelles demandées
   ========================================================= */
/* Hero : retour d'un cadre respirant + contours SVG non remplis */
.hero{min-height:88vh;padding:calc(var(--header-h) + var(--sp-5)) 0 var(--sp-6);justify-content:flex-end;overflow:hidden}
.hero__wrap{max-width:1280px;width:100%;margin:0 auto;padding:0 var(--sp-4)}
.contour,.hero-contours,.contours{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.36}
.contour path,.hero-contours path,.contours path{fill:none!important;stroke:var(--red);stroke-width:1;opacity:.45}
.hero__lead{align-items:flex-end;gap:var(--sp-5)}
.hero__lead p{max-width:48ch;min-width:min(100%,560px)}
.hero__logo{max-width:1180px}
.hero__logo img{max-height:clamp(84px,12vw,160px);width:auto;object-fit:contain}
.hero__logo--placeholder .brand__mono{width:clamp(64px,8vw,104px)}
@media(max-width:760px){.hero{min-height:auto;padding:calc(var(--header-h) + 48px) 0 54px}.hero__lead p{min-width:0;max-width:100%;font-size:clamp(21px,7vw,30px)}.hero__logo h1{font-size:clamp(72px,24vw,120px)}}

/* Équipe : éviter les colonnes tassées + experts associés lisibles */
.equipe-intro .layers--compact .layer{grid-template-columns:52px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;padding:22px 0!important}
.equipe-intro .layers--compact .layer__t{font-size:clamp(24px,3vw,32px)!important;line-height:1.05!important}
.equipe-intro .layers--compact .layer__d{max-width:48ch;grid-column:2!important;line-height:1.55!important}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line-strong)}
.partner-card{padding:26px 24px;min-height:150px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:transparent;transition:background .22s var(--ease),border-color .22s var(--ease)}
.partner-card:hover{background:var(--white);border-color:var(--red)}
.partner-card .role{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.partner-card h3{line-height:1.12;font-size:26px}
@media(max-width:1023px){.partners-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.equipe-intro .layers--compact .layer{grid-template-columns:42px 1fr!important}.partners-grid{grid-template-columns:1fr}}

/* Atlas : zoom Leaflet décollé des contrôles haut / liste droite toujours lisible */
.atlas-stage .leaflet-top.leaflet-left{top:14px;left:14px}
.atlas-stage .leaflet-control-zoom{margin:0!important;box-shadow:6px 6px 0 rgba(26,23,20,.10)!important}
.proj-card__img--fallback{display:grid;place-items:center;background:var(--paper-2);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);padding:16px;text-align:center}
.proj-card__body{min-height:190px}
@media(min-width:1024px){.atlas-list{width:336px}.atlas-grid-view.is-active{padding:24px}.atlas-grid-view.is-active .proj-grid{gap:0}.atlas-stage .leaflet-top.leaflet-left{top:18px;left:18px}}

/* Presse : conserver une vraie grille éditoriale */
.press-card--atlas{min-height:100%;background:transparent}
.press-card__body h2{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.3vw,34px);line-height:1.08;margin:10px 0 12px}
.press-card__body p{font-size:14px;line-height:1.6;color:var(--ink-2);margin-bottom:18px}


/* =========================================================
   V33 — corrections mobiles accueil + logo administrable
   ========================================================= */
@media(max-width:760px){
  .hero{padding:calc(var(--header-h) + 34px) 0 44px;min-height:auto;overflow:hidden}
  .hero__wrap{padding:0 28px;overflow:hidden}
  .hero__logo{max-width:100%;gap:12px;overflow:hidden;align-items:center;margin-bottom:22px}
  .hero__logo img{max-width:100%;max-height:86px;height:auto;object-fit:contain}
  .hero__logo .brand__mono{width:42px!important;min-width:42px}
  .hero__logo h1{font-size:clamp(54px,20vw,82px)!important;line-height:.9;white-space:nowrap;max-width:calc(100vw - 102px);overflow:hidden;text-overflow:clip}
  .hero__lead{margin-top:12px;gap:24px;align-items:flex-start}
  .hero__lead p{font-size:clamp(24px,7.2vw,31px)!important;line-height:1.17;max-width:11.5em;min-width:0}
  .brand__txt{font-size:17px}.brand__sub{font-size:7.5px;max-width:205px;overflow:hidden;text-overflow:ellipsis}
}


/* =========================================================
   V36 — Atlas collé au header + logo hero SVG/PNG administrable
   ========================================================= */
:root{--atlas-bar-h:46px;--atlas-h:calc(100dvh - var(--header-h,74px) - var(--atlas-bar-h,46px))}
.hd{z-index:100}
.references-atlas{padding-top:var(--header-h,74px);overflow:clip;background:var(--paper)}
.references-atlas .atlas-bar{position:sticky;top:var(--header-h,74px);z-index:90;min-height:var(--atlas-bar-h,46px);margin:0;border-top:0;background:var(--paper)}
.references-atlas .atlas-layout{margin-top:0;position:relative;z-index:1}
.references-atlas .atlas-stage .leaflet-top.leaflet-right{top:12px!important;right:12px!important;z-index:10!important}
.references-atlas .atlas-stage .leaflet-control-zoom{margin:0!important}
.hero__logo--custom{max-width:min(1180px,calc(100vw - 56px))}
.hero__logo--custom img{display:block;width:auto;height:auto;max-width:100%;max-height:clamp(88px,14vw,178px);object-fit:contain}
.hero__logo--real .custom-logo-link{display:inline-flex;align-items:center;max-width:100%}
.hero__logo--real .custom-logo{width:auto;height:auto;max-width:100%;object-fit:contain}
@media(min-width:1024px){
  .references-atlas .atlas-layout{height:var(--atlas-h);overflow:hidden}
  .references-atlas.is-fullmap .atlas-main{height:var(--atlas-h);width:100%}
}
@media(max-width:760px){
  :root{--atlas-bar-h:48px;--atlas-h:calc(100dvh - var(--header-h,64px) - var(--atlas-bar-h,48px))}
  .references-atlas{padding-top:var(--header-h,64px);overflow:visible}
  .references-atlas .atlas-bar{top:var(--header-h,64px);z-index:90;min-height:var(--atlas-bar-h,48px);border-top:0}
  .references-atlas .atlas-stage{height:calc(100dvh - var(--header-h,64px) - var(--atlas-bar-h,48px));min-height:420px;max-height:none}
  .references-atlas .atlas-stage .leaflet-top.leaflet-right{top:10px!important;right:10px!important}
  .atlas-tools{left:6px!important;right:6px!important;bottom:6px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;align-items:stretch!important;max-width:calc(100% - 12px)!important;flex-wrap:nowrap!important}
  .atlas-tools>*{min-width:0;width:100%}
  .map-style{width:100%}
  .tool-btn{width:100%;min-height:32px;padding:6px 4px!important;justify-content:center;text-align:center;font-size:7.2px!important;letter-spacing:.055em!important;gap:3px!important;box-shadow:1px 1px 0 rgba(26,23,20,.08)!important;white-space:nowrap;overflow:hidden;text-overflow:clip}
  .map-style__btn{padding-left:3px!important;padding-right:3px!important}
  .map-style__menu{left:0;bottom:calc(100% + 5px);min-width:min(210px,calc(100vw - 16px));max-width:calc(100vw - 16px)}
  .map-style__menu button{font-size:9px;padding:10px 11px}
  .atlas-grid-view.is-active{padding:12px 10px!important;background:var(--paper)}
  .proj-grid{grid-template-columns:1fr!important}
  .proj-card__img{aspect-ratio:16/9!important}
  .proj-card__body{padding:13px!important;min-height:0!important}
  .proj-card__t{font-size:21px!important;margin:8px 0 8px!important}
  .proj-card__i{font-size:12px!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .references-atlas.is-fullmap .atlas-main{height:var(--atlas-h);display:block}
  .references-atlas.is-fullmap .atlas-stage{height:100%;min-height:0;border-bottom:0}
  .hero__logo--custom img{max-height:92px}
}


/* =========================================================
   V40 — Atlas viewport exact : header -> atlas-bar -> atlas-layout, zéro espace
   ========================================================= */
:root{
  --atlas-live-header-h:var(--header-h,74px);
  --atlas-live-bar-h:46px;
  --atlas-h:calc(100dvh - var(--atlas-live-header-h) - var(--atlas-live-bar-h));
  --filters-actions-h:48px;
}

/* Le main devient le cadre Atlas sous le header.
   Plus de padding compensatoire : la barre et le layout sont positionnés bord à bord. */
.references-atlas{
  position:fixed!important;
  top:var(--atlas-live-header-h)!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--paper)!important;
  z-index:50!important;
}
.references-atlas > .atlas-bar{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--atlas-live-bar-h)!important;
  min-height:var(--atlas-live-bar-h)!important;
  max-height:var(--atlas-live-bar-h)!important;
  margin:0!important;
  padding:0!important;
  border-top:0!important;
  border-bottom:1px solid var(--ink)!important;
  background:var(--paper)!important;
  z-index:5!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.references-atlas > .atlas-layout{
  position:absolute!important;
  top:var(--atlas-live-bar-h)!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  z-index:1!important;
  box-sizing:border-box!important;
}
.references-atlas .atlas-main,
.references-atlas.is-fullmap .atlas-main{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
.references-atlas .atlas-stage,
.references-atlas.is-fullmap .atlas-stage{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  border-bottom:0!important;
}
.references-atlas .atlas-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

/* Le bouton Recentrer est retiré : il ne sert plus dans cette version. */
.references-atlas [data-recenter]{display:none!important}

/* Les contrôles de carte restent dans le viewport. */
.references-atlas .atlas-tools{
  left:12px!important;
  right:12px!important;
  bottom:12px!important;
  z-index:20!important;
}
.references-atlas .atlas-stage .leaflet-top.leaflet-right{
  top:12px!important;
  right:12px!important;
  z-index:10!important;
}
.references-atlas .atlas-stage .leaflet-control-zoom{margin:0!important}

/* Boutons filtres : bordure complète + présence permanente en bas de la section. */


@media(min-width:1024px){
  :root{--atlas-live-bar-h:46px;--filters-actions-h:48px}
  .references-atlas > .atlas-layout{
    display:flex!important;
    flex-direction:row!important;
  }
  .references-atlas .atlas-aside{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .references-atlas .atlas-intro{flex:0 0 auto!important}
  
  
  
  
  .references-atlas .atlas-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 320px!important;
    grid-template-rows:1fr!important;
  }
  .references-atlas.is-fullmap > .atlas-layout{display:block!important}
  .references-atlas.is-fullmap .atlas-main{display:block!important;width:100%!important}
  .references-atlas .atlas-list{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .references-atlas .atlas-list__scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
  }
}

@media(max-width:1023px){
  :root{--atlas-live-bar-h:48px;--filters-actions-h:50px}
  .references-atlas > .atlas-bar{
    height:var(--atlas-live-bar-h)!important;
    min-height:var(--atlas-live-bar-h)!important;
    max-height:var(--atlas-live-bar-h)!important;
  }
  .references-atlas > .atlas-layout{display:block!important}
  .references-atlas .atlas-aside{
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    overflow:visible!important;
    border:0!important;
  }
  .references-atlas .atlas-intro{display:none!important}
  .references-atlas .atlas-main,
  .references-atlas.is-fullmap .atlas-main{
    height:100%!important;
    display:block!important;
    overflow:hidden!important;
  }
  .references-atlas .atlas-tools{
    left:6px!important;
    right:6px!important;
    bottom:6px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    align-items:stretch!important;
    max-width:calc(100% - 12px)!important;
    flex-wrap:nowrap!important;
  }
  .references-atlas .atlas-tools>*{min-width:0!important;width:100%!important}
  .references-atlas .map-style{width:100%!important}
  .references-atlas .tool-btn{
    width:100%!important;
    min-height:32px!important;
    padding:6px 4px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:7.2px!important;
    letter-spacing:.055em!important;
    gap:3px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  
  
  
  .references-atlas .atlas-grid-view.is-active{
    height:100%!important;
    overflow:auto!important;
  }
}


/* =========================================================
   V47 — Logos dissociés + fil d’Ariane discret
   ========================================================= */
/* =========================================================
   V42 — Logos dissociés et dimensions verrouillées
   ========================================================= */
.screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Header : le logo du menu est toujours contraint par le thème,
   quelle que soit la taille réelle du SVG/PNG importé. */
.brand{
  min-width:0!important;
}
.brand__mark{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  flex:0 0 34px!important;
}
.brand__mark img,
.brand__mark svg,
.brand__mark .brand__mono{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.brand .custom-logo-link,
.brand .custom-logo{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  display:block!important;
  object-fit:contain!important;
}
.brand__text{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}

/* Accueil : le grand logo/H1 est indépendant du logo WordPress classique.
   Son cadre est fixé ici, donc un SVG très grand ne peut plus exploser la page. */
.hero__logo--custom{
  display:block!important;
  width:min(860px,72vw)!important;
  height:clamp(92px,13vw,168px)!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  overflow:hidden!important;
  line-height:0!important;
}
.hero__logo--custom img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.hero__logo--placeholder{
  width:min(980px,78vw)!important;
  max-width:100%!important;
  overflow:visible!important;
}
.hero__logo--placeholder .brand__mono{
  width:clamp(62px,7.5vw,104px)!important;
  height:auto!important;
}
.hero__logo--placeholder h1{
  font-size:clamp(68px,12vw,176px)!important;
  max-width:100%!important;
}

@media(max-width:760px){
  .brand__mark,
  .brand__mark img,
  .brand__mark svg,
  .brand .custom-logo-link,
  .brand .custom-logo{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    max-height:30px!important;
  }
  .brand__txt{font-size:16px!important}
  .brand__sub{font-size:7.2px!important;max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .hero__logo--custom{
    width:100%!important;
    height:clamp(70px,22vw,110px)!important;
    margin-bottom:20px!important;
  }
  .hero__logo--custom img{object-position:left center!important}
  .hero__logo--placeholder{
    width:100%!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .hero__logo--placeholder h1{
    font-size:clamp(54px,18vw,92px)!important;
    white-space:nowrap!important;
    max-width:calc(100vw - 98px)!important;
    overflow:hidden!important;
  }
}


/* =========================================================
   V46 — Fil d'Ariane discret, sans impact layout
   ========================================================= */
.breadcrumb{
  position:fixed;
  z-index:58;
  top:calc(var(--header-h,74px) + 8px);
  left:var(--sp-4);
  max-width:min(720px,calc(100vw - 56px));
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 9px;
  background:rgba(242,237,228,.74);
  border:1px solid rgba(26,23,20,.12);
  backdrop-filter:saturate(120%) blur(8px);
  font-family:var(--mono);
  font-size:8.5px;
  line-height:1.1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(64,58,52,.72);
  pointer-events:auto;
}
.breadcrumb a{color:rgba(64,58,52,.72)}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.breadcrumb i{font-style:normal;color:rgba(64,58,52,.38)}
body.is-atlas-page .breadcrumb{display:none!important}
@media(max-width:760px){.breadcrumb{display:none!important}}


/* =========================================================
   V48 — restauration du design des pages hors Atlas depuis THEME v2
   Ces styles étaient historiquement dans assets/css/atlas.css et chargés partout.
   Ils sont réintégrés ici pour Presse, Équipe, Contact, Single, etc.
   ========================================================= */
/* =========================================================
   PAYSAGES — ATLAS v2 · MOBILE-FIRST, une source de vérité
   Desktop : filtres gauche (~1/5) + contenu droite (carte OU grille).
   Identique en mode Carte et Index. Z-index Leaflet plafonné.
   ========================================================= */
:root{
  --red:#E4032E; --ink:#1A1714; --ink-2:#403A34;
  --paper:#F2EDE4; --paper-2:#E9E2D5; --white:#FBF8F2;
  --line:#CBC1B0; --line-strong:#A89C86;
  --ease:cubic-bezier(.4,0,.2,1);
  --sp-2:14px; --sp-3:20px;
  --serif:"Fraunces",Georgia,serif; --mono:"Spline Sans Mono",ui-monospace,monospace; --sans:"Archivo",system-ui,sans-serif;
  --atlas-h:calc(100vh - var(--header-h,74px));
}
.references-atlas{position:relative;background:var(--paper)}

/* barre Carte/Index + LAT/LNG */
.atlas-bar{display:flex;align-items:stretch;justify-content:space-between;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper);position:sticky;top:var(--header-h,74px);z-index:30}
.atlas-bar .vtoggle{display:flex}
.atlas-bar .vtoggle button{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;border:0;border-right:1px solid var(--ink);background:none;color:var(--ink-2);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}
.atlas-bar .vtoggle button.on{background:var(--ink);color:var(--paper)}
.atlas-bar .readout{display:flex;align-items:center;gap:14px;padding:0 18px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.atlas-bar .readout b{color:var(--red);font-weight:500}
.atlas-bar .readout.is-hidden{visibility:hidden}

.atlas-layout{display:flex;flex-direction:column}

/* colonne filtres */
.atlas-aside{border-bottom:1px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}
.atlas-intro{border-bottom:1px solid var(--line-strong)}
.atlas-intro__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px var(--sp-3);cursor:pointer}
.atlas-intro__hd .mono{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);line-height:1.5}
.atlas-intro__hd .mono b{color:var(--ink)}
.atlas-intro__toggle{flex:none;background:none;border:1px solid var(--ink);font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;cursor:pointer;color:var(--ink);transition:background .2s var(--ease),color .2s var(--ease)}
.atlas-intro__toggle:hover{background:var(--ink);color:var(--paper)}
.atlas-intro__toggle b::after{content:"Réduire"}
.atlas-intro.is-collapsed .atlas-intro__toggle b::after{content:"Ouvrir"}
.atlas-intro__body{overflow:hidden;max-height:260px;opacity:1;transition:max-height .4s var(--ease),opacity .3s var(--ease),padding .3s var(--ease);padding:0 var(--sp-3) 18px}
.atlas-intro.is-collapsed .atlas-intro__body{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
.atlas-intro__body h2{font-family:var(--serif);font-weight:300;font-size:clamp(20px,2.4vw,26px);line-height:1.08;margin-bottom:10px}
.atlas-intro__body p{font-size:13px;line-height:1.55;color:var(--ink-2)}


.f-group{border-bottom:1px dashed var(--line-strong)}
.f-group__hd{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px var(--sp-3);background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--line-strong);transition:color .2s var(--ease)}
.f-group__hd:hover{color:var(--ink)}
.f-group__hd .chev{transition:transform .25s var(--ease)}
.f-group.is-collapsed .chev{transform:rotate(-90deg)}
.f-group__body{overflow:hidden;max-height:600px;transition:max-height .3s var(--ease);padding:0 var(--sp-3) 12px}
.f-group.is-collapsed .f-group__body{max-height:0;padding-top:0;padding-bottom:0}
.chip{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;cursor:pointer;padding:8px 0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);transition:color .2s var(--ease);text-align:left}
.chip:hover{color:var(--ink)}
.chip .dot{width:9px;height:9px;border:1.4px solid var(--ink-2);flex:none;transition:all .2s var(--ease)}
.chip.on{color:var(--ink);font-weight:600}
.chip.on .dot{background:var(--red);border-color:var(--red)}
.chip .ct{margin-left:auto;color:var(--line-strong);font-size:10px}


/* zone contenu */
.atlas-main{position:relative;background:var(--paper-2)}
.atlas-stage{position:relative;width:100%;height:56vh;min-height:340px}
.atlas-map{position:absolute;inset:0;height:100%;width:100%;background:var(--paper-2);cursor:crosshair}
.leaflet-container{background:var(--paper-2)!important;font-family:var(--mono)!important}
.leaflet-tile{filter:grayscale(.45) contrast(.96) brightness(1.03)}
.atlas-stage[data-basemap="atlas"] .leaflet-tile{filter:grayscale(1) contrast(.92) brightness(1.06)}
.atlas-stage .leaflet-pane{z-index:auto}
.atlas-stage .leaflet-top,.atlas-stage .leaflet-bottom{z-index:5}
.leaflet-control-zoom a{background:var(--white)!important;color:var(--ink)!important;border:1px solid var(--ink)!important;border-radius:0!important;width:34px!important;height:34px!important;line-height:32px!important}
.leaflet-control-zoom a:hover{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
.leaflet-control-attribution{background:rgba(242,237,228,.7)!important;font-size:9px!important}

/* contrôles carte sur UNE ligne */
.atlas-tools{position:absolute;left:12px;bottom:12px;right:12px;z-index:10;display:flex;gap:8px;flex-wrap:wrap;align-items:center;pointer-events:none}
.atlas-tools>*{pointer-events:auto}
.tool-btn{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--ink);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;cursor:pointer;color:var(--ink);box-shadow:3px 3px 0 rgba(26,23,20,.08);transition:background .2s var(--ease),color .2s var(--ease)}
.tool-btn:hover{background:var(--ink);color:var(--paper)}
.tool-btn b{color:var(--red);font-weight:600}
.tool-btn.on b{color:inherit}
.map-style{position:relative}
.map-style__menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:170px;background:var(--paper);border:1px solid var(--ink);display:none;box-shadow:5px 5px 0 rgba(26,23,20,.1)}
.map-style.is-open .map-style__menu{display:block}
.map-style__menu button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line-strong);background:none;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:10px 12px;cursor:pointer;color:var(--ink-2);transition:background .2s var(--ease),color .2s var(--ease)}
.map-style__menu button:last-child{border-bottom:0}
.map-style__menu button:hover{color:var(--ink)}
.map-style__menu button.on{background:var(--red);color:#fff}

/* marqueur rond, sans zoom au survol */
.mk{position:relative;width:15px;height:15px}
.mk__core{position:absolute;inset:0;border-radius:50%;background:var(--red);border:2px solid var(--white);box-shadow:0 0 0 1px var(--ink)}
.leaflet-marker-icon.is-dim{opacity:.22;transition:opacity .25s var(--ease)}
.leaflet-marker-icon.is-hot{z-index:1000!important}

/* vue index (grille) */
.atlas-grid-view{display:none;padding:var(--sp-3)}
.atlas-grid-view.is-active{display:block}
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line-strong)}
.proj-card{position:relative;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:18px;cursor:pointer;display:flex;flex-direction:column;min-height:200px;transition:background .2s var(--ease)}
.proj-card:hover{background:var(--white)}
.proj-card__n{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--line-strong)}
.proj-card:hover .proj-card__n{color:var(--red)}
.proj-card__t{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.08;margin:12px 0 10px}
.proj-card__i{font-size:12.5px;color:var(--ink-2);line-height:1.5;flex:1}
.proj-card__m{margin-top:14px;display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);border-top:1px dashed var(--line-strong);padding-top:10px}
.proj-card__m b{color:var(--ink)}

/* liste compacte (mode carte) */
.atlas-list{border-top:1px solid var(--ink);background:var(--paper)}
.atlas-list__hd{display:flex;align-items:center;justify-content:space-between;padding:12px var(--sp-3);border-bottom:1px solid var(--line-strong);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.atlas-list__hd .lab{display:flex;align-items:center;gap:8px}
.atlas-list__hd b{color:var(--red)}
.atlas-list__toggle{background:none;border:1px solid var(--ink);font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;cursor:pointer;color:var(--ink);transition:background .2s,color .2s}
.atlas-list__toggle:hover{background:var(--ink);color:var(--paper)}
.atlas-list__toggle b::after{content:"Réduire"}
.atlas-list.is-collapsed .atlas-list__toggle b::after{content:"Ouvrir"}
.atlas-list__scroll{overflow:hidden;max-height:340px;transition:max-height .4s var(--ease)}
.atlas-list.is-collapsed .atlas-list__scroll{max-height:0}
.pl-item{display:flex;gap:12px;align-items:baseline;padding:11px var(--sp-3);border-bottom:1px dashed var(--line-strong);cursor:pointer;transition:background .2s var(--ease)}
.pl-item:last-child{border-bottom:0}
.pl-item:hover,.pl-item.is-hot{background:var(--white)}
.pl-item__n{font-family:var(--mono);font-size:10px;color:var(--line-strong);flex:none}
.pl-item:hover .pl-item__n,.pl-item.is-hot .pl-item__n{color:var(--red)}
.pl-item__t{font-family:var(--serif);font-size:15px;line-height:1.1;flex:1}
.pl-item__m{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-align:right;flex:none}

.peek{position:fixed;z-index:900;width:280px;background:var(--white);border:1px solid var(--ink);box-shadow:8px 8px 0 rgba(26,23,20,.12);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .14s linear,transform .14s var(--ease)}
.peek.show{opacity:1;transform:translateY(0)}
.peek__img{height:120px;background:var(--paper-2) center/cover;border-bottom:1px solid var(--ink)}
.peek__b{padding:13px 14px}
.peek__loc{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.peek__t{font-family:var(--serif);font-size:17px;line-height:1.1;margin-bottom:7px}
.peek__i{font-size:12px;line-height:1.45;color:var(--ink-2)}

/* plein écran carte */
.references-atlas.is-fullmap .atlas-aside,.references-atlas.is-fullmap .atlas-list{display:none}

@media (min-width:1024px){
  .atlas-layout{flex-direction:row;height:var(--atlas-h);overflow:hidden}
  .atlas-aside{width:22%;min-width:280px;max-width:340px;border-right:1px solid var(--ink);border-bottom:0;overflow-y:auto}
  .atlas-main{flex:1;display:flex;flex-direction:column;overflow:hidden}
  .atlas-stage{flex:1;height:auto;min-height:0}
  .atlas-grid-view{flex:1;overflow-y:auto}
  .atlas-list{max-height:38%;display:flex;flex-direction:column}
  .atlas-list__scroll{overflow-y:auto;max-height:none}
  .atlas-list.is-collapsed .atlas-list__scroll{max-height:0}
  .references-atlas.is-fullmap .atlas-main{width:100%}
  .proj-grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1440px){ .proj-grid{grid-template-columns:repeat(4,1fr)} }

@media (max-width:760px){
  .atlas-stage{height:50vh;min-height:300px}
  .atlas-aside{border-right:0}
  
  
  
  
  
  
  
  .peek{display:none}
  .atlas-bar .vtoggle button{flex:1;padding:13px 10px}
  .proj-grid{grid-template-columns:1fr}
  .chip{padding:11px 0}
  .atlas-tools{left:8px;right:8px;bottom:8px}
}

/* =========================================================
   ÉQUIPE — photo en haut, texte pleine largeur dessous
   ========================================================= */
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.person-card{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);transition:background .22s var(--ease)}
.person-card:hover{background:rgba(255,255,255,.04)}
.person-photo{width:100%;aspect-ratio:4/3;border-bottom:1px solid rgba(255,255,255,.18);background:var(--paper-2);overflow:hidden}
.person-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4);transition:filter .3s var(--ease),transform .5s var(--ease)}
.person-card:hover .person-photo img{filter:grayscale(0);transform:scale(1.03)}
.person-photo--empty{display:flex;align-items:center;justify-content:center}
.person-photo--empty span{font-family:var(--serif);font-size:64px;color:var(--red)}
.person-content{display:flex;flex-direction:column;padding:24px 26px 28px}
.person-content h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.05;color:var(--paper);margin-bottom:8px}
.person-content .role{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:4px}
.person-content .specialty{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#A89C86;display:block;margin-bottom:16px}
.person-content p{font-size:14px;line-height:1.7;color:#C9BFAD;margin-top:8px;max-width:60ch}
.person-link{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:18px;display:inline-flex;color:var(--paper);border-bottom:1px solid var(--red);padding-bottom:3px;width:max-content;transition:color .22s var(--ease)}
.person-link:hover{color:var(--red)}
@media (max-width:1023px){.people-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.people-grid{grid-template-columns:1fr}.person-photo{aspect-ratio:16/10}.person-content{padding:22px 20px 26px}.person-content p{max-width:none}}

/* =========================================================
   PRESSE — cartes stylées + barre de filtres
   ========================================================= */
.press-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:16px 0;margin-bottom:0}
.press-filters .lab{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--line-strong);margin-right:4px}
.press-chip{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line-strong);background:none;cursor:pointer;color:var(--ink-2);transition:all .2s var(--ease)}
.press-chip:hover{border-color:var(--ink);color:var(--ink)}
.press-chip.on{background:var(--red);border-color:var(--red);color:#fff}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line-strong)}
.press-card{display:flex;flex-direction:column;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:none;position:relative;transition:background .22s var(--ease)}
.press-card:hover{background:var(--white)}
.press-card__img{aspect-ratio:16/10;background:var(--paper-2);overflow:hidden;border-bottom:1px solid var(--line-strong)}
.press-card__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5);transition:filter .3s var(--ease),transform .5s var(--ease)}
.press-card:hover .press-card__img img{filter:grayscale(0);transform:scale(1.04)}
.press-card__img--auto{display:flex;align-items:center;justify-content:center;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-size:11px;text-align:center;padding:16px}
.press-card__b{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.press-card__meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.press-card__tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:3px 7px}
.press-card__date{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--line-strong);margin-bottom:8px}
.press-card__t{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.12;margin-bottom:10px;flex:1}
.press-card__src{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:6px;margin-top:8px}
.press-card__src .ar{color:var(--red)}
.press-card.is-hidden{display:none}
@media (max-width:1023px){.press-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.press-grid{grid-template-columns:1fr}}

/* =========================================================
   SINGLE PROJET
   ========================================================= */
.pj-hero{padding:118px 0 40px;border-bottom:1px solid var(--ink)}
.pj-hero__n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:22px;display:flex;gap:14px;flex-wrap:wrap}
.pj-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,7vw,100px);line-height:.92;letter-spacing:-.025em;max-width:16ch}
.pj-grid{display:grid;grid-template-columns:1fr 320px;gap:0}
.pj-body{padding:60px 60px 60px 0;border-right:1px solid var(--line-strong)}
.pj-body .lead{font-family:var(--serif);font-weight:300;font-size:clamp(21px,2.4vw,30px);line-height:1.32;margin-bottom:40px}
.pj-body p{font-size:16px;line-height:1.72;color:var(--ink-2);margin-bottom:20px;max-width:68ch}
.pj-side{padding:60px 0 60px 36px}
.pj-cartouche{border:1px solid var(--ink);position:sticky;top:90px}
.pj-cartouche__hd{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:11px 16px}
.pj-row{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px dashed var(--line-strong);font-size:13px}
.pj-row:last-child{border-bottom:0}
.pj-row .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--line-strong)}
.pj-row .v{text-align:right;font-weight:500}
.pj-mini{height:200px;margin-top:18px;border:1px solid var(--ink)}
.pj-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;padding:40px 0}
.pj-gallery a{background:var(--paper-2) center/cover;border:1px solid var(--line-strong);overflow:hidden;display:block}
.pj-gallery a img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:filter .3s var(--ease),transform .5s var(--ease)}
.pj-gallery a:hover img{filter:grayscale(0);transform:scale(1.04)}
.g-a{grid-column:span 8;height:420px}.g-b{grid-column:span 4;height:420px}
.g-c{grid-column:span 4;height:280px}.g-d{grid-column:span 4;height:280px}.g-e{grid-column:span 4;height:280px}
.pj-cta{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);padding:28px;flex-wrap:wrap;gap:16px}
.pj-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.pj-nav a{padding:40px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:background .3s}
.pj-nav a:hover{background:var(--white)}
.pj-nav a:last-child{text-align:right;border-left:1px solid var(--line-strong)}
.pj-nav a span{display:block;font-family:var(--serif);font-size:22px;text-transform:none;letter-spacing:-.01em;margin-top:10px}
@media (max-width:1023px){.pj-grid{grid-template-columns:1fr}.pj-body{border-right:0;padding-right:0;padding-bottom:28px}.pj-side{padding-left:0}.pj-cartouche{position:relative;top:0;margin-top:20px}}
@media (max-width:760px){.pj-gallery a{grid-column:span 12!important;height:260px}.pj-nav{grid-template-columns:1fr}.pj-nav a:last-child{text-align:left;border-left:0;border-top:1px solid var(--line-strong)}}

/* CONTACT */
.two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.cform{display:grid;border:1px solid var(--ink)}
.cfield{border-bottom:1px solid var(--line-strong);display:flex;flex-direction:column}
.cfield:last-of-type{border-bottom:0}
.cfield label{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--line-strong);padding:14px 18px 0}
.cfield input,.cfield textarea,.cfield select{border:0;background:none;padding:8px 18px 16px;font-family:var(--sans);font-size:16px;color:var(--ink);outline:none;resize:none}
.cfield input:focus,.cfield textarea:focus,.cfield select:focus{background:var(--white)}
.contact-card{border:1px solid var(--ink)}
.contact-card__hd{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:11px 16px}
.contact-mini{height:240px;margin-top:18px;border:1px solid var(--ink)}
@media (max-width:1023px){.two{grid-template-columns:1fr;gap:28px}}

/* lightbox */
.lightbox{position:fixed;z-index:950;inset:0;background:rgba(26,23,20,.85);display:none;align-items:center;justify-content:center;padding:28px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:min(1100px,92vw);max-height:84vh;border:1px solid var(--paper)}
.lightbox button{position:absolute;top:22px;right:22px;background:var(--paper);border:1px solid var(--ink);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:12px 16px;cursor:pointer}

/* effet reveal pixel/scroll (BKKDW-like) */
.reveal-img{position:relative;overflow:hidden}
.reveal-img img{transition:filter .8s var(--ease),transform .8s var(--ease);filter:blur(14px) contrast(1.1);transform:scale(1.06)}
.reveal-img.is-in img{filter:blur(0);transform:scale(1)}
.split-char{display:inline-block;color:var(--line-strong);transition:color .05s linear}

/* =========================================================
   AJUSTEMENTS V29 — Atlas mix propre : liste à droite + index images
   ========================================================= */
.filter-search{padding:14px var(--sp-3);border-bottom:1px solid var(--line-strong)}
.filter-search input{width:100%;min-height:42px;border:1px solid var(--line-strong);background:var(--white);padding:0 12px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.filter-search input:focus{outline:1px solid var(--red);outline-offset:-1px}
.proj-card{padding:0;min-height:320px;overflow:hidden}
.proj-card__img{width:100%;aspect-ratio:16/10;border-bottom:1px solid var(--line-strong);background:var(--paper-2);overflow:hidden}
.proj-card__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.03);transition:filter .28s var(--ease),transform .45s var(--ease)}
.proj-card:hover .proj-card__img img{filter:grayscale(.08) contrast(1.03);transform:scale(1.035)}
.proj-card__body{padding:18px;display:flex;flex-direction:column;flex:1;min-height:190px}
.proj-card.is-hidden,.pl-item.is-hidden{display:none!important}

@media (min-width:1024px){
  .references-atlas{min-height:var(--atlas-h)}
  .atlas-layout{display:flex;min-height:var(--atlas-h);height:var(--atlas-h);overflow:hidden}
  .atlas-aside{width:20%;min-width:290px;max-width:360px;border-right:1px solid var(--ink);border-bottom:0;overflow-y:auto;flex:none}
  .atlas-main{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:1fr;overflow:hidden}
  .atlas-stage{grid-column:1;grid-row:1;height:100%;min-height:0}
  .atlas-list{grid-column:2;grid-row:1;border-top:0;border-left:1px solid var(--ink);display:flex;flex-direction:column;min-height:0;max-height:none}
  .atlas-list__scroll{overflow-y:auto;max-height:none;flex:1}
  .atlas-list.is-collapsed{width:64px;min-width:64px;overflow:hidden}
  .atlas-list.is-collapsed .atlas-list__hd{writing-mode:vertical-rl;min-height:100%;justify-content:flex-start;gap:18px;padding:18px 10px;border-bottom:0}
  .atlas-list.is-collapsed .atlas-list__scroll{display:none}
  .atlas-list.is-collapsed .atlas-list__hd .lab{white-space:nowrap}
  .atlas-grid-view{grid-column:1 / -1;grid-row:1;overflow-y:auto;background:var(--paper);padding:var(--sp-3);display:none}
  .atlas-grid-view.is-active{display:block}
  .atlas-grid-view.is-active .proj-grid{grid-template-columns:repeat(3,1fr)}
  .references-atlas.is-fullmap .atlas-aside,
  .references-atlas.is-fullmap .atlas-list{display:none!important}
  .references-atlas.is-fullmap .atlas-layout{display:block;height:calc(100vh - var(--header-h,74px) - 44px)}
  .references-atlas.is-fullmap .atlas-main{display:block;height:100%}
  .references-atlas.is-fullmap .atlas-stage{height:100%}
}
@media (min-width:1500px){.atlas-grid-view.is-active .proj-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){
  .proj-card{min-height:auto}
  .proj-card__body{min-height:0}
}

/* =========================================================
   V26 RESTAURÉ — contenus intérieurs, brèves, presse single/interne
   ========================================================= */
:root{--display:var(--serif);--space-2:14px;--space-3:20px;--space-4:28px;--space-5:40px;--space-6:70px}
.entry-content{font-size:15px;line-height:1.78;color:var(--ink-2)}
.entry-content p{margin:0 0 var(--space-4)}
.entry-content ul{margin:var(--space-3) 0 var(--space-4) 1.2em}
.news-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line-strong)}
.news-card{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:var(--space-4);min-height:220px;transition:background .22s var(--ease),border-color .22s var(--ease)}
.news-card:hover{background:var(--white);border-color:var(--red)}
.news-card .date{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.news-card h3{font-family:var(--display);font-weight:400;font-size:clamp(24px,7vw,34px);line-height:1.06;margin:var(--space-3) 0 var(--space-2)}
.news-card p{font-size:14px;line-height:1.6;color:var(--ink-2);margin-bottom:var(--space-4)}
.news-card a{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
@media (min-width:700px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.news-grid{grid-template-columns:repeat(3,1fr)}}

.press-filter-board{border:1px solid var(--ink);background:var(--paper);margin-bottom:var(--space-4)}
.press-filter-head{min-height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-3);border-bottom:1px solid var(--ink)}
.press-filter-head b{color:var(--red)}
.press-search{padding:var(--space-3);border-bottom:1px solid var(--line-strong)}
.press-search input{width:100%;min-height:44px;border:1px solid var(--line-strong);background:var(--white);padding:0 14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.press-filter-lines{display:grid}
.press-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px var(--space-3);border-bottom:1px dashed var(--line-strong)}
.press-filter-group:last-child{border-bottom:0}
.press-filter-group>span{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--line-strong);min-width:82px}
.press-filter-chip{border:1px solid var(--line-strong);background:transparent;padding:7px 10px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--ink);transition:all .2s var(--ease)}
.press-filter-chip:hover,.press-filter-chip.on{border-color:var(--red);background:var(--red);color:white}
.press-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line-strong)}
.press-card--atlas{display:grid;grid-template-columns:1fr;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);min-height:0;padding:0;background:transparent;transition:background .22s var(--ease)}
.press-card--atlas:hover{background:var(--white)}
.press-card__media{position:relative;min-height:170px;background:var(--ink);overflow:hidden;border-bottom:1px solid var(--ink);display:grid;place-items:center}
.press-card__media img{width:100%;height:100%;min-height:170px;object-fit:cover;filter:grayscale(.65) contrast(1.04);transition:filter .22s var(--ease),transform .22s var(--ease)}
.press-card--atlas:hover .press-card__media img{filter:grayscale(.1) contrast(1.04);transform:scale(1.025)}
.press-card__media--fallback{color:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:var(--space-4)}
.press-card__media em{position:absolute;left:0;top:0;background:var(--red);color:white;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.12em;padding:6px 9px}
.press-card__body{padding:clamp(18px,2.2vw,28px);display:flex;flex-direction:column;min-height:230px}
.press-card__meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:var(--space-3);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.press-card__body h2{font-family:var(--display);font-weight:400;font-size:clamp(22px,3vw,32px);line-height:1.02;margin-bottom:var(--space-3)}
.press-card__body p{color:var(--ink-2);font-size:13.5px;line-height:1.55;margin-bottom:var(--space-3);max-width:62ch}
.press-card__tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.press-card__tags span{border:1px solid var(--line-strong);padding:5px 8px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.press-card__link{margin-top:var(--space-3);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.press-card--atlas[hidden],.press-card--atlas.is-hidden{display:none!important}
.press-single-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);padding:var(--space-6) 0}
.press-single-body .lead{font-family:var(--display);font-size:clamp(24px,3vw,38px);line-height:1.2;margin-bottom:var(--space-5)}
.press-single-side{display:grid;gap:var(--space-4);align-content:start}
.press-single-image{border:1px solid var(--ink);min-height:260px;background:var(--ink);display:grid;place-items:center;color:var(--paper);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;overflow:hidden}
.press-single-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35)}
@media (min-width:700px){.press-list{grid-template-columns:repeat(2,1fr)}.press-card--atlas:nth-child(1){grid-column:span 2;grid-template-columns:minmax(280px,.75fr) 1fr}.press-card--atlas:nth-child(1) .press-card__media{border-bottom:0;border-right:1px solid var(--ink);min-height:100%}.press-card--atlas:nth-child(1) .press-card__body{min-height:300px}.press-single-grid{grid-template-columns:minmax(0,1fr) 330px}}
@media (min-width:1024px){.press-list{grid-template-columns:repeat(3,1fr)}.press-card--atlas:nth-child(1){grid-column:span 2}.press-card--atlas:nth-child(4n){grid-column:span 2}}
@media (min-width:1024px){.atlas-main{grid-template-columns:minmax(0,1fr) auto}.atlas-list{width:320px}.atlas-list.is-collapsed{width:64px}}
.contact-map,.contact-map .js-pu-map{height:240px;min-height:240px}
.js-pu-map{background:var(--paper-2)}
.card__link{display:flex;flex-direction:column;min-height:100%;color:inherit;text-decoration:none}
.card__thumb{height:180px;margin:-22px -22px 18px;background:center/cover var(--paper-2);border-bottom:1px solid var(--line-strong);position:relative;overflow:hidden;filter:grayscale(.35)}
.card__thumb span{position:absolute;left:0;top:0;background:var(--red);color:#fff;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:5px 8px}
.card:hover .card__thumb{filter:grayscale(0)}

/* =========================================================
   V31 — repasse mobile + ergonomie filtres
   ========================================================= */

@media (max-width:760px){
  .references-atlas{min-height:auto;overflow:visible;background:var(--paper)}
  .atlas-bar{top:var(--header-h,64px);z-index:80;min-height:44px;overflow-x:auto;overscroll-behavior-x:contain;background:var(--paper)}
  .atlas-bar .vtoggle{flex:0 0 auto}
  .atlas-bar .readout{font-size:8.5px;gap:8px;white-space:nowrap;padding:0 10px;flex:1;justify-content:flex-end}
  .atlas-layout{display:block;height:auto;min-height:0;overflow:visible}
  .atlas-aside{position:static;width:auto;min-width:0;max-width:none;border-right:0;border-bottom:1px solid var(--ink);max-height:none;overflow:visible}
  
  .atlas-intro__body{padding:0 16px 14px;max-height:220px}
  .atlas-intro__body h2{font-size:clamp(22px,8vw,34px)}
  .atlas-main{display:block;overflow:visible;min-height:0;background:var(--paper-2)}
  .atlas-stage{height:58vh;min-height:330px;max-height:620px;border-bottom:1px solid var(--ink)}
  .atlas-tools{left:8px;right:8px;bottom:8px;gap:6px;max-width:calc(100% - 16px)}
  .tool-btn{font-size:8px;padding:8px 9px;letter-spacing:.08em;box-shadow:2px 2px 0 rgba(26,23,20,.08)}
  .map-style__menu{left:0;right:auto;bottom:calc(100% + 6px);min-width:155px;max-width:calc(100vw - 24px)}
  .atlas-list{border-left:0;border-top:1px solid var(--ink);max-height:none;display:flex!important;width:auto!important}
  .atlas-list__hd{min-height:48px}
  .atlas-list__scroll{max-height:38vh;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .pl-item{min-height:58px;padding:12px 16px}
  .atlas-grid-view{padding:16px;background:var(--paper)}
  .atlas-grid-view.is-active{display:block;max-height:none;overflow:visible}
  .proj-grid{grid-template-columns:1fr;border-top:1px solid var(--ink)}
  .proj-card__img{aspect-ratio:16/9}
  
  
  
  
  
  
  
  .filter-search{padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--line-strong)}
  .filter-search input{min-height:44px;font-size:9px}
  .f-group__hd{min-height:46px;padding:13px 16px}
  .f-group__body{padding:0 16px 12px;max-height:420px;overflow:auto;-webkit-overflow-scrolling:touch}
  .chip{min-height:38px;padding:8px 0;font-size:10px;line-height:1.35}
  
  
  
  
  .references-atlas.is-fullmap .atlas-aside,.references-atlas.is-fullmap .atlas-list,.references-atlas.is-fullmap .atlas-grid-view{display:none!important}
  .references-atlas.is-fullmap .atlas-main{height:calc(100dvh - var(--header-h,64px) - 44px);display:block}
  .references-atlas.is-fullmap .atlas-stage{height:100%;max-height:none;border-bottom:0}
  .peek{display:none!important}
}


/* =========================================================
   V32 — Single référence : carte en hero pleine largeur
   ========================================================= */
.pj-hero{
  position:relative;
  min-height:clamp(320px,42vh,480px);
  padding:calc(var(--header-h,74px) + 70px) 0 70px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:var(--paper-2);
  isolation:isolate;
}
.pj-hero .wrap{position:relative;z-index:3;width:100%}
.pj-hero .single-map-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--paper-2)}
.pj-hero .single-map-bg::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(242,237,228,.92) 0%,rgba(242,237,228,.72) 42%,rgba(242,237,228,.34) 100%)}
.pj-hero .single-map-bg .js-pu-map{position:absolute;inset:0;width:100%;height:100%;z-index:1;border:0;filter:grayscale(.25) contrast(.96) brightness(1.04)}
.pj-hero__n{background:rgba(242,237,228,.86);display:inline-flex;padding:8px 10px;border:1px solid rgba(26,23,20,.24);margin-bottom:18px}
.pj-hero h1{max-width:min(1050px,86vw);text-shadow:0 1px 0 rgba(242,237,228,.6)}
.pj-mini-map .js-pu-map,.pj-mini-map{min-height:220px;height:220px}
@media(max-width:760px){
  .pj-hero{min-height:360px;padding:calc(var(--header-h,70px) + 54px) 0 54px}
  .pj-hero .single-map-bg::after{background:linear-gradient(180deg,rgba(242,237,228,.78),rgba(242,237,228,.92))}
  .pj-hero__n{font-size:9px;gap:8px;line-height:1.45}
}


/* =========================================================
   V33 — mobile stable : filtre dans la barre, carte seule, bottom-sheet scrollable
   ========================================================= */


@media(max-width:760px){
  .references-atlas{overflow:visible;background:var(--paper)}
  .atlas-bar{top:var(--header-h,64px);z-index:90;display:grid;grid-template-columns:auto 1fr auto;min-height:48px;overflow:visible;background:var(--paper)}
  .atlas-bar .vtoggle{grid-column:1;display:flex;min-width:0}
  .atlas-bar .vtoggle button{min-width:62px;padding:13px 11px;white-space:nowrap}
  .atlas-bar .readout{display:none!important}
  
  
  
  .atlas-aside{position:relative;z-index:1;border-bottom:1px solid var(--ink);background:var(--paper)}
  .atlas-intro{display:block;border-bottom:1px solid var(--ink);background:var(--paper)}
  .atlas-intro__hd{padding:12px 16px;min-height:44px}
  .atlas-intro__body{padding:0 16px 16px;max-height:260px;overflow:hidden}
  .atlas-intro__body h2{font-size:clamp(27px,9vw,40px);line-height:.98;margin:0 0 12px}
  .atlas-intro__body p{font-size:14px;line-height:1.55;max-width:31em}
  .atlas-layout{display:block;height:auto;overflow:visible}
  .atlas-main{display:block;overflow:visible;background:var(--paper)}
  .atlas-stage{height:58vh;min-height:360px;max-height:620px;border-bottom:1px solid var(--ink)}
  .atlas-stage .leaflet-top.leaflet-right{top:46px!important;right:10px!important}
  .atlas-stage .leaflet-control-zoom{box-shadow:4px 4px 0 rgba(26,23,20,.10)!important}
  .atlas-tools{left:8px;right:8px;bottom:8px;display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap;max-width:calc(100% - 16px)}
  .tool-btn{font-size:8px;letter-spacing:.07em;padding:8px 9px;min-height:36px;box-shadow:2px 2px 0 rgba(26,23,20,.08)}
  .map-style__menu{max-width:calc(100vw - 24px)}
  .atlas-list{display:none!important}
  .atlas-grid-view{display:none;padding:16px;background:var(--paper)}
  .atlas-grid-view.is-active{display:block;max-height:none;overflow:visible}
  .proj-grid{grid-template-columns:1fr;border-top:1px solid var(--ink);border-left:1px solid var(--line-strong)}
  .proj-card{min-height:auto;padding:0;background:transparent}
  .proj-card__img{aspect-ratio:16/9;border-bottom:1px solid var(--line-strong)}
  .proj-card__body{padding:16px;min-height:0}
  
  
  
  
  
  
  
  
  
  .filter-search{padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--line-strong)}
  .filter-search input{min-height:44px;font-size:9px;width:100%}
  .f-group__hd{min-height:46px;padding:13px 16px}
  .f-group__body{padding:0 16px 12px;max-height:none;overflow:visible}
  .f-group:not(.is-collapsed) .f-group__body{max-height:none}
  .chip{min-height:40px;padding:8px 0;font-size:10px;line-height:1.35}
  
  
  
  
  .references-atlas.is-fullmap .atlas-aside,.references-atlas.is-fullmap .atlas-list,.references-atlas.is-fullmap .atlas-grid-view{display:none!important}
  .references-atlas.is-fullmap .atlas-main{height:calc(100dvh - var(--header-h,64px) - 48px);display:block}
  .references-atlas.is-fullmap .atlas-stage{height:100%;max-height:none;border-bottom:0}
}


/* =========================================================
   V36 — Atlas stable sous header fixe + carte single plus visible
   ========================================================= */
.atlas-stage[data-basemap="dark"] .leaflet-tile{filter:none!important}
.atlas-stage[data-basemap="dark"] .leaflet-container{background:#111!important}
.pj-hero{min-height:clamp(420px,55vh,620px)}
.pj-hero .single-map-bg::after{background:linear-gradient(90deg,rgba(242,237,228,.78) 0%,rgba(242,237,228,.48) 42%,rgba(242,237,228,.10) 100%)}
.pj-hero .single-map-bg .js-pu-map{filter:grayscale(.12) contrast(1.02) brightness(1.05)}
@media(max-width:760px){
  .pj-hero{min-height:430px;padding:calc(var(--header-h,64px) + 46px) 0 58px}
  .pj-hero .single-map-bg::after{background:linear-gradient(180deg,rgba(242,237,228,.62),rgba(242,237,228,.88))}
}


/* =========================================================
   V49 — Nettoyage structure pages + fil d’Ariane + partenaires
   ========================================================= */
:root{--wp-adminbar-h:0px}
body.admin-bar{--wp-adminbar-h:32px}
@media(max-width:782px){body.admin-bar{--wp-adminbar-h:46px}}

/* Le fil d’Ariane reste sous le header et ne peut plus glisser sous le menu. */
.breadcrumb{
  top:calc(var(--wp-adminbar-h,0px) + var(--header-h,74px) + 10px)!important;
  z-index:96!important;
  max-width:min(760px,calc(100vw - 56px))!important;
}
body.single-reference .breadcrumb,
body.single-presse_item .breadcrumb,
body.single-post .breadcrumb{
  top:calc(var(--wp-adminbar-h,0px) + var(--header-h,74px) + 12px)!important;
}
body.is-atlas-page .breadcrumb{display:none!important}

/* Titres/kickers : une base homogène sur les pages classiques. */
.page .mono.mono--red,
.page .eyebrow.red{
  letter-spacing:.16em;
}
.page-hero{padding:calc(var(--header-h,74px) + 76px) 0 var(--sp-5)}
.page-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:var(--sp-5);align-items:end}
.page-hero__grid p{font-size:16px;line-height:1.65;color:var(--ink-2);max-width:46ch}
@media(max-width:900px){.page-hero__grid{grid-template-columns:1fr}.page-hero{padding-top:calc(var(--header-h,74px) + 54px)}}

/* Experts associés : section plus propre, logos verrouillés, ajout facile via WP > Partenaires. */
.partners-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  gap:var(--sp-5);
  align-items:end;
  margin-bottom:34px;
}
.partners-intro h2{max-width:13ch;margin:0}
.partners-intro p{margin:0;color:var(--ink-2);line-height:1.65;font-size:15px;max-width:48ch}
.partners-grid.partners-grid--logos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--ink);
  border-left:1px solid var(--line-strong);
}
.partners-grid--logos .partner-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:20px;
  align-items:center;
  min-height:178px;
  padding:24px;
  border-right:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
  color:var(--ink);
  background:rgba(251,248,242,.18);
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease);
}
.partners-grid--logos .partner-card:hover{
  background:var(--white);
  border-color:var(--red);
  transform:translateY(-1px);
}
.partner-card__logo{
  width:92px;
  height:72px;
  display:grid;
  place-items:center;
  border:1px solid var(--ink);
  background:var(--paper);
  overflow:hidden;
  padding:12px;
  flex:none;
}
.partner-card__logo img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.partner-card__logo span{
  font-family:var(--mono);
  font-size:20px;
  letter-spacing:.08em;
  color:var(--red);
}
.partner-card__body{min-width:0}
.partners-grid--logos .partner-card .role{
  display:block;
  margin:0 0 10px;
  font-family:var(--mono);
  font-size:9px;
  line-height:1.25;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
}
.partners-grid--logos .partner-card h3{
  margin:0;
  font-size:clamp(20px,2vw,28px);
  line-height:1.05;
  overflow-wrap:anywhere;
}
.partner-card__link{
  display:inline-block;
  margin-top:14px;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.partner-card--link:hover .partner-card__link{color:var(--red)}
.partners-note{
  margin-top:18px;
  font-family:var(--mono);
  font-size:9px;
  line-height:1.6;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-2);
}
@media(max-width:1100px){.partners-grid.partners-grid--logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .partners-intro{grid-template-columns:1fr;gap:18px}
  .partners-grid.partners-grid--logos{grid-template-columns:1fr}
  .partners-grid--logos .partner-card{grid-template-columns:78px minmax(0,1fr);gap:16px;min-height:148px;padding:20px}
  .partner-card__logo{width:78px;height:64px}
}

/* Admin WordPress : le header et le fil d’Ariane restent calés sous la barre noire. */
body.admin-bar .hd{top:var(--wp-adminbar-h,32px)!important}
body.admin-bar .page{padding-top:calc(var(--header-h,74px) + var(--wp-adminbar-h,32px))!important}
body.admin-bar .hero{padding-top:calc(var(--header-h,74px) + var(--wp-adminbar-h,32px) + var(--sp-5))!important}


/* =========================================================
   V50 — Partenaires : cartes propres, logos sécurisés, aucun texte CMS public
   ========================================================= */
.partners-note{display:none!important}
.partners-section .partners-intro p{max-width:54ch}
.partners-grid.partners-grid--logos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--ink);
  border-left:1px solid var(--line-strong);
}
.partners-grid--logos .partner-card{
  position:relative;
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  gap:24px;
  align-items:center;
  min-height:184px;
  padding:26px 28px;
  border-right:1px solid var(--line-strong)!important;
  border-bottom:1px solid var(--line-strong)!important;
  border-top:0!important;
  border-left:0!important;
  color:var(--ink);
  background:transparent;
  text-decoration:none;
  overflow:hidden;
  transform:none!important;
  transition:background .22s var(--ease), box-shadow .22s var(--ease), color .22s var(--ease);
}
.partners-grid--logos .partner-card:hover,
.partners-grid--logos .partner-card:focus-visible{
  background:var(--white);
  border-right-color:var(--line-strong)!important;
  border-bottom-color:var(--line-strong)!important;
  box-shadow:inset 0 0 0 1px var(--red);
  z-index:2;
  outline:0;
}
.partners-grid--logos .partner-card__logo{
  width:116px;
  height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  align-self:center;
  border:1px solid var(--ink);
  background:linear-gradient(135deg,#fff 0%,#fff 48%,#eee8dc 49%,#f8f4ed 100%);
  overflow:hidden;
  padding:16px;
  box-sizing:border-box;
}
.partners-grid--logos .partner-card__logo--light{
  background:#171411;
  border-color:#171411;
}
.partners-grid--logos .partner-card__logo img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  filter:drop-shadow(0 0 1px rgba(0,0,0,.38)) drop-shadow(0 0 1px rgba(255,255,255,.45));
}
.partners-grid--logos .partner-card__logo--light img{
  filter:drop-shadow(0 0 1px rgba(255,255,255,.20));
}
.partners-grid--logos .partner-card__logo--placeholder{
  background:var(--paper);
}
.partners-grid--logos .partner-card__logo span{
  display:block;
  font-family:var(--mono);
  font-size:20px;
  line-height:1;
  letter-spacing:.08em;
  color:var(--red);
  text-align:center;
}
.partners-grid--logos .partner-card__body{min-width:0;align-self:center}
.partners-grid--logos .partner-card .role{
  display:block;
  margin:0 0 12px;
  font-family:var(--mono);
  font-size:9px;
  line-height:1.35;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
  max-width:32ch;
}
.partners-grid--logos .partner-card h3{
  margin:0;
  font-size:clamp(22px,2.1vw,31px);
  line-height:1.04;
  overflow-wrap:anywhere;
}
.partners-grid--logos .partner-card__link{
  display:inline-block;
  margin-top:16px;
  font-family:var(--mono);
  font-size:9px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
}
@media(max-width:1180px){
  .partners-grid.partners-grid--logos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .partners-grid.partners-grid--logos{grid-template-columns:1fr}
  .partners-grid--logos .partner-card{grid-template-columns:92px minmax(0,1fr);gap:18px;min-height:150px;padding:22px}
  .partners-grid--logos .partner-card__logo{width:92px;height:72px;padding:12px}
}


/* =========================================================
   V53 — Admin Références simplifié
   ========================================================= */
.hd .brand.brand--logo-only{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  width:clamp(174px,15vw,246px)!important;
  min-width:clamp(174px,15vw,246px)!important;
  height:44px!important;
  overflow:hidden!important;
}
.hd .brand__logo,
.hd .brand__logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
}
.hd .brand__logo img{
  object-fit:contain!important;
  object-position:left center!important;
}
.hd .brand__text,
.hd .brand__mark{
  display:none!important;
}
@media(max-width:760px){
  .hd .brand.brand--logo-only{
    width:178px!important;
    min-width:178px!important;
    height:40px!important;
  }
}

/* Partenaires : fond logo choisi manuellement dans WordPress. */
.partners-grid--logos .partner-card__logo{
  background:var(--paper)!important;
  border-color:var(--ink)!important;
}
.partners-grid--logos .partner-card__logo--bg-beige{
  background:var(--paper)!important;
  border-color:var(--ink)!important;
}
.partners-grid--logos .partner-card__logo--bg-black{
  background:var(--ink)!important;
  border-color:var(--ink)!important;
}
.partners-grid--logos .partner-card__logo--bg-red{
  background:var(--red)!important;
  border-color:var(--red)!important;
}
.partners-grid--logos .partner-card__logo img{
  object-fit:contain!important;
  object-position:center center!important;
}
.partners-grid--logos .partner-card__logo--bg-black img,
.partners-grid--logos .partner-card__logo--bg-red img{
  filter:none!important;
}
.partners-grid--logos .partner-card:hover,
.partners-grid--logos .partner-card:focus-visible{
  background:var(--white)!important;
  box-shadow:inset 0 0 0 1px var(--red)!important;
  border-right-color:var(--line-strong)!important;
  border-bottom-color:var(--line-strong)!important;
}


/* =========================================================
   V54 — Avis clients administrables
   ========================================================= */
.testimonials-section{background:var(--paper);position:relative;overflow:hidden}
.testimonials-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.testimonials-section .wrap{position:relative;z-index:1}
.testimonials-head{align-items:flex-end;border-bottom:1px solid var(--ink);padding-bottom:28px;margin-bottom:0}
.testimonials-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,72px);line-height:1.02;letter-spacing:-.025em;margin-top:18px;max-width:10ch}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong)}
.avis-card{min-height:310px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(251,248,242,.56);transition:background .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease)}
.avis-card:hover{background:var(--white);border-color:var(--red);transform:translateY(-2px)}
.avis-card__loc{font-size:9.5px;color:var(--red)}
.avis-card blockquote{font-family:var(--serif);font-weight:300;font-size:clamp(20px,2vw,30px);line-height:1.16;letter-spacing:-.015em;color:var(--ink);quotes:none}
.avis-card cite{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding-top:18px;border-top:1px dashed var(--line-strong)}
.avis-card__link{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.testimonials-section--compact{padding:48px 0}
@media(max-width:1023px){.testimonials-grid{grid-template-columns:1fr 1fr}.avis-card{min-height:260px}}
@media(max-width:760px){.testimonials-head{display:block}.testimonials-head p{margin-top:18px}.testimonials-grid{grid-template-columns:1fr}.avis-card{min-height:0;padding:24px}.avis-card blockquote{font-size:24px}}


/* =========================================================
   V56 — On parle de nous / avis clients / typographies
   ========================================================= */
.testimonials-strip-wrap{position:relative;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:0 42px;background:var(--paper)}
.testimonials-strip{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;border-left:1px solid var(--line-strong)}
.testimonials-strip .avis-card{flex:0 0 min(420px,86vw);scroll-snap-align:start;border-right:1px solid var(--line-strong);border-bottom:0;min-height:300px;background:transparent}
.testimonials-strip .avis-card:hover{background:var(--white)}
.strip-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:54px;border:1px solid var(--ink);background:var(--paper);font-family:var(--mono);color:var(--red);cursor:pointer}
.strip-nav:hover{background:var(--ink);color:var(--paper)}
.strip-nav--prev{left:0}.strip-nav--next{right:0}
.testimonials-more{margin-top:22px}
.press-card--avis .press-card__media--quote{background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:120px;line-height:1;display:grid;place-items:center;min-height:220px}
.press-card--avis .press-card__media--quote span{transform:translateY(18px);color:var(--red)}
.press-list--mixed .press-card--avis .press-card__body p{font-family:var(--serif);font-size:clamp(18px,2vw,24px);line-height:1.35;color:var(--ink)}
.lead-xl,.layer__t,.hero h1,.hero__lead p,.band h2,.card__t,.press-card__body h2{font-family:var(--display)}
@media(max-width:760px){
  .testimonials-strip-wrap{padding:0 34px}
  .testimonials-strip .avis-card{flex-basis:82vw}
}

/* V56 — cards accueil équilibrées */

.card__i{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;min-height:7.75em;max-height:7.75em}


/* V57 — stabilité du header et hiérarchie typographique */
html{scrollbar-gutter:stable;overflow-y:scroll}
.hd{min-height:var(--header-h);box-sizing:border-box}

/* =========================================================
   V58 — Typographies, On parle de nous, header stable
   ========================================================= */
.hd{height:var(--header-h,74px)!important;min-height:var(--header-h,74px)!important;max-height:var(--header-h,74px)!important}
.hd .brand.brand--logo-only{height:44px!important;flex:0 0 clamp(174px,15vw,246px)!important}
.nav a,.hd__meta{font-family:var(--nav-font,var(--mono))!important}


.press-filter-board{border:1px solid var(--ink);background:rgba(251,248,242,.48);margin-bottom:28px}
.press-filter-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line-strong);padding:14px 18px}
.press-search{border-bottom:1px solid var(--line-strong);padding:14px 18px}
.press-search input{width:100%;min-height:42px;border:1px solid var(--line-strong);background:var(--white);padding:0 14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.press-filter-lines{display:grid;grid-template-columns:1fr;gap:0}
.press-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px dashed var(--line-strong)}
.press-filter-group:last-child{border-bottom:0}
.press-filter-group>span{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--line-strong);min-width:138px}
.press-filter-chip{border:1px solid var(--line-strong);background:transparent;padding:8px 10px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);cursor:pointer}
.press-filter-chip:hover,.press-filter-chip.on,.press-filter-chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.press-card.is-hidden{display:none!important}
.press-card--avis .press-card__media--quote{background:var(--ink)!important;color:var(--paper)!important;border-right:1px solid var(--ink);display:grid!important;place-items:center!important}
.press-card--avis .press-card__body p{font-family:var(--serif);font-size:clamp(19px,2vw,27px);line-height:1.3;color:var(--ink)}
.layer--cartographie{box-shadow:inset 0 0 0 1px var(--red)}
.layer--cartographie .layer__n,.layer--cartographie .layer__t{color:var(--red)}
@media(max-width:760px){.press-filter-group>span{width:100%;min-width:0}.press-filter-head{display:block}.press-filter-head .mono+span{display:block;margin-top:8px}}

/* =========================================================
   V59 — Presse séparée des témoignages + section cartographie
   ========================================================= */
.press-section + .testimonials-accordion-section{border-top:1px solid var(--ink)}
.press-list--press-only .press-card--atlas{background:transparent}
.press-list--press-only .press-card--atlas:hover{background:var(--white)}
.avis-accordion{border-top:1px solid var(--ink);border-left:1px solid var(--line-strong);background:var(--paper)}
.avis-accordion__item{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:transparent;transition:background .22s var(--ease)}
.avis-accordion__item:hover,.avis-accordion__item[open]{background:var(--white)}
.avis-accordion__item summary{list-style:none;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:18px;min-height:74px;padding:0 0 0 18px;cursor:pointer}
.avis-accordion__item summary::-webkit-details-marker{display:none}
.avis-accordion__index{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--red)}
.avis-accordion__main{display:flex;align-items:baseline;justify-content:space-between;gap:20px;min-width:0}
.avis-accordion__main strong{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,32px);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.avis-accordion__main em{font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);text-align:right;max-width:42%;line-height:1.35}
.avis-accordion__plus{height:100%;display:grid;place-items:center;border-left:1px solid var(--line-strong);font-family:var(--mono);font-size:18px;color:var(--red)}
.avis-accordion__item[open] .avis-accordion__plus{transform:rotate(45deg)}
.avis-accordion__content{border-top:1px dashed var(--line-strong);padding:28px 54px 32px 72px;display:grid;gap:18px}
.avis-accordion__content blockquote{font-family:var(--display);font-weight:300;font-size:clamp(22px,2.4vw,36px);line-height:1.16;letter-spacing:-.018em;color:var(--ink);max-width:980px}
.avis-accordion__content a{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.carto-collab-section{padding-top:0}
.carto-collab{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);border:1px solid var(--ink);background:var(--paper)}
.carto-collab__content{padding:clamp(28px,5vw,68px);border-right:1px solid var(--ink);display:flex;flex-direction:column;justify-content:center}
.carto-collab__content h2{font-weight:300;font-size:clamp(36px,5vw,76px);line-height:.98;letter-spacing:-.035em;margin:18px 0 28px;max-width:9.5ch}
.carto-collab__text{color:var(--ink-2);font-size:16px;line-height:1.75;max-width:66ch}
.carto-collab__text p+p{margin-top:1em}
.carto-collab__image{position:relative;min-height:440px;background:var(--ink);overflow:hidden;display:grid;place-items:center;margin:0}
.carto-collab__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.04)}
.carto-collab__image--placeholder{background:var(--paper);border-left:0;color:var(--red);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.carto-collab__image--placeholder .atlas-grid{position:absolute;inset:0;opacity:.38;pointer-events:none}
.carto-collab__image figcaption{position:relative;z-index:1;background:var(--paper);border:1px solid var(--ink);padding:12px 14px}
@media(max-width:900px){
  .carto-collab{grid-template-columns:1fr}
  .carto-collab__content{border-right:0;border-bottom:1px solid var(--ink)}
  .carto-collab__image{min-height:300px}
  .avis-accordion__item summary{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;padding-left:12px}
  .avis-accordion__main{display:block}
  .avis-accordion__main strong{display:block;white-space:normal}
  .avis-accordion__main em{display:block;max-width:none;text-align:left;margin-top:8px}
  .avis-accordion__content{padding:22px}
}


/* V62 — On parle de nous : switch Presse / Témoignages + cartographie collaborative large */
.talk-switch{display:inline-flex;border:1px solid var(--ink);margin-top:34px;background:var(--paper)}
.talk-switch__btn{min-width:150px;height:54px;border:0;border-right:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.talk-switch__btn:last-child{border-right:0}
.talk-switch__btn:hover,.talk-switch__btn.is-active{background:var(--ink);color:var(--paper)}
.talk-panel{display:none}
.talk-panel.is-active{display:block}
.testimonials-accordion-section{border-top:0!important}
.carto-collab{display:block;border:1px solid var(--ink);background:var(--paper)}
.carto-collab__content{border-right:0!important;border-bottom:1px solid var(--ink);padding:clamp(30px,5vw,72px);display:block}
.carto-collab__content h2{max-width:12ch;margin-bottom:28px}
.carto-collab__text{max-width:980px;columns:2;column-gap:54px}
.carto-collab__link{margin-top:28px;display:inline-flex}
.carto-collab__image{min-height:560px;height:min(68vh,720px);background:var(--paper)}
.carto-collab__image img{width:100%;height:100%;object-fit:contain;filter:none;background:var(--paper)}
.pu-single-media-preview--wide img{max-width:520px;max-height:260px;object-fit:contain;background:#f7f3ea;border:1px solid #d8d0c0}
@media(max-width:900px){.carto-collab__text{columns:1}.carto-collab__image{min-height:340px;height:auto}.talk-switch{display:flex;width:100%}.talk-switch__btn{flex:1;min-width:0}}


/* =========================================================
   V65 — Atlas hover précis + témoignages/presse accueil propres
   ========================================================= */
.avis-accordion__plus{
  border-left:0!important;
  font-size:0!important;
  transform:none!important;
}
.avis-accordion__plus::before{
  content:"+";
  font-size:18px;
  line-height:1;
}
.avis-accordion__item[open] .avis-accordion__plus{transform:none!important}
.avis-accordion__item[open] .avis-accordion__plus::before{content:"−"}
.avis-accordion__content blockquote{
  font-size:clamp(17px,1.55vw,24px)!important;
  line-height:1.42!important;
  max-width:980px;
}
.testimonials-strip{align-items:stretch}
.testimonials-strip .avis-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-height:260px!important;
  height:auto;
}
.testimonials-strip .avis-card blockquote{
  margin-top:0!important;
  font-size:clamp(17px,1.55vw,22px)!important;
  line-height:1.36!important;
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.testimonials-strip .avis-card cite{margin-top:auto;padding-top:18px}
.home-talk-section .testimonials-section{
  padding:0!important;
  margin:0 0 34px!important;
}
.home-talk-section .testimonials-section .wrap{
  width:100%!important;
  padding:0!important;
}
.home-talk-section .testimonials-section .section-title{display:flex!important}
.home-press-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:26px 0 14px}
.home-press-head p{max-width:420px;color:var(--ink-2);font-size:14px;line-height:1.5}
.news-grid--home-press{align-items:stretch}
.news-grid--home-press .news-card{
  display:flex;
  flex-direction:column;
  min-height:290px;
}
.news-grid--home-press .news-card h3{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.news-grid--home-press .news-card p{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:5.8em;
}
.news-grid--home-press .news-card a{margin-top:auto}
.home-talk-cta{margin-top:28px}
.proj-grid.is-list .proj-card .proj-card__img{display:none!important}
.proj-grid.is-list .proj-card:hover .proj-card__n{color:var(--red)}
@media(max-width:760px){.home-press-head{display:block}.home-press-head p{margin-top:10px}}


/* =========================================================
   V70 — Témoignages nettoyés des formules de courrier + sync admin
   ========================================================= */
.avis-accordion__content blockquote,
.avis-card blockquote{
  white-space:pre-line;
}
.avis-accordion__content blockquote{
  font-size:clamp(15px,1.35vw,21px)!important;
  line-height:1.48!important;
  letter-spacing:-.01em!important;
}
.testimonials-strip .avis-card blockquote{
  font-size:clamp(15px,1.28vw,19px)!important;
  line-height:1.45!important;
  -webkit-line-clamp:8;
}
.foot__credit a{
  color:var(--paper);
  border-bottom:1px solid rgba(255,255,255,.35);
}
.foot__credit a:hover{
  color:var(--red);
  border-bottom-color:var(--red);
}
@media(max-width:760px){
  .avis-accordion__content blockquote{font-size:16px!important;line-height:1.5!important}
  .testimonials-strip .avis-card blockquote{font-size:15px!important;line-height:1.45!important}
}

/* V71 — formulaire serveur + honeypot */
.pu-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.cform-status{margin:0 0 18px;padding:14px 16px;border:1px solid var(--ink);font-size:14px;line-height:1.45;background:var(--white);box-shadow:4px 4px 0 rgba(26,23,20,.08)}
.cform-status--ok{border-color:var(--red);color:var(--ink)}
.cform-status--error{border-color:var(--red);color:var(--red)}


/* =========================================================
   V72 — corrections finales mobile + contact + menu
   ========================================================= */
.mobile-nav .mnav__close{display:flex;align-items:center;justify-content:center;align-self:flex-end;width:42px;height:42px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:24px;line-height:1;cursor:pointer;margin-bottom:18px}
body.menu-open .hd{z-index:950}
body.menu-open .burger{display:flex!important;position:relative;z-index:950;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--paper)!important}
body.menu-open .burger span{background:var(--paper)!important}
body.menu-open .mobile-nav{z-index:950}

/* Carte tactile : la carte capte le geste au lieu de faire scroller la page. */
.atlas-map,.js-pu-map,.contact-map .js-pu-map,.pj-mini-map .js-pu-map,.single-map-bg .js-pu-map{touch-action:none!important;overscroll-behavior:contain!important}

/* Contact : respiration autour de la localisation + carte plus lisible. */
.contact-cartouche{display:flex;flex-direction:column;gap:0}
.contact-cartouche .cartouche-map-block{margin-top:28px;padding-top:28px;border-top:1px solid var(--ink)}
.contact-cartouche .cartouche-map-block .mono{margin-bottom:14px;display:block}
.contact-map,.contact-map .js-pu-map{height:360px!important;min-height:360px!important;border:1px solid var(--ink);background:#f5f6f4!important;overflow:hidden}
.contact-map .leaflet-tile{filter:grayscale(.08) contrast(1.03) brightness(1.02)!important}

@media(max-width:760px){
  .mobile-nav{padding:calc(var(--header-h,74px) + 34px) 24px 34px!important;justify-content:flex-start!important}
  .mobile-nav a{font-size:clamp(31px,10vw,46px)!important;gap:12px!important;padding:13px 0!important;line-height:1.02!important}
  .mobile-nav a em{font-size:11px!important;min-width:28px!important}
  .contact-map,.contact-map .js-pu-map{height:320px!important;min-height:320px!important}
  .contact-cartouche .cartouche-map-block{margin-top:24px;padding-top:24px}
  .pj-cartouche.contact-cartouche{margin-top:26px!important}
}

/* Statuts formulaire et cartouches : éviter les chevauchements sur petits écrans. */
@media(max-width:760px){
  .two{grid-template-columns:1fr!important;gap:32px!important}
  .pj-row{grid-template-columns:1fr!important;gap:6px!important;padding:14px 0!important}
  .pj-row .k,.pj-row .v{min-width:0!important;max-width:100%!important;text-align:left!important;word-break:break-word!important;overflow-wrap:anywhere!important}
  .cform input,.cform textarea,.cform select{font-size:16px!important}
}


/* =========================================================
   V73 — mobile final + hero média + contact respirant
   ========================================================= */
.hero--framed{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  padding:calc(var(--header-h,74px) + 70px) var(--sp-4) 82px;
  isolation:isolate;
  overflow:hidden;
}
.hero--framed .hero__media{position:absolute;inset:0;z-index:-3;background:var(--paper)}
.hero--framed .hero__media img,.hero--framed .hero__media video{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02) brightness(.92)}
.hero--framed .hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(242,237,228,.68),rgba(242,237,228,.42) 48%,rgba(242,237,228,.74));pointer-events:none}
.hero--framed .contours{z-index:-1;opacity:.82}
.hero__wrap--framed{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:end;gap:0;padding:0!important}
.hero__panel{background:rgba(242,237,228,.91);border:1px solid var(--red);box-shadow:0 20px 60px rgba(26,23,20,.08);backdrop-filter:saturate(110%) blur(6px)}
.hero__panel--brand{padding:clamp(30px,5vw,62px) clamp(28px,5vw,60px) clamp(22px,4vw,42px);border-radius:16px 16px 0 16px}
.hero__panel--copy{margin-left:-1px;padding:clamp(22px,3vw,34px) clamp(22px,3.3vw,42px);border-radius:0 0 16px 0;min-height:170px}
.hero__panel .hero__logo{margin:0!important;width:100%!important;height:auto!important;max-height:none!important}
.hero__panel .hero__logo--custom{height:clamp(90px,11vw,150px)!important}
.hero__meta-line{display:flex;justify-content:space-between;gap:18px;margin:0 0 18px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;line-height:1.35;text-transform:uppercase;color:var(--red)}
.hero__panel .hero__lead{display:block!important;margin:0!important;max-width:none!important}
.hero__panel .hero__lead p{max-width:52ch!important;margin:0!important;font-size:clamp(22px,2vw,31px)!important;line-height:1.18!important;color:var(--ink)}
.hero__panel .hero__cta{display:flex;flex-wrap:wrap;gap:0;margin-top:28px!important}
.hero__panel .hero__cta .btn{margin:0!important}
body:not(.has-hero-media) .hero--framed .hero__media{display:none}
@media(max-width:900px){
  .hero--framed{min-height:100svh;padding:calc(var(--header-h,64px) + 28px) 18px 36px;align-items:end}
  .hero__wrap--framed{display:block;width:100%}
  .hero__panel--brand{padding:26px 22px 18px;border-radius:12px 12px 0 0}
  .hero__panel--copy{margin:-1px 0 0;padding:20px 20px 22px;border-radius:0 0 12px 12px;min-height:0}
  .hero__panel .hero__logo--custom{height:clamp(70px,22vw,106px)!important}
  .hero__meta-line{display:grid;grid-template-columns:1fr;gap:8px;font-size:8px;margin-bottom:16px}
  .hero__panel .hero__lead p{font-size:clamp(21px,6.4vw,28px)!important;line-height:1.16!important;max-width:100%!important}
  .hero__panel .hero__cta{display:grid;grid-template-columns:1fr;margin-top:20px!important}
  .hero__panel .hero__cta .btn{width:100%;justify-content:center}
}

/* Contact : remettre le padding interne dans la cartouche, y compris mobile. */
.pj-cartouche.contact-cartouche{padding:0!important;background:rgba(242,237,228,.86)}
.pj-cartouche.contact-cartouche .pj-row{padding:16px 18px!important}
.pj-cartouche.contact-cartouche .cartouche-map-block{padding:30px 18px 18px!important;margin:0!important;border-top:1px solid var(--ink)!important}
.pj-cartouche.contact-cartouche .cartouche-map-block .mono{margin-bottom:16px!important}
.contact-map,.contact-map .js-pu-map{height:420px!important;min-height:420px!important}
@media(max-width:760px){
  .pj-cartouche.contact-cartouche .pj-row{display:grid!important;grid-template-columns:1fr!important;padding:15px 16px!important;gap:6px!important}
  .pj-cartouche.contact-cartouche .cartouche-map-block{padding:26px 16px 16px!important}
  .contact-map,.contact-map .js-pu-map{height:340px!important;min-height:340px!important}
}

/* =========================================================
   V74 — Hero mosaïque + cartouches single propres
   ========================================================= */
.hero--framed{
  justify-content:center!important;
  align-items:center!important;
  min-height:100svh!important;
  padding:calc(var(--header-h,74px) + 54px) var(--sp-4) 64px!important;
}
.hero--framed .hero__media img,
.hero--framed .hero__media video{
  filter:saturate(.82) contrast(1.04) brightness(.9)!important;
}
.hero--framed .hero__media::after{
  background:linear-gradient(180deg,rgba(242,237,228,.34),rgba(242,237,228,.18) 46%,rgba(242,237,228,.46))!important;
}
.hero__wrap--pixels{
  position:relative!important;
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;
  gap:0!important;
  isolation:isolate!important;
  padding:0!important;
}
.hero__wrap--pixels::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:calc(33.333% - 1px);
  bottom:0;
  z-index:-1;
  border:1px solid rgba(228,3,46,.78);
  background:rgba(242,237,228,.18);
  pointer-events:none;
}
.hero__wrap--pixels .hero__panel{
  position:relative!important;
  border:1px solid rgba(228,3,46,.88)!important;
  border-radius:0!important;
  background:rgba(242,237,228,.93)!important;
  box-shadow:0 24px 80px rgba(26,23,20,.12)!important;
  backdrop-filter:saturate(112%) blur(7px)!important;
}
.hero__wrap--pixels .hero__panel--brand{
  grid-column:1 / span 7!important;
  grid-row:1!important;
  padding:clamp(32px,5.2vw,70px) clamp(30px,5.4vw,72px) clamp(22px,3.6vw,44px)!important;
  z-index:3!important;
}
.hero__wrap--pixels .hero__panel--copy{
  grid-column:1 / span 6!important;
  grid-row:2!important;
  margin-top:-1px!important;
  padding:clamp(24px,3vw,38px) clamp(28px,4vw,54px) clamp(30px,4.5vw,58px)!important;
  min-height:0!important;
  z-index:3!important;
}
.hero__wrap--pixels .hero__panel--actions{
  grid-column:7 / span 4!important;
  grid-row:2!important;
  align-self:end!important;
  min-height:112px!important;
  margin-left:-1px!important;
  padding:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:2!important;
}
.hero__wrap--pixels .hero__panel--actions::after{
  content:"";
  position:absolute;
  width:clamp(54px,6vw,86px);
  height:clamp(34px,4.3vw,58px);
  right:calc(-1 * clamp(54px,6vw,86px));
  top:-1px;
  border:1px solid rgba(228,3,46,.72);
  border-left:0;
  background:rgba(242,237,228,.78);
  pointer-events:none;
}
.hero__wrap--pixels .hero__logo img{max-height:clamp(100px,12vw,158px)!important;width:auto!important}
.hero__wrap--pixels .hero__logo--custom{height:auto!important;max-height:none!important}
.hero__wrap--pixels .hero__meta-line{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:0 0 22px!important;
  color:var(--red)!important;
  font-size:9px!important;
  letter-spacing:.17em!important;
}
.hero__wrap--pixels .hero__lead p{
  font-size:clamp(23px,2.15vw,34px)!important;
  line-height:1.12!important;
  max-width:40ch!important;
}
.hero__wrap--pixels .hero__cta{display:grid!important;grid-template-columns:1fr!important;width:min(320px,100%)!important;margin:0!important}
.hero__wrap--pixels .hero__cta .btn{width:100%!important;justify-content:center!important;margin:-1px 0 0!important;min-height:48px!important;text-align:center!important}
.hero__pixel{
  position:absolute;
  z-index:1;
  border:1px solid rgba(228,3,46,.62);
  background:rgba(242,237,228,.72);
  backdrop-filter:saturate(110%) blur(5px);
  pointer-events:none;
}
.hero__pixel--a{width:92px;height:58px;left:calc(58.333% - 1px);top:calc(100% - 113px)}
.hero__pixel--b{width:56px;height:56px;left:calc(83.333% + 18px);top:calc(100% - 56px);background:transparent;border-color:rgba(228,3,46,.5)}
.hero__pixel--c{width:76px;height:44px;right:7%;top:18%;background:rgba(242,237,228,.54)}
.hero__pixel--d{width:38px;height:38px;right:19%;bottom:calc(100% - 34px);background:transparent;border-color:rgba(228,3,46,.42)}

/* Single projet : respiration des cartouches et titres/paddings homogènes. */
.single-reference .pj-cartouche,
.pj-cartouche:not(.contact-cartouche){
  background:rgba(242,237,228,.88)!important;
  overflow:hidden!important;
}
.single-reference .pj-cartouche__hd,
.pj-cartouche:not(.contact-cartouche) .pj-cartouche__hd{padding:12px 18px!important}
.single-reference .pj-row,
.pj-cartouche:not(.contact-cartouche) .pj-row{padding:15px 18px!important}
.single-reference .pj-map-label{display:block;margin:24px 0 12px;padding:0 2px}
.single-reference .pj-mini-map{border:1px solid var(--ink);overflow:hidden;background:var(--paper-2)}

@media(max-width:900px){
  .hero--framed{padding:calc(var(--header-h,64px) + 24px) 16px 34px!important;align-items:flex-end!important}
  .hero__wrap--pixels{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;width:100%!important}
  .hero__wrap--pixels::before{right:0;bottom:58px;background:rgba(242,237,228,.08)}
  .hero__wrap--pixels .hero__panel--brand{grid-column:1 / -1!important;grid-row:1!important;padding:28px 22px 18px!important}
  .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;grid-row:2!important;margin-top:-1px!important;padding:20px 20px 24px!important}
  .hero__wrap--pixels .hero__panel--actions{grid-column:2 / -1!important;grid-row:3!important;margin-top:-1px!important;margin-left:-1px!important;min-height:0!important;padding:0!important;justify-content:stretch!important}
  .hero__wrap--pixels .hero__panel--actions::after{width:46px;height:46px;right:auto;left:-46px;top:-1px;border:1px solid rgba(228,3,46,.72);border-right:0;background:transparent}
  .hero__wrap--pixels .hero__logo img{max-height:clamp(74px,22vw,108px)!important}
  .hero__wrap--pixels .hero__meta-line{grid-template-columns:1fr!important;gap:7px!important;margin-bottom:16px!important;font-size:7.8px!important;line-height:1.35!important}
  .hero__wrap--pixels .hero__lead p{font-size:clamp(20px,6.1vw,27px)!important;line-height:1.13!important;max-width:100%!important}
  .hero__wrap--pixels .hero__cta{width:100%!important;grid-template-columns:1fr!important}
  .hero__wrap--pixels .hero__cta .btn{font-size:9px!important;min-height:46px!important;padding:13px 12px!important}
  .hero__pixel--a{width:56px;height:42px;left:auto;right:0;top:-42px;background:rgba(242,237,228,.7)}
  .hero__pixel--b{width:42px;height:42px;left:0;top:auto;bottom:0}
  .hero__pixel--c{width:34px;height:34px;right:18px;top:calc(100% + 12px)}
  .hero__pixel--d{display:none}
}
@media(max-width:760px){
  .single-reference .pj-body{padding:36px 0 28px!important}
  .single-reference .pj-side{padding:0 0 42px!important}
  .single-reference .pj-cartouche{margin-top:18px!important}
  .single-reference .pj-row,
  .pj-cartouche:not(.contact-cartouche) .pj-row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:15px 16px!important}
  .single-reference .pj-row .v,
  .pj-cartouche:not(.contact-cartouche) .pj-row .v{text-align:left!important}
  .single-reference .pj-cartouche__hd,
  .pj-cartouche:not(.contact-cartouche) .pj-cartouche__hd{padding:12px 16px!important}
  .single-reference .wrap{padding-left:18px!important;padding-right:18px!important}
}


/* =========================================================
   THEME V4 — correctifs finaux demandés
   - média du hero piloté depuis la page Accueil
   - hero compact, sans contour rouge, aligné desktop
   - transition au scroll sous la section chiffres
   - paddings cartouches homogènes
   ========================================================= */
body.home .hero--home.hero--framed{
  min-height:calc(100svh - var(--header-h,74px));
  padding:calc(var(--header-h,74px) + 42px) var(--sp-4) 0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
  isolation:isolate;
  background:var(--paper)!important;
  position:sticky;
  top:0;
  z-index:0;
}
body.home .hero--home.hero--framed .hero-contours,
body.home.home-hero-grid-off .hero--home .contours,
body.home .hero--home.hero--no-grid .contours{
  display:none!important;
}
body.home .hero--home .hero__media{
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  background:var(--paper)!important;
}
body.home .hero--home .hero__media img,
body.home .hero--home .hero__media video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.86) contrast(1.03) brightness(.88)!important;
}
body.home .hero--home .hero__media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(242,237,228,.34),rgba(242,237,228,.18) 45%,rgba(242,237,228,.52))!important;
  pointer-events:none!important;
}
body.home .hero__wrap--pixels{
  width:min(980px,calc(100vw - 56px))!important;
  margin:0 max(28px,calc((100vw - 1280px)/2 + 28px)) 0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:0!important;
  align-items:end!important;
  overflow:visible!important;
  transform:translateY(1px);
}
body.home .hero__wrap--pixels::before{display:none!important}
body.home .hero__wrap--pixels .hero__panel{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  background:rgba(242,237,228,.94)!important;
}
body.home .hero__wrap--pixels .hero__panel--brand{
  grid-column:1 / 9!important;
  grid-row:1!important;
  padding:clamp(24px,3.1vw,44px) clamp(26px,4vw,54px) 14px!important;
  align-self:end!important;
}
body.home .hero__wrap--pixels .hero__panel--copy{
  grid-column:1 / 8!important;
  grid-row:2!important;
  margin:0!important;
  padding:14px clamp(26px,4vw,54px) clamp(22px,2.7vw,34px)!important;
  min-height:0!important;
}
body.home .hero__wrap--pixels .hero__panel--actions{
  grid-column:8 / 13!important;
  grid-row:2!important;
  margin:0 0 0 0!important;
  min-height:0!important;
  padding:0!important;
  align-self:end!important;
  justify-content:stretch!important;
  background:transparent!important;
}
body.home .hero__wrap--pixels .hero__panel--actions::after{display:none!important}
body.home .hero__wrap--pixels .hero__logo{margin:0!important}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(78px,9vw,132px)!important;width:auto!important}
body.home .hero__wrap--pixels .hero__meta-line{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:0 0 16px!important;
  color:var(--red)!important;
  font-size:8px!important;
  line-height:1.35!important;
  letter-spacing:.18em!important;
}
body.home .hero__wrap--pixels .hero__lead p{
  max-width:50ch!important;
  font-size:clamp(19px,1.45vw,25px)!important;
  line-height:1.13!important;
  letter-spacing:-.02em!important;
}
body.home .hero__wrap--pixels .hero__cta{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:320px!important;
  margin:0!important;
}
body.home .hero__wrap--pixels .hero__cta .btn{
  min-height:47px!important;
  margin:0!important;
  justify-content:center!important;
  border:1px solid var(--ink)!important;
  border-radius:0!important;
}
body.home .hero__wrap--pixels .hero__cta .btn--red{border-color:var(--red)!important}
body.home .hero__pixel{
  display:block!important;
  position:absolute!important;
  width:46px!important;
  height:46px!important;
  background:rgba(242,237,228,.94)!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
body.home .hero__pixel--a{right:calc(100% - 46px)!important;bottom:0!important;transform:translateX(-100%)!important}
body.home .hero__pixel--b{left:calc(66.666% - 46px)!important;bottom:47px!important}
body.home .hero__pixel--c{right:-46px!important;bottom:47px!important}
body.home .hero__pixel--d{display:none!important}
body.home .band{
  z-index:3!important;
  margin-top:0!important;
  padding-top:0!important;
}
body.home .band__in{padding-top:clamp(54px,7vw,90px)!important}
@supports (animation-timeline:view()){
  body.home .hero__wrap--pixels{
    animation:puHeroSink both linear;
    animation-timeline:view();
    animation-range:exit -10% exit 72%;
  }
  @keyframes puHeroSink{to{transform:translateY(80px);opacity:.42;filter:blur(1.5px)}}
}
.single-reference .pj-cartouche,
.single-reference .pj-cartouche:not(.contact-cartouche){
  overflow:hidden!important;
  background:var(--paper)!important;
  border:1px solid var(--ink)!important;
}
.single-reference .pj-cartouche__hd{padding:13px 18px!important}
.single-reference .pj-cartouche .pj-row{
  display:grid!important;
  grid-template-columns:minmax(92px,.42fr) minmax(0,1fr)!important;
  gap:14px!important;
  padding:16px 18px!important;
  border-bottom:1px solid var(--line)!important;
}
.single-reference .pj-cartouche .pj-row:last-child{border-bottom:0!important}
.single-reference .pj-cartouche .pj-row .k,
.single-reference .pj-cartouche .pj-row .v{min-width:0!important;overflow-wrap:anywhere!important}
@media(max-width:760px){
  body.home .hero--home.hero--framed{
    min-height:auto!important;
    padding:calc(var(--header-h,64px) + 24px) 16px 0!important;
    position:relative!important;
    align-items:flex-end!important;
  }
  body.home .hero__wrap--pixels{
    width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  body.home .hero__wrap--pixels .hero__panel--brand{
    grid-column:1 / -1!important;
    grid-row:1!important;
    padding:24px 20px 12px!important;
  }
  body.home .hero__wrap--pixels .hero__panel--copy{
    grid-column:1 / -1!important;
    grid-row:2!important;
    padding:14px 20px 22px!important;
  }
  body.home .hero__wrap--pixels .hero__panel--actions{
    grid-column:2 / -1!important;
    grid-row:3!important;
    background:rgba(242,237,228,.94)!important;
  }
  body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(64px,20vw,96px)!important}
  body.home .hero__wrap--pixels .hero__meta-line{grid-template-columns:1fr!important;gap:5px!important;margin-bottom:14px!important;font-size:7.5px!important}
  body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(20px,6vw,26px)!important;line-height:1.12!important}
  body.home .hero__wrap--pixels .hero__cta{max-width:none!important}
  body.home .hero__pixel{width:38px!important;height:38px!important}
  body.home .hero__pixel--a{display:none!important}
  body.home .hero__pixel--b{left:0!important;bottom:46px!important;transform:translateX(-100%)!important}
  body.home .hero__pixel--c{right:0!important;bottom:46px!important;transform:translateX(100%)!important}
  .single-reference .pj-cartouche .pj-row{grid-template-columns:1fr!important;gap:6px!important;padding:16px!important}
  .single-reference .pj-cartouche__hd{padding:13px 16px!important}
}


/* =========================================================
   THEME V5 — accueil escalier, atlas stable, typographies testables
   ========================================================= */
body.home .hero--home.hero--framed{
  height:100svh!important;
  min-height:100svh!important;
  padding:calc(var(--header-h,74px) + 18px) 0 0!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  position:sticky!important;
  top:0!important;
  z-index:0!important;
  overflow:hidden!important;
  background:var(--paper)!important;
}
body.home .hero--home .hero__media{position:absolute!important;inset:0!important;z-index:-3!important;background:var(--paper)!important}
body.home .hero--home .hero__media img,
body.home .hero--home .hero__media video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important;opacity:1!important}
body.home .hero--home .hero__media::after{display:none!important;background:none!important;content:none!important}
body.home .hero__wrap--pixels{
  width:min(720px,calc(50vw + 24px))!important;
  max-width:calc(100vw - 36px)!important;
  margin:0 auto 0 max(18px,calc((100vw - 1280px)/2 + 32px))!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  align-items:end!important;
  gap:0!important;
  padding:0!important;
  transform:translateY(0)!important;
  isolation:isolate!important;
}
body.home .hero__wrap--pixels::before{display:none!important}
body.home .hero__wrap--pixels .hero__panel{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  background:rgba(242,237,228,.96)!important;
}
body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 12!important;grid-row:1!important;padding:clamp(22px,3vw,38px) clamp(22px,3.8vw,48px) 12px!important}
body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / 10!important;grid-row:2!important;margin:0!important;padding:12px clamp(22px,3.8vw,48px) clamp(18px,2.5vw,30px)!important;min-height:0!important}
body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 7!important;grid-row:3!important;margin:0!important;padding:0!important;min-height:0!important;background:rgba(242,237,228,.96)!important;display:block!important}
body.home .hero__wrap--pixels .hero__panel--actions::after{display:none!important}
body.home .hero__wrap--pixels .hero__logo{margin:0!important;max-width:100%!important}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(70px,8vw,118px)!important;width:auto!important;max-width:100%!important}
body.home .hero__wrap--pixels .hero__logo--placeholder h1{font-size:clamp(58px,8vw,128px)!important;line-height:.82!important}
body.home .hero__wrap--pixels .hero__meta-line{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin:0 0 12px!important;font-size:8px!important;line-height:1.38!important;letter-spacing:.16em!important;color:var(--ink-2)!important}
body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(18px,1.55vw,24px)!important;line-height:1.18!important;max-width:34ch!important;margin:0!important;letter-spacing:-.012em!important}
body.home .hero__wrap--pixels .hero__cta{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:none!important;margin:0!important}
body.home .hero__wrap--pixels .hero__cta .btn{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:46px!important;margin:0!important;justify-content:flex-start!important;padding:14px clamp(22px,3.8vw,48px)!important;background:rgba(242,237,228,.96)!important;color:var(--ink)!important}
body.home .hero__wrap--pixels .hero__cta .btn--red{background:var(--red)!important;color:#fff!important}
body.home .hero__pixel{display:block!important;position:absolute!important;width:44px!important;height:44px!important;background:rgba(242,237,228,.96)!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;pointer-events:none!important}
body.home .hero__pixel--a{left:calc(91.666% - 44px)!important;bottom:calc(100% - 44px)!important}
body.home .hero__pixel--b{left:calc(75% - 44px)!important;bottom:46px!important;background:rgba(242,237,228,.96)!important}
body.home .hero__pixel--c{left:calc(50% - 44px)!important;bottom:0!important;background:rgba(242,237,228,.96)!important}
body.home .hero__pixel--d{display:none!important}
body.home .band{position:relative!important;z-index:4!important;margin-top:0!important;padding-top:0!important;background:var(--paper)!important}
body.home .band__in{padding-top:clamp(46px,6vw,76px)!important}
body.home .hero + .band{margin-top:0!important}
@supports (animation-timeline:view()){
  body.home .hero__wrap--pixels{animation:puHeroV5Sink both linear!important;animation-timeline:view()!important;animation-range:exit 0% exit 70%!important}
  @keyframes puHeroV5Sink{to{transform:translateY(70px)!important;opacity:.55!important}}
}
@media(max-width:760px){
  body.home .hero--home.hero--framed{position:relative!important;height:100svh!important;min-height:100svh!important;padding:calc(var(--header-h,64px) + 14px) 14px 0!important;align-items:flex-end!important}
  body.home .hero__wrap--pixels{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
  body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / -1!important;padding:22px 18px 10px!important}
  body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;padding:12px 18px 18px!important}
  body.home .hero__wrap--pixels .hero__panel--actions{grid-column:2 / -1!important;background:rgba(242,237,228,.96)!important}
  body.home .hero__wrap--pixels .hero__lead p{max-width:100%!important;font-size:clamp(19px,5.5vw,25px)!important;line-height:1.16!important}
  body.home .hero__wrap--pixels .hero__meta-line{font-size:7.5px!important}
  body.home .hero__wrap--pixels .hero__cta .btn{justify-content:center!important;padding:13px 12px!important}
  body.home .hero__pixel{width:34px!important;height:34px!important}
  body.home .hero__pixel--a{right:0!important;left:auto!important;top:-34px!important;bottom:auto!important}
  body.home .hero__pixel--b{left:0!important;bottom:46px!important;transform:translateX(-100%)!important}
  body.home .hero__pixel--c{left:auto!important;right:0!important;bottom:0!important;transform:translateX(100%)!important}
}

/* Atlas : contrôles toujours lisibles et carte libre au toucher/souris */
.references-atlas .atlas-stage{touch-action:none!important}
.references-atlas .atlas-map,.references-atlas .leaflet-container{touch-action:none!important;cursor:grab!important}
.references-atlas .leaflet-container.is-dragging{cursor:grabbing!important}
.references-atlas .atlas-tools{z-index:950!important;pointer-events:none!important}
.references-atlas .atlas-tools > *{pointer-events:auto!important}
.references-atlas .map-style__menu{z-index:950!important}
.references-atlas .tool-btn[data-lock]{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--ink)!important;opacity:1!important;visibility:visible!important}
.references-atlas .tool-btn[data-lock] b{color:var(--red)!important}
.references-atlas .tool-btn[data-lock].on{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.references-atlas .tool-btn[data-lock].on b{color:var(--paper)!important}
.references-atlas .leaflet-control-container{z-index:950!important}
.peek{z-index:950!important;width:300px!important;display:block}
.peek.show{opacity:1!important;visibility:visible!important}
@media(max-width:1023px){
  .references-atlas .atlas-aside{pointer-events:none!important;z-index:0!important}
  
  
  
  
  .references-atlas .atlas-tools{bottom:12px!important;left:10px!important;right:10px!important;z-index:950!important}
  .references-atlas .tool-btn{background:var(--paper)!important;color:var(--ink)!important;opacity:1!important;filter:none!important}
  .references-atlas .leaflet-top,.references-atlas .leaflet-bottom{z-index:950!important}
}

/* Témoignages accueil : plus de cartes et drag horizontal à la souris */
.testimonials-strip{cursor:grab;user-select:none;scroll-behavior:smooth;overscroll-behavior-x:contain}
.testimonials-strip.is-dragging{cursor:grabbing;scroll-snap-type:none}
.testimonials-strip .avis-card{flex-basis:min(380px,78vw)!important}
.home-talk-section .testimonials-strip .avis-card{min-height:250px!important}

/* Single : respiration renforcée des cartouches */
.single-reference .pj-cartouche{border:1px solid var(--ink)!important;background:var(--paper)!important;overflow:hidden!important}
.single-reference .pj-cartouche__hd{padding:14px 18px!important;border-bottom:1px solid var(--ink)!important}
.single-reference .pj-cartouche .pj-row{padding:16px 18px!important;box-sizing:border-box!important}
@media(max-width:760px){
  .single-reference .pj-cartouche__hd{padding:14px 16px!important}
  .single-reference .pj-cartouche .pj-row{padding:16px!important;grid-template-columns:1fr!important;gap:6px!important}
}


/* =========================================================
   THEME V6 — corrections finales demandées
   - section manifeste/statistiques restaurée en noir DA
   - hero accueil sans voile et cartouches en escalier compact
   - Atlas : pointer-events, filtres, hover pins et carte stable
   - libellés pages cohérents
   ========================================================= */
body.home .band{
  background:var(--ink)!important;
  color:var(--paper)!important;
  position:relative!important;
  z-index:4!important;
  margin-top:0!important;
  padding-top:0!important;
}
body.home .band .bg-grid,
body.home .band .atlas-grid{
  opacity:.065!important;
  background-image:linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px)!important;
}
body.home .band__in{padding-top:clamp(58px,7vw,96px)!important;padding-bottom:clamp(58px,7vw,96px)!important}
body.home .band .mono,
body.home .band .stat span{color:rgba(242,237,228,.72)!important}
body.home .band h2{color:var(--paper)!important}
body.home .band .stat{border-color:rgba(255,255,255,.18)!important}
body.home .band .stats{border-color:rgba(255,255,255,.22)!important}
body.home .band .stat b{color:var(--red)!important}
body.home .section-title .mono,
body.home .section-title .mono--red{letter-spacing:.18em!important}

/* Hero accueil : plein écran, contenu lisible en bas, aucun overlay sur le média. */
body.home .hero--home.hero--framed{
  height:100svh!important;
  min-height:100svh!important;
  padding:calc(var(--header-h,74px) + 20px) 0 0!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:var(--paper)!important;
}
body.home .hero--home .hero__media{position:absolute!important;inset:0!important;z-index:-2!important;background:var(--paper)!important}
body.home .hero--home .hero__media img,
body.home .hero--home .hero__media video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important;opacity:1!important}
body.home .hero--home .hero__media::after{display:none!important;content:none!important;background:none!important}
body.home .hero__wrap--pixels{
  width:min(720px,calc(50vw + 32px))!important;
  max-width:calc(100vw - 36px)!important;
  margin:0 auto 0 max(18px,calc((100vw - 1280px)/2 + 32px))!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  align-items:end!important;
  gap:0!important;
  padding:0!important;
  transform:none!important;
  overflow:visible!important;
}
body.home .hero__wrap--pixels::before{display:none!important}
body.home .hero__wrap--pixels .hero__panel{border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;background:rgba(242,237,228,.97)!important}
body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 12!important;grid-row:1!important;padding:clamp(22px,3vw,38px) clamp(22px,3.8vw,48px) 12px!important}
body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / 10!important;grid-row:2!important;margin:0!important;padding:12px clamp(22px,3.8vw,48px) clamp(18px,2.5vw,30px)!important;min-height:0!important}
body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 7!important;grid-row:3!important;margin:0!important;padding:0!important;min-height:0!important;background:rgba(242,237,228,.97)!important;display:block!important}
body.home .hero__wrap--pixels .hero__panel--actions::after{display:none!important}
body.home .hero__wrap--pixels .hero__logo{margin:0!important;max-width:100%!important}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(70px,8vw,118px)!important;width:auto!important;max-width:100%!important}
body.home .hero__wrap--pixels .hero__logo--placeholder h1{font-size:clamp(58px,8vw,128px)!important;line-height:.82!important}
body.home .hero__wrap--pixels .hero__meta-line{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin:0 0 12px!important;font-size:8px!important;line-height:1.38!important;letter-spacing:.16em!important;color:var(--ink-2)!important}
body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(18px,1.55vw,24px)!important;line-height:1.18!important;max-width:34ch!important;margin:0!important;letter-spacing:-.012em!important;color:var(--ink)!important}
body.home .hero__wrap--pixels .hero__cta{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:none!important;margin:0!important}
body.home .hero__wrap--pixels .hero__cta .btn{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:46px!important;margin:0!important;justify-content:flex-start!important;padding:14px clamp(22px,3.8vw,48px)!important;background:rgba(242,237,228,.97)!important;color:var(--ink)!important}
body.home .hero__wrap--pixels .hero__cta .btn--red{background:var(--red)!important;color:#fff!important}
body.home .hero__pixel{display:block!important;position:absolute!important;width:44px!important;height:44px!important;background:rgba(242,237,228,.97)!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;pointer-events:none!important}
body.home .hero__pixel--a{left:calc(91.666% - 44px)!important;bottom:calc(100% - 44px)!important}
body.home .hero__pixel--b{left:calc(75% - 44px)!important;bottom:46px!important}
body.home .hero__pixel--c{left:calc(50% - 44px)!important;bottom:0!important}
body.home .hero__pixel--d{display:none!important}
body.home .hero + .band{margin-top:0!important}
@supports (animation-timeline:view()){
  body.home .hero__wrap--pixels{animation:puHeroV6Sink both linear!important;animation-timeline:view()!important;animation-range:exit 0% exit 70%!important}
  @keyframes puHeroV6Sink{to{transform:translateY(70px)!important;opacity:.55!important}}
}
@media(max-width:760px){
  body.home .hero--home.hero--framed{height:100svh!important;min-height:100svh!important;padding:calc(var(--header-h,64px) + 14px) 14px 0!important;align-items:flex-end!important}
  body.home .hero__wrap--pixels{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
  body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / -1!important;padding:22px 18px 10px!important}
  body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;padding:12px 18px 18px!important}
  body.home .hero__wrap--pixels .hero__panel--actions{grid-column:2 / -1!important;background:rgba(242,237,228,.97)!important}
  body.home .hero__wrap--pixels .hero__lead p{max-width:100%!important;font-size:clamp(19px,5.5vw,25px)!important;line-height:1.16!important}
  body.home .hero__wrap--pixels .hero__meta-line{font-size:7.5px!important}
  body.home .hero__wrap--pixels .hero__cta .btn{justify-content:center!important;padding:13px 12px!important}
  body.home .hero__pixel{width:34px!important;height:34px!important}
  body.home .hero__pixel--a{right:0!important;left:auto!important;top:-34px!important;bottom:auto!important}
  body.home .hero__pixel--b{left:0!important;bottom:46px!important;transform:translateX(-100%)!important}
  body.home .hero__pixel--c{left:auto!important;right:0!important;bottom:0!important;transform:translateX(100%)!important}
}

/* Atlas : une couche au-dessus propre pour les contrôles, la carte et les pins. */
body.is-atlas-page .references-atlas{z-index:50!important}
body.is-atlas-page .atlas-stage,
body.is-atlas-page .atlas-map,
body.is-atlas-page .leaflet-container{pointer-events:auto!important;touch-action:none!important;cursor:grab!important}
body.is-atlas-page .leaflet-container.leaflet-drag-target,
body.is-atlas-page .leaflet-container.is-dragging{cursor:grabbing!important}
body.is-atlas-page .leaflet-marker-pane{pointer-events:none!important;z-index:650!important}
body.is-atlas-page .leaflet-marker-icon{pointer-events:auto!important;cursor:pointer!important}
body.is-atlas-page .leaflet-control-container{z-index:950!important;pointer-events:none!important}
body.is-atlas-page .leaflet-control{pointer-events:auto!important}
body.is-atlas-page .atlas-tools{z-index:950!important;pointer-events:none!important}
body.is-atlas-page .atlas-tools > *{pointer-events:auto!important}
body.is-atlas-page .map-style__menu{z-index:950!important}
body.is-atlas-page .tool-btn[data-lock]{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--ink)!important;opacity:1!important;visibility:visible!important;filter:none!important}
body.is-atlas-page .tool-btn[data-lock] b{color:var(--red)!important}
body.is-atlas-page .tool-btn[data-lock].on{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
body.is-atlas-page .tool-btn[data-lock].on b{color:var(--paper)!important}
body.is-atlas-page .peek{display:block!important;z-index:950!important;width:300px!important;visibility:hidden}
body.is-atlas-page .peek.show{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
@media(max-width:1023px){
  body.is-atlas-page .atlas-aside{pointer-events:none!important;z-index:0!important}
  
  
  
  
  body.is-atlas-page .atlas-tools{bottom:12px!important;left:10px!important;right:10px!important;z-index:950!important}
  body.is-atlas-page .tool-btn{background:var(--paper)!important;color:var(--ink)!important;opacity:1!important;filter:none!important}
  body.is-atlas-page .leaflet-top,
  body.is-atlas-page .leaflet-bottom{z-index:950!important}
}

/* Pages : les repères suivent désormais l'ordre réel du menu. */
.page .mono.mono--red{color:var(--red)!important}


/* =========================================================
   THEME V7 — passe globale finale
   ========================================================= */
html,body{overflow-x:hidden!important}
body, p, li, input, textarea, select{line-height:var(--body-line,1.5)!important}
:is(h1,h2,h3,h4,h5,h6,.display,.lead-xl,.layer__t,.card__t,.proj-card__t,.pl-item__t,.stat b,.hero__logo,.hero__lead p,.band h2,.press-card__body h2,.person-card h3){overflow:visible!important;line-height:max(1.08,var(--display-line,1.12))!important;padding-top:.055em;padding-bottom:.055em}
.mono,.page-kicker,.eyebrow,.pl-item__n,.proj-card__n,.hd__meta,.nav a{line-height:var(--mono-line,1.35)!important;overflow:visible!important;padding-top:.08em;padding-bottom:.08em}
.nav a{font-size:calc(11px * var(--nav-scale,1))!important;line-height:var(--nav-line,1.35)!important}.btn,.tool-btn,button,.chip,.press-filter-chip{font-size:calc(10px * var(--button-scale,1))!important;line-height:var(--button-line,1.2)!important;overflow:visible!important}.display,.lead-xl,.band h2,.hero__lead p,.layer__t,.card__t,.proj-card__t{font-size:calc(1em * var(--display-scale,1))}
.page-kicker,.page > .section:first-child .mono--red,.press-hero .mono--red,.expertises-page > .section:first-child .mono--red{display:block!important;align-items:center!important;min-height:0!important;width:auto!important;max-width:100%!important;padding:0!important;margin-bottom:clamp(18px,2.2vw,30px)!important;border:0!important;background:transparent!important;color:var(--red)!important;font-family:var(--mono)!important;font-size:calc(10px * var(--mono-scale,1))!important;letter-spacing:.13em!important;text-transform:uppercase!important;white-space:normal!important}.page > .section:first-child + .section{padding-top:0!important}
body.home .hero--home.hero--framed{height:100svh!important;min-height:640px!important;max-height:none!important;padding:calc(var(--header-h,74px) + 20px) 0 clamp(18px,2.8vw,42px)!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;position:relative!important;top:auto!important;z-index:0!important;overflow:hidden!important}body.home .hero--home .hero__media img,body.home .hero--home .hero__media video{filter:none!important;opacity:1!important}body.home .hero--home .hero__media::after{display:none!important;content:none!important;background:none!important}body.home .hero__wrap--pixels{width:min(720px,calc(50vw + 32px))!important;max-width:calc(100vw - 34px)!important;margin:0 0 0 max(18px,calc((100vw - 1280px)/2 + 32px))!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;transform:none!important}body.home .hero__wrap--pixels .hero__panel{background:rgba(242,237,228,.97)!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important}body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 12!important;padding:clamp(20px,2.6vw,34px) clamp(22px,3.6vw,46px) 10px!important}body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / 10!important;padding:10px clamp(22px,3.6vw,46px) clamp(16px,2.2vw,26px)!important;min-height:0!important}body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 7!important;background:rgba(242,237,228,.97)!important;padding:0!important;min-height:0!important}body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(72px,8.4vw,120px)!important}body.home .hero__wrap--pixels .hero__meta-line{margin-bottom:10px!important;font-size:calc(7.8px * var(--mono-scale,1))!important;line-height:1.45!important}body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(18px,1.36vw,22px)!important;line-height:1.16!important;max-width:46ch!important}body.home .hero__wrap--pixels .hero__cta .btn{min-height:44px!important;padding:13px 18px!important}body.home .hero__pixel{background:rgba(242,237,228,.97)!important;border:0!important}body.home .band{background:var(--ink)!important;color:var(--paper)!important;z-index:3!important;position:relative!important;margin-top:0!important}body.home .band h2{color:var(--paper)!important}.band h2 em{color:var(--red)!important}body.home .band .mono,body.home .band .stat span{color:rgba(242,237,228,.72)!important}body.home .band .stat{border-color:rgba(255,255,255,.18)!important}.band .stats{border-color:rgba(255,255,255,.22)!important}
body.is-atlas-page .references-atlas{isolation:isolate!important}body.is-atlas-page .atlas-stage,body.is-atlas-page .atlas-map,body.is-atlas-page .leaflet-container{pointer-events:auto!important;touch-action:none!important;cursor:grab!important;will-change:transform}body.is-atlas-page .leaflet-container.is-dragging{cursor:grabbing!important}body.is-atlas-page .leaflet-marker-pane{pointer-events:none!important;z-index:650!important}body.is-atlas-page .leaflet-marker-icon{pointer-events:auto!important;cursor:pointer!important;overflow:visible!important}body.is-atlas-page .leaflet-tooltip.pu-map-tooltip{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--ink)!important;border-radius:0!important;box-shadow:8px 8px 0 rgba(26,23,20,.12)!important;padding:10px 12px!important;max-width:280px!important;white-space:normal!important;font-family:var(--sans)!important;line-height:1.25!important}body.is-atlas-page .pu-map-tooltip strong{display:block;font-family:var(--display)!important;font-size:18px!important;line-height:1.08!important;margin:3px 0 5px!important}body.is-atlas-page .pu-map-tooltip p{font-size:12px!important;line-height:1.35!important;margin:0!important;color:var(--ink-2)!important}body.is-atlas-page .pu-map-tooltip__k{font-family:var(--mono)!important;color:var(--red)!important;font-size:9px!important;letter-spacing:.12em!important;text-transform:uppercase!important}body.is-atlas-page .peek{display:block!important;z-index:950!important;width:300px!important;visibility:hidden!important}body.is-atlas-page .peek.show{visibility:visible!important;opacity:1!important;transform:translateY(0)!important}.references-atlas .pl-item__t,.references-atlas .proj-card__t{line-height:1.14!important;padding-top:.08em!important;padding-bottom:.08em!important}
.pj-hero{position:relative!important;overflow:hidden!important;min-height:clamp(430px,54vh,640px)!important;display:flex!important;align-items:center!important}.pj-hero .single-map-bg{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important}.pj-hero .single-map-bg .leaflet-control-container{display:none!important}.pj-hero .wrap{position:relative!important;z-index:3!important}.pj-hero__n{background:rgba(242,237,228,.90)!important;display:inline-flex!important;flex-wrap:wrap!important;gap:8px 14px!important;padding:9px 12px!important;border:1px solid rgba(26,23,20,.24)!important;max-width:min(760px,calc(100vw - 132px))!important;line-height:1.4!important}.pj-cartouche .pj-row{padding:16px 18px!important}.pj-cartouche__hd{padding:13px 18px!important}
@media(max-width:760px){body.home .hero--home.hero--framed{min-height:100svh!important;height:auto!important;padding:calc(var(--header-h,64px) + 16px) 14px 18px!important}body.home .hero__wrap--pixels{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / -1!important;padding:20px 18px 8px!important}body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;padding:10px 18px 16px!important}body.home .hero__wrap--pixels .hero__panel--actions{grid-column:2 / -1!important}body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(18px,5.3vw,23px)!important;line-height:1.18!important}body.home .hero__wrap--pixels .hero__meta-line{grid-template-columns:1fr!important;gap:4px!important;font-size:7px!important}body.home .hero__wrap--pixels .hero__cta .btn{min-height:42px!important}.pj-hero{min-height:430px!important;align-items:flex-end!important;padding-bottom:34px!important}.pj-hero__n{max-width:calc(100vw - 84px)!important;gap:5px 9px!important;padding:8px 9px!important}}
@media(max-width:1023px){body.is-atlas-page .atlas-tools{z-index:950!important;pointer-events:none!important;opacity:1!important;visibility:visible!important}body.is-atlas-page .atlas-tools > *{pointer-events:auto!important}body.is-atlas-page .leaflet-control-container{z-index:950!important}}

/* =========================================================
   THEME V8 — corrections finales Hugo
   ========================================================= */
/* Repères de pages : format cartographique texte, sans bordure. */
.page-kicker,
.page > .section:first-child .mono--red,
.press-hero .mono--red,
.expertises-page > .section:first-child .mono--red{
  display:block!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0 0 clamp(18px,2.2vw,30px)!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.55!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  overflow:visible!important;
}
.mono,.eyebrow,.pl-item__n,.proj-card__n,.hd__meta,.nav a,.btn,.tool-btn,.chip{
  line-height:1.42!important;
  overflow:visible!important;
  padding-top:.06em;
  padding-bottom:.06em;
}
.display,.lead-xl,.hero__lead p,.band h2,.section-title h2,.avis-accordion__main strong,.pl-item__t,.proj-card__t{
  overflow:visible!important;
}
/* Home : bloc à gauche, compact, sans voile. */
body.home .hero--home.hero--framed{
  height:100svh!important;
  min-height:680px!important;
  padding:calc(var(--header-h,74px) + 14px) 0 clamp(18px,3vh,38px)!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
}
body.home .hero--home .hero__media{
  opacity:1!important;
  filter:none!important;
}
body.home .hero--home .hero__media:not(.hero__media--slideshow) img,
body.home .hero--home .hero__media video{
  opacity:1!important;
  filter:none!important;
}
body.home .hero--home .hero__media::after{display:none!important;content:none!important;background:none!important;}
body.home .hero__wrap--pixels{
  width:min(680px,48vw)!important;
  max-width:calc(100vw - 32px)!important;
  margin-left:clamp(18px,2.4vw,42px)!important;
  margin-right:auto!important;
  transform:none!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  align-self:flex-start!important;
}
body.home .hero__wrap--pixels .hero__panel{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  background:rgba(242,237,228,.97)!important;
}
body.home .hero__wrap--pixels .hero__panel--brand{
  grid-column:1 / 12!important;
  grid-row:1!important;
  padding:clamp(22px,3vw,36px) clamp(24px,3.6vw,46px) 12px!important;
}
body.home .hero__wrap--pixels .hero__panel--copy{
  grid-column:1 / 10!important;
  grid-row:2!important;
  margin:0!important;
  padding:10px clamp(24px,3.6vw,46px) clamp(16px,2.2vw,26px)!important;
  min-height:0!important;
}
body.home .hero__wrap--pixels .hero__panel--actions{
  grid-column:1 / 7!important;
  grid-row:3!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  background:rgba(242,237,228,.97)!important;
  display:block!important;
}
body.home .hero__wrap--pixels .hero__panel--actions::after{display:none!important;}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(76px,8vw,116px)!important;}
body.home .hero__wrap--pixels .hero__meta-line{margin-bottom:10px!important;font-size:7.8px!important;line-height:1.55!important;}
body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(18px,1.32vw,22px)!important;line-height:1.2!important;max-width:46ch!important;}
body.home .hero__wrap--pixels .hero__cta{display:grid!important;grid-template-columns:minmax(0,1fr)!important;margin:0!important;}
body.home .hero__wrap--pixels .hero__cta .btn{width:100%!important;min-height:44px!important;padding:12px 18px!important;justify-content:flex-start!important;}
body.home .hero__pixel{background:rgba(242,237,228,.97)!important;border:0!important;}
body.home .band{background:var(--ink)!important;color:var(--paper)!important;position:relative!important;z-index:3!important;margin-top:0!important;}
body.home .band h2{color:var(--paper)!important;}
body.home .band .mono,body.home .band .stat span{color:rgba(242,237,228,.72)!important;}
.pj-hero .single-map-bg .leaflet-control-container{display:none!important;}
.pj-hero .single-map-bg{pointer-events:none!important;}
.pj-hero .single-map-bg .js-pu-map{filter:grayscale(.12) contrast(1.02) brightness(1.05)!important;}
.pj-hero__n{line-height:1.5!important;overflow:visible!important;}
/* Témoignages : les longs messages en accordéon redeviennent des paragraphes lisibles. */
.avis-accordion__content blockquote{
  font-family:var(--sans)!important;
  font-weight:400!important;
  font-size:clamp(15px,1.04vw,17px)!important;
  line-height:1.68!important;
  letter-spacing:0!important;
  max-width:860px!important;
  color:var(--ink-2)!important;
}
.avis-accordion__content{padding:24px 54px 30px 72px!important;}
/* Atlas mobile : le panneau filtres passe au-dessus de tout, reste cliquable et lisible. */
@media(max-width:1023px){
  
  
  
  
  
  
  .atlas-map,.js-pu-map,.leaflet-container{touch-action:pan-x pan-y pinch-zoom!important;}
  .atlas-tools{z-index:120!important;bottom:12px!important;}
  .map-style__menu{z-index:150!important;}
}
@media(max-width:760px){
  body.home .hero--home.hero--framed{height:100svh!important;min-height:620px!important;padding:calc(var(--header-h,64px) + 12px) 14px 16px!important;}
  body.home .hero__wrap--pixels{width:100%!important;max-width:100%!important;margin-left:0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;align-self:stretch!important;}
  body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / -1!important;padding:20px 18px 10px!important;}
  body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;padding:10px 18px 16px!important;}
  body.home .hero__wrap--pixels .hero__panel--actions{grid-column:2 / -1!important;}
  body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(17px,5.1vw,22px)!important;line-height:1.2!important;}
  body.home .hero__wrap--pixels .hero__meta-line{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;font-size:7px!important;}
  .avis-accordion__item summary{min-height:70px!important;}
  .avis-accordion__content{padding:20px!important;}
  .avis-accordion__content blockquote{font-size:15px!important;line-height:1.62!important;}
}


/* =========================================================
   THEME V9 — correctif final Hugo
   Objectif : retrouver les échelles typo stables, homogénéiser les cartouches de page,
   cadrer le hero accueil dans le viewport et restaurer le pin réel de la single référence.
   ========================================================= */
:root{--hero-home-gap:clamp(24px,2.35vw,42px);}

/* Typos : on ne laisse plus les réglages de taille/interlignage custom casser la DA. */
body, p, li, input, textarea, select{line-height:1.48!important;}
.nav a,.hd__meta{font-size:11px!important;line-height:1.25!important;padding-top:0!important;padding-bottom:0!important;}
.mono,.eyebrow,.pl-item__n,.proj-card__n,.card__n,.press-card__meta,.hd__meta{line-height:1.35!important;overflow:visible!important;padding-top:.03em!important;padding-bottom:.03em!important;}
.btn,.tool-btn,button,.chip,.press-filter-chip{font-size:10px!important;line-height:1.15!important;overflow:visible!important;}
.display{line-height:.92!important;overflow:visible!important;padding-top:.04em!important;padding-bottom:.08em!important;}
.lead-xl{line-height:1.05!important;overflow:visible!important;padding-top:.04em!important;padding-bottom:.08em!important;}
.card__t,.proj-card__t,.pl-item__t,.layer__t,.press-card__body h2,.person-card h3{line-height:1.12!important;overflow:visible!important;padding-top:.05em!important;padding-bottom:.08em!important;}
.stat b{line-height:1.02!important;overflow:visible!important;padding-top:.04em!important;padding-bottom:.06em!important;}
.band h2{line-height:1.04!important;overflow:visible!important;padding-top:.04em!important;padding-bottom:.08em!important;}
.hero__lead p{line-height:1.2!important;overflow:visible!important;padding-top:0!important;padding-bottom:.02em!important;}

/* Repères de page : format unique, lisible, sans cartouche noir ni bordure. */
.page-kicker,
.page > .section:first-child .page-kicker,
.page > .section:first-child .mono--red.page-kicker,
.press-hero .page-kicker,
.press-hero .mono--red.page-kicker,
.expertises-page > .section:first-child .page-kicker,
.expertises-page > .section:first-child .mono--red.page-kicker,
.page-hero .page-kicker{
  display:block!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0 0 clamp(22px,2.1vw,30px)!important;
  border:0!important;
  background:transparent!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.35!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.page > .section:first-child + .section{padding-top:0!important;}

/* Accueil : le bloc doit tenir dans le premier écran, avec un vrai espace bas = espace latéral. */
body.home .hero--home.hero--framed{
  height:calc(100svh - var(--header-h,74px))!important;
  min-height:min(640px, calc(100svh - var(--header-h,74px)))!important;
  max-height:none!important;
  padding:0 0 var(--hero-home-gap)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}
body.home .hero--home .hero__media::after{display:none!important;content:none!important;background:none!important;}
body.home .hero--home .hero__media img,
body.home .hero--home .hero__media video{filter:none!important;opacity:1!important;}
body.home .hero__wrap--pixels{
  width:min(700px,calc(50vw + 18px))!important;
  max-width:calc(100vw - (var(--hero-home-gap) * 2))!important;
  margin:0 0 0 max(var(--hero-home-gap), calc((100vw - 1280px)/2 + var(--hero-home-gap)))!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  transform:none!important;
}
body.home .hero__wrap--pixels .hero__panel{border:0!important;border-radius:0!important;box-shadow:none!important;background:rgba(242,237,228,.97)!important;backdrop-filter:none!important;}
body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 12!important;padding:clamp(20px,2.6vw,32px) clamp(22px,3.2vw,42px) 10px!important;}
body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / 10!important;padding:8px clamp(22px,3.2vw,42px) clamp(14px,1.8vw,22px)!important;}
body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 7!important;padding:0!important;}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(70px,7.8vw,112px)!important;}
body.home .hero__wrap--pixels .hero__meta-line{font-size:7.8px!important;line-height:1.45!important;margin:0 0 10px!important;}
body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(17px,1.28vw,21px)!important;line-height:1.18!important;max-width:46ch!important;}
body.home .hero__wrap--pixels .hero__cta .btn{min-height:42px!important;padding:12px 18px!important;}
body.home .hero + .band{margin-top:0!important;}
body.home .band{background:var(--ink)!important;color:var(--paper)!important;}
body.home .band h2{color:var(--paper)!important;}
body.home .band h2 em{color:var(--red)!important;}
body.home .band .mono,body.home .band .stat span{color:rgba(242,237,228,.72)!important;}

/* Single référence : on montre le vrai pin Leaflet, placé par JS selon les coordonnées du projet. */
.pj-hero{position:relative!important;overflow:hidden!important;min-height:clamp(430px,54vh,640px)!important;display:flex!important;align-items:center!important;}
.pj-hero .single-map-bg{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:var(--paper-2)!important;}
.pj-hero .single-map-bg .leaflet-control-container{display:none!important;}
.pj-hero .single-map-bg .js-pu-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;filter:grayscale(.10) contrast(1.02) brightness(1.05)!important;}
.pj-hero .wrap{position:relative!important;z-index:3!important;}
.pj-hero__n{display:inline-flex!important;flex-wrap:wrap!important;gap:8px 14px!important;background:rgba(242,237,228,.90)!important;border:1px solid rgba(26,23,20,.22)!important;padding:9px 12px!important;line-height:1.4!important;max-width:min(760px,calc(100vw - 132px))!important;}

/* Atlas mobile : bouton filtres et panneau vraiment cliquables au-dessus de la carte. */
@media(max-width:1023px){
  
  
  
  
  
  
  
  body.is-atlas-page .atlas-map,
  body.is-atlas-page .leaflet-container{touch-action:pan-x pan-y pinch-zoom!important;}
  
}
@media(max-width:760px){
  body.home .hero--home.hero--framed{
    height:calc(100svh - var(--header-h,64px))!important;
    min-height:560px!important;
    padding:0 14px 18px!important;
  }
  body.home .hero__wrap--pixels{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / -1!important;padding:20px 18px 8px!important;}
  body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;padding:10px 18px 15px!important;}
  body.home .hero__wrap--pixels .hero__panel--actions{grid-column:2 / -1!important;}
  body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(17px,5vw,22px)!important;line-height:1.18!important;}
  body.home .hero__wrap--pixels .hero__meta-line{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;font-size:7px!important;}
  .pj-hero{min-height:430px!important;align-items:flex-end!important;padding-bottom:34px!important;}
  .pj-hero__n{max-width:calc(100vw - 86px)!important;gap:5px 9px!important;padding:8px 9px!important;}
}

/* =========================================================
   THEME V10.1 FINAL — audit UI/UX et stabilisation livraison
   ========================================================= */
:root{
  --red:#E4032E;
  --ink:#1A1714;
  --paper:#F2EDE4;
  --white:#FBF8F2;
  --home-safe-gap:clamp(24px,2.6vw,44px);
}

/* Labels cartographiques : une seule logique visuelle partout. */
.page-kicker,
.mono--red.page-kicker,
.page-hero .page-kicker,
.press-hero .page-kicker,
.pu-page-head .page-kicker,
.expertises-page .page-kicker{
  display:block!important;
  margin:0 0 26px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.35!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  max-width:100%!important;
}
@media(max-width:760px){
  .page-kicker,.mono--red.page-kicker{font-size:9px!important;letter-spacing:.11em!important;line-height:1.45!important;}
}

/* Typographies : on garde les tailles DA du thème et on évite le crop des familles importées. */
body{line-height:1.5!important;}
.hero__logo,.hero__logo h1,.display,.lead-xl,.band h2,.stat b,.layer__t,.card__t,.proj-card__t,.press-card__body h2,.person-content h3{overflow:visible!important;text-rendering:geometricPrecision;}
.hero__logo h1,.display{line-height:.94!important;padding-top:.04em!important;padding-bottom:.08em!important;}
.lead-xl{line-height:1.06!important;padding-top:.04em!important;padding-bottom:.08em!important;}
.mono,.btn,.tool-btn,.chip,.press-filter-chip,.hd__meta,.nav a{overflow:visible!important;line-height:1.3!important;}

/* Hero accueil : image/vidéo brute, aucun voile, panneaux compacts en marche d'escalier. */
body.home .hero--home.hero--framed{
  height:calc(100svh - var(--header-h,74px))!important;
  min-height:560px!important;
  padding:0 var(--home-safe-gap) var(--home-safe-gap)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
  background:var(--paper)!important;
}
body.home .hero--home .hero__media{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;}
body.home .hero--home .hero__media::before,
body.home .hero--home .hero__media::after,
body.home .hero--home::before,
body.home .hero--home::after{display:none!important;content:none!important;background:none!important;}
body.home .hero--home .hero__media img,
body.home .hero--home .hero__media video{width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;opacity:1!important;}
body.home .hero__wrap--framed.hero__wrap--pixels{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:0!important;
  width:min(760px,calc(50vw + 80px))!important;
  max-width:calc(100vw - (var(--home-safe-gap) * 2))!important;
  margin:0!important;
  padding:0!important;
  align-items:end!important;
  transform:none!important;
}
body.home .hero__wrap--pixels .hero__panel{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:rgba(242,237,228,.965)!important;
  backdrop-filter:none!important;
  color:var(--ink)!important;
}
body.home .hero__wrap--pixels .hero__panel--brand{
  grid-column:1 / 12!important;
  grid-row:1!important;
  padding:clamp(22px,3vw,38px) clamp(24px,3.4vw,46px) 10px!important;
}
body.home .hero__wrap--pixels .hero__panel--copy{
  grid-column:1 / 10!important;
  grid-row:2!important;
  padding:8px clamp(24px,3.4vw,46px) clamp(16px,2vw,24px)!important;
  margin:0!important;
  min-height:0!important;
}
body.home .hero__wrap--pixels .hero__panel--actions{
  grid-column:1 / 7!important;
  grid-row:3!important;
  padding:0!important;
  margin:0!important;
}
body.home .hero__wrap--pixels .hero__logo{margin:0!important;line-height:1!important;}
body.home .hero__wrap--pixels .hero__logo img{display:block!important;max-height:clamp(74px,8vw,118px)!important;width:auto!important;max-width:100%!important;}
body.home .hero__wrap--pixels .hero__meta-line{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;margin:0 0 12px!important;font-size:8px!important;line-height:1.45!important;color:var(--ink-2)!important;}
body.home .hero__wrap--pixels .hero__lead p{margin:0!important;max-width:47ch!important;font-size:clamp(17px,1.23vw,21px)!important;line-height:1.2!important;font-weight:600!important;color:var(--ink)!important;}
body.home .hero__wrap--pixels .hero__cta{display:grid!important;grid-template-columns:1fr!important;margin:0!important;gap:0!important;}
body.home .hero__wrap--pixels .hero__cta .btn{width:100%!important;justify-content:flex-start!important;min-height:43px!important;padding:12px 22px!important;margin:0!important;}
body.home .hero__pixel{display:block!important;background:rgba(242,237,228,.965)!important;border:0!important;box-shadow:none!important;}
body.home .hero + .band{margin-top:0!important;}
body.home .band{background:var(--ink)!important;color:var(--paper)!important;}
body.home .band h2{color:var(--paper)!important;}
body.home .band h2 em{color:var(--red)!important;}
body.home .band .mono,body.home .band .stat span{color:rgba(242,237,228,.72)!important;}
@media(max-width:760px){
  body.home .hero--home.hero--framed{height:auto!important;min-height:calc(100svh - var(--header-h,64px))!important;padding:0 14px 18px!important;}
  body.home .hero__wrap--framed.hero__wrap--pixels{width:100%!important;max-width:100%!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;grid-row:1!important;padding:20px 18px 16px!important;}
  body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / -1!important;grid-row:2!important;}
  body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 6!important;grid-row:3!important;padding:18px 18px 14px!important;}
  body.home .hero__wrap--pixels .hero__meta-line{grid-template-columns:1fr!important;gap:4px!important;font-size:7px!important;}
  body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(17px,5.1vw,22px)!important;line-height:1.2!important;}
  body.home .hero__wrap--pixels .hero__logo img{max-height:84px!important;}
}

/* Single référence : padding cartouches + pin Leaflet réel, lisible et ancré en haut à droite par JS. */
.single-reference .pj-cartouche .pj-row,
.pj-cartouche .pj-row{padding:16px 18px!important;}
@media(max-width:760px){
  .single-reference .pj-cartouche .pj-row,
  .pj-cartouche .pj-row{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:16px!important;}
  .pj-row .v{text-align:left!important;}
}
.pj-hero .single-map-bg{pointer-events:auto!important;}
.pj-hero .single-map-bg .leaflet-control-container{display:none!important;}
.pj-hero__n{max-width:min(760px,calc(100vw - 132px))!important;}

/* Carte Atlas : zones tactiles, filtres mobiles au-dessus, pas de double toggle visuel. */
.mk-wrap{display:grid!important;place-items:center!important;background:transparent!important;}
.mk-wrap .mk{width:15px!important;height:15px!important;}
.atlas-touch-hint{position:absolute;left:12px;top:12px;z-index:12;background:rgba(251,248,242,.94);border:1px solid rgba(26,23,20,.22);padding:8px 10px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);pointer-events:none;display:none;}
@media(max-width:1023px){
  .atlas-touch-hint{display:block;}
  
  
  
  
  
  
  
  
  body.is-atlas-page .atlas-map,
  body.is-atlas-page .leaflet-container{touch-action:pan-y!important;overscroll-behavior:contain!important;}
  body.is-atlas-page .leaflet-container.is-map-free{touch-action:none!important;}
}

/* Contact : padding interne stable. */
.pj-cartouche.contact-cartouche .pj-row{padding:16px 18px!important;}
@media(max-width:760px){.pj-cartouche.contact-cartouche .pj-row{padding:15px 16px!important;}}

/* Témoignages : les textes longs restent des paragraphes lisibles. */
.avis-card blockquote,
.press-card--avis .press-card__body p,
.avis-accordion__content,
.avis-accordion__content p{font-family:var(--sans)!important;font-size:clamp(14px,1.1vw,16px)!important;line-height:1.68!important;letter-spacing:0!important;font-weight:400!important;color:var(--ink-2)!important;}


/* =========================================================
   THEME V11 FINAL — hiérarchie, pages, atlas, accueil, presse
   ========================================================= */
:root{
  --page-head-top-final:clamp(72px,7.2vw,112px);
  --page-head-bottom-final:clamp(42px,5vw,74px);
  --h1-final:clamp(48px,7.4vw,104px);
  --h2-final:clamp(38px,5.4vw,82px);
  --h3-final:clamp(25px,2.6vw,40px);
  --home-gap-final:clamp(22px,2.7vw,46px);
}

/* Hiérarchie d'information : titres visibles, pas de crop avec polices personnalisées. */
.lead-xl,
.page h1,
.press-page h1,
.expertises-page h1{
  font-size:var(--h1-final)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  max-width:16ch!important;
  overflow:visible!important;
  padding-top:.04em!important;
  padding-bottom:.07em!important;
}
.section-title h2,
.band h2,
.carto-collab__content h2,
.testimonials-head h2{
  font-size:var(--h2-final)!important;
  line-height:1.03!important;
  letter-spacing:-.03em!important;
  overflow:visible!important;
  padding-top:.04em!important;
  padding-bottom:.07em!important;
}
.card__t,
.proj-card__t,
.pl-item__t,
.layer__t,
.press-card__body h2,
.person-content h3,
.news-card h3{
  font-size:var(--h3-final)!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
  overflow:visible!important;
  padding-top:.04em!important;
  padding-bottom:.08em!important;
}
.hero__lead p,
.entry-content p,
.section-title p,
.press-card__body p,
.person-content p,
.layer__d{
  font-size:clamp(15px,1.05vw,17px)!important;
  line-height:1.68!important;
}

/* Repères cartographiques : même top spacing partout, sans bordure. */
.page > .section:first-child + .section,
.pu-page-head + .section,
.press-hero + .section,
.page-hero + .section{
  padding-top:0!important;
}
.page-kicker,
.mono--red.page-kicker,
.page-hero .page-kicker,
.press-hero .page-kicker,
.pu-page-head .page-kicker,
.expertises-page .page-kicker,
.section-title .mono--red,
.home-press-head .mono--red{
  display:block!important;
  margin:0 0 24px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.42!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}

/* Menu desktop : hover plus signé, cartographique, sans bug de lisibilité. */
.nav{gap:6px!important;align-items:center!important;}
.nav a{
  isolation:isolate;
  padding:11px 14px 10px!important;
  color:var(--ink)!important;
  border:0;
  transition:color .25s var(--ease),transform .25s var(--ease),background .25s var(--ease)!important;
}
.nav a::before{
  content:"";
  position:absolute;
  inset:5px 7px;
  z-index:-1;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--ease);
}
.nav a::after{
  left:8px!important;
  right:8px!important;
  bottom:3px!important;
  height:1px!important;
  background:var(--red)!important;
  opacity:1!important;
}
.nav a:hover,
.nav a:focus-visible,
.nav a.is-active{
  color:var(--white)!important;
  transform:translateY(-1px);
}
.nav a:hover::before,
.nav a:focus-visible::before,
.nav a.is-active::before{transform:scaleX(1);}
.nav a.is-active::after,.nav a:hover::after{transform:scaleX(1)!important;background:var(--red)!important;opacity:1!important;}

/* Accueil : hero plus compact sur mobile, CTA visible, aucun voile. */
body.home .hero--home.hero--framed{
  height:100svh!important;
  min-height:620px!important;
  padding:calc(var(--header-h,74px) + 18px) var(--home-gap-final) var(--home-gap-final)!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  background:var(--paper)!important;
}
body.home .hero--home::before,
body.home .hero--home::after,
body.home .hero--home .hero__media::before,
body.home .hero--home .hero__media::after{display:none!important;content:none!important;background:none!important;}
body.home .hero--home .hero__media img,
body.home .hero--home .hero__media video{filter:none!important;opacity:1!important;}
body.home .hero__wrap--framed.hero__wrap--pixels{
  width:min(760px,calc(50vw + 96px))!important;
  max-width:calc(100vw - (var(--home-gap-final) * 2))!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:0!important;
}
body.home .hero__wrap--pixels .hero__panel{border:0!important;box-shadow:none!important;border-radius:0!important;background:rgba(242,237,228,.965)!important;}
body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 12!important;grid-row:1!important;padding:clamp(20px,2.7vw,36px) clamp(24px,3.4vw,46px) 10px!important;}
body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / 10!important;grid-row:2!important;padding:10px clamp(24px,3.4vw,46px) clamp(16px,2vw,26px)!important;}
body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 7!important;grid-row:3!important;padding:0!important;background:rgba(242,237,228,.965)!important;}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(74px,8vw,118px)!important;}
body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(17px,1.28vw,22px)!important;line-height:1.18!important;max-width:46ch!important;}
body.home .hero__wrap--pixels .hero__meta-line{font-size:7.6px!important;line-height:1.45!important;}
body.home .hero__wrap--pixels .hero__cta .btn{min-height:44px!important;padding:12px 22px!important;}

/* Accueil : section équipe en planche-contact lisible. */
.home-team-card{
  display:grid;
  grid-template-columns:1fr;
  border:1px solid var(--ink);
  background:rgba(251,248,242,.42);
}
.home-team-card__copy{padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;gap:22px;}
.home-team-card__copy p{max-width:62ch;color:var(--ink-2);font-size:16px;line-height:1.7;margin:0;}
.home-team-card__photos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--ink);border-left:0;margin-bottom:0;}
.home-team-card__photo{display:grid;place-items:center;aspect-ratio:3/4;border-left:1px solid var(--line-strong);background:var(--paper);overflow:hidden;color:var(--red);font-family:var(--mono);font-size:12px;text-decoration:none;}
.home-team-card__photo:first-child{border-left:0;}
.home-team-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:grayscale(1) contrast(1.02);transition:filter .25s var(--ease),transform .25s var(--ease);}
.home-team-card__photo:hover img{filter:grayscale(0) contrast(1.04);transform:scale(1.03);}
.home-team-card__photo span{display:grid;place-items:center;width:100%;height:100%;background:var(--white);}
@media(max-width:980px){.home-team-card{grid-template-columns:1fr}.home-team-card__photos{border-left:0;border-top:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:560px){.home-team-card__photos{grid-template-columns:repeat(2,minmax(0,1fr));}}
.home-press-head{margin-top:0!important;margin-bottom:18px!important;}
.news-grid--home-press{margin-bottom:48px!important;}
.home-talk-section .testimonials-section,
.home-talk-section .testimonials-section--compact{padding-top:0!important;}

/* On parle de nous : onglets statiques Presse / Témoignages. */
.on-parle-page .talk-switch{display:inline-flex;align-items:stretch;}
.on-parle-page .talk-panel{display:none;opacity:1;visibility:visible;}
.on-parle-page .talk-panel.is-active{display:block;}
.on-parle-page .press-section,.on-parle-page .testimonials-accordion-section{padding-top:0;margin-top:0;}
.on-parle-page .press-section + .testimonials-accordion-section{border-top:0;padding-top:0;}
.avis-accordion__content blockquote{
  font-family:var(--sans)!important;
  font-size:clamp(15px,1.1vw,17px)!important;
  line-height:1.72!important;
  letter-spacing:0!important;
  font-weight:400!important;
  color:var(--ink-2)!important;
}

/* Single référence : le pin Leaflet réel reste visible en haut à droite, lié aux coordonnées du projet. */
.pj-hero{min-height:clamp(440px,55vh,650px)!important;position:relative!important;overflow:hidden!important;}
.pj-hero .single-map-bg{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;}
.pj-hero .single-map-bg .leaflet-control-container{display:none!important;}
.pj-hero .single-map-bg .leaflet-marker-pane{z-index:650!important;}
.pj-hero__n{max-width:min(780px,calc(100vw - 138px))!important;}

/* Atlas : filtres mobiles cliquables + Index > Cards en 2 colonnes mobile. */
@media(max-width:1023px){
  body.is-atlas-page .atlas-bar__actions{display:none!important;}
  
  
  
  
  
  
  body.is-atlas-page .atlas-tools{z-index:950!important;}
  
  body.is-atlas-page .atlas-map,
  body.is-atlas-page .leaflet-container{touch-action:pan-y!important;}
  body.is-atlas-page .leaflet-container.is-map-free{touch-action:none!important;}
}
@media(max-width:760px){
  .lead-xl,.page h1,.press-page h1,.expertises-page h1{font-size:clamp(38px,12vw,58px)!important;line-height:1.03!important;}
  .section-title h2,.band h2,.carto-collab__content h2,.testimonials-head h2{font-size:clamp(32px,10vw,48px)!important;}
  body.home .hero--home.hero--framed{
    height:100svh!important;
    min-height:560px!important;
    padding:calc(var(--header-h,64px) + 10px) 14px 16px!important;
  }
  body.home .hero__wrap--framed.hero__wrap--pixels{width:100%!important;max-width:100%!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  body.home .hero__wrap--pixels .hero__panel--copy{grid-column:1 / -1!important;grid-row:1!important;padding:16px 16px 13px!important;}
  body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / -1!important;grid-row:2!important;}
  body.home .hero__wrap--pixels .hero__panel--brand{grid-column:1 / 6!important;grid-row:3!important;padding:12px 16px 12px!important;}
  body.home .hero__wrap--pixels .hero__logo img{max-height:66px!important;}
  body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(15px,4.2vw,18px)!important;line-height:1.24!important;}
  body.home .hero__wrap--pixels .hero__cta .btn{min-height:39px!important;padding:10px 14px!important;font-size:8.5px!important;}
  body.home .gv-grid .card:nth-child(n/**/+4){display:none!important;}
  body.home .news-grid--home-press .news-card:nth-child(n/**/+2){display:none;}
  .proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .proj-card__img{aspect-ratio:1 / .82!important;}
  .proj-card__body{padding:12px!important;}
  .proj-card__t{font-size:clamp(17px,5.4vw,22px)!important;line-height:1.08!important;margin:8px 0 6px!important;}
  .proj-card__i{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:11.5px!important;line-height:1.35!important;}
  .proj-card__m{font-size:7.5px!important;gap:5px!important;display:block!important;}
  .home-team-card{grid-template-columns:1fr!important;}
  .home-team-card__photos{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:1px solid var(--ink)!important;}
}


/* V12.3.3 — corrections ciblées demandées */
body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 10!important;}
body.home .hero__wrap--pixels .hero__cta{display:grid!important;grid-template-columns:1fr!important;width:100%!important;align-items:stretch!important;}
body.home .hero__wrap--pixels .hero__cta .btn{justify-content:flex-start!important;text-align:left!important;width:100%!important;}
@media(max-width:760px){.home-team-card__copy{padding:20px!important}.home-team-card__photos{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-talk-section .testimonials-section .section-title{display:block!important}}


/* V12.3.5 — correctifs ciblés : équipe, presse, repères, pin single. */
@media(max-width:1023px){
  .references-atlas .atlas-aside,
  body.is-atlas-page .atlas-aside{pointer-events:auto!important;z-index:auto!important;overflow:visible!important;}
  .references-atlas .filters{z-index:1000!important;pointer-events:none!important;transform:translateY(106%)!important;}
  .references-atlas .filters.is-sheet-open{z-index:1000!important;pointer-events:auto!important;transform:translateY(0)!important;}
  .references-atlas .sheet-overlay{z-index:900!important;pointer-events:none!important;}
  .references-atlas .sheet-overlay.is-open{pointer-events:auto!important;}
  body.filters-open{touch-action:auto!important;}
}
.references-atlas [data-lock]{min-width:120px;text-align:center;}
.references-atlas [data-lock].on{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--ink)!important;}
body.home .hero__wrap--framed.hero__wrap--pixels{width:min(690px,calc(50vw + 72px))!important;}
body.home .hero__wrap--pixels .hero__panel--brand,
body.home .hero__wrap--pixels .hero__panel--copy,
body.home .hero__wrap--pixels .hero__panel--actions{grid-column:1 / 11!important;}
body.home .hero__wrap--pixels .hero__panel--brand{padding-bottom:8px!important;}
body.home .hero__wrap--pixels .hero__panel--copy{padding-top:8px!important;}
body.home .hero__wrap--pixels .hero__logo img{max-height:clamp(64px,7vw,104px)!important;}
body.home .hero__wrap--pixels .hero__lead p{max-width:43ch!important;}
.home-team-card__copy{align-items:flex-start;}
.home-team-card__copy .btn{display:inline-flex;width:max-content!important;max-width:100%;align-self:flex-start;min-width:0;}
.home-team-card__photos{align-self:start;margin-bottom:0;}
.home-team-card__photo{aspect-ratio:3 / 4;background:var(--paper);}
.home-team-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.home-team-card__photo:hover img{transform:none;}
.on-parle-page .avis-accordion{display:flex;overflow-x:auto;gap:0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .on-parle-page .avis-accordion__item{flex:0 0 86vw;width:86vw;scroll-snap-align:start;}
}
.home .layers .layer{grid-template-columns:90px 1fr;}
.home .layers .layer__d{display:none;}
@media(max-width:760px){.home .layers .layer{grid-template-columns:56px 1fr;}}

/* V12.4 — ajustements ciblés : header stable et repères de pages alignés. */
@media (max-width:1280px){
  .nav,.hd__meta{display:none}
  .hd{grid-template-columns:1fr auto}
  .burger{display:flex}
}
.page > .section.pu-page-head:first-child,
main.page > .pu-page-head,
main.page > .press-hero.pu-page-head,
.expertises-page > .section.pu-page-head:first-child{
  padding-top:var(--page-head-top-final)!important;
  padding-bottom:var(--page-head-bottom-final)!important;
}

/* Presse admin simple — H1 plus harmonieux. */
.press-page .press-hero .lead-xl{max-width:17ch!important;}
@media(max-width:760px){.lead-xl,.page h1,.press-page h1,.expertises-page h1{font-size:clamp(36px,11vw,56px)!important;}}


/* === PAYSAGES — Presse : grille row-major + filtres utiles === */
.press-list--press-only.press-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  columns:auto;
  border-top:1px solid var(--ink);
  border-left:1px solid var(--line-strong);
  align-items:stretch;
}
.press-list--press-only .press-card--atlas,
.press-list--press-only .press-card--atlas:nth-child(1),
.press-list--press-only .press-card--atlas:nth-child(4n){
  display:flex;
  flex-direction:column;
  grid-column:auto;
  grid-template-columns:1fr;
  width:auto;
  min-height:100%;
  border-right:1px solid var(--line-strong);
  border-bottom:1px solid var(--line-strong);
  background:transparent;
}
.press-list--press-only .press-card__media,
.press-list--press-only .press-card--atlas:nth-child(1) .press-card__media{
  min-height:150px;
  aspect-ratio:16 / 9;
  border-right:0;
  border-bottom:1px solid var(--ink);
}
.press-list--press-only .press-card__media img{
  width:100%;
  height:100%;
  min-height:150px;
  object-fit:cover;
}
.press-list--press-only .press-card__body,
.press-list--press-only .press-card--atlas:nth-child(1) .press-card__body{
  flex:1;
  min-height:0;
  padding:18px 18px 20px;
}
.press-list--press-only .press-card__body h2{
  font-size:clamp(22px,2.1vw,31px);
  line-height:1.06;
}
@media(max-width:1023px){
  .press-list--press-only.press-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .on-parle-page .press-list--press-only.press-list{
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;
    gap:0;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .on-parle-page .press-list--press-only .press-card--atlas{
    flex:0 0 84vw;
    width:84vw;
    scroll-snap-align:start;
  }
}


/* V12.4.7 — retours ergonomiques : CTA lisibles, hero plus clair, formulaire contact apaisé. */
.btn,
.tool-btn,
button.btn,
.home-talk-cta .btn,
.home-team-card__copy .btn,
.pj-contact-cta .btn{
  font-size:12px!important;
  line-height:1.15!important;
  letter-spacing:.12em!important;
  min-height:42px!important;
  padding:.88rem 1.15rem!important;
}
.home-talk-cta .btn,
.home-team-card__copy .btn{
  width:max-content!important;
  max-width:100%;
}
body.home .hero__wrap--pixels .hero__meta-line{
  font-size:10px!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
}
body.home .hero__wrap--pixels .hero__lead p{
  max-width:44ch!important;
}
.pj-contact-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  border:1px solid var(--ink);
  background:rgba(242,237,228,.78);
  padding:clamp(22px,3vw,34px);
}
.pj-contact-cta__content{max-width:760px;}
.pj-contact-cta__title{
  margin-top:10px;
  font-family:var(--display);
  font-size:clamp(32px,4.2vw,64px);
  line-height:.98;
  letter-spacing:-.045em;
  color:var(--ink);
}
.pj-contact-cta__title em{font-style:italic;color:var(--red);}
.pj-contact-cta p{
  max-width:58ch;
  margin:14px 0 0;
  font-size:16px;
  line-height:1.55;
  color:var(--ink-2);
}
.cform input,
.cform select,
.cform textarea{
  font-size:15px!important;
  line-height:1.45!important;
}
.cform .btn{
  font-size:12px!important;
  min-height:48px!important;
}
@media(max-width:760px){
  .btn,
  .tool-btn,
  button.btn,
  .home-talk-cta .btn,
  .home-team-card__copy .btn,
  .pj-contact-cta .btn{font-size:12px!important;min-height:42px!important;padding:.82rem 1rem!important;}
  body.home .hero__wrap--pixels .hero__meta-line{font-size:10px!important;line-height:1.42!important;}
  body.home .hero__wrap--pixels .hero__lead p{font-size:clamp(17px,5vw,22px)!important;}
  .pj-contact-cta{grid-template-columns:1fr;padding:20px;gap:18px;}
  .pj-contact-cta__title{font-size:clamp(30px,10vw,44px);}
  .pj-contact-cta p{font-size:15px;}
}


/* V12.5 — retours client : hero diaporama, accordéons témoignages, single galerie dans le corps. */
.hero__media--slideshow .hero__media-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:puHeroSlide 24s infinite;}
.hero__media--slideshow .hero__media-slide:nth-child(1){animation-delay:0s;}
.hero__media--slideshow .hero__media-slide:nth-child(2){animation-delay:6s;}
.hero__media--slideshow .hero__media-slide:nth-child(3){animation-delay:12s;}
.hero__media--slideshow .hero__media-slide:nth-child(4){animation-delay:18s;}
.hero__media--slideshow .hero__media-slide:nth-child(n+5){display:none;}
@keyframes puHeroSlide{0%,22%{opacity:1}30%,100%{opacity:0}}
.on-parle-page .avis-accordion{display:block;overflow:visible;scroll-snap-type:none;}
.on-parle-page .avis-accordion__item{width:auto;flex:none;scroll-snap-align:none;}
.pj-body-gallery{margin-top:42px;border-top:1px solid var(--ink);padding-top:22px;}
.pj-body-gallery .pj-gallery{padding:18px 0 0;}
.pj-body-gallery .pj-gallery a{min-height:180px;}
@media(max-width:760px){.pj-body-gallery .pj-gallery a{height:240px}}

/* V12.5.1 — ajustements atlas/home/équipe : filtres rétablis, diaporama réel, visuels au survol. */
.hero__media--slideshow .hero__media-slide{
  display:block;
  opacity:0;
  animation:none;
  transition:opacity .9s var(--ease);
}
.hero__media--slideshow .hero__media-slide:nth-child(n+5){display:block;}
.hero__media--slideshow .hero__media-slide.is-active{opacity:1;}
.equipe-focus__item{
  position:relative;
  overflow:hidden;
  min-height:150px;
  padding-right:min(42%,220px);
}
.equipe-focus__text{position:relative;z-index:1;}
.equipe-focus__visual{
  position:absolute;
  right:18px;
  top:18px;
  bottom:18px;
  width:min(36%,190px);
  margin:0;
  opacity:0;
  transform:translateX(12px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),filter .28s var(--ease);
  border:1px solid var(--ink);
  background:var(--paper-2);
  overflow:hidden;
  filter:grayscale(1) contrast(1.05);
}
.equipe-focus__visual img{width:100%;height:100%;object-fit:cover;display:block;}
.equipe-focus__item:hover .equipe-focus__visual,
.equipe-focus__item:focus-within .equipe-focus__visual{
  opacity:1;
  transform:translateX(0);
  filter:grayscale(.15) contrast(1.05);
}
@media(max-width:760px){
  .equipe-focus__item{padding-right:18px;min-height:auto;}
  .equipe-focus__visual{position:relative;right:auto;top:auto;bottom:auto;width:100%;height:150px;margin:16px 0 0;opacity:1;transform:none;}
}

/* V12.5.2 — stabilité Atlas + équipe : libellé AMO sans casser les filtres, visuels hors du texte. */
.equipe-focus__item.has-visual{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(170px,34%);
  gap:18px;
  align-items:stretch;
  padding-right:18px;
  min-height:170px;
  overflow:hidden;
}
.equipe-focus__item.has-visual .layer__n{
  align-self:start;
}
.equipe-focus__item.has-visual .equipe-focus__text{
  grid-column:2;
  align-self:center;
  max-width:100%;
}
.equipe-focus__item.has-visual .equipe-focus__visual{
  position:relative;
  grid-column:3;
  grid-row:1;
  right:auto;
  top:auto;
  bottom:auto;
  width:100%;
  height:100%;
  min-height:138px;
  margin:0;
  opacity:.18;
  transform:none;
  filter:grayscale(1) contrast(1.05);
  pointer-events:none;
}
.equipe-focus__item.has-visual:hover .equipe-focus__visual,
.equipe-focus__item.has-visual:focus-within .equipe-focus__visual{
  opacity:1;
  filter:grayscale(.08) contrast(1.05);
}
@media(max-width:900px){
  .equipe-focus__item.has-visual{
    grid-template-columns:auto minmax(0,1fr);
  }
  .equipe-focus__item.has-visual .equipe-focus__visual{
    grid-column:1 / -1;
    grid-row:auto;
    height:170px;
    opacity:1;
  }
}


/* V12.5.3 — accueil diaporama réellement cyclé + titres H1 légèrement plus serrés. */
body.has-hero-media .hero--framed .hero__media--slideshow{display:block;position:absolute;inset:0;}
.hero__media--slideshow .hero__media-slide{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;transition:opacity 1.1s var(--ease-out);animation:none;will-change:opacity;}
.hero__media--slideshow .hero__media-slide.is-active{opacity:1;z-index:1;}

/* V12.5.4 — Atlas : cartes projets harmonisées en grille.
   Objectif : mêmes zones verticales pour référence, titre, résumé, lien et méta. */
@media (min-width: 768px){
  .references-atlas .proj-grid:not(.is-list){
    align-items:stretch;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card{
    height:100%;
    display:grid;
    grid-template-rows:auto 1fr;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__img{
    aspect-ratio:16 / 10;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__body{
    display:grid;
    grid-template-rows:1fr auto;
    min-height:324px;
    padding:20px 18px 18px;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__main{
    display:grid;
    grid-template-rows:auto 5.15em 5.05em auto;
    align-content:start;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__n{
    margin:0 0 12px;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__t{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
    min-height:2.32em;
    max-height:2.32em;
    margin:0 0 14px;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__i{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
    min-height:4.5em;
    max-height:4.5em;
    margin:0;
    flex:none;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__read{
    align-self:start;
    margin-top:22px;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__m{
    align-self:end;
    margin-top:22px;
  }
}

/* V1.0.3 — retour header/hero classique, grille cartographique, hero image par page, bordures nettes. */
body{
  background-color:var(--paper);
  background-image:
    linear-gradient(rgba(168,156,134,.24) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,156,134,.24) 1px, transparent 1px);
  background-size:28px 28px;
  background-position:center top;
}
body > .atlas-grid{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:28px 28px;
  background-position:center top;
  -webkit-mask-image:radial-gradient(130% 120% at 75% 0%,#000 50%,transparent 100%);
  mask-image:radial-gradient(130% 120% at 75% 0%,#000 50%,transparent 100%);
}
main,
.main,
.page,
.site-footer{
  position:relative;
  z-index:1;
}
.hd{z-index:60;}

.pu-page-head,
.page-hero.pu-page-head{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.pu-page-head.has-page-hero-media,
.page-hero.pu-page-head.has-page-hero-media{
  min-height:clamp(440px,54vh,620px);
  display:flex;
  align-items:flex-end;
  padding-bottom:clamp(26px,4vw,56px);
  border-bottom:1px solid var(--ink);
  background:var(--paper);
}
.page-hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  overflow:hidden;
  background:var(--paper-2);
}
.page-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none;
  opacity:1;
}
.pu-page-head.has-page-hero-media > .wrap,
.page-hero.pu-page-head.has-page-hero-media > .wrap{
  position:relative;
  z-index:1;
  width:min(760px,calc(100% - 40px));
  max-width:760px;
  margin-left:max(20px,calc((100vw - 1280px)/2 + 28px));
  margin-right:auto;
  padding:clamp(24px,3.2vw,42px);
  background:rgba(242,237,228,.96);
  border:1px solid var(--ink);
  box-shadow:0 0 0 1px rgba(242,237,228,.26) inset;
}
.pu-page-head.has-page-hero-media .lead-xl,
.page-hero.pu-page-head.has-page-hero-media .lead-xl{
  max-width:17ch;
}
.page-hero.pu-page-head.has-page-hero-media .page-hero__grid{
  display:block;
}
.page-hero.pu-page-head.has-page-hero-media .page-hero__grid > p{
  margin-top:20px;
  max-width:58ch;
  color:var(--ink-2);
}
@media(max-width:760px){
  .pu-page-head.has-page-hero-media,
  .page-hero.pu-page-head.has-page-hero-media{
    min-height:520px;
    padding:calc(var(--header-h,64px) + 22px) 14px 18px;
    align-items:flex-end;
  }
  .pu-page-head.has-page-hero-media > .wrap,
  .page-hero.pu-page-head.has-page-hero-media > .wrap{
    width:100%;
    max-width:none;
    margin:0;
    padding:22px 18px;
  }
}

:where(.proj-card,.press-card,.card,.home-team-card,.person-card,.partner-card,.partners-card,.pj-cartouche,.carto-collab,.press-filter-board,.cform,.avis-accordion__item){
  border-radius:0;
  background-clip:padding-box;
  box-shadow:inset 0 0 0 1px var(--line-strong);
}
:where(.band .person-card,.band .card,.band .home-team-card){
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
:where(.proj-card,.press-card,.home-team-card,.person-card,.partner-card,.partners-card,.pj-cartouche,.carto-collab,.press-filter-board,.cform){
  overflow:hidden;
}

/* V1.0.3 — accessibilité clavier conservée de la version SEO / sécurité. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.proj-card[role="link"]:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
}

/* V1.0.4 — corrections page hero : image collée au header, grille unique, titres contenus, bordures nettes. */
body{
  background-color:var(--paper);
  background-image:none;
}
body > .atlas-grid{
  opacity:.30;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:28px 28px;
  background-position:center top;
}
body:has(.pu-page-head.has-page-hero-media) .breadcrumb{
  display:none;
}
.page:has(> .pu-page-head.has-page-hero-media:first-child),
.page:has(> .page-hero.pu-page-head.has-page-hero-media:first-child){
  padding-top:0;
}
.pu-page-head.has-page-hero-media,
.page-hero.pu-page-head.has-page-hero-media{
  min-height:clamp(560px,72svh,760px);
  padding-top:calc(var(--wp-adminbar-h,0px) + var(--header-h,74px) + clamp(34px,5vh,70px));
  padding-bottom:clamp(28px,4vh,58px);
  margin-top:0;
  align-items:flex-end;
  background:var(--ink);
}
.pu-page-head.has-page-hero-media > .wrap,
.page-hero.pu-page-head.has-page-hero-media > .wrap{
  width:min(920px,calc(100% - 56px));
  max-width:920px;
  margin-left:max(28px,calc((100vw - 1280px)/2 + 28px));
  margin-right:auto;
  padding:clamp(26px,3vw,44px) clamp(28px,4vw,56px);
  background:rgba(242,237,228,.96);
  border:1px solid var(--ink);
  box-shadow:none;
}
.pu-page-head.has-page-hero-media .lead-xl,
.page-hero.pu-page-head.has-page-hero-media .lead-xl{
  font-size:clamp(34px,4.15vw,74px);
  line-height:1.02;
  letter-spacing:-.026em;
  max-width:13.6ch;
  margin:0;
  text-wrap:balance;
  overflow-wrap:normal;
}
.page-hero.pu-page-head.has-page-hero-media .page-hero__grid > p{
  margin-top:clamp(16px,2vw,24px);
}
:where(.proj-card,.press-card,.card,.home-team-card,.person-card,.partner-card,.partners-card,.pj-cartouche,.carto-collab,.press-filter-board,.cform,.avis-accordion__item){
  outline:1px solid var(--ink);
  outline-offset:-1px;
  box-shadow:none;
}
:where(.band .person-card,.band .card,.band .home-team-card){
  outline-color:rgba(255,255,255,.22);
}
@media(max-width:760px){
  .pu-page-head.has-page-hero-media,
  .page-hero.pu-page-head.has-page-hero-media{
    min-height:100svh;
    padding:calc(var(--wp-adminbar-h,0px) + var(--header-h,64px) + 22px) 14px 20px;
  }
  .pu-page-head.has-page-hero-media > .wrap,
  .page-hero.pu-page-head.has-page-hero-media > .wrap{
    width:100%;
    max-width:none;
    margin:0;
    padding:22px 18px;
  }
  .pu-page-head.has-page-hero-media .lead-xl,
  .page-hero.pu-page-head.has-page-hero-media .lead-xl{
    font-size:clamp(32px,10.5vw,52px);
    line-height:1.02;
    max-width:12.5ch;
  }
}

/* V1.0.5 — pages avec image hero : flux propre, zéro bande vide sous header, grille unique. */
body{
  background-color:var(--paper)!important;
  background-image:none!important;
}
body > .atlas-grid{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.30!important;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px)!important;
  background-size:28px 28px!important;
  background-position:center top!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
body.has-page-hero-media .breadcrumb{display:none!important;}
body.has-page-hero-media main.page,
body.admin-bar.has-page-hero-media main.page{
  padding-top:0!important;
}
body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child,
body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child{
  position:relative!important;
  isolation:isolate!important;
  contain:paint!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  min-height:clamp(520px,66svh,720px)!important;
  height:auto!important;
  margin:0!important;
  padding:calc(var(--wp-adminbar-h,0px) + var(--header-h,74px) + clamp(34px,5vh,70px)) 0 clamp(48px,6vh,84px)!important;
  border-top:0!important;
  border-bottom:1px solid var(--ink)!important;
  background:var(--ink)!important;
  z-index:1!important;
}
body.has-page-hero-media .page-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  background:var(--paper)!important;
}
body.has-page-hero-media .page-hero-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  filter:none!important;
}
body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap{
  position:relative!important;
  z-index:1!important;
  width:min(760px,calc(100% - 56px))!important;
  max-width:760px!important;
  margin-left:max(28px,calc((100vw - 1280px)/2 + 28px))!important;
  margin-right:auto!important;
  padding:clamp(24px,3vw,40px) clamp(26px,3.6vw,48px)!important;
  background:rgba(242,237,228,.965)!important;
  border:1px solid var(--ink)!important;
  box-shadow:none!important;
}
body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .page-hero__grid{
  display:block!important;
}
body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child .lead-xl,
body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .lead-xl{
  font-size:clamp(38px,4.1vw,70px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  max-width:14.5ch!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-wrap:balance;
}
body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child .page-kicker,
body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .page-kicker{
  margin-bottom:clamp(18px,2vw,28px)!important;
}
body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child + .section,
body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child + .section{
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
  padding-top:clamp(42px,5vw,72px)!important;
  background:transparent!important;
}
@media(max-width:760px){
  body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child,
  body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child{
    min-height:calc(100svh - var(--header-h,64px))!important;
    padding:calc(var(--wp-adminbar-h,0px) + var(--header-h,64px) + 18px) 14px 22px!important;
    align-items:flex-end!important;
  }
  body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
  body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 18px!important;
  }
  body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child .lead-xl,
  body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .lead-xl{
    font-size:clamp(32px,10vw,48px)!important;
    line-height:1.04!important;
    max-width:13ch!important;
  }
  body.has-page-hero-media main.page > .pu-page-head.has-page-hero-media:first-child + .section,
  body.has-page-hero-media main.page > .page-hero.pu-page-head.has-page-hero-media:first-child + .section{
    padding-top:34px!important;
  }
}


/* V1.0.6 — correctifs ciblés : Atlas sans grille parasite, hero page en flux propre, bordures cartes au-dessus des images, curseur carte visible. */
body.is-atlas-page > .atlas-grid,
body.post-type-archive-reference > .atlas-grid{
  display:none!important;
}
body.is-atlas-page,
body.post-type-archive-reference,
.references-atlas,
.references-atlas .atlas-stage,
.references-atlas .atlas-map,
.references-atlas .leaflet-container{
  background-image:none!important;
}
main.page:has(> .pu-page-head.has-page-hero-media:first-child),
main.page:has(> .page-hero.pu-page-head.has-page-hero-media:first-child),
main.page.page--has-hero-media{
  padding-top:0!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child{
  margin-top:0!important;
  padding-top:clamp(34px,5vh,70px)!important;
  padding-bottom:clamp(48px,6vh,84px)!important;
  min-height:clamp(500px,62svh,700px)!important;
  position:relative!important;
  overflow:hidden!important;
  contain:layout paint!important;
  z-index:1!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child .page-hero-media,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .page-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child + .section,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child + .section{
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
  clear:both!important;
  background:transparent!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child .lead-xl,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .lead-xl{
  font-size:clamp(34px,3.7vw,64px)!important;
  line-height:1.06!important;
  letter-spacing:-.032em!important;
  max-width:15.5ch!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card{
  position:relative!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  border:1px solid var(--ink);
}
.references-atlas .proj-grid:not(.is-list) .proj-card__img{
  position:relative;
  z-index:1;
  border-bottom:1px solid var(--ink)!important;
  overflow:hidden;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__body{
  position:relative;
  z-index:2;
}
.references-atlas .leaflet-container,
.single-reference .leaflet-container,
.single-reference .pj-map,
.single-reference .single-hero-map{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M3 2l7 18 2.3-7.1L20 10 3 2z' fill='%23FBF8F2' stroke='%231A1714' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 3 2, grab!important;
}
.references-atlas .leaflet-container:active,
.single-reference .leaflet-container:active,
.single-reference .pj-map:active,
.single-reference .single-hero-map:active{
  cursor:grabbing!important;
}
.references-atlas .leaflet-marker-icon,
.single-reference .leaflet-marker-icon{
  cursor:pointer!important;
}
@media(max-width:760px){
  main.page > .pu-page-head.has-page-hero-media:first-child,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child{
    min-height:calc(100svh - var(--header-h,64px))!important;
    padding:22px 14px!important;
    align-items:flex-end!important;
  }
  main.page > .pu-page-head.has-page-hero-media:first-child .lead-xl,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .lead-xl{
    font-size:clamp(30px,9.5vw,46px)!important;
    line-height:1.05!important;
    max-width:13.5ch!important;
  }
}


/* V1.0.7 — correctif final : hero page presse, Atlas sans grille parasite, curseur carte en croix. */
body.is-atlas-page > .atlas-grid,
body.post-type-archive-reference > .atlas-grid,
body.tax-reference_category > .atlas-grid,
body.tax-reference_type > .atlas-grid{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
body.is-atlas-page,
body.post-type-archive-reference,
body.tax-reference_category,
body.tax-reference_type,
body.is-atlas-page .references-atlas,
body.post-type-archive-reference .references-atlas,
.references-atlas,
.references-atlas::before,
.references-atlas::after,
.references-atlas .atlas-stage,
.references-atlas .atlas-stage::before,
.references-atlas .atlas-stage::after,
.references-atlas .atlas-map,
.references-atlas .atlas-map::before,
.references-atlas .atlas-map::after,
.references-atlas .leaflet-container,
.references-atlas .leaflet-pane,
.references-atlas .leaflet-map-pane,
.references-atlas .leaflet-tile-pane{
  background-image:none!important;
}
.references-atlas::before,
.references-atlas::after,
.references-atlas .atlas-stage::before,
.references-atlas .atlas-stage::after,
.references-atlas .atlas-map::before,
.references-atlas .atlas-map::after{
  content:none!important;
  display:none!important;
}
main.page.page--has-hero-media > .press-hero.has-page-hero-media,
main.page > .pu-page-head.has-page-hero-media:first-child,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child{
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  min-height:clamp(500px,62svh,700px)!important;
  margin-top:0!important;
  padding-top:clamp(34px,5vh,70px)!important;
  padding-bottom:clamp(48px,6vh,84px)!important;
  overflow:hidden!important;
  background:var(--ink)!important;
}
main.page.page--has-hero-media > .press-hero.has-page-hero-media .page-hero-media,
main.page > .pu-page-head.has-page-hero-media:first-child .page-hero-media,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .page-hero-media{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
main.page.page--has-hero-media > .press-hero.has-page-hero-media .page-hero-media img,
main.page > .pu-page-head.has-page-hero-media:first-child .page-hero-media img,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .page-hero-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  filter:none!important;
}
main.page.page--has-hero-media > .press-hero.has-page-hero-media > .wrap,
main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap{
  position:relative!important;
  z-index:2!important;
  width:min(760px,calc(100% - 56px))!important;
  max-width:760px!important;
  margin-left:max(28px,calc((100vw - 1280px)/2 + 28px))!important;
  margin-right:auto!important;
  padding:clamp(24px,3vw,40px) clamp(26px,3.6vw,48px)!important;
  background:rgba(242,237,228,.965)!important;
  border:1px solid var(--ink)!important;
  box-shadow:none!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card{
  position:relative!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:20!important;
  pointer-events:none!important;
  border:1px solid var(--ink)!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__img{
  position:relative!important;
  z-index:1!important;
  border-bottom:1px solid var(--ink)!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__body{
  position:relative!important;
  z-index:2!important;
}
.references-atlas .leaflet-container,
.references-atlas .atlas-map{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 2v28M2 16h28' stroke='%231A1714' stroke-width='3' stroke-linecap='square'/%3E%3Cpath d='M16 7v18M7 16h18' stroke='%23F2EDE4' stroke-width='1' stroke-linecap='square'/%3E%3Ccircle cx='16' cy='16' r='2.5' fill='%23E4032E'/%3E%3C/svg%3E") 16 16, crosshair!important;
}
.references-atlas .leaflet-container:active,
.references-atlas .atlas-map:active{
  cursor:move!important;
}
.references-atlas .leaflet-marker-icon{
  cursor:pointer!important;
}
@media(max-width:760px){
  main.page.page--has-hero-media > .press-hero.has-page-hero-media,
  main.page > .pu-page-head.has-page-hero-media:first-child,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child{
    min-height:calc(100svh - var(--header-h,64px))!important;
    padding:22px 14px!important;
    align-items:flex-end!important;
  }
  main.page.page--has-hero-media > .press-hero.has-page-hero-media > .wrap,
  main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 18px!important;
  }
}


/* V1.0.8 — On parle de nous : respiration sous le hero image, comme les autres pages. */
.on-parle-page .press-section.talk-panel,
.on-parle-page .testimonials-accordion-section.talk-panel{
  padding-top:clamp(56px,6vw,96px)!important;
  margin-top:0!important;
}
.on-parle-page .press-section.talk-panel > .wrap,
.on-parle-page .testimonials-accordion-section.talk-panel > .wrap{
  position:relative;
  z-index:2;
}
.on-parle-page .press-hero.has-page-hero-media + .press-section,
.on-parle-page .press-hero.has-page-hero-media + .talk-panel{
  border-top:0;
}
@media(max-width:760px){
  .on-parle-page .press-section.talk-panel,
  .on-parle-page .testimonials-accordion-section.talk-panel{
    padding-top:38px!important;
  }
}

/* V1.0.9 — correction définitive : On parle de nous respirant + Atlas sans grille + curseur croix. */
body:has(.references-atlas) > .atlas-grid,
body.is-atlas-page > .atlas-grid,
body.post-type-archive-reference > .atlas-grid,
body.tax-reference_category > .atlas-grid,
body.tax-reference_type > .atlas-grid{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
body:has(.references-atlas){
  background-image:none!important;
}
body:has(.references-atlas) .references-atlas,
body:has(.references-atlas) .references-atlas .atlas-main,
body:has(.references-atlas) .references-atlas .atlas-stage,
body:has(.references-atlas) .references-atlas .atlas-map,
body:has(.references-atlas) .references-atlas .leaflet-container,
body:has(.references-atlas) .references-atlas .leaflet-pane,
body:has(.references-atlas) .references-atlas .leaflet-map-pane,
body:has(.references-atlas) .references-atlas .leaflet-tile-pane,
body.is-atlas-page .references-atlas,
body.is-atlas-page .references-atlas .atlas-main,
body.is-atlas-page .references-atlas .atlas-stage,
body.is-atlas-page .references-atlas .atlas-map,
body.is-atlas-page .references-atlas .leaflet-container,
body.is-atlas-page .references-atlas .leaflet-pane,
body.is-atlas-page .references-atlas .leaflet-map-pane,
body.is-atlas-page .references-atlas .leaflet-tile-pane{
  background-color:var(--paper)!important;
  background-image:none!important;
}
body:has(.references-atlas) .references-atlas::before,
body:has(.references-atlas) .references-atlas::after,
body:has(.references-atlas) .references-atlas .atlas-stage::before,
body:has(.references-atlas) .references-atlas .atlas-stage::after,
body:has(.references-atlas) .references-atlas .atlas-map::before,
body:has(.references-atlas) .references-atlas .atlas-map::after,
body.is-atlas-page .references-atlas::before,
body.is-atlas-page .references-atlas::after,
body.is-atlas-page .references-atlas .atlas-stage::before,
body.is-atlas-page .references-atlas .atlas-stage::after,
body.is-atlas-page .references-atlas .atlas-map::before,
body.is-atlas-page .references-atlas .atlas-map::after{
  content:none!important;
  display:none!important;
}
body.is-atlas-page .references-atlas .atlas-stage,
body.is-atlas-page .references-atlas .atlas-map,
body.is-atlas-page .references-atlas .leaflet-container,
body.is-atlas-page .references-atlas .leaflet-grab,
body.is-atlas-page .references-atlas .leaflet-drag-target,
body:has(.references-atlas) .references-atlas .atlas-stage,
body:has(.references-atlas) .references-atlas .atlas-map,
body:has(.references-atlas) .references-atlas .leaflet-container,
body:has(.references-atlas) .references-atlas .leaflet-grab,
body:has(.references-atlas) .references-atlas .leaflet-drag-target{
  cursor:crosshair!important;
}
body.is-atlas-page .references-atlas .leaflet-control,
body.is-atlas-page .references-atlas .leaflet-control *,
body:has(.references-atlas) .references-atlas .leaflet-control,
body:has(.references-atlas) .references-atlas .leaflet-control *{
  cursor:pointer!important;
}
body.is-atlas-page .references-atlas .leaflet-marker-icon,
body:has(.references-atlas) .references-atlas .leaflet-marker-icon{
  cursor:pointer!important;
}
.on-parle-page .press-hero.has-page-hero-media + .talk-panel,
.on-parle-page .press-section.talk-panel,
.on-parle-page .testimonials-accordion-section.talk-panel{
  padding-top:clamp(118px,9vw,168px)!important;
  margin-top:0!important;
}
.on-parle-page .press-section.talk-panel .section-title,
.on-parle-page .testimonials-accordion-section.talk-panel .section-title,
.on-parle-page .testimonials-accordion-section.talk-panel .testimonials-head{
  margin-top:0!important;
}
@media(max-width:760px){
  .on-parle-page .press-hero.has-page-hero-media + .talk-panel,
  .on-parle-page .press-section.talk-panel,
  .on-parle-page .testimonials-accordion-section.talk-panel{
    padding-top:58px!important;
  }
}


/* V1.1.0 — homogénéisation des cards sur le modèle Atlas > Index + images presse accueil. */
.home .gv-grid,
.news-grid--home-press{
  display:grid;
  gap:0;
  border-top:1px solid var(--ink);
  border-left:1px solid var(--ink);
  background:transparent;
}
.home .gv-grid .card,
.news-grid--home-press .news-card{
  position:relative;
  border:0;
  border-right:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  outline:0;
  box-shadow:none;
  background:transparent;
  overflow:hidden;
  min-height:100%;
  transform:none;
}
.home .gv-grid .card::after,
.news-grid--home-press .news-card::after,
.press-card::after,
.person-card::after,
.partner-card::after,
.home-team-card::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid var(--ink);
  pointer-events:none;
  z-index:6;
}
.home .gv-grid .card:hover,
.news-grid--home-press .news-card:hover,
.press-card:hover,
.person-card:hover,
.partner-card:hover{
  background:var(--white);
}
.home .gv-grid .card__link,
.news-grid--home-press .news-card__link{
  min-height:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
}
.home .gv-grid .card__thumb,
.news-grid--home-press .news-card__media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  margin:0;
  overflow:hidden;
  border-bottom:1px solid var(--ink);
  background:var(--paper-2);
  filter:grayscale(.38) contrast(1.02);
  transition:filter .25s var(--ease), transform .35s var(--ease);
}
.news-grid--home-press .news-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.news-grid--home-press .news-card__media span{
  position:absolute;
  inset:auto auto 0 0;
  background:var(--red);
  color:#fff;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:6px 9px;
}
.home .gv-grid .card:hover .card__thumb,
.news-grid--home-press .news-card:hover .news-card__media{
  filter:grayscale(.06) contrast(1.04);
}
.home .gv-grid .card__n,
.news-grid--home-press .date{
  display:block;
  margin:20px 20px 12px;
  font-family:var(--mono);
  font-size:10px;
  line-height:1.35;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--line-strong);
}
.home .gv-grid .card__t,
.news-grid--home-press .news-card h3{
  margin:0 20px 14px;
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(28px,2.7vw,40px);
  line-height:1.05;
  letter-spacing:-.025em;
  color:var(--ink);
}
.home .gv-grid .card__i,
.news-grid--home-press .news-card p{
  margin:0 20px;
  font-size:14px;
  line-height:1.55;
  color:var(--ink-2);
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home .gv-grid .card__i{
  flex:1;
  min-height:6.2em;
  max-height:6.2em;
}
.news-grid--home-press .news-card__body{
  min-height:260px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.news-grid--home-press .news-card p{
  flex:1;
}
.home .gv-grid .card__meta,
.news-grid--home-press .news-card__read{
  margin:24px 20px 20px;
  padding-top:12px;
  border-top:1px dashed var(--line-strong);
  font-family:var(--mono);
  font-size:9.5px;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.news-grid--home-press .news-card__read{
  color:var(--red);
}
.home .gv-grid .card .ar{
  right:20px;
  bottom:20px;
}
.home .layers,
.equipe-intro .layers,
.press-filter-board,
.home-team-card,
.partners-card,
.pj-cartouche,
.cform,
.avis-accordion__item{
  border:1px solid var(--ink);
  outline:0;
  box-shadow:none;
  background-clip:padding-box;
}
.home .layers{
  border-bottom:0;
}
.home .layers .layer{
  padding:28px 22px;
  border-bottom:1px solid var(--ink);
}
.press-list{
  border-top:1px solid var(--ink);
  border-left:1px solid var(--ink);
}
.press-card,
.person-card,
.partner-card{
  position:relative;
  border:0;
  border-right:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  outline:0;
  box-shadow:none;
  background:transparent;
  overflow:hidden;
}
.press-card__media,
.press-card__img,
.person-card__media,
.partner-card__media{
  border-bottom:1px solid var(--ink);
}
@media(max-width:760px){
  .home .gv-grid,
  .news-grid--home-press{
    grid-template-columns:1fr;
  }
  .home .gv-grid .card__t,
  .news-grid--home-press .news-card h3{
    font-size:clamp(26px,8vw,34px);
  }
  .news-grid--home-press .news-card__body{
    min-height:220px;
  }
}


/* V1.1.0 — Atlas : curseur croix visible sur la carte. */
body.is-atlas-page .references-atlas .atlas-stage,
body.is-atlas-page .references-atlas .atlas-map,
body.is-atlas-page .references-atlas .leaflet-container,
body.is-atlas-page .references-atlas .leaflet-grab,
body.is-atlas-page .references-atlas .leaflet-drag-target,
body:has(.references-atlas) .references-atlas .atlas-stage,
body:has(.references-atlas) .references-atlas .atlas-map,
body:has(.references-atlas) .references-atlas .leaflet-container,
body:has(.references-atlas) .references-atlas .leaflet-grab,
body:has(.references-atlas) .references-atlas .leaflet-drag-target{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 2v28M2 16h28' stroke='%231A1714' stroke-width='3' stroke-linecap='square'/%3E%3Cpath d='M16 7v18M7 16h18' stroke='%23F2EDE4' stroke-width='1' stroke-linecap='square'/%3E%3Ccircle cx='16' cy='16' r='2.5' fill='%23E4032E'/%3E%3C/svg%3E") 16 16, crosshair!important;
}
body.is-atlas-page .references-atlas .leaflet-control,
body.is-atlas-page .references-atlas .leaflet-control *,
body.is-atlas-page .references-atlas .leaflet-marker-icon,
body:has(.references-atlas) .references-atlas .leaflet-control,
body:has(.references-atlas) .references-atlas .leaflet-control *,
body:has(.references-atlas) .references-atlas .leaflet-marker-icon{
  cursor:pointer!important;
}


/* V1.1.1 — design system cards homogène : presse accueil = presse page, symétries, hover sobre, suppression bordures lourdes équipe. */
:root{
  --pu-card-border: var(--ink);
  --pu-card-bg: transparent;
  --pu-card-bg-hover: var(--white);
}

/* Un seul système de grille : bord gauche/haut sur le conteneur, droite/bas sur chaque item. */
.home .gv-grid,
.press-list,
.press-list--home,
.news-grid,
.partners-grid,
.gv-grid{
  border-top:1px solid var(--pu-card-border);
  border-left:1px solid var(--pu-card-border);
  gap:0;
}

/* Reset des faux contours superposés qui créaient des doubles bordures. */
.home .gv-grid .card::after,
.news-grid--home-press .news-card::after,
.press-card::after,
.person-card::after,
.partner-card::after,
.home-team-card::after,
.card::after{
  content:none;
  display:none;
}

/* Cards génériques : structure Atlas / Index. */
.home .gv-grid .card,
.press-card,
.person-card,
.partner-card,
.news-card{
  position:relative;
  border:0;
  border-right:1px solid var(--pu-card-border);
  border-bottom:1px solid var(--pu-card-border);
  outline:0;
  box-shadow:none;
  background:var(--pu-card-bg);
  overflow:hidden;
  transform:none;
  transition:background .18s var(--ease), color .18s var(--ease);
}
.home .gv-grid .card:hover,
.press-card:hover,
.person-card:hover,
.partner-card:hover,
.news-card:hover{
  background:var(--pu-card-bg-hover);
  transform:none;
}

/* Presse page + presse accueil : même composant, même grille, mêmes proportions. */
.press-list,
.press-list--home{
  display:grid;
  grid-template-columns:1fr;
  background:transparent;
}
.press-list--home{
  margin-bottom:48px;
}
.press-card--atlas,
.press-card--home{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:0;
  background:transparent;
}
.press-card--atlas:nth-child(1),
.press-card--atlas:nth-child(4n),
.press-list--home .press-card--atlas:nth-child(1),
.press-list--home .press-card--atlas:nth-child(4n){
  grid-column:auto;
  grid-template-columns:1fr;
}
.press-card--atlas:nth-child(1) .press-card__media,
.press-list--home .press-card--atlas:nth-child(1) .press-card__media{
  border-right:0;
  border-bottom:1px solid var(--pu-card-border);
  min-height:0;
}
.press-card__media,
.press-card__img{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16 / 10;
  min-height:0;
  height:auto;
  border:0;
  border-bottom:1px solid var(--pu-card-border);
  background:var(--paper-2);
  overflow:hidden;
}
.press-card__media img,
.press-card__img img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  filter:grayscale(.42) contrast(1.03);
  transform:scale(1.001);
  transition:filter .22s var(--ease), transform .28s var(--ease);
}
.press-card:hover .press-card__media img,
.press-card:hover .press-card__img img{
  filter:grayscale(.08) contrast(1.04);
  transform:scale(1.025);
}
.press-card__media em{
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  background:var(--red);
  color:#fff;
  font-family:var(--mono);
  font-style:normal;
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  padding:8px 10px;
}
.press-card__media--fallback{
  min-height:0;
  color:var(--red);
  background:var(--paper-2);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.press-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:260px;
  padding:20px 20px 18px;
}
.press-card__meta{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  font-family:var(--mono);
  font-size:10px;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--line-strong);
}
.press-card:hover .press-card__meta{
  color:var(--red);
}
.press-card__body h2{
  margin:0 0 14px;
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(27px,2.45vw,38px);
  line-height:1.05;
  letter-spacing:-.025em;
  color:var(--ink);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:3.15em;
}
.press-card__body h2 a{
  color:inherit;
  text-decoration:none;
}
.press-card__body p{
  margin:0;
  color:var(--ink-2);
  font-size:14px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:6.2em;
}
.press-card__tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:18px;
}
.press-card__tags span{
  border:1px solid var(--line-strong);
  padding:5px 8px;
  font-family:var(--mono);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.press-card__link{
  margin-top:16px;
  padding-top:12px;
  border-top:1px dashed var(--line-strong);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.3;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--red);
  text-decoration:none;
}
.press-card:hover .press-card__link{
  color:var(--ink);
}

/* Accueil : les anciennes news-card ne doivent plus créer un style concurrent. */
.news-grid--home-press{
  border:0;
  margin:0 0 48px;
}

/* Équipe accueil : suppression du gros cadre/double bordure entre sections. */
.home-team-section{
  border:0;
}
.home-team-card{
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);
  gap:0;
}
.home-team-card__copy{
  border:0;
  padding:0 clamp(28px,4vw,52px) 0 0;
}
.home-team-card__photos{
  border:0;
  border-top:1px solid var(--pu-card-border);
  border-left:1px solid var(--pu-card-border);
  margin:0;
}
.home-team-card__photo{
  border:0;
  border-right:1px solid var(--pu-card-border);
  border-bottom:1px solid var(--pu-card-border);
}
.home-team-card__photo:first-child{
  border-left:0;
}

/* Listes / calques : même logique de lignes, pas de gros cadres autour des sections. */
.home .layers,
.equipe-intro .layers,
.layers{
  border-top:1px solid var(--pu-card-border);
  border-left:0;
  border-right:0;
  border-bottom:0;
  outline:0;
  box-shadow:none;
}
.home .layers .layer,
.layers .layer{
  border-bottom:1px solid var(--line-strong);
  background:transparent;
}
.home .layers .layer:hover,
.layers .layer:hover{
  background:var(--white);
  padding-left:22px;
}

@media(min-width:700px){
  .press-list,
  .press-list--home{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:1024px){
  .press-list,
  .press-list--home{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
  .home-team-card{grid-template-columns:1fr;gap:24px;}
  .home-team-card__copy{padding:0;}
  .home-team-card__photos{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .press-card__body{min-height:230px;padding:18px 16px 16px;}
  .press-card__body h2{font-size:clamp(26px,8vw,34px);}
  .home .layers .layer:hover,
  .layers .layer:hover{padding-left:0;}
}


/* V1.1.2 — correctif cards presse + centrage UI : stabilise les hauteurs, empêche les titres de recouvrir les textes, centre les boutons. */
:root{
  --pu-card-hover-bg: var(--white);
}

/* Boutons / contrôles : texte centré verticalement et horizontalement, sans décalage typographique. */
:where(.btn,.tool-btn,.chip,.press-filter-chip,.talk-switch__btn,.filter-fab,.atlas-filter-top,.atlas-intro__toggle,.filters__toggle,.atlas-list__toggle,.filters__actions button,.map-style__menu button){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.12!important;
}
:where(.btn,.tool-btn,.press-filter-chip,.talk-switch__btn,.atlas-intro__toggle,.filters__toggle,.atlas-list__toggle){
  min-height:38px!important;
}
:where(.atlas-intro__toggle b,.filters__toggle b,.atlas-list__toggle b,.tool-btn b){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.map-style__menu button,
.chip{
  justify-content:flex-start!important;
  text-align:left!important;
}

/* Presse : même système de card sur accueil et On parle de nous, mais tailles maîtrisées. */
.press-list,
.press-list--home,
.press-grid.press-list{
  align-items:stretch!important;
  gap:0!important;
}
.press-list .press-card,
.press-list--home .press-card,
.press-grid.press-list .press-card{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  background:transparent!important;
  overflow:hidden!important;
}
.press-list .press-card:hover,
.press-list--home .press-card:hover,
.press-grid.press-list .press-card:hover{
  background:var(--pu-card-hover-bg)!important;
}
.press-list .press-card__media,
.press-list--home .press-card__media,
.press-grid.press-list .press-card__media{
  aspect-ratio:16 / 9!important;
  min-height:0!important;
  border-bottom:1px solid var(--ink)!important;
}
.press-list .press-card__media img,
.press-list--home .press-card__media img,
.press-grid.press-list .press-card__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.press-list .press-card__body,
.press-list--home .press-card__body,
.press-grid.press-list .press-card__body{
  display:grid!important;
  grid-template-rows:auto auto auto auto auto!important;
  align-content:start!important;
  gap:0!important;
  min-height:318px!important;
  padding:18px 18px 16px!important;
}
.press-list .press-card__meta,
.press-list--home .press-card__meta,
.press-grid.press-list .press-card__meta{
  min-height:18px!important;
  margin:0 0 12px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.press-list .press-card__meta span,
.press-list--home .press-card__meta span,
.press-grid.press-list .press-card__meta span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.press-list .press-card__body h2,
.press-list--home .press-card__body h2,
.press-grid.press-list .press-card__body h2{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:3.36em!important;
  max-height:3.36em!important;
  margin:0 0 12px!important;
  padding:0!important;
  font-size:clamp(22px,1.7vw,30px)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  font-weight:400!important;
  word-break:normal!important;
  hyphens:auto!important;
}
.press-list .press-card__body p,
.press-list--home .press-card__body p,
.press-grid.press-list .press-card__body p{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:4.65em!important;
  max-height:4.65em!important;
  margin:0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.55!important;
  color:var(--ink-2)!important;
}
.press-list .press-card__tags,
.press-list--home .press-card__tags,
.press-grid.press-list .press-card__tags{
  min-height:32px!important;
  margin:16px 0 0!important;
  padding:0!important;
  align-content:flex-start!important;
}
.press-list .press-card__link,
.press-list--home .press-card__link,
.press-grid.press-list .press-card__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:34px!important;
  margin-top:14px!important;
  padding-top:12px!important;
  line-height:1.25!important;
}

/* Les cards sans image gardent un bloc media propre, pas une zone visuellement vide. */
.press-card__media--fallback span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:80%!important;
  min-height:38px!important;
  padding:0 12px!important;
  text-align:center!important;
  line-height:1.35!important;
}

/* Cards génériques : hover homogène et symétrique sans déplacer les éléments. */
:where(.card,.proj-card,.press-card,.person-card,.partner-card,.news-card,.home-team-card__photo){
  transition:background .18s var(--ease), filter .18s var(--ease), opacity .18s var(--ease)!important;
}
:where(.card,.proj-card,.press-card,.person-card,.partner-card,.news-card):hover{
  background:var(--white)!important;
}
:where(.card,.proj-card,.press-card,.person-card,.partner-card,.news-card) a{
  text-underline-offset:.18em;
}

@media(max-width:760px){
  .press-list .press-card__body,
  .press-list--home .press-card__body,
  .press-grid.press-list .press-card__body{
    min-height:292px!important;
    padding:17px 16px 15px!important;
  }
  .press-list .press-card__body h2,
  .press-list--home .press-card__body h2,
  .press-grid.press-list .press-card__body h2{
    font-size:clamp(21px,6.8vw,28px)!important;
  }
}


/* V1.1.3 — correctif ciblé : l'Atlas garde son layout d'origine ; centrage UI ; références accueil avec vraie fin en points de suspension. */
/* Important : aucune règle de layout sur .references-atlas .proj-card ici, pour ne pas modifier Carte / Index / Plein écran. */
:where(.btn,.tool-btn,.chip,.press-filter-chip,.talk-switch__btn,.filter-fab,.atlas-filter-top,.atlas-intro__toggle,.filters__toggle,.atlas-list__toggle,.filters__actions button,.map-style__menu button){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.12!important;
}
:where(.btn,.tool-btn,.press-filter-chip,.talk-switch__btn,.atlas-intro__toggle,.filters__toggle,.atlas-list__toggle){
  min-height:38px!important;
}
:where(.atlas-intro__toggle b,.filters__toggle b,.atlas-list__toggle b,.tool-btn b){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.map-style__menu button,
.chip{
  justify-content:flex-start!important;
  text-align:left!important;
}
.home .gv-grid .card__i{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:4.65em!important;
  max-height:4.65em!important;
  line-height:1.55!important;
}
.home .gv-grid .card__read{
  display:inline-flex!important;
  align-items:center!important;
  margin:18px 20px 0!important;
  min-height:26px!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  color:var(--red)!important;
}
.home .gv-grid .card:hover .card__read{
  color:var(--ink)!important;
}
.home .gv-grid .card__meta{
  margin-top:auto!important;
}


/* V1.1.4 — restauration barre Atlas, filtres presse robustes, formulaire contenu. */
.references-atlas .atlas-filter-top{display:none!important;}
@media(max-width:1023px){
  .references-atlas > .atlas-bar{grid-template-columns:auto 1fr auto!important;}
}

/* Boutons / contrôles : texte réellement centré sans modifier la structure. */
:where(.btn,.tool-btn,.press-filter-chip,.press-chip,.talk-switch__btn,.atlas-intro__toggle,.filters__toggle,.atlas-list__toggle,.atlas-fullmap-toggle,.atlas-fullmap-close){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-sizing:border-box;
}

/* Formulaire contact : aucun focus ni champ ne doit sortir de son cartouche. */
.cform,
.contact-cartouche,
.pj-cartouche.contact-cartouche{
  box-sizing:border-box;
  overflow:hidden;
}
.cform input,
.cform textarea,
.cform select{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  display:block;
  outline:none;
  border-radius:0;
}
.cform input:focus,
.cform textarea:focus,
.cform select:focus{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--red);
}
.cform textarea{
  resize:vertical;
  max-height:340px;
}

/* Presse : l'état masqué doit être fiable pour les filtres année/média. */
.press-card.is-hidden,
[data-press-card][hidden]{
  display:none!important;
}

/* V1.1.6 — Header : séparateur pleine largeur, sans marge latérale. */
.hd::after{
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:1px!important;
  background:var(--ink)!important;
  opacity:1!important;
}

/* V1.1.9 — Témoignages : admin propre + accordéons alignés. */
.avis-accordion__item summary{
  display:grid!important;
  grid-template-columns:64px minmax(220px,.9fr) minmax(220px,1fr) 56px!important;
  align-items:stretch!important;
  gap:0!important;
  min-height:78px!important;
  padding:0!important;
}
.avis-accordion__index{
  grid-column:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  min-width:0!important;
}
.avis-accordion__main{
  display:contents!important;
}
.avis-accordion__main strong,
.avis-accordion__main em{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  margin:0!important;
  padding:0 20px!important;
  border-left:1px solid var(--line-strong)!important;
}
.avis-accordion__main strong{
  grid-column:2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.avis-accordion__main em{
  grid-column:3!important;
  justify-content:flex-start!important;
  max-width:none!important;
  text-align:left!important;
  white-space:normal!important;
}
.avis-accordion__plus{
  grid-column:4!important;
  height:auto!important;
  min-height:78px!important;
  align-self:stretch!important;
}
@media(max-width:760px){
  .avis-accordion__item summary{
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    min-height:72px!important;
  }
  .avis-accordion__index{grid-column:1!important;padding:0 8px!important;}
  .avis-accordion__main{grid-column:2!important;display:block!important;align-self:center!important;padding:12px 10px!important;border-left:1px solid var(--line-strong)!important;}
  .avis-accordion__main strong,
  .avis-accordion__main em{display:block!important;border-left:0!important;padding:0!important;}
  .avis-accordion__main strong{white-space:normal!important;}
  .avis-accordion__main em{margin-top:6px!important;}
  .avis-accordion__plus{grid-column:3!important;min-height:72px!important;}
}

/* V1.2.0 — ordre admin + heroes pages uniformes. */
@media (min-width:761px){
  main.page > .pu-page-head.has-page-hero-media:first-child,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child,
  main.page.page--has-hero-media > .press-hero.has-page-hero-media{
    height:clamp(560px,62svh,700px)!important;
    min-height:clamp(560px,62svh,700px)!important;
    padding-top:0!important;
    padding-bottom:0!important;
    display:flex!important;
    align-items:center!important;
    border-bottom:1px solid var(--ink)!important;
    overflow:hidden!important;
  }
  main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap,
  main.page.page--has-hero-media > .press-hero.has-page-hero-media > .wrap{
    width:min(760px,calc(100% - 56px))!important;
    max-width:760px!important;
    margin-left:max(28px,calc((100vw - 1280px)/2 + 28px))!important;
    margin-right:auto!important;
    padding:clamp(30px,3.2vw,46px) clamp(32px,4vw,58px)!important;
  }
  main.page > .pu-page-head.has-page-hero-media:first-child .lead-xl,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .lead-xl,
  main.page.page--has-hero-media > .press-hero.has-page-hero-media .lead-xl{
    font-size:clamp(40px,4vw,68px)!important;
    line-height:1.05!important;
    max-width:14.5ch!important;
    margin:0!important;
  }
  .on-parle-page .press-hero.has-page-hero-media + .talk-panel,
  .on-parle-page .press-section.talk-panel,
  .on-parle-page .testimonials-accordion-section.talk-panel{
    padding-top:clamp(68px,6vw,98px)!important;
    margin-top:0!important;
  }
}

.avis-accordion__item summary{
  grid-template-columns:64px minmax(260px,.95fr) minmax(280px,1fr) 56px!important;
}
.avis-accordion__main strong,
.avis-accordion__main em{
  min-height:78px!important;
}
.avis-accordion__main em{
  line-height:1.45!important;
  align-items:center!important;
}

/* V1.3.2 — Base stable + correctifs finaux ciblés.
   Ne refait pas la DA : stabilise uniquement hero, témoignages, presse, atlas et mobile. */

/* Hero homogène sur les pages internes avec image : Expertises / Équipe / On parle / Contact. */
main.page > .pu-page-head.has-page-hero-media:first-child,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child,
main.on-parle-page > .press-hero.has-page-hero-media:first-child{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  min-height:clamp(520px,66svh,720px)!important;
  height:auto!important;
  margin:0!important;
  padding:calc(var(--wp-adminbar-h,0px) + var(--header-h,74px) + clamp(34px,5vh,70px)) 0 clamp(48px,6vh,84px)!important;
  border-bottom:1px solid var(--ink)!important;
  background:var(--paper)!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child .page-hero-media,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child .page-hero-media,
main.on-parle-page > .press-hero.has-page-hero-media:first-child .page-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  pointer-events:none!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap,
main.on-parle-page > .press-hero.has-page-hero-media:first-child > .wrap{
  position:relative!important;
  z-index:1!important;
  width:min(760px,calc(100% - 56px))!important;
  max-width:760px!important;
  margin-left:max(28px,calc((100vw - 1280px)/2 + 28px))!important;
  margin-right:auto!important;
  padding:clamp(24px,3vw,40px) clamp(26px,3.6vw,48px)!important;
  background:rgba(242,237,228,.965)!important;
  border:1px solid var(--ink)!important;
  box-shadow:none!important;
}
main.page > .pu-page-head.has-page-hero-media:first-child + .section,
main.page > .page-hero.pu-page-head.has-page-hero-media:first-child + .section,
main.on-parle-page > .press-hero.has-page-hero-media:first-child + .section{
  margin-top:0!important;
  padding-top:clamp(42px,5vw,72px)!important;
}

/* Témoignages : on garde la logique de la base stable, mais avec un alignement net. */
.avis-accordion{
  border-top:1px solid var(--ink)!important;
  border-left:1px solid var(--line-strong)!important;
  background:var(--paper)!important;
}
.avis-accordion__item{
  border-right:1px solid var(--line-strong)!important;
  border-bottom:1px solid var(--line-strong)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.avis-accordion__item:hover,
.avis-accordion__item[open]{background:var(--white)!important;}
.avis-accordion__item summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  align-items:stretch!important;
  gap:0!important;
  min-height:64px!important;
  padding:0!important;
  cursor:pointer!important;
}
.avis-accordion__item summary::-webkit-details-marker{display:none!important;}
.avis-accordion__index{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:64px!important;
  padding:0!important;
  border-right:1px solid var(--line-strong)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  letter-spacing:.14em!important;
  color:var(--red)!important;
}
.avis-accordion__main{
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  gap:4px!important;
  padding:10px 18px!important;
}
.avis-accordion__main strong{
  display:block!important;
  margin:0!important;
  font-family:var(--display)!important;
  font-weight:500!important;
  font-size:clamp(24px,2.2vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:-.02em!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.avis-accordion__main em{
  display:block!important;
  margin:0!important;
  max-width:100%!important;
  font-family:var(--mono)!important;
  font-style:normal!important;
  font-size:9px!important;
  line-height:1.18!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  color:var(--ink-2)!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.avis-accordion__plus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:64px!important;
  height:auto!important;
  border-left:1px solid var(--line-strong)!important;
  font-size:0!important;
  color:var(--red)!important;
  transform:none!important;
}
.avis-accordion__plus::before{
  content:"+"!important;
  font-family:var(--mono)!important;
  font-size:18px!important;
  line-height:1!important;
}
.avis-accordion__item[open] .avis-accordion__plus{transform:none!important;}
.avis-accordion__item[open] .avis-accordion__plus::before{content:"−"!important;}
.avis-accordion__content{
  border-top:1px dashed var(--line-strong)!important;
  padding:22px 54px 28px 72px!important;
  display:grid!important;
  gap:16px!important;
}
.avis-accordion__content blockquote{
  font-size:clamp(15px,1.35vw,21px)!important;
  line-height:1.48!important;
}

/* Filtres presse : masquage fiable + bloc réductible. */
.press-card.is-hidden,
[data-press-card].is-hidden,
[data-press-card][hidden]{display:none!important;}
.press-filter-board .press-filter-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.press-filter-toggle{
  margin-left:auto!important;
  padding:8px 12px!important;
  border:1px solid var(--ink)!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
.press-filter-board.is-compact .press-search,
.press-filter-board.is-compact .press-filter-lines{display:none!important;}

/* Presse : carrousel seulement en accueil mobile ; page On parle = liste verticale complète. */
@media(max-width:760px){
  body.home .press-list--home{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    gap:12px!important;
    border:0!important;
    padding:0 0 10px!important;
    background:transparent!important;
  }
  body.home .press-list--home > .press-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    border:1px solid var(--ink)!important;
    box-shadow:none!important;
    outline:0!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
  }
  .on-parle-page .press-list--press-only{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:0!important;
    border:1px solid var(--ink)!important;
    border-bottom:0!important;
    padding:0!important;
  }
  .on-parle-page .press-list--press-only > .press-card{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
    border-bottom:1px solid var(--ink)!important;
    box-shadow:none!important;
    outline:0!important;
  }
}

/* Menu mobile : panneau plein écran sans trou entre header et menu. */
@media(max-width:760px){
  .hd{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:990!important;
    height:64px!important;
    min-height:64px!important;
    background:var(--paper)!important;
    border-bottom:1px solid var(--ink)!important;
  }
  body.menu-open{overflow:hidden!important;}
  body.menu-open .hd{background:var(--paper)!important;}
  body.menu-open .burger{z-index:992!important;color:var(--ink)!important;}
  body.menu-open .burger span{background:var(--ink)!important;}
  .mobile-nav{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    z-index:980!important;
    background:var(--ink)!important;
    color:var(--paper)!important;
    padding:calc(64px + 28px) 24px 28px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow-y:auto!important;
    clip-path:inset(0 0 100% 0)!important;
  }
  body.menu-open .mobile-nav{clip-path:inset(0 0 0 0)!important;}
  .mobile-nav::before{display:none!important;}
  .mobile-nav .mnav__close{display:none!important;}
}

@media(max-width:760px){
  main.page > .pu-page-head.has-page-hero-media:first-child,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child,
  main.on-parle-page > .press-hero.has-page-hero-media:first-child{
    min-height:calc(100svh - var(--header-h,64px))!important;
    padding:calc(var(--wp-adminbar-h,0px) + var(--header-h,64px) + 18px) 14px 22px!important;
    align-items:flex-end!important;
  }
  main.page > .pu-page-head.has-page-hero-media:first-child > .wrap,
  main.page > .page-hero.pu-page-head.has-page-hero-media:first-child > .wrap,
  main.on-parle-page > .press-hero.has-page-hero-media:first-child > .wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 18px!important;
  }
  .avis-accordion__item summary{
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    min-height:48px!important;
  }
  .avis-accordion__index{
    min-height:48px!important;
    font-size:8.5px!important;
  }
  .avis-accordion__main{
    padding:6px 10px!important;
    gap:2px!important;
  }
  .avis-accordion__main strong{
    font-size:clamp(19px,5.6vw,23px)!important;
    line-height:1.02!important;
  }
  .avis-accordion__main em{
    font-size:7px!important;
    line-height:1.15!important;
    letter-spacing:.08em!important;
  }
  .avis-accordion__plus{
    min-height:48px!important;
  }
  .avis-accordion__plus::before{font-size:15px!important;}
  .avis-accordion__content{
    padding:13px 14px 16px 48px!important;
    gap:10px!important;
  }
  .avis-accordion__content blockquote{
    font-size:13px!important;
    line-height:1.48!important;
  }
  .press-filter-board .press-filter-head{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
  }
}

/* V1.3.3 — Correctif final strict : témoignages, cards Atlas, filtres Presse, hover Équipe. */

/* PRESSE — le filtre doit masquer réellement les cartes */
.press-card.is-hidden,
.press-grid .press-card.is-hidden,
.press-list .press-card.is-hidden,
[data-press-card].is-hidden,
[data-press-card][hidden]{
  display:none!important;
}
.press-filter-board .press-filter-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.press-filter-toggle{
  flex:0 0 auto!important;
  margin-left:auto!important;
  padding:8px 12px!important;
  border:1px solid var(--ink)!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
.press-filter-board.is-compact .press-search,
.press-filter-board.is-compact .press-filter-lines{
  display:none!important;
}

/* TÉMOIGNAGES — retour à une grille propre et lisible. */
.on-parle-page .avis-accordion,
.testimonials-accordion-section .avis-accordion{
  border-top:1px solid var(--ink)!important;
  border-left:1px solid var(--ink)!important;
  background:var(--paper)!important;
}
.on-parle-page .avis-accordion__item,
.testimonials-accordion-section .avis-accordion__item{
  border:0!important;
  border-right:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.on-parle-page .avis-accordion__item summary,
.testimonials-accordion-section .avis-accordion__item summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 52px!important;
  min-height:70px!important;
  height:auto!important;
  gap:0!important;
  padding:0!important;
  align-items:stretch!important;
  cursor:pointer!important;
}
.on-parle-page .avis-accordion__item summary::-webkit-details-marker,
.testimonials-accordion-section .avis-accordion__item summary::-webkit-details-marker{
  display:none!important;
}
.on-parle-page .avis-accordion__index,
.testimonials-accordion-section .avis-accordion__index{
  grid-column:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:70px!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid var(--line-strong)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  color:var(--red)!important;
}
.on-parle-page .avis-accordion__main,
.testimonials-accordion-section .avis-accordion__main{
  grid-column:2!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  justify-content:stretch!important;
  gap:5px!important;
  min-width:0!important;
  padding:12px 18px!important;
  border:0!important;
}
.on-parle-page .avis-accordion__main strong,
.on-parle-page .avis-accordion__main em,
.testimonials-accordion-section .avis-accordion__main strong,
.testimonials-accordion-section .avis-accordion__main em{
  grid-column:auto!important;
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:0!important;
  text-align:left!important;
}
.on-parle-page .avis-accordion__main strong,
.testimonials-accordion-section .avis-accordion__main strong{
  font-family:var(--display)!important;
  font-weight:500!important;
  font-size:clamp(26px,2.2vw,34px)!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.on-parle-page .avis-accordion__main em,
.testimonials-accordion-section .avis-accordion__main em{
  max-width:100%!important;
  font-family:var(--mono)!important;
  font-style:normal!important;
  font-size:9px!important;
  line-height:1.25!important;
  letter-spacing:.105em!important;
  text-transform:uppercase!important;
  color:var(--ink-2)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.on-parle-page .avis-accordion__plus,
.testimonials-accordion-section .avis-accordion__plus{
  grid-column:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:70px!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid var(--line-strong)!important;
  color:var(--red)!important;
  font-size:0!important;
  line-height:1!important;
  transform:none!important;
}
.on-parle-page .avis-accordion__plus::before,
.testimonials-accordion-section .avis-accordion__plus::before{
  content:"+"!important;
  font-family:var(--mono)!important;
  font-size:18px!important;
  line-height:1!important;
}
.on-parle-page .avis-accordion__item[open] .avis-accordion__plus,
.testimonials-accordion-section .avis-accordion__item[open] .avis-accordion__plus{
  transform:none!important;
}
.on-parle-page .avis-accordion__item[open] .avis-accordion__plus::before,
.testimonials-accordion-section .avis-accordion__item[open] .avis-accordion__plus::before{
  content:"−"!important;
}
.on-parle-page .avis-accordion__content,
.testimonials-accordion-section .avis-accordion__content{
  border-top:1px dashed var(--line-strong)!important;
  padding:22px 54px 28px 76px!important;
  display:grid!important;
  gap:14px!important;
}
.on-parle-page .avis-accordion__content blockquote,
.testimonials-accordion-section .avis-accordion__content blockquote{
  font-size:clamp(15px,1.35vw,21px)!important;
  line-height:1.48!important;
}

/* ATLAS — cards : titre limité proprement, pas de chevauchement sur le paragraphe. */
.references-atlas .proj-grid:not(.is-list) .proj-card__body,
.proj-grid:not(.is-list) .proj-card__body{
  display:flex!important;
  flex-direction:column!important;
  min-height:292px!important;
  padding:20px!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__main,
.proj-grid:not(.is-list) .proj-card__main{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__t,
.proj-grid:not(.is-list) .proj-card__t{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:clamp(30px,3.2vw,44px)!important;
  line-height:1.03!important;
  margin:12px 0 20px!important;
  max-height:2.08em!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__i,
.proj-grid:not(.is-list) .proj-card__i{
  margin-top:0!important;
  line-height:1.52!important;
  display:-webkit-box!important;
  -webkit-line-clamp:4!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.references-atlas .proj-grid:not(.is-list) .proj-card__read,
.proj-grid:not(.is-list) .proj-card__read{
  margin-top:auto!important;
}

/* ÉQUIPE — aucun hover visuel agressif. */
.person-card:hover,
.people-grid .person-card:hover,
:where(.person-card):hover{
  background:transparent!important;
  transform:none!important;
}
.person-card:hover .person-photo img,
.people-grid .person-card:hover .person-photo img{
  filter:grayscale(.4)!important;
  transform:none!important;
}
.equipe-focus__item:hover .equipe-focus__visual,
.equipe-focus__item:focus-within .equipe-focus__visual,
.equipe-focus__item.has-visual:hover .equipe-focus__visual,
.equipe-focus__item.has-visual:focus-within .equipe-focus__visual{
  opacity:0!important;
  transform:translateX(12px)!important;
  pointer-events:none!important;
}
.equipe-focus__item:hover,
.equipe-focus__item:focus-within{
  background:transparent!important;
}

@media(max-width:760px){
  .press-filter-board .press-filter-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .on-parle-page .avis-accordion__item summary,
  .testimonials-accordion-section .avis-accordion__item summary{
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    min-height:50px!important;
  }
  .on-parle-page .avis-accordion__index,
  .testimonials-accordion-section .avis-accordion__index{
    min-height:50px!important;
    font-size:8.5px!important;
  }
  .on-parle-page .avis-accordion__main,
  .testimonials-accordion-section .avis-accordion__main{
    padding:7px 10px!important;
    gap:2px!important;
  }
  .on-parle-page .avis-accordion__main strong,
  .testimonials-accordion-section .avis-accordion__main strong{
    font-size:clamp(19px,5.4vw,23px)!important;
    line-height:1.04!important;
  }
  .on-parle-page .avis-accordion__main em,
  .testimonials-accordion-section .avis-accordion__main em{
    font-size:7px!important;
    line-height:1.15!important;
    letter-spacing:.08em!important;
  }
  .on-parle-page .avis-accordion__plus,
  .testimonials-accordion-section .avis-accordion__plus{
    min-height:50px!important;
  }
  .on-parle-page .avis-accordion__plus::before,
  .testimonials-accordion-section .avis-accordion__plus::before{
    font-size:15px!important;
  }
  .on-parle-page .avis-accordion__content,
  .testimonials-accordion-section .avis-accordion__content{
    padding:13px 14px 16px 48px!important;
    gap:10px!important;
  }
  .on-parle-page .avis-accordion__content blockquote,
  .testimonials-accordion-section .avis-accordion__content blockquote{
    font-size:13px!important;
    line-height:1.48!important;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__body,
  .proj-grid:not(.is-list) .proj-card__body{
    min-height:0!important;
    padding:18px!important;
  }
  .references-atlas .proj-grid:not(.is-list) .proj-card__t,
  .proj-grid:not(.is-list) .proj-card__t{
    font-size:clamp(31px,9vw,42px)!important;
    line-height:1.02!important;
    margin:10px 0 18px!important;
    max-height:2.05em!important;
  }
}

/* V1.3.4 — Ajustements finaux demandés : filtres Presse mobile alignés. */
@media(max-width:760px){
  .on-parle-page .press-filter-board .press-filter-head,
  .press-page .press-filter-board .press-filter-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:4px!important;
  }
  .on-parle-page .press-filter-board .press-filter-head > .mono:first-child,
  .press-page .press-filter-board .press-filter-head > .mono:first-child{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
  }
  .on-parle-page .press-filter-board .press-filter-head > .mono:not(:first-child),
  .press-page .press-filter-board .press-filter-head > .mono:not(:first-child){
    grid-column:1!important;
    grid-row:2!important;
    min-width:0!important;
  }
  .on-parle-page .press-filter-toggle,
  .press-page .press-filter-toggle{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    white-space:nowrap!important;
  }
}

/* V1.3.6 — Correctif Atlas strict : liste en 2 zones + séparateur cards pleine largeur.
   Accordéon, équipe, presse et contenus non modifiés. */

/* INDEX > LISTE : gauche = référence + titre en vertical, droite = type/période centré. */
@media(min-width:761px){
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card{
    display:block!important;
    min-height:0!important;
    padding:0!important;
    border-right:1px solid var(--ink)!important;
    border-bottom:1px solid var(--ink)!important;
    background:var(--paper)!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__img,
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__i,
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__read,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__img,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__i,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__read{
    display:none!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__body,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__body{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(28px,5vw,96px)!important;
    min-height:72px!important;
    padding:12px 24px!important;
    grid-column:auto!important;
    grid-template-columns:none!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__main,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__main{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:8px!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__main > *,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__main > *{
    width:100%!important;
    max-width:100%!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__n,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__n{
    display:block!important;
    order:1!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--red)!important;
    font-family:var(--mono)!important;
    font-size:9px!important;
    line-height:1.1!important;
    letter-spacing:.11em!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__t,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__t{
    display:block!important;
    order:2!important;
    margin:0!important;
    padding:0!important;
    color:var(--ink)!important;
    font-family:var(--display)!important;
    font-weight:500!important;
    font-size:clamp(22px,1.55vw,28px)!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 clamp(210px,24vw,340px)!important;
    width:clamp(210px,24vw,340px)!important;
    min-width:0!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--ink)!important;
    font-family:var(--mono)!important;
    font-size:9.5px!important;
    line-height:1.2!important;
    letter-spacing:.1em!important;
    text-transform:uppercase!important;
    text-align:right!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m b,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m b{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-weight:600!important;
    text-align:right!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* INDEX > LISTE MOBILE : garde la même logique en pile. */
@media(max-width:760px){
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__body,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__body{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:6px!important;
    min-height:64px!important;
    padding:10px 14px!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__main,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__main{
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    width:100%!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__n,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__n{
    font-size:8.5px!important;
    line-height:1.1!important;
    color:var(--red)!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__t,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__t{
    font-size:20px!important;
    line-height:1.02!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m,
  body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m b,
  .post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid.is-list .proj-card__m b{
    width:100%!important;
    text-align:left!important;
    justify-content:flex-start!important;
    font-size:8.8px!important;
  }
}

/* INDEX > CARDS : séparateur méta sans marge à gauche, sur toute la largeur visuelle de la carte. */
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__body,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__body{
  display:flex!important;
  flex-direction:column!important;
  min-height:clamp(250px,17vw,320px)!important;
  padding:18px!important;
  overflow:hidden!important;
}
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__main,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__main{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__t,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__t{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:12px 0 18px!important;
  padding:0!important;
  line-height:1.06!important;
  max-height:2.12em!important;
}
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__i,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__i{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:0!important;
  line-height:1.45!important;
}
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__m,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__m{
  position:relative!important;
  display:flex!important;
  justify-content:flex-end!important;
  width:calc(100% + 36px)!important;
  max-width:none!important;
  margin:14px -18px 0!important;
  padding:13px 18px 0!important;
  border-top:0!important;
  box-sizing:border-box!important;
  text-align:right!important;
}
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__m::before,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__m::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  border-top:1px dashed var(--line-strong)!important;
}
body.is-atlas-page .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__m b,
.post-type-archive-reference .references-atlas .atlas-grid-view .proj-grid:not(.is-list) .proj-card__m b{
  display:block!important;
  width:100%!important;
  text-align:right!important;
}

/* V1.3.7 — Atlas Index > Liste : correction du texte coupé en haut.
   Ne modifie pas la structure validée, ajoute seulement de l'air vertical et une line-height sûre. */
@media(min-width:761px){
  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:78px!important;
    padding-top:16px!important;
    padding-bottom:16px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__main{
    overflow:visible!important;
    align-content:center!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__n{
    line-height:1.35!important;
    overflow:visible!important;
    padding-top:1px!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__t{
    line-height:1.18!important;
    overflow:visible!important;
    padding-top:2px!important;
    padding-bottom:1px!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__m{
    line-height:1.35!important;
    overflow:visible!important;
  }
}
@media(max-width:760px){
  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:68px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__t{
    line-height:1.16!important;
    padding-top:1px!important;
    overflow:visible!important;
  }
}

/* V1.3.8 — Atlas Index > Liste : vraie correction du clipping haut des titres.
   On agrandit la boîte typographique du titre, au lieu de seulement ajouter du padding externe. */
@media(min-width:761px){
  .references-atlas .proj-grid.is-list .proj-card{
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:86px!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:4px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__n{
    display:block!important;
    line-height:1.45!important;
    height:auto!important;
    min-height:13px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__t{
    display:block!important;
    font-family:var(--display)!important;
    font-size:clamp(21px,1.55vw,28px)!important;
    line-height:1.34!important;
    height:auto!important;
    min-height:1.34em!important;
    max-height:none!important;
    padding-top:.12em!important;
    padding-bottom:.08em!important;
    margin:-.04em 0 0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__m,
  .references-atlas .proj-grid.is-list .proj-card__m b{
    line-height:1.4!important;
    overflow:visible!important;
  }
}

@media(max-width:760px){
  .references-atlas .proj-grid.is-list .proj-card{
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:74px!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:4px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__t{
    line-height:1.32!important;
    min-height:1.32em!important;
    max-height:none!important;
    padding-top:.1em!important;
    padding-bottom:.08em!important;
    margin:-.03em 0 0!important;
    overflow:visible!important;
  }
}

/* V1.3.9 — Correction clipping typo : Atlas liste + accordéon témoignages.
   Ne change pas la structure validée, corrige seulement les boîtes typographiques. */

/* Atlas > Index > Liste */
@media(min-width:761px){
  .references-atlas .proj-grid.is-list .proj-card,
  .references-atlas .proj-grid.is-list .proj-card__body,
  .references-atlas .proj-grid.is-list .proj-card__main{
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:88px!important;
    padding-top:19px!important;
    padding-bottom:19px!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:4px!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__n{
    line-height:1.45!important;
    min-height:13px!important;
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__t{
    line-height:1.36!important;
    min-height:1.36em!important;
    max-height:none!important;
    padding-top:.14em!important;
    padding-bottom:.08em!important;
    margin:-.05em 0 0!important;
    overflow:visible!important;
  }
}

/* Accordéon témoignages */
.avis-accordion__item,
.avis-accordion__item summary,
.avis-accordion__main{
  overflow:visible!important;
}

.avis-accordion__main{
  align-content:center!important;
}

.avis-accordion__main strong{
  display:block!important;
  line-height:1.26!important;
  min-height:1.26em!important;
  max-height:none!important;
  padding-top:.12em!important;
  padding-bottom:.06em!important;
  margin:-.04em 0 0!important;
  overflow:visible!important;
  text-overflow:ellipsis!important;
}

.avis-accordion__main em{
  display:block!important;
  line-height:1.35!important;
  padding-top:1px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

@media(max-width:760px){
  .references-atlas .proj-grid.is-list .proj-card,
  .references-atlas .proj-grid.is-list .proj-card__body,
  .references-atlas .proj-grid.is-list .proj-card__main{
    overflow:visible!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:76px!important;
    padding-top:15px!important;
    padding-bottom:15px!important;
  }
  .references-atlas .proj-grid.is-list .proj-card__t{
    line-height:1.34!important;
    min-height:1.34em!important;
    padding-top:.12em!important;
    padding-bottom:.08em!important;
    margin:-.04em 0 0!important;
    overflow:visible!important;
  }

  .avis-accordion__item summary{
    min-height:54px!important;
  }
  .avis-accordion__index,
  .avis-accordion__plus{
    min-height:54px!important;
  }
  .avis-accordion__main{
    padding-top:7px!important;
    padding-bottom:7px!important;
    overflow:visible!important;
  }
  .avis-accordion__main strong{
    line-height:1.28!important;
    min-height:1.28em!important;
    padding-top:.12em!important;
    padding-bottom:.06em!important;
    margin:-.04em 0 0!important;
    overflow:visible!important;
  }
  .avis-accordion__main em{
    line-height:1.28!important;
    padding-top:1px!important;
  }
}

/* V1.4.0 — Atlas corrections finales : liste non coupée, cards mobile, méta cards à gauche.
   Ne touche pas aux témoignages, à l'équipe, à la presse ni aux templates. */

/* 1) INDEX > LISTE : suppression réelle du clipping des titres.
   On supprime les marges négatives précédentes, on augmente la boîte de texte et on aligne proprement. */
.references-atlas .proj-grid.is-list .proj-card,
.references-atlas .proj-grid.is-list .proj-card__body,
.references-atlas .proj-grid.is-list .proj-card__main{
  overflow:visible!important;
}

@media(min-width:761px){
  .references-atlas .proj-grid.is-list .proj-card__body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(210px,290px)!important;
    align-items:center!important;
    column-gap:clamp(28px,4vw,72px)!important;
    min-height:92px!important;
    padding:18px 22px 20px!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__n{
    display:block!important;
    margin:0!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    font-family:var(--mono)!important;
    font-size:9px!important;
    line-height:1.5!important;
    letter-spacing:.11em!important;
    color:var(--red)!important;
    overflow:visible!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__t{
    display:block!important;
    margin:0!important;
    padding:.08em 0 .12em!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    font-family:var(--display)!important;
    font-weight:500!important;
    font-size:clamp(21px,1.5vw,27px)!important;
    line-height:1.42!important;
    letter-spacing:-.022em!important;
    color:var(--ink)!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:ellipsis!important;
    transform:none!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__i,
  .references-atlas .proj-grid.is-list .proj-card__read{
    display:none!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__m{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    min-width:0!important;
    font-size:9.5px!important;
    line-height:1.45!important;
    overflow:visible!important;
    text-align:right!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__m b{
    display:block!important;
    text-align:right!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* 2) INDEX > CARDS : méta Urbanisme / Stratégie à gauche + séparateur pleine largeur. */
.references-atlas .proj-grid:not(.is-list) .proj-card__body{
  display:flex!important;
  flex-direction:column!important;
  padding:18px!important;
}

.references-atlas .proj-grid:not(.is-list) .proj-card__main{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  flex:1 1 auto!important;
}

.references-atlas .proj-grid:not(.is-list) .proj-card__t{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:12px 0 18px!important;
  padding:0!important;
  line-height:1.08!important;
  max-height:2.16em!important;
}

.references-atlas .proj-grid:not(.is-list) .proj-card__m{
  width:100%!important;
  margin-top:auto!important;
  padding-top:14px!important;
  border-top:1px dashed var(--line-strong)!important;
  display:flex!important;
  justify-content:flex-start!important;
  text-align:left!important;
  font-size:9.5px!important;
  line-height:1.35!important;
}

.references-atlas .proj-grid:not(.is-list) .proj-card__m b{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}

/* 3) MOBILE > CARDS : titre plus petit pour éviter les blocs trop hauts. */
@media(max-width:760px){
  .references-atlas .proj-grid:not(.is-list) .proj-card__body{
    padding:16px!important;
    min-height:0!important;
  }

  .references-atlas .proj-grid:not(.is-list) .proj-card__t{
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    -webkit-line-clamp:2!important;
    max-height:2.16em!important;
    margin:10px 0 16px!important;
  }

  .references-atlas .proj-grid:not(.is-list) .proj-card__i{
    font-size:14px!important;
    line-height:1.42!important;
    -webkit-line-clamp:4!important;
  }

  .references-atlas .proj-grid:not(.is-list) .proj-card__m{
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:9px!important;
  }

  .references-atlas .proj-grid:not(.is-list) .proj-card__m b{
    text-align:left!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__body{
    min-height:82px!important;
    padding:16px 14px 18px!important;
    overflow:visible!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__main{
    gap:5px!important;
    overflow:visible!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__t{
    margin:0!important;
    padding:.08em 0 .12em!important;
    font-size:20px!important;
    line-height:1.38!important;
    overflow:visible!important;
  }
}

/* V1.4.8 — Atlas > Index > Liste : filtres + accordéon aperçu projet.
   Base : nettoyage 1.4.7. Ne touche pas aux templates PHP. */

/* Les filtres doivent masquer la liste même si des règles de mode liste utilisent display:block!important. */
.references-atlas .proj-grid.is-list .proj-card.is-hidden,
.references-atlas .proj-grid.is-list .proj-card[hidden],
.references-atlas .proj-grid.is-list .proj-card[aria-hidden="true"]{
  display:none!important;
}

/* Mode liste : structure accordéon fermée. */
.references-atlas .proj-grid.is-list{
  display:block!important;
  border-top:1px solid var(--ink)!important;
  border-left:1px solid var(--ink)!important;
}

.references-atlas .proj-grid.is-list .proj-card{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  border-right:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  background:transparent!important;
  cursor:pointer!important;
}

.references-atlas .proj-grid.is-list .proj-card__img{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-card__body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,300px)!important;
  align-items:center!important;
  column-gap:clamp(28px,4vw,80px)!important;
  min-height:96px!important;
  height:auto!important;
  padding:20px 22px!important;
  overflow:visible!important;
}

.references-atlas .proj-grid.is-list .proj-card__main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
  min-height:56px!important;
  height:auto!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}

.references-atlas .proj-grid.is-list .proj-card__n{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  line-height:1.55!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.references-atlas .proj-grid.is-list .proj-card__t{
  display:block!important;
  margin:0!important;
  padding:7px 0!important;
  color:var(--ink)!important;
  font-family:var(--sans)!important;
  font-weight:500!important;
  font-size:25px!important;
  line-height:1.45!important;
  letter-spacing:-.015em!important;
  height:auto!important;
  min-height:42px!important;
  max-height:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  clip-path:none!important;
  transform:none!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}

.references-atlas .proj-grid.is-list .proj-card__i,
.references-atlas .proj-grid.is-list .proj-card__read{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-card__m{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--ink)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:right!important;
  overflow:hidden!important;
}

.references-atlas .proj-grid.is-list .proj-card__m b{
  display:block!important;
  width:100%!important;
  font-weight:600!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Accordéon aperçu : fermé par défaut, ouvert au clic en mode liste. */
.references-atlas .proj-list-preview{
  display:none;
}

.references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
  display:grid!important;
  grid-template-columns:minmax(220px,.58fr) minmax(0,1fr)!important;
  gap:22px!important;
  padding:0 22px 22px!important;
  border-top:1px dashed var(--line-strong)!important;
  cursor:auto!important;
}

.references-atlas .proj-list-preview__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-content:start!important;
}

.references-atlas .proj-list-preview__thumb{
  display:block!important;
  aspect-ratio:1/1!important;
  border:1px solid var(--line-strong)!important;
  overflow:hidden!important;
  background:var(--paper-2)!important;
}

.references-atlas .proj-list-preview__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:grayscale(.35)!important;
  transition:filter .2s var(--ease), transform .24s var(--ease)!important;
}

.references-atlas .proj-list-preview__thumb:hover img{
  filter:grayscale(0)!important;
  transform:scale(1.03)!important;
}

.references-atlas .proj-list-preview__empty{
  grid-column:1/-1!important;
  min-height:86px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed var(--line-strong)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--ink-2)!important;
}

.references-atlas .proj-list-preview__text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
}

.references-atlas .proj-list-preview__text p{
  margin:0!important;
  color:var(--ink-2)!important;
  font-size:15px!important;
  line-height:1.65!important;
  max-width:72ch!important;
}

.references-atlas .proj-list-preview__cta{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 16px!important;
  border:1px solid var(--ink)!important;
  background:var(--ink)!important;
  color:var(--paper)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.references-atlas .proj-list-preview__cta:hover{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}

/* Cards mobile : garder les titres lisibles sans césure forcée. */
@media(max-width:760px){
  .references-atlas .proj-grid:not(.is-list) .proj-card__t{
    font-size:clamp(25px,7.2vw,32px)!important;
    line-height:1.1!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    overflow:visible!important;
    max-height:none!important;
    -webkit-line-clamp:unset!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__body{
    grid-template-columns:1fr!important;
    gap:6px!important;
    min-height:82px!important;
    padding:16px 14px 18px!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__m,
  .references-atlas .proj-grid.is-list .proj-card__m b{
    justify-content:flex-start!important;
    text-align:left!important;
  }

  .references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:0 14px 18px!important;
  }

  .references-atlas .proj-list-preview__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .references-atlas .proj-list-preview__text p{
    font-size:14px!important;
    line-height:1.55!important;
  }
}

/* V1.4.9 — Atlas > Index > Liste : accordéon calé sur la logique témoignages + filtres fiables. */

/* Filtrage : aucune règle de liste ne doit ré-afficher un projet masqué. */
.references-atlas .proj-grid .proj-card.is-hidden,
.references-atlas .proj-grid .proj-card[hidden],
.references-atlas .proj-grid .proj-card[aria-hidden="true"]{
  display:none!important;
}

/* Classes spécifiques au mode liste, pour éviter les conflits avec les cards. */
.references-atlas .proj-list-row,
.references-atlas .proj-list-preview{
  display:none;
}

.references-atlas .proj-grid.is-list{
  display:block!important;
  border-top:1px solid var(--ink)!important;
  border-left:1px solid var(--ink)!important;
}

.references-atlas .proj-grid.is-list .proj-card{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  border-right:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  background:transparent!important;
  cursor:pointer!important;
}

/* En mode liste on masque la structure card et on affiche la structure accordéon dédiée. */
.references-atlas .proj-grid.is-list .proj-card__img,
.references-atlas .proj-grid.is-list .proj-card__body{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-list-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,300px) 52px!important;
  align-items:stretch!important;
  min-height:78px!important;
  padding:0!important;
  overflow:visible!important;
}

.references-atlas .proj-list-main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:16px 22px!important;
  overflow:visible!important;
}

.references-atlas .proj-list-ref{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  line-height:1.45!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.references-atlas .proj-list-title{
  display:block!important;
  margin:0!important;
  padding:6px 0!important;
  color:var(--ink)!important;
  font-family:var(--sans)!important;
  font-weight:500!important;
  font-size:25px!important;
  line-height:1.38!important;
  letter-spacing:-.015em!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  clip-path:none!important;
  transform:none!important;
}

.references-atlas .proj-list-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:0!important;
  padding:16px 18px!important;
  border-left:1px solid transparent!important;
  color:var(--ink)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:right!important;
}

.references-atlas .proj-list-meta b{
  display:block!important;
  max-width:100%!important;
  font-weight:600!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.references-atlas .proj-list-plus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-left:1px solid var(--line-strong)!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:18px!important;
  line-height:1!important;
}

.references-atlas .proj-list-plus::before{
  content:"+"!important;
}

.references-atlas .proj-card.is-open .proj-list-plus::before{
  content:"−"!important;
}

/* Accordéon ouvert */
.references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
  display:grid!important;
  grid-template-columns:minmax(260px,.58fr) minmax(0,1fr)!important;
  gap:22px!important;
  padding:22px!important;
  border-top:1px dashed var(--line-strong)!important;
  cursor:auto!important;
}

.references-atlas .proj-list-preview__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-content:start!important;
}

.references-atlas .proj-list-preview__thumb{
  display:block!important;
  aspect-ratio:1/1!important;
  border:1px solid var(--line-strong)!important;
  overflow:hidden!important;
  background:var(--paper-2)!important;
}

.references-atlas .proj-list-preview__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:grayscale(.35)!important;
  transition:filter .2s var(--ease), transform .24s var(--ease)!important;
}

.references-atlas .proj-list-preview__thumb:hover img{
  filter:grayscale(0)!important;
  transform:scale(1.03)!important;
}

.references-atlas .proj-list-preview__empty{
  grid-column:1/-1!important;
  min-height:86px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed var(--line-strong)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--ink-2)!important;
}

.references-atlas .proj-list-preview__text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
}

.references-atlas .proj-list-preview__text p{
  margin:0!important;
  color:var(--ink-2)!important;
  font-size:15px!important;
  line-height:1.65!important;
  max-width:72ch!important;
}

.references-atlas .proj-list-preview__cta{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 16px!important;
  border:1px solid var(--ink)!important;
  background:var(--ink)!important;
  color:var(--paper)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.references-atlas .proj-list-preview__cta:hover{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}

/* Cards mobile : titre lisible sans césure. */
@media(max-width:760px){
  .references-atlas .proj-grid:not(.is-list) .proj-card__t{
    font-size:clamp(25px,7.2vw,32px)!important;
    line-height:1.1!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    overflow:visible!important;
    max-height:none!important;
    -webkit-line-clamp:unset!important;
  }

  .references-atlas .proj-grid.is-list .proj-list-row{
    grid-template-columns:minmax(0,1fr) 40px!important;
    min-height:70px!important;
  }

  .references-atlas .proj-list-main{
    padding:13px 14px!important;
    gap:5px!important;
  }

  .references-atlas .proj-list-ref{
    font-size:8.5px!important;
    line-height:1.35!important;
  }

  .references-atlas .proj-list-title{
    font-size:20px!important;
    line-height:1.3!important;
    padding:4px 0!important;
  }

  .references-atlas .proj-list-meta{
    grid-column:1 / 2!important;
    padding:0 14px 13px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:8.8px!important;
  }

  .references-atlas .proj-list-meta b{
    text-align:left!important;
  }

  .references-atlas .proj-list-plus{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }

  .references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:16px 14px 18px!important;
  }

  .references-atlas .proj-list-preview__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .references-atlas .proj-list-preview__text p{
    font-size:14px!important;
    line-height:1.55!important;
  }
}

/* V1.5.0 — Atlas > Index > Liste : accordéon propre, sans doublon de body, bordures stables. */

/* Sécurité filtres : une ligne filtrée ne peut pas être ré-affichée par le mode liste. */
.references-atlas .proj-grid .proj-card.is-hidden,
.references-atlas .proj-grid .proj-card[hidden],
.references-atlas .proj-grid .proj-card[aria-hidden="true"]{
  display:none!important;
}

/* En dehors du mode liste, l'aperçu accordéon et le +/- ne s'affichent jamais. */
.references-atlas .proj-list-preview,
.references-atlas .proj-list-plus{
  display:none!important;
}

/* Mode liste : on réutilise uniquement .proj-card__body comme ligne d'accordéon.
   Pas de bloc doublon, pas de deuxième titre. */
.references-atlas .proj-grid.is-list{
  display:block!important;
  border-top:1px solid var(--ink)!important;
  border-left:1px solid var(--ink)!important;
}

.references-atlas .proj-grid.is-list .proj-card{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  border-right:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  background:transparent!important;
  cursor:pointer!important;
}

.references-atlas .proj-grid.is-list .proj-card__img{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-card__body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,300px) 52px!important;
  align-items:stretch!important;
  min-height:78px!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
}

.references-atlas .proj-grid.is-list .proj-card__main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  min-height:0!important;
  padding:16px 22px!important;
  margin:0!important;
  overflow:visible!important;
}

.references-atlas .proj-grid.is-list .proj-card__n{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  line-height:1.45!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.references-atlas .proj-grid.is-list .proj-card__t{
  display:block!important;
  margin:0!important;
  padding:6px 0!important;
  color:var(--ink)!important;
  font-family:var(--sans)!important;
  font-weight:500!important;
  font-size:25px!important;
  line-height:1.38!important;
  letter-spacing:-.015em!important;
  height:auto!important;
  max-height:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  clip-path:none!important;
  transform:none!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}

.references-atlas .proj-grid.is-list .proj-card__i,
.references-atlas .proj-grid.is-list .proj-card__read{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-card__m{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border:0!important;
  color:var(--ink)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:right!important;
  overflow:hidden!important;
}

.references-atlas .proj-grid.is-list .proj-card__m b{
  display:block!important;
  width:100%!important;
  font-weight:600!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.references-atlas .proj-grid.is-list .proj-list-plus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-left:1px solid var(--line-strong)!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:18px!important;
  line-height:1!important;
}

.references-atlas .proj-grid.is-list .proj-list-plus::before{
  content:"+"!important;
}

.references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-plus::before{
  content:"−"!important;
}

/* Accordéon ouvert : padding régulier au-dessus de la zone image/texte. */
.references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
  display:grid!important;
  grid-template-columns:minmax(260px,.58fr) minmax(0,1fr)!important;
  gap:22px!important;
  padding:22px!important;
  border-top:1px dashed var(--line-strong)!important;
  cursor:auto!important;
}

.references-atlas .proj-list-preview__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-content:start!important;
}

.references-atlas .proj-list-preview__thumb{
  display:block!important;
  aspect-ratio:1/1!important;
  border:1px solid var(--line-strong)!important;
  overflow:hidden!important;
  background:var(--paper-2)!important;
}

.references-atlas .proj-list-preview__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:grayscale(.35)!important;
  transition:filter .2s var(--ease), transform .24s var(--ease)!important;
}

.references-atlas .proj-list-preview__thumb:hover img{
  filter:grayscale(0)!important;
  transform:scale(1.03)!important;
}

.references-atlas .proj-list-preview__empty{
  grid-column:1/-1!important;
  min-height:86px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed var(--line-strong)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--ink-2)!important;
}

.references-atlas .proj-list-preview__text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
}

.references-atlas .proj-list-preview__text p{
  margin:0!important;
  color:var(--ink-2)!important;
  font-size:15px!important;
  line-height:1.65!important;
  max-width:72ch!important;
}

.references-atlas .proj-list-preview__cta{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 16px!important;
  border:1px solid var(--ink)!important;
  background:var(--ink)!important;
  color:var(--paper)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.references-atlas .proj-list-preview__cta:hover{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}

/* Cards mobile : titres lisibles, sans césure. */
@media(max-width:760px){
  .references-atlas .proj-grid:not(.is-list) .proj-card__t{
    font-size:clamp(25px,7.2vw,32px)!important;
    line-height:1.1!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    overflow:visible!important;
    max-height:none!important;
    -webkit-line-clamp:unset!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__body{
    grid-template-columns:minmax(0,1fr) 40px!important;
    min-height:70px!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__main{
    padding:13px 14px!important;
    gap:5px!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__n{
    font-size:8.5px!important;
    line-height:1.35!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__t{
    font-size:20px!important;
    line-height:1.3!important;
    padding:4px 0!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__m{
    grid-column:1 / 2!important;
    padding:0 14px 13px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:8.8px!important;
  }

  .references-atlas .proj-grid.is-list .proj-card__m b{
    text-align:left!important;
  }

  .references-atlas .proj-grid.is-list .proj-list-plus{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }

  .references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:16px 14px 18px!important;
  }

  .references-atlas .proj-list-preview__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .references-atlas .proj-list-preview__text p{
    font-size:14px!important;
    line-height:1.55!important;
  }
}

/* V1.5.1 — Atlas > Index > Liste : logique dédiée proj-list-main, body card retiré du mode liste. */

/* Filtrage : une entrée masquée reste masquée même si le mode liste force l'affichage. */
.references-atlas .proj-grid .proj-card.is-hidden,
.references-atlas .proj-grid .proj-card[hidden],
.references-atlas .proj-grid .proj-card[aria-hidden="true"]{
  display:none!important;
}

/* Par défaut, la structure liste n'existe pas visuellement. */
.references-atlas .proj-list-row,
.references-atlas .proj-list-preview{
  display:none!important;
}

/* Mode liste : on garde la structure dédiée proj-list-main/proj-list-meta/proj-list-plus. */
.references-atlas .proj-grid.is-list{
  display:block!important;
  border-top:1px solid var(--ink)!important;
  border-left:1px solid var(--ink)!important;
}

.references-atlas .proj-grid.is-list .proj-card{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  border-right:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  background:transparent!important;
  cursor:pointer!important;
}

/* Important : en liste, on retire le body card pour ne pas avoir de doublon. */
.references-atlas .proj-grid.is-list .proj-card__img,
.references-atlas .proj-grid.is-list .proj-card__body{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-list-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,300px) 52px!important;
  align-items:stretch!important;
  min-height:78px!important;
  padding:0!important;
  overflow:visible!important;
}

.references-atlas .proj-list-main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:16px 22px!important;
  overflow:visible!important;
}

.references-atlas .proj-list-ref{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  line-height:1.45!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.references-atlas .proj-list-title{
  display:block!important;
  margin:0!important;
  padding:6px 0!important;
  color:var(--ink)!important;
  font-family:var(--sans)!important;
  font-weight:500!important;
  font-size:25px!important;
  line-height:1.38!important;
  letter-spacing:-.015em!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  clip-path:none!important;
  transform:none!important;
}

.references-atlas .proj-list-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:0!important;
  padding:16px 18px!important;
  color:var(--ink)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:right!important;
}

.references-atlas .proj-list-meta b{
  display:block!important;
  max-width:100%!important;
  font-weight:600!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.references-atlas .proj-list-plus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-left:1px solid var(--line-strong)!important;
  color:var(--red)!important;
  font-family:var(--mono)!important;
  font-size:18px!important;
  line-height:1!important;
}

.references-atlas .proj-list-plus::before{
  content:"+"!important;
}

.references-atlas .proj-card.is-open .proj-list-plus::before{
  content:"−"!important;
}

/* Ouverture accordéon */
.references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
  display:grid!important;
  grid-template-columns:minmax(260px,.58fr) minmax(0,1fr)!important;
  gap:22px!important;
  padding:22px!important;
  border-top:1px dashed var(--line-strong)!important;
  cursor:auto!important;
}

.references-atlas .proj-list-preview__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-content:start!important;
}

.references-atlas .proj-list-preview__thumb{
  display:block!important;
  aspect-ratio:1/1!important;
  border:1px solid var(--line-strong)!important;
  overflow:hidden!important;
  background:var(--paper-2)!important;
}

.references-atlas .proj-list-preview__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:grayscale(.35)!important;
  transition:filter .2s var(--ease), transform .24s var(--ease)!important;
}

.references-atlas .proj-list-preview__thumb:hover img{
  filter:grayscale(0)!important;
  transform:scale(1.03)!important;
}

.references-atlas .proj-list-preview__empty{
  grid-column:1/-1!important;
  min-height:86px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed var(--line-strong)!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--ink-2)!important;
}

.references-atlas .proj-list-preview__text{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
}

.references-atlas .proj-list-preview__text p{
  margin:0!important;
  color:var(--ink-2)!important;
  font-size:15px!important;
  line-height:1.65!important;
  max-width:72ch!important;
}

.references-atlas .proj-list-preview__cta{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 16px!important;
  border:1px solid var(--ink)!important;
  background:var(--ink)!important;
  color:var(--paper)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.references-atlas .proj-list-preview__cta:hover{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}

@media(max-width:760px){
  .references-atlas .proj-grid.is-list .proj-list-row{
    grid-template-columns:minmax(0,1fr) 40px!important;
    min-height:70px!important;
  }

  .references-atlas .proj-list-main{
    padding:13px 14px!important;
    gap:5px!important;
  }

  .references-atlas .proj-list-ref{
    font-size:8.5px!important;
    line-height:1.35!important;
  }

  .references-atlas .proj-list-title{
    font-size:20px!important;
    line-height:1.3!important;
    padding:4px 0!important;
  }

  .references-atlas .proj-list-meta{
    grid-column:1 / 2!important;
    padding:0 14px 13px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:8.8px!important;
  }

  .references-atlas .proj-list-meta b{
    text-align:left!important;
  }

  .references-atlas .proj-list-plus{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }

  .references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:16px 14px 18px!important;
  }

  .references-atlas .proj-list-preview__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .references-atlas .proj-list-preview__text p{
    font-size:14px!important;
    line-height:1.55!important;
  }
}

/* V1.5.2 — Atlas liste : anti-doublon strict.
   En mode Liste, seul proj-list-row/proj-list-main doit être visible.
   Le body card reste réservé au mode Cards. */
.references-atlas .proj-grid.is-list .proj-card__body,
.references-atlas .proj-grid.is-list .proj-card__img{
  display:none!important;
}

.references-atlas .proj-grid:not(.is-list) .proj-list-row,
.references-atlas .proj-grid:not(.is-list) .proj-list-preview{
  display:none!important;
}

.references-atlas .proj-grid.is-list .proj-card.is-hidden,
.references-atlas .proj-grid.is-list .proj-card[hidden],
.references-atlas .proj-grid.is-list .proj-card[aria-hidden="true"]{
  display:none!important;
}

/* V1.5.3 — Atlas > Index > Liste : bordures homogènes uniquement.
   Aucun changement de structure, JS, filtres ou accordéon. */
.references-atlas .proj-grid.is-list,
.references-atlas .proj-grid.is-list .proj-card,
.references-atlas .proj-grid.is-list .proj-list-row,
.references-atlas .proj-grid.is-list .proj-list-main,
.references-atlas .proj-grid.is-list .proj-list-meta,
.references-atlas .proj-grid.is-list .proj-list-plus,
.references-atlas .proj-grid.is-list .proj-list-preview{
  box-sizing:border-box!important;
}

.references-atlas .proj-grid.is-list{
  border:1px solid var(--ink)!important;
  border-right:0!important;
  border-bottom:0!important;
  overflow:visible!important;
}

.references-atlas .proj-grid.is-list .proj-card{
  border-top:0!important;
  border-left:0!important;
  border-right:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
  box-shadow:none!important;
  outline:0!important;
}

.references-atlas .proj-grid.is-list .proj-card::before,
.references-atlas .proj-grid.is-list .proj-card::after,
.references-atlas .proj-grid.is-list .proj-list-row::before,
.references-atlas .proj-grid.is-list .proj-list-row::after{
  box-shadow:none!important;
  outline:0!important;
}

.references-atlas .proj-grid.is-list .proj-list-plus{
  border-left:1px solid var(--ink)!important;
}

.references-atlas .proj-grid.is-list .proj-card.is-open .proj-list-preview{
  border-top:1px dashed var(--line-strong)!important;
}

/* Sécurité sur le dernier item : le trait de fermeture reste identique aux autres. */
.references-atlas .proj-grid.is-list .proj-card:last-child{
  border-bottom:1px solid var(--ink)!important;
}

/* V1.5.7 — Équipe : cartes profils uniformes.
   Objectif : mêmes contours, mêmes hauteurs d'image, mêmes espacements texte, sans changer le contenu. */
.people-grid.people-grid--photos{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
  border-top:1px solid rgba(242,237,228,.36)!important;
  border-left:1px solid rgba(242,237,228,.36)!important;
  border-right:0!important;
  border-bottom:0!important;
  box-sizing:border-box!important;
}

.people-grid.people-grid--photos .person-card.person-card--photo{
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  height:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-right:1px solid rgba(242,237,228,.36)!important;
  border-bottom:1px solid rgba(242,237,228,.36)!important;
  box-shadow:none!important;
  outline:0!important;
  background:transparent!important;
}

.people-grid.people-grid--photos .person-card.person-card--photo::before,
.people-grid.people-grid--photos .person-card.person-card--photo::after{
  content:none!important;
  display:none!important;
}

.people-grid.people-grid--photos .person-photo{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-bottom:1px solid rgba(242,237,228,.36)!important;
  background:var(--paper-2)!important;
  overflow:hidden!important;
}

.people-grid.people-grid--photos .person-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  box-shadow:none!important;
  outline:0!important;
}

.people-grid.people-grid--photos .person-content{
  display:grid!important;
  grid-template-rows:auto auto auto 1fr auto!important;
  align-content:start!important;
  gap:0!important;
  min-height:100%!important;
  padding:24px 26px 28px!important;
  box-sizing:border-box!important;
}

.people-grid.people-grid--photos .person-content h3{
  margin:0 0 10px!important;
  min-height:2.12em!important;
  font-size:26px!important;
  line-height:1.06!important;
  overflow:visible!important;
}

.people-grid.people-grid--photos .person-content .role{
  display:block!important;
  min-height:2.6em!important;
  margin:0 0 4px!important;
  line-height:1.45!important;
}

.people-grid.people-grid--photos .person-content .specialty{
  display:block!important;
  min-height:1.45em!important;
  margin:0 0 16px!important;
  line-height:1.45!important;
}

.people-grid.people-grid--photos .person-content p{
  margin:0!important;
  align-self:start!important;
  font-size:14px!important;
  line-height:1.7!important;
  max-width:60ch!important;
}

.people-grid.people-grid--photos .person-link{
  margin-top:18px!important;
  align-self:end!important;
}

@media(max-width:1023px){
  .people-grid.people-grid--photos{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .people-grid.people-grid--photos{
    grid-template-columns:1fr!important;
  }

  .people-grid.people-grid--photos .person-photo{
    aspect-ratio:16/10!important;
  }

  .people-grid.people-grid--photos .person-content{
    padding:22px 20px 26px!important;
  }

  .people-grid.people-grid--photos .person-content h3{
    min-height:0!important;
  }

  .people-grid.people-grid--photos .person-content .role,
  .people-grid.people-grid--photos .person-content .specialty{
    min-height:0!important;
  }

  .people-grid.people-grid--photos .person-content p{
    max-width:none!important;
  }
}

.pj-back-atlas{margin-top:clamp(32px,4vw,56px);padding-top:22px;border-top:1px solid var(--line-strong)}

/* V1.2.8 — Équipe : hover image propre, hors de la ligne.
   La liste ne change jamais de largeur : l'image flotte dans la section sans tasser le texte. */
.equipe-intro{
  position:relative!important;
  align-items:start!important;
  overflow:visible!important;
}

.equipe-focus-wrap{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
}

.equipe-focus{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}

.equipe-focus .equipe-focus__item,
.equipe-focus .equipe-focus__item.has-visual{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  min-height:0!important;
  margin:0!important;
  padding:24px 0!important;
  padding-right:0!important;
  border:0!important;
  border-bottom:1px solid var(--line-strong)!important;
  background:transparent!important;
  color:inherit!important;
  text-align:left!important;
  cursor:default!important;
  overflow:visible!important;
  transition:background .22s var(--ease),padding-left .22s var(--ease)!important;
}

.equipe-focus .equipe-focus__item:hover,
.equipe-focus .equipe-focus__item:focus-visible{
  padding-left:10px!important;
  background:rgba(251,248,242,.42)!important;
}

.equipe-focus .equipe-focus__item:focus-visible{
  outline:1px solid var(--red)!important;
  outline-offset:3px!important;
}

.equipe-focus .layer__n{
  grid-column:1!important;
  align-self:start!important;
  padding-top:.42em!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  color:var(--red)!important;
  letter-spacing:.14em!important;
}

.equipe-focus .equipe-focus__text{
  grid-column:2!important;
  display:block!important;
  max-width:100%!important;
  min-width:0!important;
}

.equipe-focus .layer__t{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  font-family:var(--serif)!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  max-width:14em!important;
  color:var(--ink)!important;
}

.equipe-focus .layer__d{
  display:block!important;
  max-width:46ch!important;
  margin:0!important;
  color:var(--ink-2)!important;
  font-size:15px!important;
  line-height:1.55!important;
}

/* Neutralise définitivement l'ancien visuel injecté dans les lignes. */
.equipe-focus__visual,
.equipe-focus-preview{
  display:none!important;
}

/* Nouveau panneau : hors flux de la ligne, décoratif et non intrusif. */
.equipe-focus-float{
  position:absolute!important;
  z-index:1!important;
  right:clamp(-220px,-15vw,-120px)!important;
  top:18px!important;
  width:clamp(220px,24vw,340px)!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  border:1px solid var(--ink)!important;
  background:var(--paper-2)!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translate3d(14px,0,0)!important;
  filter:grayscale(1) contrast(1.05)!important;
  transition:opacity .24s var(--ease),transform .24s var(--ease),filter .24s var(--ease)!important;
}

.equipe-focus-wrap.is-hovering .equipe-focus-float{
  opacity:.92!important;
  transform:translate3d(0,0,0)!important;
  filter:grayscale(.1) contrast(1.04)!important;
}

.equipe-focus-float img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

@media(max-width:1280px){
  .equipe-focus-float{
    right:0!important;
    top:auto!important;
    bottom:calc(100% + 18px)!important;
    width:min(100%,420px)!important;
    aspect-ratio:16/8!important;
  }
}

@media(max-width:1023px){
  .equipe-focus-float{
    display:none!important;
  }
}

@media(max-width:760px){
  .equipe-focus .equipe-focus__item,
  .equipe-focus .equipe-focus__item.has-visual{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:14px!important;
    padding:20px 0!important;
  }
  .equipe-focus .equipe-focus__item:hover{
    padding-left:0!important;
  }
  .equipe-focus .layer__t{
    font-size:clamp(25px,8vw,32px)!important;
    max-width:100%!important;
  }
  .equipe-focus .layer__d{
    font-size:14px!important;
    max-width:none!important;
  }
}

