/* ===== polices auto-hebergees (RGPD) ===== */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url("fonts/poppins-300.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url("fonts/poppins-400.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url("fonts/poppins-500.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600 700;font-display:swap;src:url("fonts/poppins-700.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:italic;font-weight:300 400;font-display:swap;src:url("fonts/poppins-400i.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:italic;font-weight:500 700;font-display:swap;src:url("fonts/poppins-500i.woff2") format("woff2")}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("fonts/jetbrainsmono-500.woff2") format("woff2")}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600 800;font-display:swap;src:url("fonts/jetbrainsmono-700.woff2") format("woff2")}

:root{--vert:#1D4A3B;--sombre:#16382C;--ambre:#F2B84B;--ambre-f:#2E1F05;--or:#86671F;
--creme:#F6F7F5;--sauge:#EAF2E4;--txt:#51625A;--menthe:#A9C9B4;--liseret:#3F7058;--champagne:#D9C48A;--blanc:#F4F7EF;--d-bord:#2C5240;--d-carte:#153427;--d-bord2:#24463A;--d-fond:#10261D;--d-fond2:#0F2A20;--d-texte:#E9F1E6;--l-bord:#E3E0D4;--l-bord2:#ECE9DD;--l-menthe:#D8E8DC}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;color:var(--txt);background:var(--creme);line-height:1.6;-webkit-font-smoothing:antialiased}
.mono{font-family:'JetBrains Mono','Consolas',monospace}
h1,h2,h3{color:var(--vert);font-weight:700;line-height:1.15}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--or)}
.eyebrow.light{color:var(--ambre)}.eyebrow.mint{color:var(--menthe)}
section{padding:96px 0}
.filet{width:44px;height:6px;background:var(--ambre);border:none;margin:18px 0 26px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:none}
.btn{display:inline-block;font-weight:600;border-radius:999px;padding:15px 34px;transition:.25s}
.btn-a{background:var(--ambre);color:var(--ambre-f)}
.btn-a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.btn-ghost{border:1px solid var(--menthe);color:var(--blanc);margin-left:14px}
.btn-ghost:hover{border-color:var(--ambre);color:var(--ambre)}
nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;transition:.35s;background:rgba(29,74,59,.0)}
nav.scrolled,nav.solid{background:rgba(22,56,44,.97);box-shadow:0 1px 0 rgba(242,184,75,.25)}
nav .wrap{display:flex;align-items:center;justify-content:space-between}
nav img{height:42px;width:auto}
nav ul{display:flex;gap:30px;list-style:none;align-items:center}
nav ul a{font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blanc);opacity:.85;transition:.25s}
nav ul a:hover{opacity:1;color:var(--ambre)}
nav ul a.on{color:var(--ambre);opacity:1;border-bottom:2px solid var(--ambre);padding-bottom:4px}
nav .cta{border:1px solid var(--ambre);border-radius:999px;padding:9px 18px;color:var(--ambre);opacity:1}
nav .cta:hover{background:var(--ambre);color:var(--ambre-f)}
@media(max-width:960px){nav ul{display:none}}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--vert);overflow:hidden;padding:140px 0 90px}
.banner{position:relative;background:var(--vert);overflow:hidden;padding:170px 0 84px}
.banner h1{color:var(--blanc);font-size:clamp(2rem,4.2vw,3.2rem);max-width:880px;margin-top:20px}
.banner h1 em{font-style:normal;color:var(--ambre)}
.banner p{color:var(--menthe);max-width:640px;margin-top:18px;font-size:1.05rem}
.ring{position:absolute;border:1.5px solid var(--liseret);border-radius:50%}
.ring1{width:560px;height:560px;top:-190px;right:-120px}
.ring2{width:230px;height:230px;bottom:10%;right:15%}
.dot{position:absolute;width:24px;height:24px;background:var(--ambre);border-radius:50%;top:290px;right:310px}
.hero h1{color:var(--blanc);font-size:clamp(2.4rem,5.2vw,4.2rem);margin:22px 0 26px;max-width:900px}
.hero h1 em{font-style:normal;color:var(--ambre)}
.hero p.sub{color:var(--menthe);font-size:1.12rem;max-width:640px}
.chips{display:flex;flex-wrap:wrap;gap:14px;margin:38px 0 44px}
.chip{font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:700;letter-spacing:.18em;color:var(--l-menthe);border:1px solid #3E5E4C;border-radius:999px;padding:10px 20px}
.cadre{border:1.5px solid var(--ambre);outline:1px solid var(--champagne);outline-offset:9px;padding:70px 8%;text-align:center;margin:9px}
.manifeste h2{font-size:clamp(1.7rem,3.1vw,2.5rem);max-width:880px;margin:24px auto 28px}
.manifeste .l2{font-size:1.12rem;max-width:760px;margin:0 auto 18px}
.manifeste .l3{font-size:1rem;max-width:820px;margin:0 auto 30px}
.manifeste .sign{font-weight:700;color:var(--or);font-size:1.18rem}
.stats{background:var(--vert);position:relative;overflow:hidden}
.stats h2{color:var(--blanc)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px;margin-top:52px}
.stat .bar{width:38px;height:5px;background:var(--ambre);margin-bottom:16px}
.stat .n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(2rem,3.6vw,3rem);color:var(--ambre)}
.stat .l{color:var(--menthe);font-size:.95rem;margin-top:8px}
@media(max-width:820px){.stats .grid{grid-template-columns:repeat(2,1fr)}}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}
@media(max-width:900px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.carte{border-radius:18px;padding:42px 38px}
.carte.pub{background:var(--vert)}.carte.pub h3{color:var(--blanc)}.carte.pub p{color:var(--l-menthe)}
.carte.pub .tags{color:var(--ambre)}
.carte.priv{background:#fff;border:1px solid #E8B96D}.carte.priv .tags{color:var(--or)}
.carte.blanche{background:#fff;border:1px solid var(--l-bord)}
.carte .eyebrow{display:block;margin-bottom:14px;font-size:.62rem}
.carte h3{font-size:1.35rem;margin-bottom:14px}
.carte p{margin-bottom:20px}
.carte .tags{font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:700;letter-spacing:.14em}
.pont{margin-top:28px;font-style:italic;text-align:center}
.rows .row{display:grid;grid-template-columns:280px 90px 1fr;gap:26px;align-items:baseline;padding:24px 0;border-bottom:1px solid #D3E0CC}
.rows .row:last-of-type{border-bottom:none}
.rows .row h3{font-size:1.18rem}
.pc{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--or)}
.chaine{margin-top:40px;font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--vert);text-align:center}
.chaine span{color:var(--or);padding:0 8px}
@media(max-width:820px){.rows .row{grid-template-columns:1fr;gap:6px}}
.dark{background:var(--vert)}
.dark h2{color:var(--blanc)}
.levier .num{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:2.4rem;color:var(--ambre)}
.levier hr{border:none;height:2px;background:var(--ambre);margin:12px 0 16px}
.levier h3{color:var(--blanc);font-size:1.12rem;margin-bottom:8px}
.levier p{color:var(--menthe);font-size:.94rem}
.doctrine{margin-top:46px;text-align:center;font-style:italic;color:var(--l-menthe)}
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:50px}
.logo{background:transparent;border:1px solid var(--l-bord);border-radius:14px;height:90px;display:flex;align-items:center;justify-content:center;padding:16px;transition:.3s}
.logo img{max-height:50px;width:auto;max-width:88%;filter:grayscale(1);opacity:.72;transition:.3s}
.logo:hover{border-color:var(--ambre);transform:translateY(-3px)}
.logo:hover img{filter:none;opacity:1}
@media(max-width:900px){.logos{grid-template-columns:repeat(3,1fr)}}
.note{margin-top:32px;font-style:italic;text-align:center}
.note b{color:var(--vert)}
.sombre{background:var(--sombre)}
.sombre h2{color:var(--blanc)}
.real{background:var(--vert);border-radius:18px;overflow:hidden;transition:.3s}
.real:hover{transform:translateY(-5px)}
.real .ph{aspect-ratio:16/10;overflow:hidden}
.real .ph img{width:100%;height:100%;object-fit:cover;transition:.5s}
.real:hover .ph img{transform:scale(1.045)}
.real .body{padding:24px 24px 28px}
.real .eyebrow{font-size:.6rem}
.real h3{color:var(--blanc);font-size:1.08rem;margin:10px 0 12px}
.real .stat{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:1.3rem}
.real .stat small{font-family:'Poppins';font-weight:400;color:var(--menthe);font-size:.82rem;margin-left:8px}
.parole{text-align:center}
.parole .guill{font-size:5rem;line-height:1;color:var(--ambre);font-weight:700;font-family:Georgia,serif}
.parole blockquote{font-size:clamp(1.2rem,2.3vw,1.75rem);font-weight:600;color:var(--vert);max-width:900px;margin:8px auto 32px;line-height:1.45}
.parole blockquote em{font-style:normal;color:var(--or)}
.parole .attr{display:flex;align-items:center;justify-content:center;gap:18px}
.parole .attr img{height:58px;background:#fff;border:1px solid var(--l-bord);border-radius:10px;padding:2px 8px}
.parole .attr b{color:var(--vert)}
.parole .src{margin-top:12px;font-size:.85rem;font-style:italic}
.sauge{background:var(--sauge)}
.preuve .n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.6rem;color:var(--or)}
.preuve .bar{width:34px;height:4px;background:var(--ambre);margin:12px 0}
.preuve p{font-size:.92rem}
.dirigeant{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center;margin-top:50px}
.dirigeant img{width:260px;height:260px;object-fit:cover;border-radius:50%;border:4px solid var(--ambre)}
.dirigeant h3{font-size:1.5rem;margin-bottom:6px}
.dirigeant .role{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:700;letter-spacing:.2em;color:var(--or);text-transform:uppercase;display:block;margin-bottom:18px}
@media(max-width:820px){.dirigeant{grid-template-columns:1fr;justify-items:center;text-align:center}}
.contactc{background:var(--vert)}
.cadre2{border:1.5px solid var(--ambre);outline:1px solid var(--champagne);outline-offset:9px;margin:9px;padding:74px 8%}
.contactc h2{color:var(--blanc);font-size:clamp(1.8rem,3.2vw,2.6rem);max-width:760px}
.contactc h2 em{font-style:normal;color:var(--ambre)}
.contactc .qui{color:var(--blanc);font-weight:600;font-size:1.12rem;margin-bottom:12px}
.contactc .co{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--menthe);line-height:2.1}
.contactc .co a:hover{color:var(--ambre)}
.piliers .num{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);background:var(--vert);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:.85rem;margin-bottom:16px}
.nom{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:46px}
.nom h3{font-size:1.35rem}.nom h3 em{font-style:normal;color:var(--or)}
@media(max-width:820px){.nom{grid-template-columns:1fr}}
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:1.5rem;margin:44px 0 14px}
.prose h2:first-of-type{margin-top:0}
.prose p,.prose li{font-size:.98rem;margin-bottom:12px}
.prose ul{padding-left:22px;margin-bottom:14px}
.prose .todo{background:#FBF3DF;border:1px dashed var(--or);border-radius:8px;padding:3px 10px;font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--or);font-weight:700}
.prose .maj{margin-top:40px;font-style:italic;font-size:.88rem}
footer{background:var(--sombre);padding:34px 0}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
footer span,footer a{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.22em;color:#5F7A6B;text-transform:uppercase}
footer a:hover{color:var(--ambre)}
footer .legal{display:flex;gap:26px}

/* ===== passe somptueuse ===== */
.hero h1 em,.banner h1 em,.contactc h2 em{
  font-style:normal;font-weight:700;
  background:linear-gradient(100deg,#F2B84B 20%,#FBE3AD 42%,#D9C48A 55%,#F2B84B 80%);
  background-size:200% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer 7s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px auto 0}
.orn::before,.orn::after{content:"";width:70px;height:1px;background:var(--champagne)}
.orn i{width:8px;height:8px;background:var(--ambre);border-radius:50%;display:block}
.btn-a{position:relative;overflow:hidden}
.btn-a::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn-a:hover::after{transform:translateX(120%)}
.carte{transition:.35s}
.carte.blanche:hover,.carte.priv:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(22,56,44,.13);border-color:var(--ambre)}
nav ul a{position:relative}
nav ul a:not(.cta)::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:100%;background:var(--ambre);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav ul a:not(.cta):hover::after{transform:scaleX(1)}
.ring,.dot,.glow{will-change:transform}
.glow{position:absolute;width:900px;height:900px;left:-220px;top:-160px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(242,184,75,.10),transparent 62%)}
.marquee{background:var(--creme);padding:56px 0;overflow:hidden;border-top:1px solid #ECEAE0;border-bottom:1px solid #ECEAE0}
.marquee .track{display:flex;align-items:center;gap:84px;width:max-content;animation:mq 36s linear infinite}
.marquee img{height:56px;width:auto;filter:grayscale(1);opacity:.6;transition:.3s}
.marquee img:hover{filter:none;opacity:1}
.marquee:hover .track{animation-play-state:paused}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.stagger>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.stagger.visible>*{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}

/* ===== effets v3 ===== */
#progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--ambre),var(--champagne));width:0;z-index:70;transition:width .1s linear}
.curtain{position:relative;overflow:hidden}
.curtain::after{content:"";position:absolute;inset:0;background:var(--vert);transform:translateX(0);transition:transform .9s cubic-bezier(.77,0,.18,1)}
.curtain.visible::after{transform:translateX(101%)}
#cursor,#cursor2{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:99;transform:translate(-50%,-50%)}
#cursor{width:8px;height:8px;background:var(--ambre)}
#cursor2{width:38px;height:38px;border:1.5px solid rgba(242,184,75,.55);transition:width .25s,height .25s,border-color .25s}
body.hoverlink #cursor2{width:58px;height:58px;border-color:var(--ambre)}
@media(hover:none),(pointer:coarse){#cursor,#cursor2{display:none}}
.wordmark{background:var(--sombre);padding:10px 0 34px;overflow:hidden}
.wordmark div{font-weight:700;font-size:clamp(3rem,9vw,8.2rem);line-height:1;text-align:center;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px rgba(242,184,75,.30);letter-spacing:.01em;user-select:none}
.hero .eyebrow,.hero h1,.hero p.sub,.hero .chips,.hero .btn-a,.hero .btn-ghost{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero h1{animation-delay:.12s}.hero p.sub{animation-delay:.26s}.hero .chips{animation-delay:.4s}
.hero .btn-a{animation-delay:.54s}.hero .btn-ghost{animation-delay:.62s}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
/* formulaire */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
.form .full{grid-column:1/-1}
.form label{display:block;font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--menthe);margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid #3E5E4C;border-radius:12px;padding:14px 16px;color:var(--blanc);font-family:'Poppins';font-size:.95rem;transition:.25s;outline:none}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ambre);background:rgba(255,255,255,.09)}
.form textarea{min-height:130px;resize:vertical}
.form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23F2B84B'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
.form select option{color:var(--vert);background:#fff}
.form .ok{grid-column:1/-1;color:var(--menthe);font-size:.9rem;font-style:italic;display:none}
@media(max-width:760px){.form{grid-template-columns:1fr}}

/* ===== v4 : hero vidéo + tableau d'honneur + réalisation vedette ===== */
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.hero video.on{opacity:1}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,56,44,.97) 30%,rgba(22,56,44,.84) 58%,rgba(29,74,59,.66));display:none}
.hero.hasvideo .scrim{display:block}
.hero .wrap{position:relative;z-index:2}
.tableau{border:1.5px solid var(--ambre);outline:1px solid var(--champagne);outline-offset:9px;margin:9px;padding:64px 6% 56px;background:#fff}
.tableau .eyebrow,.tableau h2{text-align:center}
.tableau h2{margin-top:14px}
.tableau .orn{margin-bottom:8px}
.honneur{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid var(--l-bord2);border-left:1px solid var(--l-bord2)}
.honneur .cell{border-right:1px solid var(--l-bord2);border-bottom:1px solid var(--l-bord2);padding:30px 18px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:150px;transition:.3s;position:relative}
.honneur .cell img{height:64px;width:auto;filter:grayscale(1);opacity:.75;transition:.3s}
.honneur .cell:hover{background:var(--creme)}
.honneur .cell:hover img{filter:none;opacity:1}
.honneur .depuis{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.22em;color:var(--or)}
.honneur .cell:hover .depuis{color:var(--vert)}
@media(max-width:900px){.honneur{grid-template-columns:repeat(2,1fr)}}
.ghostnum{position:absolute;right:2%;top:-30px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:11rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(242,184,75,.28);pointer-events:none;user-select:none}
.gfeat{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:auto;gap:28px;margin-top:56px}
.gfeat .real.big{grid-row:span 2}
.gfeat .real.big .ph{aspect-ratio:auto;height:100%;min-height:420px}
.gfeat .real.big .body{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(22,56,44,.96) 55%);padding-top:70px}
.gfeat .real.big{position:relative}
.real .meta{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--menthe);margin-top:10px;display:block}
@media(max-width:980px){.gfeat{grid-template-columns:1fr}.gfeat .real.big{grid-row:auto}.gfeat .real.big .ph{min-height:300px}}

/* ===== v5 : tendances 2026 — glassmorphism, typographie cinetique, dark mode, lazy ===== */
nav.scrolled,nav.solid{background:rgba(22,56,44,.78);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5)}
#theme{background:none;border:1px solid rgba(169,201,180,.55);color:var(--menthe);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:.9rem;line-height:1;transition:.3s;display:flex;align-items:center;justify-content:center;padding:0}
#theme:hover{border-color:var(--ambre);color:var(--ambre);transform:rotate(-14deg)}
.kin{display:inline-block;color:var(--ambre);position:relative}
.kin::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--ambre);opacity:.45;transform:scaleX(0);transform-origin:left;animation:kbar 2.8s linear infinite}
@keyframes kbar{0%{transform:scaleX(0)}82%{transform:scaleX(1)}100%{transform:scaleX(1)}}
#kinword{display:inline-block;will-change:transform,opacity}
#kinword.out{animation:kout .3s ease forwards}
#kinword.in{animation:kin .38s cubic-bezier(.2,.7,.2,1)}
@keyframes kout{to{opacity:0;transform:translateY(-16px) skewY(-3deg)}}
@keyframes kin{from{opacity:0;transform:translateY(18px) skewY(3deg)}to{opacity:1;transform:none}}
img{content-visibility:auto}
body,section,.carte,.tableau,.honneur .cell,.rows .row{transition:background-color .45s ease,border-color .45s ease}
body.dark{--creme:#10261D;--sauge:#132E23;--txt:#9FB8A8}
body.dark h1,body.dark h2,body.dark h3{color:var(--d-texte)}
body.dark .hero h1,body.dark .banner h1{color:var(--blanc)}
body.dark .carte.priv,body.dark .carte.blanche{background:var(--d-carte);border-color:var(--d-bord)}
body.dark .rows .row{border-color:var(--d-bord2)}
body.dark .logo,body.dark .parole .attr img{background:var(--creme);border-color:var(--d-bord)}
body.dark .parole blockquote,body.dark .parole .attr b{color:var(--d-texte)}
body.dark .tableau{background:#12291F}
body.dark .honneur,body.dark .honneur .cell{border-color:var(--d-bord2)}
body.dark .honneur .cell img{filter:grayscale(1) invert(1) brightness(1.3);opacity:.75}
body.dark .honneur .cell:hover{background:rgba(246,247,245,.06)}
body.dark .honneur .cell:hover img{filter:grayscale(1) invert(1) brightness(1.55);opacity:1}
body.dark .honneur .cell:hover .depuis{color:var(--menthe)}
body.dark .prose .todo{background:#1B3A2C}
body.dark .form select option{background:#12291F;color:var(--d-texte)}
body.dark nav.scrolled,body.dark nav.solid{background:rgba(10,26,19,.78)}
body.dark #progress{box-shadow:0 0 12px rgba(242,184,75,.55)}
@media(prefers-reduced-motion:reduce){#kinword.out,#kinword.in{animation:none}.kin::after{animation:none;transform:scaleX(1)}}

/* ===== v6 : logos detoures ===== */
body.dark .marquee img{filter:grayscale(1) invert(1) brightness(1.25);opacity:.6}
body.dark .marquee img:hover{filter:grayscale(1) invert(1) brightness(1.45);opacity:1}
body.dark .logo{background:transparent;border-color:var(--d-bord)}
body.dark .logo img{filter:grayscale(1) invert(1) brightness(1.25);opacity:.7}
body.dark .logo:hover img{filter:grayscale(1) invert(1) brightness(1.5);opacity:1}

/* v6 : rituel RSE */
.rituel .et{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--l-bord2);align-items:flex-start}
.rituel .et:last-child{border-bottom:none}
.rituel .et span.mono{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:.95rem;padding-top:2px}
.rituel .et b{color:var(--vert);font-size:.98rem}
.rituel .et p{font-size:.86rem;margin:2px 0 0}
body.dark .rituel .et{border-color:var(--d-bord2)}

/* ===== v7 : prestige — preloader, grain, magnetisme, particules ===== */
#loader{position:fixed;inset:0;z-index:120;background:var(--sombre);display:flex;align-items:center;justify-content:center;text-align:center;transition:transform .85s cubic-bezier(.77,0,.18,1)}
#loader.done{transform:translateY(-101%)}
#loader .lm{overflow:hidden;padding:4px 0}
#loader .lm span{display:inline-block;font-weight:700;color:var(--blanc);font-size:clamp(1.7rem,3.6vw,2.8rem);transform:translateY(120%);animation:lrise .85s cubic-bezier(.2,.7,.2,1) .15s forwards}
#loader .lm span em{font-style:normal;color:var(--ambre)}
#loader .lsub{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.34em;color:var(--menthe);text-transform:uppercase;opacity:0;animation:lfade .7s ease .55s forwards;margin-top:12px}
#loader .lbar{width:64px;height:3px;background:var(--ambre);margin:18px auto 0;transform:scaleX(0);transform-origin:left;animation:lbarx .8s cubic-bezier(.2,.7,.2,1) .35s forwards}
@keyframes lrise{to{transform:translateY(0)}}
@keyframes lfade{to{opacity:1}}
@keyframes lbarx{to{transform:scaleX(1)}}
#grain{position:fixed;inset:-120px;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");animation:grjump 7s steps(8) infinite}
@keyframes grjump{0%{transform:translate(0,0)}25%{transform:translate(-40px,30px)}50%{transform:translate(30px,-45px)}75%{transform:translate(-25px,-20px)}100%{transform:translate(0,0)}}
.pt{position:absolute;border-radius:50%;background:var(--ambre);opacity:0;pointer-events:none;bottom:8%;animation:pfl linear infinite;box-shadow:0 0 8px rgba(242,184,75,.8);z-index:1}
@keyframes pfl{0%{opacity:0;transform:translateY(0)}12%{opacity:.75}80%{opacity:.15}100%{opacity:0;transform:translateY(-78vh)}}
.scrollhint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:lfade 1s ease 1.8s forwards}
.scrollhint span{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.3em;color:var(--menthe);text-transform:uppercase}
.scrollhint i{width:1px;height:44px;background:rgba(169,201,180,.35);position:relative;overflow:hidden;display:block}
.scrollhint i::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--ambre);animation:shdrop 1.8s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes shdrop{to{top:110%}}
h2.blup{filter:blur(14px);opacity:0;transform:translateY(16px)}
h2.blup.go{filter:blur(0);opacity:1;transform:none;transition:filter .9s ease,opacity .9s ease,transform .9s ease}
.real .ph{overflow:hidden}
.real .ph img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.real:hover .ph img{transform:scale(1.06)}
body.dark #loader{background:#0B1F17}
@media(prefers-reduced-motion:reduce){#loader{display:none}#grain{animation:none}.pt{display:none}.scrollhint{display:none}h2.blup{filter:none;opacity:1;transform:none}}

/* ===== v8 : showreel ===== */
.showreel{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;cursor:pointer;margin-top:44px;background:var(--sombre)}
.showreel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.showreel:hover img{transform:scale(1.04)}
.srscrim{position:absolute;inset:0;background:linear-gradient(160deg,rgba(22,56,44,.55),rgba(22,56,44,.12) 45%,rgba(22,56,44,.78))}
.srplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:var(--ambre);display:flex;align-items:center;justify-content:center;transition:.3s;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.srplay::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1.5px solid rgba(242,184,75,.55);animation:srpulse 2.2s ease-out infinite}
.srplay i{width:0;height:0;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent var(--ambre-f);margin-left:5px}
.showreel:hover .srplay{transform:translate(-50%,-50%) scale(1.08)}
@keyframes srpulse{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.35);opacity:0}}
.srcap{position:absolute;left:34px;bottom:28px;color:var(--blanc)}
.srcap .mono{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.3em;color:var(--ambre);display:block;margin-bottom:6px}
.srcap b{font-size:1.05rem;font-weight:600}
.srnote{margin-top:14px;font-size:.8rem;font-style:italic;color:var(--txt)}
#srbox{position:fixed;inset:0;z-index:130;background:rgba(11,31,23,.95);display:none;align-items:center;justify-content:center;padding:4vw}
#srbox.on{display:flex}
#srbox .frame{width:min(1100px,94vw);aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.5)}
#srbox iframe{width:100%;height:100%;border:0}
#srclose{position:absolute;top:26px;right:30px;background:none;border:1px solid rgba(246,247,245,.4);color:var(--blanc);width:44px;height:44px;border-radius:50%;font-size:1.05rem;cursor:pointer;transition:.25s}
#srclose:hover{border-color:var(--ambre);color:var(--ambre);transform:rotate(90deg)}
@media(max-width:640px){.srplay{width:64px;height:64px}.srcap{left:18px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.srplay::before{animation:none}}

/* ===== v10 : video auto-hebergee ===== */
#srbox video{width:100%;height:100%;object-fit:contain;background:#000;display:block}

/* ===== v11 : grande maison — video, assistant, grand footer ===== */
.hero video{filter:blur(2px) brightness(.8) saturate(.85);transform:scale(1.04)}
.hero.hasvideo .eyebrow,.hero.hasvideo h1,.hero.hasvideo p.sub{text-shadow:0 2px 26px rgba(11,31,23,.55)}
footer.bigfoot{background:var(--sombre);padding:70px 0 30px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:44px;margin-bottom:48px}
.fbrand img{height:46px;margin-bottom:16px}
.fbrand p{color:var(--menthe);font-size:.9rem;max-width:280px;line-height:1.6}
.fsoc{display:flex;gap:10px;margin-top:20px}
.fsoc a{width:38px;height:38px;border:1px solid rgba(169,201,180,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.25s;color:var(--menthe)}
.fsoc a svg{width:16px;height:16px;fill:currentColor}
.fsoc a:hover{border-color:var(--ambre);color:var(--ambre);transform:translateY(-2px)}
.fcol h4{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ambre);margin-bottom:16px}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol ul li{margin-bottom:9px;color:var(--l-menthe);font-size:.9rem}
.fcol ul a{color:var(--l-menthe);transition:.25s}
.fcol ul a:hover{color:var(--ambre)}
.fcol p{color:var(--l-menthe);font-size:.9rem;margin-bottom:10px;line-height:1.55}
.fcol p b{color:var(--blanc)}
.fbase{border-top:1px solid rgba(169,201,180,.18);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.fbase>span{color:var(--menthe);font-size:.8rem}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
#chatb{position:fixed;right:26px;bottom:26px;z-index:95;width:58px;height:58px;border-radius:50%;background:var(--ambre);border:none;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;transition:.3s}
#chatb:hover{transform:translateY(-3px) scale(1.05)}
#chatb svg{width:26px;height:26px;fill:var(--ambre-f)}
#chatb::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(242,184,75,.5);animation:srpulse 2.6s ease-out infinite}
#chatp{position:fixed;right:26px;bottom:100px;z-index:96;width:min(372px,92vw);background:var(--creme);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;display:none;flex-direction:column;max-height:min(560px,72vh)}
#chatp.on{display:flex}
.chead{background:var(--sombre);padding:15px 18px;display:flex;gap:12px;align-items:center}
.chead .cst{width:10px;height:10px;background:#7BD389;border-radius:50%;box-shadow:0 0 8px #7BD389;flex:none}
.chead b{color:var(--blanc);font-size:.92rem;display:block;line-height:1.2}
.chead small{color:var(--menthe);font-size:.7rem}
.chead #chatx{margin-left:auto;background:none;border:none;color:var(--menthe);cursor:pointer;font-size:.95rem;padding:4px}
.chead #chatx:hover{color:var(--ambre)}
.cbody{padding:16px;overflow-y:auto;flex:1}
.cmsg{background:#fff;border:1px solid var(--l-bord);border-radius:12px 12px 12px 4px;padding:10px 14px;font-size:.86rem;color:#3D4F46;margin-bottom:10px;max-width:90%;box-shadow:0 2px 8px rgba(0,0,0,.04);line-height:1.5}
.cmsg.user{background:var(--vert);color:#fff;border:none;border-radius:12px 12px 4px 12px;margin-left:auto}
.cmsg.typing{display:flex;gap:5px;width:58px;align-items:center;justify-content:center;padding:14px}
.cmsg.typing i{width:6px;height:6px;background:#9DB5A8;border-radius:50%;animation:tb 1s infinite}
.cmsg.typing i:nth-child(2){animation-delay:.18s}.cmsg.typing i:nth-child(3){animation-delay:.36s}
@keyframes tb{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
.cchips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.cchips button,.cchips a.clink{border-radius:999px;padding:7px 14px;font-size:.78rem;cursor:pointer;transition:.25s;font-family:'Poppins',sans-serif}
.cchips button{border:1px solid var(--liseret);color:var(--vert);background:none}
.cchips button:hover{background:var(--vert);color:#fff}
.cchips a.clink{background:var(--ambre);color:var(--ambre-f);border:none;font-weight:600}
.cchips a.clink:hover{transform:translateY(-1px)}
.cfoot{display:flex;border-top:1px solid var(--l-bord);background:#fff;flex:none}
.cfoot input{flex:1;border:none;outline:none;padding:14px;font-size:.88rem;font-family:'Poppins',sans-serif;background:none;color:#3D4F46}
.cfoot button{border:none;background:none;color:var(--or);font-weight:700;padding:0 16px;cursor:pointer;font-family:'Poppins',sans-serif}
.cfoot button:hover{color:var(--ambre-f)}
body.dark #chatp{background:var(--d-fond)}
body.dark .cmsg{background:var(--d-carte);border-color:var(--d-bord2);color:#CFE0D3}
body.dark .cmsg.user{background:var(--ambre);color:var(--ambre-f)}
body.dark .cfoot{background:#12291F;border-color:var(--d-bord2)}
body.dark .cfoot input{color:#CFE0D3}
body.dark .cchips button{color:var(--menthe);border-color:var(--liseret)}
body.dark .cchips button:hover{background:var(--vert);color:#fff}
@media(max-width:560px){#chatp{right:4vw;bottom:94px}#chatb{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){#chatb::before{animation:none}}

/* ===== v13 : implantations ===== */
.imppl{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;margin-top:44px}
@media(max-width:900px){.imppl{grid-template-columns:1fr}}
.fmap{position:relative;max-width:520px;margin:0 auto;width:100%}
.fmap svg{width:100%;height:auto;display:block}
.fmap .land{fill:#DFEAD9;stroke:var(--liseret);stroke-width:.8;stroke-linejoin:round}
body.dark .fmap .land{fill:var(--d-carte);stroke:var(--liseret)}
.fmap .city{position:absolute;transform:translate(-50%,-50%)}
.fmap .city i{display:block;width:12px;height:12px;border-radius:50%;background:var(--ambre);box-shadow:0 0 0 4px rgba(242,184,75,.25);position:relative}
.fmap .city i::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid rgba(242,184,75,.55);animation:srpulse 2.4s ease-out infinite}
.fmap .city.small i{width:9px;height:9px}
.fmap .city span{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vert);white-space:nowrap}
body.dark .fmap .city span{color:#CFE0D3}
.fmap .city.wleft span{left:auto;right:18px}
.implist .imp{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid #D9E4D2;align-items:flex-start}
body.dark .implist .imp{border-color:var(--d-bord2)}
.implist .imp:last-child{border-bottom:none}
.implist .imp>span{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:.95rem;padding-top:3px}
.implist .imp b{color:var(--vert);font-size:1.02rem;display:block;margin-bottom:3px}
body.dark .implist .imp b{color:var(--d-texte)}
.implist .imp p{font-size:.88rem;margin:0;line-height:1.55}
@media(prefers-reduced-motion:reduce){.fmap .city i::after{animation:none}}

/* ===== v15 : carte matricielle + footer lifte ===== */
.fmap .dg circle{fill:#AECBB5}
body.dark .fmap .dg circle{fill:#2F5644}
.fmap .arc path{fill:none;stroke:var(--ambre);stroke-width:.7;stroke-dasharray:2 2.4;opacity:.75;stroke-linecap:round;animation:arcmove 2.6s linear infinite}
@keyframes arcmove{to{stroke-dashoffset:-8.8}}
.fmap .city span{background:rgba(255,255,255,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:4px 10px;border-radius:999px;border:1px solid #DCE6D6;box-shadow:0 4px 14px rgba(0,0,0,.06)}
body.dark .fmap .city span{background:rgba(16,38,29,.8);border-color:var(--d-bord)}
footer.bigfoot{position:relative}
footer.bigfoot::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 5%,var(--ambre) 35%,var(--champagne) 65%,transparent 95%);opacity:.65}
.fcol ul a{position:relative;display:inline-block;transition:transform .25s,color .25s}
.fcol ul a::after{content:"\2192";position:absolute;right:-18px;opacity:0;transition:.25s;color:var(--ambre)}
.fcol ul a:hover{transform:translateX(4px)}
.fcol ul a:hover::after{opacity:1;right:-16px}
.fsoc a:hover{background:rgba(242,184,75,.12)}
@media(prefers-reduced-motion:reduce){.fmap .arc path{animation:none}}

/* ===== v17 : visuels de marque en bandeau ===== */
.banner.vis::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;transform:scale(1.04)}
.banner.vis::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,56,44,.93) 22%,rgba(22,56,44,.72) 58%,rgba(29,74,59,.55))}
.banner.vis .wrap{position:relative;z-index:2}
.banner.vis .ring,.banner.vis .dot{z-index:1}
.banner.v1::before{background-image:url("img/visuel_gala.webp")}
.banner.v2::before{background-image:url("img/visuel_pleniere.webp")}
.banner.v3::before{background-image:url("img/visuel_ceremonie.webp")}
.banner.v4::before{background-image:url("img/visuel_hero.webp")}
body.dark .banner.vis::after{background:linear-gradient(100deg,rgba(8,24,18,.94) 22%,rgba(11,31,23,.76) 58%,rgba(16,44,35,.6))}

/* ===== v18 : fiches de realisation, histoire, equipe ===== */
.banner.fiche{padding-top:150px;padding-bottom:70px}
.retour{display:block;width:fit-content;font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--menthe);margin-bottom:24px;transition:.25s}
.retour:hover{color:var(--ambre);transform:translateX(-3px)}
.fstrip{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--l-bord);border-radius:16px;overflow:hidden;margin-top:-42px;position:relative;z-index:5;box-shadow:0 20px 50px rgba(0,0,0,.09)}
body.dark .fstrip{background:var(--d-carte);border-color:var(--d-bord)}
.fcell{padding:22px 20px;border-right:1px solid var(--l-bord2)}
body.dark .fcell{border-color:var(--d-bord2)}
.fcell:last-child{border-right:none}
.fcell .k{display:block;font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:7px}
.fcell b{color:var(--vert);font-size:.92rem;font-weight:600;line-height:1.3}
body.dark .fcell b{color:var(--d-texte)}
@media(max-width:900px){.fstrip{grid-template-columns:1fr 1fr;margin-top:-20px}.fcell{border-bottom:1px solid var(--l-bord2)}}
.fliste{list-style:none;padding:0;margin:0}
.fliste li{position:relative;padding:11px 0 11px 26px;font-size:.92rem;border-bottom:1px solid var(--l-bord2)}
.fliste li:last-child{border-bottom:none}
.fliste li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:2px;background:var(--ambre)}
body.dark .fliste li{border-color:var(--d-bord2)}
.fliste.clair li{color:var(--l-menthe);border-color:rgba(169,201,180,.2)}
.fphoto{margin:0}
.fphoto img{width:100%;border-radius:18px;display:block}
.fphoto figcaption{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-top:14px;text-align:center}
.real.lien{display:block;color:inherit}
.real.lien .body h3{transition:color .25s}
.real.lien:hover .body h3{color:var(--ambre)}
.plus{display:inline-block;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ambre)}
.plus::after{content:" \2192";transition:.25s}
.real.lien:hover .plus::after{margin-left:5px}
/* frise */
.frise{position:relative;margin-top:52px;padding-left:0}
.frise::before{content:"";position:absolute;left:112px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--ambre),var(--champagne),rgba(169,201,180,.35))}
.frise .et{position:relative;display:grid;grid-template-columns:112px 1fr;gap:44px;padding:0 0 44px}
.frise .an{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.35rem;color:var(--ambre);text-align:right;padding-right:4px;line-height:1.2}
.frise .et::after{content:"";position:absolute;left:106px;top:9px;width:14px;height:14px;border-radius:50%;background:var(--creme);border:2.5px solid var(--ambre)}
body.dark .frise .et::after{background:var(--d-fond)}
.frise h3{font-size:1.12rem;margin-bottom:8px}
.frise p{font-size:.94rem;margin:0}
.frise .aparte{margin-top:10px;font-style:italic;font-size:.88rem;color:var(--or)}
.frise .et.fort .an{font-size:1.75rem}
.frise .et.fort::after{width:18px;height:18px;left:104px;background:var(--ambre)}
@media(max-width:720px){.frise::before{left:6px}.frise .et{grid-template-columns:1fr;gap:6px;padding-left:34px}.frise .an{text-align:left}.frise .et::after{left:0}.frise .et.fort::after{left:-2px}}
/* equipe */
.poles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--l-bord);border:1px solid var(--l-bord);border-radius:18px;overflow:hidden;margin-top:44px}
body.dark .poles{background:var(--d-bord);border-color:var(--d-bord)}
.pole{background:var(--creme);padding:34px 30px}
body.dark .pole{background:var(--d-fond)}
.pole .n{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:.8rem;display:block;margin-bottom:14px}
.pole h3{font-size:1.08rem;margin-bottom:10px}
.pole p{font-size:.9rem;margin:0}
@media(max-width:900px){.poles{grid-template-columns:1fr}}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:18px;overflow:hidden;margin-top:40px}
.duo>div{padding:44px 40px}
.duo .a{background:#215845;color:var(--l-menthe)}
.duo .b{background:var(--sombre);color:var(--l-menthe)}
.duo h3{color:var(--blanc);font-size:1.2rem;margin-bottom:12px}
.duo p{font-size:.94rem;margin:0}
@media(max-width:760px){.duo{grid-template-columns:1fr}}
.liens3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.lcard{border:1px solid var(--l-bord);border-radius:16px;padding:30px 28px;transition:.3s;display:block;color:inherit;background:#fff}
body.dark .lcard{background:var(--d-carte);border-color:var(--d-bord)}
.lcard:hover{border-color:var(--ambre);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.lcard h3{font-size:1.05rem;margin-bottom:8px}
.lcard p{font-size:.88rem;margin:0}
.lcard .plus{margin-top:12px}
@media(max-width:860px){.liens3{grid-template-columns:1fr}}

/* ===== v18b : hero graphique ===== */
.hero.graphique{background:linear-gradient(158deg,var(--d-fond2) 0%,var(--vert) 52%,#17402F 100%)}
.hmot{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hmot g{fill:none;stroke-linecap:round}
.hmot .md{stroke:var(--menthe);stroke-width:1.6;stroke-dasharray:2 13;opacity:.42}
.hmot .mh{stroke:var(--ambre);stroke-width:2.4;opacity:.55}
.hmot .mw{stroke:var(--champagne);stroke-width:1.6;stroke-dasharray:2 10;opacity:.45}
.hmot .mc{stroke:var(--menthe);stroke-width:1.2;opacity:.30}
.hmot .ms{fill:var(--ambre);stroke:none;opacity:.75}
.hmot .md path{stroke-dashoffset:0;animation:mdrift 9s linear infinite}
@keyframes mdrift{to{stroke-dashoffset:-60}}
.hmot .mc circle{transform-origin:center;animation:mpulse 7s ease-in-out infinite}
.hmot .mc circle:nth-child(2){animation-delay:-2.4s}
.hmot .mc circle:nth-child(3){animation-delay:-4.8s}
@keyframes mpulse{0%,100%{opacity:.30}50%{opacity:.62}}
.hmot .ms path{animation:mtwinkle 4.4s ease-in-out infinite}
.hmot .ms path:nth-child(2){animation-delay:-1.5s}
.hmot .ms path:nth-child(3){animation-delay:-2.9s}
@keyframes mtwinkle{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
body.dark .hero.graphique{background:linear-gradient(158deg,#07190F 0%,var(--d-fond2) 52%,#123424 100%)}
@media(prefers-reduced-motion:reduce){.hmot *{animation:none !important}}

/* ===== v19 : carte, menu deroulant, presentation, paroles, mosaique ===== */
.fmap{max-width:560px}
.fmap .city span{font-size:.58rem}
.fmap .arc path{stroke-width:.8}
/* --- menu deroulant --- */
nav li.drop{position:relative}
nav li.drop>a::before{content:"";position:absolute;left:0;right:0;top:100%;height:22px}
nav .sous{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%) translateY(8px);min-width:216px;background:rgba(22,56,44,.94);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(242,184,75,.28);border-radius:14px;padding:10px;list-style:none;opacity:0;visibility:hidden;transition:.28s;box-shadow:0 24px 60px rgba(0,0,0,.35);display:block}
nav li.drop:hover .sous,nav li.drop:focus-within .sous{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
nav .sous li{display:block;margin:0}
nav .sous a{display:block;padding:10px 14px;border-radius:9px;letter-spacing:.14em;font-size:.62rem;opacity:.88;border:none !important}
nav .sous a:hover{background:rgba(242,184,75,.14);color:var(--ambre);opacity:1}
nav .sous a.on{color:var(--ambre);opacity:1;border-bottom:none;padding-bottom:10px}
nav li.drop>a .car{display:inline-block;margin-left:6px;font-size:.5rem;transition:transform .28s;transform:translateY(-1px)}
nav li.drop:hover>a .car{transform:translateY(-1px) rotate(180deg)}
body.dark nav .sous{background:rgba(10,26,19,.94)}
@media(max-width:1120px){nav ul{gap:20px}}
/* --- presentation --- */
.intro{padding:104px 0 96px}
.intro .grid2{gap:70px;align-items:start}
.intro .accroche{font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:600;color:var(--vert);line-height:1.32}
.intro .accroche em{font-style:normal;color:var(--or)}
.intro p.txt{margin-top:20px;font-size:1rem}
.intro .sig{margin-top:26px;font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or)}
body.dark .intro .accroche{color:var(--d-texte)}
.pastilles{display:flex;flex-direction:column;gap:0;border-top:1px solid #DCE4D6}
body.dark .pastilles{border-color:var(--d-bord2)}
.pastilles .p{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid #DCE4D6;align-items:start}
body.dark .pastilles .p{border-color:var(--d-bord2)}
.pastilles .p span{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:1.05rem}
.pastilles .p b{display:block;color:var(--vert);font-size:1rem;margin-bottom:3px}
body.dark .pastilles .p b{color:var(--d-texte)}
.pastilles .p p{font-size:.9rem;margin:0}
/* --- paroles multiples --- */
.pquote{background:#fff;border:1px solid var(--l-bord);border-radius:18px;padding:34px 32px;position:relative;transition:.32s;height:100%;display:flex;flex-direction:column}
body.dark .pquote{background:var(--d-carte);border-color:var(--d-bord)}
.pquote::before{content:"\201C";position:absolute;top:14px;right:26px;font-family:Georgia,serif;font-size:4.4rem;line-height:1;color:var(--ambre);opacity:.20}
.pquote:hover{border-color:var(--ambre);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.1)}
.pquote blockquote{font-size:1.02rem;font-weight:500;color:var(--vert);line-height:1.5;margin:0 0 20px;position:relative;z-index:2;flex:1}
body.dark .pquote blockquote{color:var(--d-texte)}
.pquote blockquote em{font-style:normal;color:var(--or)}
.pquote .who{display:flex;align-items:center;gap:14px;border-top:1px solid var(--l-bord2);padding-top:18px}
body.dark .pquote .who{border-color:var(--d-bord2)}
.pquote .who img{height:40px;width:104px;object-fit:contain;filter:grayscale(1);opacity:.7}
body.dark .pquote .who img{filter:grayscale(1) invert(1) brightness(1.3)}
.pquote .who b{display:block;color:var(--vert);font-size:.9rem}
body.dark .pquote .who b{color:var(--d-texte)}
.pquote .who small{font-size:.78rem;color:var(--txt)}
.pquote .src{margin-top:12px;font-size:.74rem;font-style:italic;opacity:.75}
.preuves{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;border:1px solid var(--l-bord);border-radius:16px;overflow:hidden;background:#fff}
body.dark .preuves{background:var(--d-carte);border-color:var(--d-bord)}
.preuves .pr{padding:26px 24px;border-right:1px solid var(--l-bord2);text-align:center}
body.dark .preuves .pr{border-color:var(--d-bord2)}
.preuves .pr:last-child{border-right:none}
.preuves .pr .an{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:1.5rem;display:block}
.preuves .pr b{display:block;color:var(--vert);font-size:.9rem;margin-top:6px}
body.dark .preuves .pr b{color:var(--d-texte)}
.preuves .pr small{font-size:.76rem}
@media(max-width:900px){.preuves{grid-template-columns:1fr 1fr}.preuves .pr{border-bottom:1px solid var(--l-bord2)}}
/* --- mosaique de realisations --- */
.mosaic{display:grid;grid-template-columns:1.34fr 1fr 1fr;grid-template-rows:230px 230px;gap:20px;margin-top:46px}
.mosaic .tuile{position:relative;border-radius:18px;overflow:hidden;display:block;color:inherit;background:var(--sombre)}
.mosaic .tuile.v{grid-row:span 2}
.mosaic .tuile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.92)}
.mosaic .tuile:hover img{transform:scale(1.07);filter:saturate(1.05)}
.mosaic .tuile .voile{position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(11,31,23,.55) 58%,rgba(11,31,23,.94));transition:.4s}
.mosaic .tuile:hover .voile{background:linear-gradient(transparent 12%,rgba(16,49,38,.72) 48%,rgba(11,31,23,.97))}
.mosaic .tuile .cadre{position:absolute;inset:13px;border:1px solid rgba(242,184,75,.45);border-radius:10px;opacity:0;transform:scale(1.03);transition:.45s;pointer-events:none}
.mosaic .tuile:hover .cadre{opacity:1;transform:scale(1)}
.mosaic .tuile .txt{position:absolute;left:0;right:0;bottom:0;padding:26px 26px 24px;z-index:2}
.mosaic .tuile .cli{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ambre);display:block;margin-bottom:8px}
.mosaic .tuile h3{color:var(--blanc);font-size:1.05rem;line-height:1.28;margin:0}
.mosaic .tuile.v h3{font-size:1.5rem}
.mosaic .tuile .chiffre{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:1.15rem;margin-top:10px;display:block}
.mosaic .tuile.v .chiffre{font-size:1.6rem}
.mosaic .tuile .chiffre small{font-family:'Poppins';font-weight:400;color:var(--menthe);font-size:.78rem;margin-left:7px}
.mosaic .tuile .go{display:block;overflow:hidden;height:0;opacity:0;transition:.4s;font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blanc)}
.mosaic .tuile:hover .go{height:22px;opacity:1;margin-top:12px}
.mosaic .tuile .go::after{content:" \2192"}
.mosaic .tuile .lueur{position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(242,184,75,.18),transparent 62%);opacity:0;transition:opacity .4s;z-index:1;pointer-events:none}
.mosaic .tuile:hover .lueur{opacity:1}
@media(max-width:980px){.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.mosaic .tuile{min-height:220px}.mosaic .tuile.v{grid-row:span 1;min-height:300px}}
@media(max-width:620px){.mosaic{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mosaic .tuile img{transition:none}}

/* ===== v20 : page implantations ===== */
.cartepleine{max-width:720px;margin:0 auto;position:relative}
.cartepleine .fmap{max-width:100%}
.cartepleine .city span{font-size:.6rem}
.impgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:52px}
@media(max-width:860px){.impgrid{grid-template-columns:1fr}}
.impc{border:1px solid var(--l-bord);border-radius:18px;padding:34px 32px;background:#fff;transition:.32s;position:relative;overflow:hidden}
body.dark .impc{background:var(--d-carte);border-color:var(--d-bord)}
.impc::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ambre);transform:scaleY(0);transform-origin:top;transition:.42s}
.impc:hover{border-color:var(--ambre);transform:translateY(-3px);box-shadow:0 20px 46px rgba(0,0,0,.09)}
.impc:hover::after{transform:scaleY(1)}
.impc .num{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:.92rem}
.impc .rang{font-family:'JetBrains Mono',monospace;font-size:.56rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or);float:right;padding-top:4px}
.impc h3{font-size:1.28rem;margin:12px 0 14px}
.impc .adr{font-size:.95rem;color:var(--vert);font-weight:600;line-height:1.5}
body.dark .impc .adr{color:var(--d-texte)}
.impc .desc{font-size:.9rem;margin-top:14px}
.impc .joindre{margin-top:20px;padding-top:18px;border-top:1px solid var(--l-bord2);display:flex;flex-wrap:wrap;gap:8px 22px}
body.dark .impc .joindre{border-color:var(--d-bord2)}
.impc .joindre a{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.14em;color:var(--or);transition:.25s}
.impc .joindre a:hover{color:var(--ambre)}
.impc.siege{grid-column:1/-1;background:var(--vert);border-color:var(--vert)}
body.dark .impc.siege{background:#1B4536;border-color:var(--d-bord)}
.impc.siege h3,.impc.siege .adr{color:var(--blanc)}
.impc.siege .desc{color:var(--l-menthe)}
.impc.siege .rang{color:var(--champagne)}
.impc.siege .joindre{border-color:rgba(169,201,180,.28)}
.impc.siege .joindre a{color:var(--ambre)}
.couv{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
@media(max-width:860px){.couv{grid-template-columns:1fr}}

/* ===== v21 : perfectionnement ===== */
#burger{display:none;background:none;border:1px solid rgba(169,201,180,.5);border-radius:10px;width:44px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:.25s}
#burger i{display:block;width:20px;height:2px;background:var(--blanc);transition:.3s;border-radius:2px}
#burger:hover{border-color:var(--ambre)}
body.mopen #burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.mopen #burger i:nth-child(2){opacity:0}
body.mopen #burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
#mmenu{position:fixed;inset:0;z-index:110;background:rgba(11,31,23,.98);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;padding:90px 8% 40px;opacity:0;visibility:hidden;transition:.35s;overflow-y:auto}
body.mopen #mmenu{opacity:1;visibility:visible}
#mmenu a{display:block;color:var(--blanc);font-weight:700;font-size:1.5rem;padding:12px 0;border-bottom:1px solid rgba(169,201,180,.14);transform:translateY(14px);opacity:0;transition:.4s}
body.mopen #mmenu a{transform:none;opacity:1}
#mmenu a.sous-lien{font-size:1.02rem;font-weight:500;color:var(--menthe);padding:9px 0 9px 22px;border-bottom:none}
#mmenu a.cta-m{color:var(--ambre-f);background:var(--ambre);border-radius:14px;text-align:center;margin-top:22px;padding:15px;border-bottom:none;font-size:1.1rem}
#mmenu a.on{color:var(--ambre)}
#mmenu .msep{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin:20px 0 4px}
#mmenu .mtheme{margin-top:26px;background:none;border:1px solid rgba(169,201,180,.4);color:var(--menthe);border-radius:999px;padding:11px 22px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;transition:.25s}
#mmenu .mtheme:hover{border-color:var(--ambre);color:var(--ambre)}
@media(max-width:960px){
  #burger{display:flex}
  nav .wrap{position:relative;z-index:120}
  nav{background:rgba(22,56,44,.97)}
}
nav li.drop.open .sous{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
/* prev / next entre fiches */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:56px 0 0}
@media(max-width:720px){.pn{grid-template-columns:1fr}}
.pn a{display:block;border:1px solid var(--l-bord);border-radius:16px;padding:24px 26px;background:#fff;transition:.3s;color:inherit}
body.dark .pn a{background:var(--d-carte);border-color:var(--d-bord)}
.pn a:hover{border-color:var(--ambre);transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.09)}
.pn a span{display:block;font-family:'JetBrains Mono',monospace;font-size:.56rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-bottom:8px}
.pn a b{color:var(--vert);font-size:1rem;line-height:1.35}
body.dark .pn a b{color:var(--d-texte)}
.pn a small{display:block;color:var(--txt);font-size:.8rem;margin-top:4px}
.pn a.next{text-align:right}
.pn a.seule{grid-column:1/-1}
/* frise animee */
.frise .et{opacity:0;transform:translateX(-18px);transition:opacity .7s ease,transform .7s ease}
.frise .et.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.frise .et{opacity:1;transform:none;transition:none}}
/* carte interactive */
.fmap .city i{transition:transform .3s ease}
.fmap .city span{transition:.3s}
.fmap .city.hot i{transform:scale(1.45)}
.fmap .city.hot span{background:var(--ambre);color:var(--ambre-f);border-color:var(--ambre)}
body.dark .fmap .city.hot span{background:var(--ambre);color:var(--ambre-f)}
.implist .imp,.impgrid .impc{cursor:default}

/* ===== v22 : micro-details premium ===== */
::selection{background:var(--ambre);color:var(--ambre-f)}
::-moz-selection{background:var(--ambre);color:var(--ambre-f)}
:focus-visible{outline:2px solid var(--ambre);outline-offset:3px;border-radius:4px}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--creme)}
::-webkit-scrollbar-thumb{background:#B9CDBB;border-radius:8px;border:3px solid var(--creme)}
::-webkit-scrollbar-thumb:hover{background:var(--ambre)}
body.dark ::-webkit-scrollbar-track{background:var(--d-fond)}
body.dark ::-webkit-scrollbar-thumb{background:var(--d-bord);border-color:var(--d-fond)}
.bandeimg{height:clamp(240px,36vw,420px);background-size:cover;background-position:center;background-attachment:fixed}
@media(hover:none){.bandeimg{background-attachment:scroll}}
.bandeimg.b1{background-image:url("img/visuel_pleniere.webp")}
/* index des fiches */
.findex{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:44px}
@media(max-width:820px){.findex{grid-template-columns:1fr}}
.findex a{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center;border:1px solid rgba(169,201,180,.25);border-radius:14px;padding:18px 22px;color:inherit;transition:.28s;background:rgba(246,247,245,.03)}
.findex a:hover{border-color:var(--ambre);transform:translateX(4px);background:rgba(242,184,75,.06)}
.findex a b{color:var(--blanc);font-size:.96rem;line-height:1.3}
.findex a small{grid-column:1;color:var(--menthe);font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.findex a .n{grid-column:2;grid-row:1/3;font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:1.05rem;white-space:nowrap}
/* 404 */
.p404{min-height:100vh;display:flex;align-items:center;background:linear-gradient(158deg,var(--d-fond2),var(--vert) 60%,#17402F);position:relative;overflow:hidden}
.p404 .ghost{position:absolute;inset:auto -4% -6% -4%;font-weight:700;font-size:clamp(11rem,30vw,26rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(242,184,75,.22);text-align:center;user-select:none}
.p404 .wrap{position:relative;z-index:2}
.p404 h1{color:var(--blanc);font-size:clamp(2rem,4.4vw,3.4rem);margin:18px 0 14px}
.p404 h1 em{font-style:normal;color:var(--ambre)}
.p404 p{color:var(--menthe);max-width:520px}

/* ===== v23 : design maison / histoire / equipe ===== */
.banner .bgw{position:absolute;right:-1%;bottom:-.16em;font-weight:700;font-size:clamp(5.5rem,14vw,12rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(242,184,75,.22);letter-spacing:.02em;user-select:none;pointer-events:none;z-index:1;text-transform:uppercase;white-space:nowrap}
/* diptyque du nom */
.nom{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--l-bord);border-radius:20px;overflow:hidden;position:relative;background:#fff}
body.dark .nom{background:var(--d-carte);border-color:var(--d-bord)}
.nom::before{content:"";position:absolute;left:50%;top:9%;bottom:9%;width:1px;background:linear-gradient(var(--ambre),var(--champagne),transparent)}
.nom>div{padding:50px 48px;position:relative}
.nom .gw{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.6rem;letter-spacing:.3em;color:var(--or);text-transform:uppercase;display:block;margin-bottom:14px}
.nom h3{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.15;margin:0}
.nom h3 em{font-style:normal;color:var(--or)}
.nom p{margin-top:14px;font-size:.96rem}
@media(max-width:760px){.nom{grid-template-columns:1fr}.nom::before{display:none}}
/* piliers en chiffres fantomes */
.carte.blanche{position:relative;overflow:hidden}
.carte .gnum{position:absolute;top:2px;right:16px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:3.6rem;line-height:1.2;color:transparent;-webkit-text-stroke:1.2px rgba(169,133,47,.3);user-select:none;pointer-events:none}
.carte.blanche::after{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--ambre),var(--champagne));transform:scaleX(0);transform-origin:left;transition:.45s}
.carte.blanche:hover::after{transform:scaleX(1)}
/* dirigeant */
.dirigeant img{box-shadow:0 0 0 5px var(--creme),0 0 0 7px var(--ambre),0 26px 60px rgba(0,0,0,.16)}
body.dark .dirigeant img{box-shadow:0 0 0 5px var(--d-fond),0 0 0 7px var(--ambre),0 26px 60px rgba(0,0,0,.4)}
/* frise raffinee */
.frise .an{font-size:1.6rem}
.frise .et.fort .an{font-size:2.5rem;color:transparent;-webkit-text-stroke:1.6px var(--ambre)}
.frise::before{background:linear-gradient(180deg,var(--ambre),var(--champagne) 45%,rgba(169,201,180,.3));box-shadow:0 0 16px rgba(242,184,75,.22)}
.frise .et.fort::after{box-shadow:0 0 0 6px rgba(242,184,75,.16),0 0 18px rgba(242,184,75,.45)}
.frise .et>div{background:#fff;border:1px solid #E8E5D9;border-radius:16px;padding:26px 30px;transition:.3s}
.frise .et:hover>div{border-color:var(--ambre);transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.07)}
body.dark .frise .et>div{background:var(--d-carte);border-color:var(--d-bord2)}
.bandeimg.b2{background-image:url("img/visuel_ceremonie.webp")}
/* constellation de l'equipe */
.constel{max-width:560px;margin:44px auto 0;text-align:center}
.constel svg{width:100%;height:auto;overflow:visible}
.constel .l{stroke:rgba(169,201,180,.32);stroke-width:.7}
.constel .d{fill:var(--menthe);transform-origin:center;transform-box:fill-box;animation:cpulse 4.6s ease-in-out infinite}
.constel .d.a{fill:var(--ambre)}
.constel .d:nth-of-type(2n){animation-delay:-1.4s}
.constel .d:nth-of-type(3n){animation-delay:-2.8s}
@keyframes cpulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
.constel p{margin-top:22px;color:var(--menthe);font-size:.95rem;font-style:italic}
@media(prefers-reduced-motion:reduce){.constel .d{animation:none}}
/* tuiles de chiffres equipe */
.eqg .stat{transition:.32s;border:1px solid transparent}
.eqg .stat:hover{transform:translateY(-4px);border-color:rgba(242,184,75,.45);box-shadow:0 16px 40px rgba(0,0,0,.14)}
/* poles */
.pole{position:relative;overflow:hidden;transition:.3s}
.pole::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ambre);transform:scaleY(0);transform-origin:top;transition:.42s}
.pole:hover::after{transform:scaleY(1)}
.pole:hover{background:#FDFEFA}
body.dark .pole:hover{background:#183B2C}
/* duo culture */
.duo>div{position:relative}
.duo>div::before{content:"\201C";position:absolute;top:8px;right:26px;font-family:Georgia,serif;font-size:4.2rem;color:rgba(242,184,75,.28);line-height:1}

/* ===== v24 : paroles de clients ===== */
.who .sig{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--liseret);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.62rem;color:var(--vert);flex:none;letter-spacing:.05em}
body.dark .who .sig{color:var(--menthe);border-color:var(--liseret)}
.vedette{position:relative;text-align:center;padding:64px 8% 56px}
.vedette .guill{font-size:5.4rem;line-height:.6;color:var(--ambre);font-family:Georgia,serif}
.vedette blockquote{font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:600;color:var(--blanc);line-height:1.45;max-width:900px;margin:18px auto 26px}
.vedette blockquote em{font-style:normal;color:var(--ambre)}
.vedette .attr b{color:var(--blanc)}
.vedette .attr small{display:block;color:var(--menthe);margin-top:4px}
.vedette .src{margin-top:14px;font-size:.8rem;color:var(--menthe);font-style:italic;opacity:.85}
.pgrille{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
@media(max-width:860px){.pgrille{grid-template-columns:1fr}}
.etaussi{margin-top:44px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--or);line-height:2.2}

/* ===== v26 : images du film ===== */
.pstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:820px){.pstrip{grid-template-columns:1fr}}
.pstrip figure{margin:0;position:relative;border-radius:14px;overflow:hidden}
.pstrip img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pstrip figure:hover img{transform:scale(1.05)}
.pstrip figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(242,184,75,.0);transition:.35s;border-radius:14px;pointer-events:none}
.pstrip figure:hover::after{box-shadow:inset 0 0 0 1.5px rgba(242,184,75,.55)}
.pstrip figcaption{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-top:12px;padding:0 2px}
.dark .pstrip figcaption,.stats .pstrip figcaption{color:var(--menthe)}
.pstrip-src{margin-top:20px;font-size:.78rem;font-style:italic;color:var(--txt);opacity:.8}
.dark .pstrip-src{color:var(--menthe)}

/* ===== v28 : contact en clair ===== */
nav.clair ul a{color:var(--vert);opacity:.85}
nav.clair ul a:hover{color:var(--or);opacity:1}
nav.clair ul a.on{color:var(--or);border-bottom-color:var(--or)}
nav.clair ul a:not(.cta)::after{background:var(--or)}
nav.clair .cta{color:var(--or) !important;border-color:var(--or) !important}
nav.clair #theme{border-color:#C4D2C0;color:var(--or)}
nav.clair #theme:hover{border-color:var(--or)}
nav.clair img{background:var(--sombre);border-radius:10px;padding:5px 10px;height:46px}
nav.clair.scrolled,nav.clair.solid{background:rgba(246,247,245,.86);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 rgba(169,133,47,.22)}
nav.clair .sous{background:rgba(246,247,245,.95);border-color:rgba(169,133,47,.3)}
nav.clair .sous a{color:var(--vert)}
nav.clair .sous a:hover{background:rgba(242,184,75,.16);color:var(--or)}
nav.clair #burger{border-color:#C4D2C0}
nav.clair #burger i{background:var(--vert)}
body.dark nav.clair ul a{color:var(--blanc)}
body.dark nav.clair ul a.on,body.dark nav.clair ul a:hover{color:var(--ambre)}
body.dark nav.clair .cta{color:var(--ambre) !important;border-color:var(--ambre) !important}
body.dark nav.clair.scrolled,body.dark nav.clair.solid{background:rgba(10,26,19,.86)}
body.dark nav.clair .sous{background:rgba(10,26,19,.94)}
body.dark nav.clair .sous a{color:var(--menthe)}
body.dark nav.clair img{background:none;padding:0;height:68px}
.ctclair{padding:158px 0 90px;background:var(--creme)}
.ctclair h1{color:var(--vert);font-size:clamp(2rem,4vw,3.1rem);margin:16px 0 20px}
.ctclair h1 em{font-style:normal;color:var(--or)}
.ctclair .grid2{gap:64px;align-items:start}
.ctclair .qui{font-weight:600;color:var(--vert);margin-top:26px}
.ctclair .co{font-family:'JetBrains Mono',monospace;font-size:.78rem;line-height:2.1;color:var(--txt);margin-top:8px}
.ctclair .co a{color:var(--or)}
.ctclair .co a:hover{color:var(--ambre-f)}
.ctclair .fcard{background:#fff;border:1px solid var(--l-bord);border-radius:20px;padding:40px 38px;box-shadow:0 24px 60px rgba(29,74,59,.08);position:relative}
.ctclair .fcard::before{content:"";position:absolute;inset:10px;border:1px solid rgba(217,196,138,.55);border-radius:14px;pointer-events:none}
.ctclair .form{position:relative;z-index:2}
.ctclair .form label{color:var(--or)}
.ctclair .form input,.ctclair .form select,.ctclair .form textarea{background:#FBFCF9;border:1px solid #DCE4D6;color:var(--vert)}
.ctclair .form input:focus,.ctclair .form select:focus,.ctclair .form textarea:focus{border-color:var(--ambre);background:#fff}
.ctclair .form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23A9852F'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
.ctclair .form .ok{color:var(--or)}
.ctclair .note{font-size:.85rem;font-style:italic;margin-top:22px}
body.dark .ctclair .fcard{background:var(--d-carte);border-color:var(--d-bord);box-shadow:none}
body.dark .ctclair h1{color:var(--d-texte)}
body.dark .ctclair .qui{color:var(--d-texte)}
body.dark .ctclair .form input,body.dark .ctclair .form select,body.dark .ctclair .form textarea{background:var(--d-fond);border-color:var(--d-bord);color:#CFE0D3}

/* ===== v29 : galerie editoriale des references ===== */
.galerie .grow{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding:64px 0;border-bottom:1px solid #E4E1D5}
.galerie .grow:first-of-type{padding-top:44px}
.galerie .grow:last-of-type{border-bottom:none}
.galerie .grow.inv .ph2{order:2}
@media(max-width:900px){.galerie .grow{grid-template-columns:1fr;gap:28px;padding:44px 0}.galerie .grow.inv .ph2{order:0}}
body.dark .galerie .grow{border-color:var(--d-bord2)}
.ph2{border-radius:18px;overflow:hidden;position:relative;display:block}
.ph2 img{width:100%;aspect-ratio:16/10.5;object-fit:cover;display:block;transition:transform 1.25s cubic-bezier(.2,.7,.2,1)}
.grow:hover .ph2 img{transform:scale(1.05)}
.ph2::after{content:"";position:absolute;inset:12px;border:1px solid rgba(242,184,75,0);border-radius:12px;transition:.45s;pointer-events:none}
.grow:hover .ph2::after{border-color:rgba(242,184,75,.55)}
.gtxt .gn{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:3rem;line-height:1;color:transparent;-webkit-text-stroke:1.3px rgba(169,133,47,.4);display:block;margin-bottom:16px}
.gtxt .eyebrow{display:block;margin-bottom:10px}
.gtxt h3{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.2;margin:0 0 14px}
.gtxt .gdesc{font-size:.98rem;margin:0 0 18px}
.gtxt .gmeta{font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--txt);display:block;margin-bottom:12px}
.gtxt .gjauge{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--or);font-size:1.5rem}
.gtxt .gjauge small{font-family:'Poppins',sans-serif;font-weight:400;color:var(--txt);font-size:.85rem;margin-left:8px}
.gtxt .plus{color:var(--or);margin-top:16px;display:block;width:fit-content}
body.dark .gtxt h3{color:var(--d-texte)}
body.dark .gtxt .gjauge{color:var(--ambre)}
/* table des realisations */
.rtable{background:#fff;border:1px solid var(--l-bord);border-radius:18px;overflow:hidden;margin-top:44px}
body.dark .rtable{background:var(--d-carte);border-color:var(--d-bord)}
.rtable a{display:grid;grid-template-columns:52px 200px 1fr auto auto 22px;gap:18px;align-items:center;padding:19px 28px;border-bottom:1px solid #EFEDE3;color:inherit;transition:.28s}
.rtable a:last-child{border-bottom:none}
body.dark .rtable a{border-color:var(--d-bord2)}
.rtable a:hover{background:#FBFCF7;padding-left:34px}
body.dark .rtable a:hover{background:#183B2C}
.rtable .ri{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.78rem;color:transparent;-webkit-text-stroke:1px rgba(169,133,47,.5)}
.rtable small{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.rtable b{color:var(--vert);font-size:.96rem;font-weight:600;line-height:1.3}
body.dark .rtable b{color:var(--d-texte)}
.rtable .rj{font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;color:var(--txt);white-space:nowrap}
.rtable .fl{color:var(--ambre);opacity:0;transform:translateX(-6px);transition:.28s;font-weight:700}
.rtable a:hover .fl{opacity:1;transform:none}
@media(max-width:860px){.rtable a{grid-template-columns:40px 1fr 22px}.rtable small{grid-column:2}.rtable b{grid-column:2}.rtable .rj{display:none}.rtable .ri{grid-row:span 2}}

/* ===== v30 : filtres par secteur + apercu flottant ===== */
.secbar{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 4px}
.pill{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--liseret);border-radius:999px;color:var(--vert);cursor:pointer;transition:.28s;background:none}
.pill .n{color:var(--or);margin-left:7px}
.pill:hover{border-color:var(--ambre);transform:translateY(-1px)}
.pill.on{background:var(--ambre);color:var(--ambre-f);border-color:var(--ambre)}
.pill.on .n{color:var(--ambre-f)}
body.dark .pill{color:var(--menthe);border-color:var(--liseret)}
body.dark .pill.on{background:var(--ambre);color:var(--ambre-f);border-color:var(--ambre)}
.grow.off,.rtable a.off{display:none}
.flt{animation:fltin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes fltin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rtable .sect{font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--menthe);background:var(--sauge);border-radius:999px;padding:4px 10px;white-space:nowrap}
body.dark .rtable .sect{background:var(--d-fond);color:var(--menthe)}
#hovpic{position:fixed;width:290px;aspect-ratio:16/10;border-radius:14px;overflow:hidden;pointer-events:none;z-index:97;opacity:0;transform:scale(.86) rotate(-2deg);transition:opacity .28s ease,transform .28s ease;box-shadow:0 30px 70px rgba(0,0,0,.35);border:1px solid rgba(242,184,75,.55)}
#hovpic.on{opacity:1;transform:scale(1) rotate(0deg)}
#hovpic img{width:100%;height:100%;object-fit:cover;display:block}
@media(hover:none){#hovpic{display:none}}

/* ===== v31 : liquid glass ===== */
.lgx{position:relative;isolation:isolate}
.lgx::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.08);pointer-events:none;z-index:1}
.lgx::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(200px circle at var(--gx,26%) var(--gy,18%),rgba(255,255,255,.20),transparent 62%);pointer-events:none;z-index:1;transition:opacity .3s}
.hero .chip{background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04) 50%,rgba(255,255,255,.09));backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6);border-color:rgba(255,255,255,.30);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 24px rgba(0,0,0,.16);transition:.3s}
.hero .chip:hover{transform:translateY(-2px);border-color:rgba(242,184,75,.6)}
nav.scrolled,nav.solid{box-shadow:inset 0 -1px 0 rgba(255,255,255,.10),0 1px 0 rgba(242,184,75,.22)}
nav .sous{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 60px rgba(0,0,0,.35)}
.lgbar{position:sticky;top:78px;z-index:24;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.30));backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:12px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 40px rgba(29,74,59,.10);margin-top:36px}
.lgbar .secbar{margin:0}
body.dark .lgbar{background:linear-gradient(135deg,rgba(21,52,39,.6),rgba(21,52,39,.35));border-color:rgba(169,201,180,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 40px rgba(0,0,0,.3)}
#mmenu{box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
/* ===== v31 : objet 3D manipulable ===== */
#obj3d{position:absolute;right:4.5%;top:40%;transform:translateY(-50%);z-index:3;perspective:1100px;display:none}
@media(min-width:1280px){#obj3d{display:block}}
.o3card{width:206px;height:264px;position:relative;transform-style:preserve-3d;cursor:grab;will-change:transform}
.o3card.grab{cursor:grabbing}
.o3card .face{position:absolute;inset:0;border-radius:20px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:22px}
.o3card .f1{background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 55%,rgba(255,255,255,.10));backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 24px 60px rgba(0,0,0,.30)}
.o3card .f1 img{height:56px;width:auto}
.o3card .f1 b{color:var(--blanc);font-size:1rem;line-height:1.3}
.o3card .f1 span{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--menthe)}
.o3card .f2{transform:rotateY(180deg);background:linear-gradient(155deg,var(--ambre),#DFA742);border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 60px rgba(0,0,0,.30)}
.o3card .f2 .g{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:3.2rem;color:var(--ambre-f);line-height:1}
.o3card .f2 span{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ambre-f)}
.o3card .f2 small{font-size:.72rem;color:rgba(46,31,5,.75);font-style:italic}
#obj3d .hint{position:absolute;left:50%;transform:translateX(-50%);bottom:-34px;font-family:'JetBrains Mono',monospace;font-size:.52rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(169,201,180,.7);white-space:nowrap}
@media(prefers-reduced-motion:reduce){#obj3d{display:none}}
/* ===== v31 : micro-animations ===== */
.btn:active,.pill:active,#theme:active,#chatb:active{transform:scale(.96)}
.rtable a:hover .ri{-webkit-text-stroke:0;color:var(--or)}
.fsoc a:active{transform:scale(.9)}
.pquote:hover::before{opacity:.4;transform:translateY(-3px)}
.pquote::before{transition:.4s}
/* ===== v31 : scrollytelling ===== */
.scrolly{position:relative}
@media(min-width:861px) and (prefers-reduced-motion:no-preference){
  .scrolly{height:260vh}
  .scrolly .stats{position:sticky;top:0;min-height:100vh;display:flex;align-items:center}
  .scrolly .stats .wrap{width:100%}
  .scrolly .stat{opacity:.14;transform:translateY(22px) scale(.96);transition:opacity .55s ease,transform .55s ease}
  .scrolly .stat.go{opacity:1;transform:none}
  .scrolly .sprog{position:absolute;left:0;bottom:10vh;height:2px;width:100%;background:rgba(169,201,180,.15)}
  .scrolly .sprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ambre),var(--champagne));transition:width .2s linear;box-shadow:0 0 12px rgba(242,184,75,.5)}
}
.wordmark div{will-change:transform}

/* ===== v32 : verre bien place ===== */
.srcap{left:22px;bottom:20px;background:linear-gradient(135deg,rgba(22,56,44,.55),rgba(22,56,44,.30));backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:14px 20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 32px rgba(0,0,0,.25)}
#chatp{background:linear-gradient(160deg,rgba(246,247,245,.78),rgba(246,247,245,.62));backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 30px 80px rgba(0,0,0,.35)}
body.dark #chatp{background:linear-gradient(160deg,rgba(16,38,29,.82),rgba(16,38,29,.66));border-color:rgba(169,201,180,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.5)}
.cfoot{background:rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.dark .cfoot{background:rgba(16,38,29,.6)}
.banner .retour{background:linear-gradient(135deg,rgba(22,56,44,.5),rgba(22,56,44,.28));backdrop-filter:blur(12px) saturate(1.5);-webkit-backdrop-filter:blur(12px) saturate(1.5);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.banner .retour:hover{border-color:rgba(242,184,75,.6);transform:translateX(-3px)}

/* ===== v33 : bandeaux graphiques + equipe visuelle ===== */
.banner{background:linear-gradient(150deg,#132E23,var(--vert) 55%,#17402F)}
body.dark .banner{background:linear-gradient(150deg,#07190F,var(--d-fond2) 55%,#123424)}
.banner .bgw{z-index:1}
/* icones de poles */
.pole .ic{width:54px;height:54px;border:1.5px solid var(--liseret);border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--or);transition:.35s;background:rgba(242,184,75,.05)}
.pole:hover .ic{border-color:var(--ambre);color:var(--ambre-f);background:var(--ambre);transform:rotate(-4deg) scale(1.05)}
.pole .ic svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* chiffres en bande */
.eqband{margin-top:56px}
/* polaroids */
.polas{align-items:center}
.polas figure{background:#fff;padding:12px 12px 46px;border-radius:6px;box-shadow:0 20px 50px rgba(20,40,30,.16);overflow:visible;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
body.dark .polas figure{background:var(--creme)}
.polas figure:nth-child(1){transform:rotate(-2.4deg)}
.polas figure:nth-child(2){transform:rotate(1.6deg) translateY(-10px)}
.polas figure:nth-child(3){transform:rotate(-1.2deg)}
.polas figure:hover{transform:rotate(0deg) translateY(-8px) scale(1.02);box-shadow:0 30px 70px rgba(20,40,30,.24);z-index:2;position:relative}
.polas figure::after{display:none}
.polas img{border-radius:2px;aspect-ratio:16/11}
.polas figcaption{position:absolute;left:14px;right:14px;bottom:14px;margin:0;text-align:center;color:#6B7A6E}
.polas figure{position:relative}
/* constellation en vitrine */
.constel.vitrine{margin:0;background:var(--vert);border-radius:20px;padding:44px 34px 36px;position:relative;overflow:hidden}
.constel.vitrine::before{content:"11";position:absolute;right:-6px;top:-30px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:9rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(242,184,75,.18)}
.constel.vitrine p{color:var(--menthe)}
body.dark .constel.vitrine{background:var(--d-carte)}

/* ===== v34 : bandeaux photo cinematiques ===== */
.banner.pic::before{content:"";position:absolute;inset:0;background-image:var(--bp);background-size:cover;background-position:center 30%;filter:blur(1.6px) saturate(.92) brightness(.85);transform:scale(1.06);opacity:.5}
.banner.pic::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(19,46,35,.96) 26%,rgba(19,46,35,.82) 55%,rgba(23,64,47,.62))}
.banner.pic .wrap{position:relative;z-index:2}
.banner.pic .ring,.banner.pic .dot,.banner.pic .bgw{z-index:1}
body.dark .banner.pic::after{background:linear-gradient(100deg,rgba(7,25,15,.97) 26%,rgba(7,25,15,.85) 55%,rgba(15,42,32,.68))}

/* ===== v38 : frise zigzag ===== */
@media(min-width:861px){
  .frise.zig{padding-left:0}
  .frise.zig::before{left:50%;transform:translateX(-1px)}
  .frise.zig .et{grid-template-columns:1fr 130px 1fr;gap:0 28px;padding-bottom:52px}
  .frise.zig .et .an{grid-column:2;grid-row:1;text-align:center;padding:7px 0;align-self:start;justify-self:center;min-width:104px;font-size:1.05rem;line-height:1;background:var(--creme);border:2px solid var(--ambre);border-radius:999px;position:relative;z-index:1}
  .frise.zig .et.fort .an{font-size:1.15rem;color:var(--ambre-f);-webkit-text-stroke:0;background:var(--ambre);box-shadow:0 0 0 6px rgba(242,184,75,.16),0 0 18px rgba(242,184,75,.4)}
  body.dark .frise.zig .et .an{background:var(--d-fond)}
  body.dark .frise.zig .et.fort .an{background:var(--ambre);color:var(--ambre-f)}
  .frise.zig .et>div{grid-column:1;grid-row:1}
  .frise.zig .et:nth-child(even)>div{grid-column:3}
  .frise.zig .et::after{display:none}
  .frise.zig .et{transform:translateX(-22px)}
  .frise.zig .et:nth-child(even){transform:translateX(22px)}
  .frise.zig .et.visible{transform:none}
}

/* ===== v39 : expertises visuelles (metiers) ===== */
.exgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.excard{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4.1;display:flex;align-items:flex-end}
.excard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.excard::after{content:"";position:absolute;inset:0;background:linear-gradient(182deg,rgba(22,56,44,.04) 32%,rgba(13,33,25,.92) 82%)}
.excard:hover img{transform:scale(1.06)}
.excard .ext{position:relative;z-index:1;padding:22px 20px;color:#fff}
.excard .pc2{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ambre);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.excard h3{color:#fff;font-size:1.12rem;margin:7px 0 8px}
.excard .ext p{color:#CBDECE;font-size:.79rem;margin:0;line-height:1.55}
@media(max-width:960px){.exgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.exgrid{grid-template-columns:1fr}}
/* ===== v39 : carrousel des realisations (references) ===== */
.refshow{padding-bottom:44px}
.refshow .rhead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.rnav{display:flex;gap:10px}
.rnav button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--liseret);background:none;color:var(--menthe);font-size:1.05rem;cursor:pointer;transition:.3s}
.rnav button:hover{border-color:var(--ambre);color:var(--ambre-f);background:var(--ambre)}
.refshow .secbar{margin-bottom:8px}
.refshow .pill{color:var(--menthe);border-color:var(--liseret)}
.refshow .pill.on{background:var(--ambre);color:var(--ambre-f);border-color:var(--ambre)}
.refshow .pill.on .n{color:var(--ambre-f)}
.rcar{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:22px max(calc((100vw - 1180px)/2),26px) 10px;cursor:grab;scrollbar-width:none;-ms-overflow-style:none}
.rcar::-webkit-scrollbar{display:none}
.rcar.dragging{cursor:grabbing;scroll-snap-type:none}
.rcar .rcard{flex:0 0 min(500px,82vw);scroll-snap-align:center;border-radius:20px;overflow:hidden;background:#123326;border:1px solid rgba(169,201,180,.14);text-decoration:none;transition:transform .45s,border-color .45s,box-shadow .45s}
.rcar .rcard:hover{transform:translateY(-6px);border-color:rgba(242,184,75,.45);box-shadow:0 26px 60px rgba(0,0,0,.35)}
.rcard .rim{aspect-ratio:16/10;overflow:hidden}
.rcard .rim img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.rcard:hover .rim img{transform:scale(1.05)}
.rcard .rtx{padding:20px 22px 24px}
.rcard .rcli{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ambre)}
.rcard h3{color:#fff;font-size:1.18rem;margin:8px 0 14px}
.rcard .rmeta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rcard .rtag{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--menthe);border:1px solid rgba(169,201,180,.35);border-radius:999px;padding:6px 12px}
.rcard .rnum{font-size:.8rem;color:#9DB8A6}
.rcard.off{display:none}
.rhint{text-align:center;font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--menthe);opacity:.65;margin:14px 0 0}
@media(max-width:900px){.refshow .rhead{flex-direction:column;align-items:flex-start}.rnav{display:none}}
body.dark .rcar .rcard{background:#0E271D}

/* ===== v40 : chiffres geants de l'accueil ===== */
.stats.xl{background:var(--creme)}
.stats.xl h2{color:var(--vert)}
.stats.xl .eyebrow.light{color:var(--or)}
.stats.xl .grid{gap:0;margin-top:70px;border-left:1px solid rgba(169,133,47,.28)}
.stats.xl .stat{padding:10px 36px 16px;border-right:1px solid rgba(169,133,47,.28)}
.stats.xl .stat .bar{display:none}
.stats.xl .stat .n{font-size:clamp(3rem,5.6vw,4.9rem);line-height:1.05;color:transparent;-webkit-text-stroke:2px var(--ambre);transition:.45s}
.stats.xl .stat:hover .n{color:var(--ambre);-webkit-text-stroke:2px var(--ambre)}
.stats.xl .stat .l{color:#5C6B60;font-size:.92rem;margin-top:16px}
.stats.xl .sprog{background:rgba(169,133,47,.14)}
@media(max-width:820px){.stats.xl .stat{padding:10px 22px 14px}}
body.dark .stats.xl{background:#0E211A}
body.dark .stats.xl h2{color:var(--blanc)}
body.dark .stats.xl .stat .l{color:var(--menthe)}
body.dark .stats.xl .grid,body.dark .stats.xl .stat{border-color:rgba(169,133,47,.3)}
/* ===== v40 : cycle rse ===== */
.rsecycle{margin-top:52px}
.rsecycle svg{width:100%;max-width:740px;display:block;margin:0 auto}
.rsecycle .ring{animation:rcspin 90s linear infinite;transform-origin:450px 300px}
@keyframes rcspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.rsecycle .ring{animation:none}}
.rsecycle .nd circle{fill:var(--ambre);stroke:var(--creme);stroke-width:2.5}
.rsecycle .leaf{fill:var(--vert)}
.rsecycle .lb{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;fill:var(--vert)}
.rsecycle .ct{font-family:'Poppins',sans-serif;font-weight:700;font-size:17px;letter-spacing:.06em;fill:var(--vert)}
.rsecycle .cs{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:11.5px;letter-spacing:.18em;fill:var(--or)}
body.dark .rsecycle .lb,body.dark .rsecycle .ct{fill:var(--menthe)}
body.dark .rsecycle .leaf{fill:var(--menthe)}
body.dark .rsecycle .nd circle{stroke:var(--d-fond)}

/* ===== v41 : logos plus grands + paroles plus lisibles (accueil) ===== */
.marquee img{height:74px}
.marquee .track{gap:96px}
.pquote{padding:38px 34px}
.pquote blockquote{font-size:1.14rem;line-height:1.6}
.pquote::before{font-size:5.2rem;opacity:.26}
.pquote .who img{filter:none;opacity:1;height:46px}
body.dark .pquote .who img{filter:none;background:var(--creme);border-radius:8px;padding:3px 6px}
.pquote .who b{font-size:.95rem}
.pquote .src{font-size:.78rem;opacity:.85}
/* ===== v41 : genese (histoire) ===== */
.genese .gtexte{max-width:760px;margin:22px auto 0;text-align:center;font-size:1.06rem}
.genese .gquote{max-width:820px;margin:34px auto 0;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.5;color:var(--or)}
.genese .gquote::before{content:"";display:block;width:54px;height:2px;background:var(--ambre);margin:0 auto 26px}
/* ===== v41 : implantations ===== */
.impc{border-radius:20px}
.impc .code{position:absolute;right:16px;bottom:2px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:3.4rem;line-height:1;color:transparent;-webkit-text-stroke:1.2px rgba(169,133,47,.22);letter-spacing:.04em;pointer-events:none;user-select:none;transition:.4s}
.impc:hover .code{-webkit-text-stroke-color:rgba(242,184,75,.6)}
.impc.siege{background:linear-gradient(150deg,#16382C,var(--vert));border-color:var(--d-bord)}
.impc.siege h3{color:#fff}
.impc.siege .desc,.impc.siege .adr{color:var(--menthe)}
.impc.siege .joindre a{color:var(--ambre)}
.impc.siege .code{-webkit-text-stroke-color:rgba(242,184,75,.3)}
.tranche{background:linear-gradient(180deg,var(--creme),#F2ECD9)}
.tranche .eyebrow.light{color:var(--or)}
.tranche h2{color:var(--vert)}
.tranche .levier{background:#fff;border:1px solid #E8E2CE;border-radius:18px;padding:30px 28px;transition:.32s}
.tranche .levier:hover{border-color:var(--ambre);transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.08)}
.tranche .levier .num{color:transparent;-webkit-text-stroke:1.6px var(--ambre);font-size:2.8rem}
.tranche .levier h3{color:var(--vert)}
.tranche .levier p{color:var(--txt)}
body.dark .tranche{background:linear-gradient(180deg,#0E211A,var(--d-fond))}
body.dark .tranche h2{color:var(--blanc)}
body.dark .tranche .levier{background:var(--d-carte);border-color:var(--d-bord)}
body.dark .tranche .levier h3{color:var(--d-texte)}
body.dark .tranche .levier p{color:var(--menthe)}
/* ===== v41 : mur de vignettes (references) ===== */
.banner.refwall{min-height:76vh;display:flex;align-items:center}
.refwall .vwall{position:absolute;inset:0;z-index:0}
.refwall .vwall img{position:absolute;border-radius:10px;border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 40px rgba(0,0,0,.4);opacity:.9;animation:vfloat 7s ease-in-out infinite alternate;transform:rotate(var(--r))}
@keyframes vfloat{from{transform:translateY(-9px) rotate(var(--r))}to{transform:translateY(9px) rotate(var(--r))}}
@media(prefers-reduced-motion:reduce){.refwall .vwall img{animation:none}}
.refwall .veil{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 62% 58% at 50% 52%,rgba(19,46,35,.94) 26%,rgba(19,46,35,.55) 62%,rgba(19,46,35,.18) 100%)}
.refwall .wrap{position:relative;z-index:3;text-align:center}
.refwall .wrap p{margin-left:auto;margin-right:auto}
.refwall .ghostnum,.refwall .ring,.refwall .dot{z-index:2}
@media(max-width:820px){.refwall .vwall img{width:96px !important}.refwall .vwall img:nth-child(2n){display:none}}

/* ===== v42 : logos un peu plus petits (accueil) ===== */
.marquee img{height:64px}
.marquee .track{gap:88px}
/* ===== v42 : realisations plein format (references) ===== */
.refpage{padding-bottom:8px}
.refgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:26px 8px 8px}
.rg{position:relative;display:block;overflow:hidden;aspect-ratio:16/10}
.rg.wide{grid-column:1/-1;aspect-ratio:21/8}
.rg img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rg:hover img{transform:scale(1.045)}
.rg::after{content:"";position:absolute;inset:0;background:linear-gradient(184deg,rgba(13,33,25,0) 42%,rgba(13,33,25,.88) 88%);transition:.5s}
.rg:hover::after{background:linear-gradient(184deg,rgba(13,33,25,.06) 30%,rgba(13,33,25,.94) 88%)}
.rg .rgt{position:absolute;left:28px;right:28px;bottom:22px;z-index:2}
.rg .rgcli{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ambre)}
.rg h3{color:#fff;font-size:clamp(1.1rem,1.9vw,1.6rem);margin:6px 0 8px}
.rg.wide h3{font-size:clamp(1.3rem,2.4vw,2rem)}
.rg .rgm{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--menthe);opacity:.9}
.rg.off{display:none}
@media(max-width:760px){.refgrid{grid-template-columns:1fr}.rg.wide{aspect-ratio:16/10}.rg .rgt{left:18px;bottom:14px}}
/* ===== v42 : marque typographique du tableau d'honneur ===== */
.sigl{display:flex;align-items:center;justify-content:center;height:64px;font-weight:700;font-size:1.02rem;line-height:1.25;letter-spacing:.02em;color:#6B7A6E;text-align:center}
body.dark .sigl{color:#C9D8CC}

/* ===== v43 : realisations en clair ===== */
.refclair{background:#fff}
body.dark .refclair{background:#0F231A}
.refgrid2{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 28px;margin-top:38px}
.rg2{display:block;text-decoration:none}
.rg2 .im{border-radius:14px;overflow:hidden;aspect-ratio:16/11;box-shadow:0 10px 30px rgba(20,40,30,.10);transition:box-shadow .45s,transform .45s}
.rg2:hover .im{box-shadow:0 22px 50px rgba(20,40,30,.18);transform:translateY(-4px)}
.rg2 img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.rg2:hover img{transform:scale(1.05)}
.rg2 .cli{display:block;margin-top:18px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.rg2 h3{font-size:1.08rem;color:var(--vert);margin:7px 0 5px;transition:color .3s}
.rg2:hover h3{color:var(--or)}
.rg2 .met{font-size:.79rem;color:#7D8A80}
.rg2.off{display:none}
@media(max-width:960px){.refgrid2{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.refgrid2{grid-template-columns:1fr}}
body.dark .rg2 h3{color:var(--d-texte)}
body.dark .rg2:hover h3{color:var(--ambre)}
body.dark .rg2 .met{color:#9DB8A6}
/* ===== v43 : goutte eau seine & bievre ===== */
.sigl{flex-direction:column;gap:7px}
.sigl .drop{width:20px;height:20px;fill:#8FA398}
body.dark .sigl .drop{fill:#A9C9B4}

/* ===== v44 : mosaique editoriale (equipe) ===== */
.eqmosaic{display:grid;grid-template-columns:1.45fr 1fr;grid-auto-rows:236px;gap:16px;margin-top:38px}
.eqmosaic figure{position:relative;margin:0;border-radius:18px;overflow:hidden}
.eqmosaic figure.a{grid-row:1/3}
.eqmosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.eqmosaic figure:hover img{transform:scale(1.05)}
.eqmosaic figcaption{position:absolute;left:14px;bottom:14px;right:auto;background:rgba(16,38,29,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 16px;color:#EAF2E4;font-size:.8rem;line-height:1.35}
.eqmosaic figcaption span{display:block;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ambre)}
@media(max-width:760px){.eqmosaic{grid-template-columns:1fr;grid-auto-rows:220px}.eqmosaic figure.a{grid-row:auto}}
/* ===== v44 : implantations, touche moderne ===== */
.city i{position:relative}
.city i::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid var(--ambre);opacity:0;animation:cpulse 2.8s ease-out infinite}
@keyframes cpulse{0%{transform:scale(.4);opacity:.85}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.city i::after{animation:none}}
.impc::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--ambre),var(--champagne),transparent 70%);transform:scaleX(0);transform-origin:left;transition:.55s cubic-bezier(.2,.7,.2,1)}
.impc:hover::before{transform:scaleX(1)}
.impc.siege{box-shadow:0 18px 50px rgba(16,38,29,.28)}
.impc.siege::before{transform:scaleX(1);height:3px}
.impc:hover .code{transform:translateY(-4px)}
/* ===== v44 : traits qui grandissent (metiers & co) ===== */
.levier hr{transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.stagger.visible .levier hr,.reveal.visible .levier hr{transform:scaleX(1)}
.stagger.visible .levier:nth-child(1) hr{transition-delay:.15s}
.stagger.visible .levier:nth-child(2) hr{transition-delay:.4s}
.stagger.visible .levier:nth-child(3) hr{transition-delay:.65s}
.levier .num{display:inline-block;opacity:0;transform:translateY(14px);transition:.6s ease}
.stagger.visible .levier .num,.reveal.visible .levier .num{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.levier hr{transform:none;transition:none}.levier .num{opacity:1;transform:none;transition:none}}

/* ===== v46 : implantations, adresses qui claquent ===== */
.impgrid{gap:26px}
.impc{padding:40px 38px}
.impc.siege{grid-column:1/-1}
.impc h3{font-size:1.7rem;margin:14px 0 18px}
.impc.siege h3{font-size:2rem}
.impc .adr{font-size:1.12rem;font-weight:600;color:var(--vert);line-height:1.55;padding-left:16px;border-left:3px solid var(--ambre);margin-bottom:14px}
.impc.siege .adr{color:#fff;font-size:1.28rem}
body.dark .impc .adr{color:var(--d-texte)}
.impc .joindre{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.impc .joindre a{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.68rem;letter-spacing:.06em;padding:11px 18px;border-radius:999px;border:1.5px solid var(--liseret);color:var(--vert);text-decoration:none;transition:.3s;background:none}
.impc .joindre a:hover{background:var(--ambre);border-color:var(--ambre);color:var(--ambre-f);transform:translateY(-2px)}
.impc.siege .joindre a{color:var(--menthe);border-color:var(--liseret)}
.impc.siege .joindre a:hover{color:var(--ambre-f)}
body.dark .impc .joindre a{color:var(--menthe);border-color:var(--liseret)}
body.dark .impc .joindre a:hover{color:var(--ambre-f)}
/* ===== v46 : dirigeant encadre (la maison) ===== */
.dirigeant img{outline:2px solid var(--ambre);outline-offset:10px;border-radius:12px}
/* ===== v46 : cartes expertises graphiques (metiers) ===== */
.exg{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.exc{position:relative;border-radius:18px;padding:30px 26px 30px;background:linear-gradient(160deg,#16382C,var(--vert) 72%);overflow:hidden;border:1px solid rgba(169,201,180,.16);transition:.4s}
.exc::after{content:"";position:absolute;right:-46px;top:-46px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(242,184,75,.2),transparent 70%);transition:.5s}
.exc:hover{transform:translateY(-6px);border-color:rgba(242,184,75,.5);box-shadow:0 22px 50px rgba(16,38,29,.32)}
.exc:hover::after{transform:scale(1.35)}
.exc .ic{width:52px;height:52px;border:1.5px solid var(--liseret);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--ambre);background:rgba(242,184,75,.06);transition:.35s}
.exc .ic svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.exc:hover .ic{background:var(--ambre);color:var(--ambre-f);border-color:var(--ambre);transform:rotate(-5deg) scale(1.06)}
.exc .gpc{position:absolute;right:20px;top:16px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:2.1rem;line-height:1;color:transparent;-webkit-text-stroke:1.4px rgba(242,184,75,.55)}
.exc h3{color:#fff;margin:20px 0 10px;font-size:1.14rem}
.exc p{color:#A9C9B4;font-size:.82rem;line-height:1.65;margin:0}
body.dark .exc{background:linear-gradient(160deg,var(--d-fond2),var(--d-carte) 72%)}
@media(max-width:960px){.exg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.exg{grid-template-columns:1fr}}
/* ===== v46 : references, envie de cliquer ===== */
.rg2 .im{position:relative}
.rg2 .im::after{content:"";position:absolute;inset:0;background:linear-gradient(184deg,transparent 52%,rgba(13,33,25,.55));opacity:0;transition:.45s}
.rg2:hover .im::after{opacity:1}
.rg2 .chip{position:absolute;top:12px;left:12px;z-index:2;background:rgba(16,38,29,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-family:'JetBrains Mono',monospace;font-size:.56rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.22)}
.rg2 .go2{position:absolute;left:12px;bottom:12px;z-index:2;background:var(--ambre);color:var(--ambre-f);font-weight:600;font-size:.8rem;padding:10px 18px;border-radius:999px;opacity:0;transform:translateY(10px);transition:.35s;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.rg2:hover .go2{opacity:1;transform:none}

/* ===== v47 : siege idf lisible ===== */
.impc.siege .sgrid{display:grid;grid-template-columns:1fr 1.35fr;gap:10px 54px;align-items:center;margin-top:10px}
.impc.siege .desc{color:var(--l-menthe);font-size:.97rem}
.impc.siege .adr{margin-bottom:0}
@media(max-width:860px){.impc.siege .sgrid{grid-template-columns:1fr;gap:18px}}
/* ===== v47 : deux mondes elegant (la maison) ===== */
.stats .carte.pub,.stats .carte.priv{border-radius:20px;position:relative;transition:.45s}
.stats .carte.pub::before,.stats .carte.priv::before{content:"";position:absolute;top:14px;left:14px;width:28px;height:28px;border-top:2px solid var(--ambre);border-left:2px solid var(--ambre);border-top-left-radius:8px;opacity:.75;transition:.45s}
.stats .carte.pub::after,.stats .carte.priv::after{content:"";position:absolute;bottom:14px;right:14px;width:28px;height:28px;border-bottom:2px solid var(--ambre);border-right:2px solid var(--ambre);border-bottom-right-radius:8px;opacity:.75;transition:.45s}
.stats .carte.pub:hover,.stats .carte.priv:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.32)}
.stats .carte.pub:hover::before,.stats .carte.priv:hover::before,.stats .carte.pub:hover::after,.stats .carte.priv:hover::after{width:40px;height:40px;opacity:1}
.stats .carte .tags{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:9px 16px;opacity:.9}
.stats .pont{position:relative;padding-top:28px;margin-top:34px}
.stats .pont::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:56px;height:2px;background:var(--ambre)}
/* ===== v47 : histoire majestueuse ===== */
.frise .chap{position:relative;z-index:1;text-align:center;padding:44px 0 50px}
.frise .chap span{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--or)}
.frise .chap h3{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(1.9rem,4vw,3rem);text-transform:uppercase;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1.5px var(--or);margin:12px 0 10px}
.frise .chap p{font-style:italic;color:var(--or);font-size:.95rem;margin:0}
body.dark .frise .chap h3{-webkit-text-stroke-color:var(--champagne)}
/* ===== v47 : citation du fondateur (equipe) ===== */
.citep{text-align:center}
.citep .bigq{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.5;color:var(--blanc);max-width:940px;margin:0 auto}
.citep .bigq em{font-style:italic;color:var(--ambre)}
.citep .bigqa{margin-top:26px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--menthe)}
.citep .bigqa::before{content:"";display:block;width:54px;height:2px;background:var(--ambre);margin:0 auto 18px}
/* ===== v47 : flux anime (metiers) ===== */
.approche{position:relative;overflow:hidden}
.fluxline{position:absolute;left:0;right:0;top:46%;height:140px;pointer-events:none;opacity:.5}
.fluxline svg{width:100%;height:100%}
.fluxline .fp{fill:none;stroke:var(--champagne);stroke-width:1.5;stroke-dasharray:5 11;animation:fmarch 1.4s linear infinite}
@keyframes fmarch{to{stroke-dashoffset:-16}}
.fluxline .fd{fill:var(--ambre);filter:drop-shadow(0 0 6px rgba(242,184,75,.9))}
@media(prefers-reduced-motion:reduce){.fluxline{display:none}}
.approche .wrap{position:relative;z-index:1}
/* ===== v47 : trois temps (metiers) ===== */
.pstrip .step{position:absolute;top:12px;left:12px;z-index:2;background:var(--ambre);color:var(--ambre-f);font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:8px 13px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
/* ===== v47 : couleurs par secteur (references) ===== */
#secbar .pill::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--ambre);vertical-align:1px}
#secbar .pill[data-f="mobilites"]::before{background:#4E7FBF}
#secbar .pill[data-f="social"]::before{background:#B65C8E}
#secbar .pill[data-f="environnement"]::before{background:#4E9B6B}
#secbar .pill[data-f="logement"]::before{background:#C56A4B}
#secbar .pill[data-f="emploi"]::before{background:#7D6BBF}
.rg2 .met::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;background:var(--ambre)}
.rg2[data-sec="mobilites"] .met::before{background:#4E7FBF}
.rg2[data-sec="social"] .met::before{background:#B65C8E}
.rg2[data-sec="environnement"] .met::before{background:#4E9B6B}
.rg2[data-sec="logement"] .met::before{background:#C56A4B}
.rg2[data-sec="emploi"] .met::before{background:#7D6BBF}
.rg2[data-sec="mobilites"]:hover .im{box-shadow:0 24px 54px rgba(78,127,191,.35)}
.rg2[data-sec="social"]:hover .im{box-shadow:0 24px 54px rgba(182,92,142,.35)}
.rg2[data-sec="environnement"]:hover .im{box-shadow:0 24px 54px rgba(78,155,107,.38)}
.rg2[data-sec="logement"]:hover .im{box-shadow:0 24px 54px rgba(197,106,75,.38)}
.rg2[data-sec="emploi"]:hover .im{box-shadow:0 24px 54px rgba(125,107,191,.38)}

/* ===== v48 : vedette lisible (paroles) ===== */
.vedette blockquote{line-height:1.55;font-size:clamp(1.35rem,2.6vw,2rem)}
.vedette .attr b{font-size:1.05rem}
.vedette .src{max-width:760px;margin-left:auto;margin-right:auto;line-height:1.6}
/* ===== v48 : cartes de paroles alternees ===== */
.pgrille .pquote:nth-child(4n+2){background:var(--vert);border-color:var(--vert)}
.pgrille .pquote:nth-child(4n+2) blockquote{color:var(--blanc)}
.pgrille .pquote:nth-child(4n+2) blockquote em{color:var(--ambre)}
.pgrille .pquote:nth-child(4n+2) .who{border-color:rgba(169,201,180,.28)}
.pgrille .pquote:nth-child(4n+2) .who b{color:var(--blanc)}
.pgrille .pquote:nth-child(4n+2) .who small,.pgrille .pquote:nth-child(4n+2) .src{color:var(--menthe)}
.pgrille .pquote:nth-child(4n+2) .who img{background:var(--creme);border-radius:8px;padding:3px 6px}
.pgrille .pquote:nth-child(4n+3){background:var(--sauge);border-color:#D9E6D0}
body.dark .pgrille .pquote:nth-child(4n+3){background:#122E24;border-color:var(--d-bord2)}
/* ===== v48 : bandeau des metiers de l'equipe ===== */
.rolmar{background:var(--sombre);border-top:1px solid rgba(242,184,75,.28);border-bottom:1px solid rgba(242,184,75,.28);overflow:hidden;padding:15px 0}
.rolmar .rtrack{display:flex;width:max-content;animation:rmq 40s linear infinite}
.rolmar span{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.66rem;letter-spacing:.24em;color:var(--menthe);white-space:nowrap;padding-right:12px}
@keyframes rmq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.rolmar .rtrack{animation:none}}
/* ===== v48 : couleurs par region (implantations) ===== */
.impc[data-r="nor"]{--rc:#4E9B6B}
.impc[data-r="bor"]{--rc:#7E2639}
.impc[data-r="lyo"]{--rc:#4E7FBF}
.impc[data-r="sud"]{--rc:#D98E32}
.impc[data-r="idf"]{--rc:var(--ambre)}
.impc[data-r]::before{background:var(--rc);transform:scaleX(1);opacity:.9}
.impc[data-r] .rang{color:var(--rc)}
.impc[data-r="idf"] .rang{color:var(--ambre)}
.impc[data-r] .num{color:var(--rc)}
.impc[data-r] .adr{border-left-color:var(--rc)}
.impc[data-r] .joindre a:hover{background:var(--rc);border-color:var(--rc);color:#fff}
.impc[data-r="idf"] .joindre a:hover,.impc[data-r="sud"] .joindre a:hover{color:var(--ambre-f)}
.impc[data-r="nor"] .code{-webkit-text-stroke-color:rgba(78,155,107,.4)}
.impc[data-r="bor"] .code{-webkit-text-stroke-color:rgba(126,38,57,.4)}
.impc[data-r="lyo"] .code{-webkit-text-stroke-color:rgba(78,127,191,.4)}
.impc[data-r="sud"] .code{-webkit-text-stroke-color:rgba(217,142,50,.45)}

.pgrille .pquote:nth-child(4n+2) .sig{color:#fff;border-color:rgba(255,255,255,.45)}

/* ===== v49 : vedette claire (paroles) ===== */
.vedette.clair blockquote{color:var(--vert)}
.vedette.clair blockquote em{color:var(--or)}
.vedette.clair .attr b{color:var(--vert)}
.vedette.clair .attr small,.vedette.clair .src{color:#6B7A6E}
body.dark .vedette.clair blockquote,body.dark .vedette.clair .attr b{color:var(--d-texte)}
body.dark .vedette.clair .attr small,body.dark .vedette.clair .src{color:var(--menthe)}
/* ===== v49 : rse premium ===== */
.rsexl{background:var(--creme)}
.rsexl .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid rgba(169,133,47,.28)}
.rsexl .stat{padding:14px 30px 18px;border-right:1px solid rgba(169,133,47,.28)}
.rsexl .stat .n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.08;color:transparent;-webkit-text-stroke:1.8px var(--ambre);transition:.45s}
.rsexl .stat:hover .n{color:var(--ambre)}
.rsexl .stat .l{color:#5C6B60;font-size:.88rem;margin-top:14px;line-height:1.55}
@media(max-width:860px){.rsexl .grid{grid-template-columns:1fr 1fr}.rsexl .stat{padding:14px 20px}}
body.dark .rsexl{background:#0E211A}
body.dark .rsexl .stat .l{color:var(--menthe)}
.rolmar.ambre{background:var(--ambre);border-color:rgba(46,31,5,.15)}
.rolmar.ambre span{color:var(--ambre-f)}
/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px;margin-top:38px}
.bt{background:#fff;border:1px solid var(--l-bord);border-radius:18px;padding:26px 24px;transition:.4s;overflow:hidden;position:relative}
.bt:hover{transform:translateY(-4px);border-color:var(--ambre);box-shadow:0 20px 46px rgba(20,40,30,.12)}
.bt .pc{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--or);font-size:.8rem}
.bt h3{font-size:1.06rem;margin:8px 0 8px}
.bt p{font-size:.85rem;margin:0;line-height:1.6}
.bt.big{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}
.bt.big .rsecycle{margin:0;width:100%}
.bt.big .rsecycle svg{max-width:430px}
.bt.big .bnote{font-size:.8rem;font-style:italic;color:#6B7A6E;text-align:center;margin:2px 0 0}
.bt.photo{padding:0}
.bt.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.bt.photo:hover img{transform:scale(1.05)}
.bt.photo .bcap{position:absolute;left:12px;bottom:12px;background:rgba(16,38,29,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:.72rem;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.bt.vertb{background:var(--vert);border-color:var(--vert);display:flex;align-items:center;justify-content:center;text-align:center}
.bt.vertb .bq{font-family:Georgia,serif;font-style:italic;color:#fff;font-size:1.05rem;line-height:1.5}
.bt.vertb .bq em{color:var(--ambre);font-style:italic}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.bt.big{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bt.big{grid-column:span 1}}
body.dark .bt{background:var(--d-carte);border-color:var(--d-bord)}
body.dark .bt.big .bnote{color:var(--menthe)}
body.dark .bt.vertb{background:var(--d-fond2)}

/* ===== v50 : nouveau logo poppins ===== */
nav img{height:68px}
nav.clair img{background:none;border-radius:0;padding:0;height:68px}
.bigfoot .fbrand img{height:86px;width:auto}
@media(max-width:960px){nav img{height:54px}}

/* ===== v51 : note des six leviers plus lisible (rse) ===== */
.bt.big .bnote{font-size:1.05rem;font-weight:500;color:#33463B;font-style:normal;max-width:420px;line-height:1.5;margin-top:6px}
body.dark .bt.big .bnote{color:#CBDECE}
/* temoignages sans logo : bloc attribution simple */
.pquote .who{min-height:0}

/* ===== v52 : cycle rse agrandi ===== */
.bt.big .rsecycle svg{max-width:560px}
.rsecycle .lb{font-size:17px}
.rsecycle .ct{font-size:22px}
.rsecycle .cs{font-size:14px}
.rsecycle .nd circle{r:9}
@media(max-width:900px){.bt.big{grid-row:span 2;min-height:520px}}

/* v52b : bento equilibre */
.bt.photo{grid-column:span 2}
.bt.vertb{grid-column:span 2}
.bt.vertb .bq{font-size:1.25rem}
@media(max-width:900px){.bt.photo,.bt.vertb{grid-column:span 2}}
@media(max-width:560px){.bt.photo,.bt.vertb{grid-column:span 1}}

/* ===== v53 : badges signataires (rse) ===== */
.sigbadges{margin-top:44px;text-align:center}
.sblabel{display:block;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--menthe);margin-bottom:20px}
.sbrow{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.sb{background:#fff;border-radius:16px;padding:18px 30px;display:flex;align-items:center;transition:.35s;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.sb:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(0,0,0,.26)}
.sb img{height:78px;width:auto}

/* ===== Accessibilité : lien d'évitement + focus clavier visible ===== */
.skiplink{position:absolute;left:-9999px;top:0;z-index:100001;background:var(--ambre);color:var(--ambre-f);padding:12px 20px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-decoration:none;border-radius:0 0 10px 0}
.skiplink:focus{left:0}
:focus-visible{outline:3px solid var(--ambre);outline-offset:2px;box-shadow:0 0 0 5px rgba(22,56,44,.55)}

@media(max-width:960px){body.dark nav.clair img{height:54px}}
