  /* Couleurs, polices et boutons : voir assets/css/tokens.css (source unique, chargé avant ce fichier).
     En-tête, menu, CTA de fin, pied de page, newsletter, bandeau d'annonce, chat, ouverture et transitions :
     voir assets/css/global-da.css (phase 2). */
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  /* Reset des liens : sans cette règle, tout <a> non couvert par une classe
     spécifique retombe sur le bleu/violet par défaut du navigateur (constaté
     sur Insights et potentiellement toute autre carte-lien du site). Chaque
     lien garde ensuite la couleur de son contexte (ex: .legal-content a,
     .nav-cta) puisqu'une règle plus spécifique prime toujours sur celle-ci. */
  a{color:inherit;text-decoration:none;}
  body{
    background:var(--bg);color:var(--paper);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;
  }
  .disp{font-family:'Space Grotesk',sans-serif;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 48px;}
  @media (max-width:640px){.wrap{padding:0 22px}}
  section{position:relative;}
  .gridbg{
    background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size:64px 64px;background-position:center top;
  }
  .chapter-tag{display:flex;align-items:center;gap:12px;color:var(--red-bright);font-size:.82rem;margin-bottom:16px;}
  .chapter-tag .bar{width:28px;height:1px;background:var(--red-bright);}
  h2.sec-title{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.16;}
  .sec-sub{margin-top:16px;color:rgba(243,238,230,.62);font-size:1rem;line-height:1.62;max-width:56ch;}
  .pad{padding:120px 0;}
  @media (max-width:760px){.pad{padding:80px 0}}

  .hero{overflow:hidden;}
  .hero>*{position:relative;z-index:1;}
  /* Carrousel hero : une couche par slide, crossfade en opacité (pas de layout shift) */
  .hero-bgs{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:0;pointer-events:none;overflow:hidden;}
  .hero-bg-layer{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;background-image:linear-gradient(90deg, var(--bg) 0%, rgba(10,10,10,.6) 25%, rgba(10,10,10,.15) 55%, rgba(10,10,10,.05) 100%), var(--slide-bg, url('/assets/images/img-020.webp'));background-size:cover;background-position:center right;}
  .hero-bg-layer.is-active{opacity:1;}
  @media (max-width:760px){
    .hero-bgs{width:100%;}
    .hero-bg-layer{background-image:linear-gradient(90deg, var(--bg) 0%, rgba(10,10,10,.6) 25%, rgba(10,10,10,.15) 55%, rgba(10,10,10,.05) 100%), var(--slide-bg-mobile, var(--slide-bg, url('/assets/images/img-020.webp')));}
  }
  .hero-copy{transition:opacity .35s ease;}
  .hero-copy.is-fading{opacity:0;}
  .hero-dots{display:flex;gap:10px;margin-top:40px;}
  .hero-dot{width:8px;height:8px;padding:0;border-radius:50%;border:none;background:rgba(243,238,230,.28);cursor:pointer;transition:.25s ease;}
  .hero-dot:hover{background:rgba(243,238,230,.5);}
  .hero-dot.is-active{background:var(--red-bright);width:24px;border-radius:4px;}
  .ins-img{background-size:cover;background-position:center;content-visibility:auto;contain-intrinsic-size:640px 843px;}
  /* Honeypot anti-spam : champ hors-écran, ignoré par un utilisateur humain, souvent rempli par un bot */
  .hp-field{position:absolute;left:-9999px;top:-9999px;width:0;height:0;opacity:0;overflow:hidden;}



  /* HERO */
  .hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:188px 0 70px;transition:padding-top .25s ease;}
  body.no-ticker .hero{padding-top:150px;}
  .kicker{display:flex;align-items:center;gap:12px;color:var(--champagne);font:500 .78rem 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px;}
  .kicker .bar{display:none;}
  h1.display{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(2.3rem,6vw,4.7rem);line-height:1.06;letter-spacing:-.01em;max-width:15ch;overflow-wrap:break-word;word-break:break-word;hyphens:auto;}
  h1.display .em{color:var(--red-bright);font-weight:700;}
  .hero-sub{margin-top:28px;font-size:1.05rem;line-height:1.65;color:rgba(243,238,230,.72);max-width:52ch;overflow-wrap:break-word;word-break:break-word;}
  .cta-row{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;}
  /* .btn-primary / .btn-ghost : définis dans tokens.css */
  .metrics{display:flex;gap:0;margin-top:70px;border-top:1px solid var(--line);padding-top:24px;flex-wrap:wrap;}
  .metric{padding-right:44px;margin-right:44px;border-right:1px solid var(--line);}
  .metric:last-child{border-right:none;}
  .metric .n{font-family:'Space Grotesk',sans-serif;font-size:1.55rem;color:var(--champagne);}
  .metric .l{font-size:.76rem;color:rgba(243,238,230,.55);margin-top:4px;}

  /* ORIENTATION */
  .orient-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:16px;background:var(--line);border:1px solid var(--line);}
  @media (max-width:760px){.orient-grid{grid-template-columns:1fr}}
  .orient-card{background:var(--bg);padding:24px 26px;display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--paper);font-size:.98rem;transition:.2s ease;cursor:pointer;}
  .orient-card:hover{background:var(--bg2);color:var(--champagne);}
  .orient-card .arrow{color:var(--red-bright);transition:.2s ease;}
  .orient-card:hover .arrow{transform:translateX(4px);}

  /* IDEA / CHAIN */
  .idea .lede{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.2;max-width:18ch;margin-bottom:44px;}
  .chain{display:flex;flex-wrap:wrap;gap:12px;}
  .chain span{background:var(--bg3);border:1px solid var(--line);padding:10px 18px;font-size:.86rem;color:rgba(243,238,230,.8);cursor:pointer;transition:.2s ease;}
  .chain span.hot{border-color:var(--red-bright);color:var(--red-bright);}
  .chain span:hover, .chain span.is-active{border-color:var(--champagne);color:var(--champagne);}
  .chain-detail{margin-top:24px;padding:20px 24px;border:1px solid var(--line);background:var(--bg2);max-width:64ch;min-height:1px;}
  .chain-detail .cd-empty{color:rgba(243,238,230,.5);font-size:.9rem;}
  .chain-detail .cd-title{font-family:'Space Grotesk',sans-serif;font-size:1rem;color:var(--champagne);margin-bottom:6px;}
  .chain-detail .cd-desc{font-size:.92rem;line-height:1.6;color:rgba(243,238,230,.75);}

  /* GROWTH SYSTEM MAP */
  .map{position:relative;width:100%;max-width:720px;aspect-ratio:1/1;margin:0 auto;}
  .map-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;
    background:radial-gradient(circle at 35% 30%, var(--red-bright), var(--red) 70%);
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.9rem;box-shadow:0 0 60px rgba(206,3,3,.45);z-index:5;}
  .map-core span{font-weight:400;font-size:.68rem;opacity:.85;display:block;}
  .orbit{position:absolute;top:50%;left:50%;border:1px solid var(--line);border-radius:50%;transform:translate(-50%,-50%);}
  .orbit.o1{width:330px;height:330px;} .orbit.o2{width:540px;height:540px;}
  .node{position:absolute;width:122px;padding:13px 13px;background:var(--bg2);border:1px solid var(--line);font-size:.76rem;line-height:1.4;transform:translate(-50%,-50%);transition:.25s ease;cursor:pointer;}
  .node:hover{border-color:var(--champagne);transform:translate(-50%,-50%) scale(1.05);}
  .node .nn{font-family:'Space Grotesk',sans-serif;color:var(--champagne);font-size:.7rem;margin-bottom:5px;}
  .node .nt{color:var(--paper);font-weight:500;}
  .n1{left:360px;top:95px;} .n2{left:580px;top:175px;} .n3{left:650px;top:360px;} .n4{left:580px;top:545px;}
  .n5{left:360px;top:625px;} .n6{left:140px;top:545px;} .n7{left:70px;top:360px;} .n8{left:140px;top:175px;}
  @media (max-width:820px){
    .map{aspect-ratio:auto;height:auto;} .orbit{display:none;} .map-core{position:static;transform:none;margin:0 auto 24px;}
    .node{position:static;transform:none;width:100%;margin-bottom:10px;} .map{display:flex;flex-direction:column;align-items:center;}
  }
  .system-note{text-align:center;color:rgba(243,238,230,.45);font-size:.8rem;margin-top:36px;}

  /* HISTOIRE — timeline */
  .timeline{position:relative;padding-left:0;margin-top:20px;}
  .tl-row{display:grid;grid-template-columns:110px 1fr;gap:28px;border-top:1px solid var(--line);padding:26px 0;align-items:baseline;}
  .tl-row:last-child{border-bottom:1px solid var(--line);}
  .tl-year{font-family:'Space Grotesk',sans-serif;color:var(--champagne);font-size:1rem;}
  .tl-text{color:rgba(243,238,230,.75);font-size:.95rem;line-height:1.55;}
  .tl-text b{color:var(--paper);font-weight:600;}

  /* UNIVERS */
  .u-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;position:relative;align-items:stretch;}
  @media (max-width:860px){.u-grid{grid-template-columns:1fr;gap:34px;}}
  .u-link{display:flex;align-items:center;justify-content:center;color:rgba(243,238,230,.22);z-index:2;}
  @media (max-width:860px){.u-link{transform:rotate(90deg);margin:-14px 0;}}
  .u-link svg{width:22px;height:22px;}

  .u-card{position:relative;overflow:hidden;padding:44px 32px 34px;border:1px solid var(--line);min-height:420px;
    display:flex;flex-direction:column;background:var(--bg2);transition:.35s cubic-bezier(.2,.7,.3,1);}
  .u-card:hover{transform:translateY(-6px);border-color:var(--u-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--u-accent, var(--champagne)) 45%, transparent);}
  .u-card::before{content:'';position:absolute;inset:0;opacity:.5;pointer-events:none;
    background:radial-gradient(560px 260px at 85% -10%, var(--u-accent, var(--red-bright)) 0%, transparent 60%);
    transition:.4s ease;}
  .u-card:hover::before{opacity:.85;}
  .u-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--u-accent, var(--red-bright));
    transform:scaleX(0);transform-origin:left;transition:.4s ease;}
  .u-card:hover::after{transform:scaleX(1);}

  .u-card.c1{--u-accent:var(--champagne);}
  .u-card.c2{--u-accent:var(--red-bright);}
  .u-card.c3{--u-accent:var(--success);}

  .u-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
  .u-icon{width:52px;height:52px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--u-accent, var(--champagne));flex:none;transition:.35s ease;}
  .u-icon svg{width:22px;height:22px;}
  .u-card:hover .u-icon{border-color:var(--u-accent, var(--champagne));background:rgba(243,238,230,.04);transform:scale(1.06);}
  .u-num{font-family:'Space Grotesk',sans-serif;color:var(--u-accent, var(--red-bright));font-size:.78rem;letter-spacing:.06em;text-align:right;}
  .u-num span{display:block;color:rgba(243,238,230,.4);font-weight:400;font-size:.72rem;margin-top:3px;}

  .u-title{position:relative;z-index:1;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.4rem;margin:26px 0 4px;}
  .u-hook{position:relative;z-index:1;color:var(--u-accent, var(--champagne));font-size:.86rem;font-style:italic;margin-bottom:16px;}
  .u-desc{position:relative;z-index:1;font-size:.92rem;color:rgba(243,238,230,.66);line-height:1.62;}
  .u-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:24px;}
  .u-tags span{border:1px solid var(--line-strong);color:rgba(243,238,230,.7);font-size:.72rem;padding:6px 12px;border-radius:20px;}

  /* OFFRES */
  .o-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
  @media (max-width:860px){.o-grid{grid-template-columns:1fr}}
  .o-card{position:relative;overflow:hidden;cursor:pointer;background:var(--bg2);border:1px solid var(--line);padding:36px 30px 30px;display:flex;flex-direction:column;gap:6px;min-height:340px;transition:transform .25s, border-color .25s, box-shadow .25s;}
  .o-card:hover{transform:translateY(-6px);border-color:var(--o-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--o-accent, var(--champagne)) 45%, transparent);}
  .o-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--o-accent, var(--red-bright));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .o-card:hover::after{transform:scaleX(1);}
  .o-card.oc1{--o-accent:var(--champagne);}
  .o-card.oc2{--o-accent:var(--red-bright);}
  .o-card.oc3{--o-accent:var(--success);}
  .o-icon{width:52px;height:52px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--o-accent, var(--champagne));margin-bottom:22px;transition:.25s;}
  .o-icon svg{width:22px;height:22px;}
  .o-card:hover .o-icon{border-color:var(--o-accent, var(--champagne));background:rgba(243,238,230,.04);transform:scale(1.06);}
  .o-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.15rem;}
  .o-promise{color:var(--o-accent, var(--champagne));font-size:.85rem;font-style:italic;margin-bottom:6px;}
  .o-desc{font-size:.86rem;color:rgba(243,238,230,.6);line-height:1.55;}
  .o-cta{margin-top:auto;padding-top:20px;font-size:.82rem;color:var(--o-accent, var(--red-bright));text-decoration:none;border-bottom:1px solid var(--o-accent, var(--red-bright));align-self:flex-start;cursor:pointer;}

  /* RÉALISATIONS */
  .filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
  .filter-pill{background:none;border:1px solid var(--line);color:rgba(243,238,230,.65);padding:9px 18px;font-size:.8rem;font-family:'Inter',sans-serif;cursor:pointer;transition:.2s ease;}
  .filter-pill:hover{border-color:var(--champagne);color:var(--paper);}
  .filter-pill.active{border-color:var(--red-bright);color:var(--red-bright);}
  .port{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;align-items:start;}
  @media (max-width:900px){.port{grid-template-columns:1fr}}
  .p-card{position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
  .p-card.hide{display:none;}
  .p-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--pc-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:2;}
  .p-card:hover{transform:translateY(-6px);border-color:var(--pc-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--pc-accent, var(--champagne)) 45%, transparent);}
  .p-card:hover::after{transform:scaleX(1);}
  .p-card:hover .p-sector{color:var(--pc-accent, var(--champagne));}
  .p-card:nth-child(3n+1){--pc-accent:var(--champagne);}
  .p-card:nth-child(3n+2){--pc-accent:var(--red-bright);}
  .p-card:nth-child(3n+3){--pc-accent:var(--success);}
  .p-img{position:relative;height:340px;overflow:hidden;background:
      linear-gradient(180deg, rgba(10,10,10,0) 30%, rgba(10,10,10,.92) 100%),
      repeating-linear-gradient(115deg, #23181a 0 2px, #171012 2px 40px);background-size:cover;background-position:center;transition:background-size .6s ease;}
  .p-body{position:absolute;left:0;right:0;bottom:0;padding:22px;z-index:1;}
  .p-sector{font-size:.72rem;color:var(--champagne);margin-bottom:6px;transition:color .25s ease;}
  .p-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.15rem;margin-bottom:10px;}
  .p-stats{display:flex;gap:14px;font-size:.76rem;color:rgba(243,238,230,.75);flex-wrap:wrap;}
  .p-stats b{color:var(--red-bright);}
  .p-case{border-top:1px solid var(--line);}
  .p-case summary{padding:16px 22px;font-size:.8rem;color:rgba(243,238,230,.6);cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;}
  .p-case summary::-webkit-details-marker{display:none;}
  .p-case[open] summary{color:var(--paper);}
  .p-case[open] .plus{transform:rotate(45deg);}
  .p-case .plus{color:var(--red-bright);transition:.2s ease;}
  .p-case-body{padding:0 22px 22px;display:flex;flex-direction:column;gap:14px;}
  .pc-block h4{font-family:'Space Grotesk',sans-serif;font-size:.78rem;color:var(--champagne);font-weight:500;margin-bottom:5px;}
  .pc-block p{font-size:.85rem;color:rgba(243,238,230,.65);line-height:1.55;}
  .pc-results{display:flex;gap:12px;flex-wrap:wrap;margin-top:2px;}
  .pc-result{flex:1 1 160px;background:rgba(62,184,138,.08);border-left:3px solid var(--success);border-radius:2px;padding:12px 14px;}
  .pc-result.alt{background:rgba(206,3,3,.08);border-left-color:var(--red-bright);}
  .pc-result-value{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.35rem;color:var(--success);line-height:1.15;}
  .pc-result.alt .pc-result-value{color:var(--red-bright);}
  .pc-result-label{font-size:.72rem;color:rgba(243,238,230,.6);margin-top:2px;}
  .pc-result-tag{display:inline-block;font-size:.62rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:var(--success);margin-bottom:6px;}
  .pc-result.alt .pc-result-tag{color:var(--red-bright);}
  .pc-result-tag.objective{color:var(--champagne);}
  .pc-result-qual{font-size:.85rem;color:rgba(243,238,230,.65);line-height:1.55;border-left:3px solid var(--line);padding:10px 14px;background:rgba(243,238,230,.03);}

  /* MÉTHODE */
  .method{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin-top:20px;}
  @media (max-width:960px){.method{grid-template-columns:repeat(3,1fr)}}
  @media (max-width:520px){.method{grid-template-columns:1fr}}
  .m-step{background:var(--bg2);border:1px solid var(--line);padding:18px 12px;text-align:center;transition:.25s ease;}
  .m-letter{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.5rem;color:var(--red-bright);}
  .m-word{font-size:.72rem;color:rgba(243,238,230,.65);margin-top:6px;}

  /* MARCHÉS */
  .markets{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;}
  @media (max-width:860px){.markets{grid-template-columns:1fr}}
  .mk-card{position:relative;overflow:hidden;border:1px solid var(--line);padding:30px 26px;text-align:left;background:none;font-family:'Inter',sans-serif;cursor:pointer;width:100%;color:var(--paper);transition:transform .25s, border-color .25s, background .25s;}
  .mk-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--mk-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .mk-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px -18px rgba(0,0,0,.6), 0 0 36px -8px color-mix(in srgb, var(--mk-accent, var(--champagne)) 45%, transparent);}
  .mk-card:hover::after{transform:scaleX(1);}
  .mk-card[data-market="ci"]{--mk-accent:var(--champagne);}
  .mk-card[data-market="afrique"]{--mk-accent:var(--red-bright);}
  .mk-card[data-market="europe"]{--mk-accent:var(--success);}
  .mk-card.active{border-color:var(--mk-accent, var(--champagne));background:rgba(200,169,106,.05);box-shadow:0 20px 44px -18px rgba(0,0,0,.6), 0 0 36px -8px color-mix(in srgb, var(--mk-accent, var(--champagne)) 45%, transparent);}
  .mk-card.active::after{transform:scaleX(1);}
  .mk-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.05rem;margin-bottom:10px;transition:color .25s;}
  .mk-card:hover .mk-title,.mk-card.active .mk-title{color:var(--mk-accent, var(--champagne));}
  .mk-desc{font-size:.86rem;color:rgba(243,238,230,.6);line-height:1.55;}
  .mk-detail{margin-top:22px;border:1px solid var(--line);background:var(--bg2);}
  .mk-panel{display:none;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
  .mk-panel.active{display:grid;}
  @media (max-width:760px){.mk-panel{grid-template-columns:1fr}}
  .mk-panel-col{background:var(--bg2);padding:22px 24px;border-top:2px solid transparent;transition:border-color .25s;}
  .mk-panel[data-panel="ci"] .mk-panel-col{border-top-color:var(--champagne);}
  .mk-panel[data-panel="afrique"] .mk-panel-col{border-top-color:var(--red-bright);}
  .mk-panel[data-panel="europe"] .mk-panel-col{border-top-color:var(--success);}
  .mk-panel-col h4{font-family:'Space Grotesk',sans-serif;font-size:.76rem;color:var(--champagne);font-weight:500;margin-bottom:8px;}
  .mk-panel-col p{font-size:.85rem;color:rgba(243,238,230,.65);line-height:1.55;}

  /* SECTEURS */
  .sectors{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
  .sector-pill{border:1px solid var(--line);padding:11px 20px;font-size:.86rem;color:rgba(243,238,230,.75);transition:.2s ease;cursor:default;}
  .sector-pill:hover{border-color:var(--red-bright);color:var(--paper);}

  /* INSIGHTS */
  .ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;}
  @media (max-width:860px){.ins-grid{grid-template-columns:1fr}}
  .ins-card{position:relative;overflow:hidden;border:1px solid var(--line);padding:0;cursor:pointer;transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
  .ins-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ic-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .ins-card:hover{transform:translateY(-6px);border-color:var(--ic-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--ic-accent, var(--champagne)) 45%, transparent);}
  .ins-card:hover::after{transform:scaleX(1);}
  .ins-card:hover .ins-cat{color:var(--ic-accent, var(--champagne));}
  .ins-card:nth-child(3n+1){--ic-accent:var(--champagne);}
  .ins-card:nth-child(3n+2){--ic-accent:var(--red-bright);}
  .ins-card:nth-child(3n+3){--ic-accent:var(--success);}
  .ins-img{height:150px;background:repeating-linear-gradient(100deg, #1c1315 0 2px, #120c0d 2px 34px);background-size:cover;background-position:center;transition:background-size .6s ease;}
  .ins-body{padding:22px;}
  .ins-cat{font-size:.72rem;color:var(--champagne);margin-bottom:8px;transition:color .25s ease;}
  .ins-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1rem;line-height:1.35;}

  /* FAQ */
  .faq-list{margin-top:16px;border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{padding:22px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:500;}
  .faq-q .plus{color:var(--red-bright);font-size:1.2rem;transition:.25s ease;}
  .faq-item[open] .plus{transform:rotate(45deg);}
  .faq-a{padding-bottom:22px;color:rgba(243,238,230,.62);font-size:.9rem;line-height:1.6;max-width:70ch;}
  details summary::-webkit-details-marker{display:none;}



  .note-badge{position:fixed;bottom:18px;right:18px;background:var(--paper);color:var(--bg);padding:10px 16px;font-size:.72rem;z-index:70;font-family:'Inter',sans-serif;max-width:230px;line-height:1.4;}
  @media (max-width:640px){.note-badge{display:none;}}

  /* MAP — panneau interactif */
  .map-detail{border:1px solid var(--line);background:var(--bg2);padding:30px 34px;margin-top:40px;max-width:640px;margin-left:auto;margin-right:auto;min-height:132px;}
  .map-detail .md-empty{color:rgba(243,238,230,.4);font-size:.88rem;text-align:center;}
  .map-detail .md-num{font-family:'Space Grotesk',sans-serif;color:var(--red-bright);font-size:.78rem;}
  .map-detail .md-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.15rem;margin:8px 0 14px;}
  .map-detail .md-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:.86rem;}
  .map-detail .md-row:first-of-type{border-top:none;}
  .map-detail .md-k{color:var(--champagne);font-size:.76rem;font-family:'Space Grotesk',sans-serif;}
  .map-detail .md-v{color:rgba(243,238,230,.75);line-height:1.5;}
  .node.active{border-color:var(--champagne);background:var(--bg3);}

  /* SPA View management */
  .page-view{display:none;}
  .page-view.active{display:block;}

  /* ADDITIONAL STYLES FROM PAGE 2 & OTHERS */
  /* === Traitement photo signature — duotone champagne/rouge + grain ===
     Principe : la photo (::before ou <img>) reste en niveaux de gris
     contrastés ; une couche de grain + teinte de marque (::after) vient
     par-dessus. Au survol, le traitement s'estompe pour révéler la photo
     dans sa couleur naturelle — geste éditorial, cohérent sur tout le site. */
  .page-hero-photo{position:relative;overflow:hidden;}
  .page-hero-photo::before{content:'';position:absolute;inset:0;background-image:var(--phero-bg);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.82);pointer-events:none;}
  .page-hero-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(180deg, rgba(10,10,10,.4) 0%, rgba(10,10,10,.8) 62%, var(--bg) 100%), linear-gradient(135deg, rgba(206,3,3,.24) 0%, rgba(200,169,106,.16) 100%);background-blend-mode:overlay,normal,normal;background-size:140px,cover,cover;transition:opacity .5s ease;}
  .page-hero-photo>*{position:relative;z-index:1;}

  .team-portraits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;}
  @media (max-width:860px){.team-portraits{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.team-portraits{grid-template-columns:1fr 1fr;gap:12px;}}
  .team-portrait{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid var(--line);}
  .team-portrait::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(135deg, rgba(206,3,3,.22) 0%, rgba(200,169,106,.16) 100%);background-blend-mode:overlay,normal;background-size:140px,cover;opacity:.85;transition:opacity .45s ease;}
  .team-portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.15) brightness(.92);transition:transform .4s ease,filter .45s ease;}
  .team-portrait:hover img{transform:scale(1.06);filter:grayscale(0) contrast(1.05) brightness(1);}
  .team-portrait:hover::before{opacity:.25;}
  .team-portrait::after{content:'';position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.88) 100%);pointer-events:none;}
  .team-portrait-info{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;}
  .team-portrait-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.92rem;color:#fff;}
  .team-portrait-role{font-size:.76rem;color:var(--champagne);margin-top:2px;}

  .office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;}
  @media (max-width:860px){.office-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.office-grid{grid-template-columns:1fr;}}
  .office-card{position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:repeating-linear-gradient(100deg, #1c1315 0 2px, #120c0d 2px 34px);}
  .office-card::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(135deg, rgba(206,3,3,.22) 0%, rgba(200,169,106,.16) 100%);background-blend-mode:overlay,normal;background-size:140px,cover;opacity:.85;transition:opacity .45s ease;}
  .office-card img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.15) brightness(.9);transition:transform .4s ease,filter .45s ease;}
  .office-card:hover img{transform:scale(1.05);filter:grayscale(0) contrast(1.05) brightness(1);}
  .office-card:hover::before{opacity:.25;}
  .office-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.88) 100%);pointer-events:none;}
  .office-card-label{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.88rem;color:#fff;}

  .mission-card{position:relative;padding:44px 40px;border:1px solid var(--line);background:var(--bg2);border-radius:10px;overflow:hidden;margin-top:28px;}
  .mission-card.has-img{padding:64px 40px;}
  .mission-card.has-img::before{content:'';position:absolute;inset:0;background-image:var(--mission-bg);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.82);}
  .mission-card.has-img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(120deg, var(--bg) 12%, rgba(10,10,10,.68) 55%, rgba(10,10,10,.32) 100%), linear-gradient(135deg, rgba(206,3,3,.2) 0%, rgba(200,169,106,.14) 100%);background-blend-mode:overlay,normal,normal;background-size:140px,cover,cover;}
  .mission-card>*{position:relative;z-index:1;}
  .mission-icon{font-size:1.8rem;margin-bottom:10px;}
  .mission-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.3rem;margin-bottom:10px;}
  .mission-desc{color:rgba(243,238,230,.62);line-height:1.6;max-width:640px;}

  .p-img.has-img::before{content:'';position:absolute;inset:0;background-image:var(--p-img-bg);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.85);transition:background-size .6s ease,filter .45s ease;}
  .p-img.has-img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(180deg, rgba(10,10,10,0) 30%, rgba(10,10,10,.9) 100%), linear-gradient(135deg, rgba(206,3,3,.2) 0%, rgba(200,169,106,.14) 100%);background-blend-mode:overlay,normal,normal;background-size:140px,cover,cover;transition:opacity .45s ease;}
  .p-card:hover .p-img.has-img::before{background-size:114%;}
  .p-card:hover .p-img.has-img::after{opacity:.55;}

  .studio-media.has-img::before{content:'';position:absolute;inset:0;background-image:var(--studio-bg);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.9);transition:filter .45s ease;}
  .studio-media.has-img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(135deg, rgba(206,3,3,.2) 0%, rgba(200,169,106,.14) 100%);background-blend-mode:overlay,normal;background-size:140px,cover;opacity:.85;transition:opacity .45s ease;}
  .studio-media.has-img:hover::before{filter:grayscale(0) contrast(1.05) brightness(1);}
  .studio-media.has-img:hover::after{opacity:.25;}

  .page-hero{padding:208px 0 80px;transition:padding-top .25s ease;}
  body.no-ticker .page-hero{padding-top:170px;}
  @media (max-width:760px){.page-hero{padding:178px 0 60px;} body.no-ticker .page-hero{padding-top:140px;}}
  .page-hero .hero-sub{margin-top:24px;}

  .axis-block{border-top:1px solid var(--line);padding:70px 0;}
  .axis-block:first-of-type{border-top:none;}
  .axis-head{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:start;}
  @media (max-width:820px){.axis-head{grid-template-columns:1fr;gap:20px;}}
  .axis-num{font-family:'Space Grotesk',sans-serif;color:var(--red-bright);font-size:.85rem;margin-bottom:10px;}
  .axis-title{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:2rem;}
  .axis-promise{color:var(--champagne);font-size:1rem;margin-top:10px;}

  /* ==================== SOMMAIRE DES UNIVERS (solutions.php) ==================== */
  .univers-tiles{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px;}
  .univers-tile{background:var(--bg);padding:38px 34px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;text-decoration:none;color:var(--paper);transition:background .2s ease;position:relative;overflow:hidden;}
  .univers-tile.has-img::before{content:'';position:absolute;inset:0;background-image:var(--tile-bg);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.55);}
  .univers-tile.has-img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(90deg, var(--bg) 0%, rgba(10,10,10,.78) 45%, rgba(10,10,10,.4) 100%);background-blend-mode:overlay,normal;background-size:140px,cover;}
  .univers-tile.has-img>*{position:relative;z-index:1;}
  .univers-tile:hover{background:var(--bg2);}
  .univers-tile:hover .univers-tile-arrow{transform:translateX(6px);color:var(--champagne);}
  @media (max-width:640px){.univers-tile{grid-template-columns:1fr;gap:16px;padding:28px 22px;}}
  .univers-tile-desc{margin-top:12px;font-size:.9rem;color:rgba(243,238,230,.6);line-height:1.6;max-width:62ch;}
  .univers-tile-arrow{font-size:1.4rem;color:rgba(243,238,230,.4);transition:.2s ease;}
  .axis-field{margin-bottom:20px;}
  .axis-field h4{font-family:'Space Grotesk',sans-serif;font-size:.76rem;color:rgba(243,238,230,.45);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-weight:500;}
  .axis-field p{font-size:.94rem;color:rgba(243,238,230,.72);line-height:1.6;}
  .axis-field ul{list-style:none;font-size:.9rem;color:rgba(243,238,230,.72);line-height:1.9;}
  .axis-field ul li::before{content:"—";color:var(--red-bright);margin-right:10px;}

  .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px;}
  @media (max-width:820px){.kpi-grid{grid-template-columns:repeat(2,1fr);}}
  .kpi{background:var(--bg);padding:28px 24px;}
  .kpi .n{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;color:var(--champagne);}
  .kpi .l{font-size:.8rem;color:rgba(243,238,230,.55);margin-top:6px;}

  .val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;}
  @media (max-width:860px){.val-grid{grid-template-columns:1fr;}}
  .val-card{padding:0;border-top:1px solid var(--line);padding-top:20px;}
  .val-thumb{width:100%;aspect-ratio:16/9;border-radius:8px;margin-bottom:16px;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.1) brightness(.85);}
  .val-num{font-family:'Space Grotesk',sans-serif;color:var(--red-bright);font-size:.8rem;}
  .val-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.1rem;margin:12px 0 8px;}
  .val-desc{font-size:.88rem;color:rgba(243,238,230,.62);line-height:1.55;}

  /* BANDEAU D'ANNONCE (ticker) */


  /* MENTIONS LÉGALES / CONTENU LONG */
  .legal-content{max-width:760px;margin:0 auto;}
  .legal-content h2{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.15rem;color:var(--champagne);margin:34px 0 12px;}
  .legal-content h2:first-child{margin-top:0;}
  .legal-content p{font-size:.9rem;color:rgba(243,238,230,.68);line-height:1.7;margin-bottom:12px;}
  .legal-content ul{margin:8px 0 12px 20px;}
  .legal-content li{font-size:.9rem;color:rgba(243,238,230,.68);line-height:1.8;}
  .legal-content a{color:var(--red-bright);}

  /* GLOSSAIRE */
  .gloss-cat{font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--champagne);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin:34px 0 14px;}
  .gloss-cat:first-child{margin-top:0;}
  .gloss-term{border-top:1px solid var(--line);padding:16px 0;}
  .gloss-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.94rem;color:var(--paper);margin-bottom:6px;}
  .gloss-def{font-size:.85rem;color:rgba(243,238,230,.6);line-height:1.6;}

  /* SWATCH couleurs (Presse) */
  .swatch-row{display:flex;gap:10px;margin:16px 0;align-items:center;}
  .swatch{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);}

  /* PAGE AVIS (dédiée) */
  .avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;}
  @media (max-width:860px){.avis-grid{grid-template-columns:1fr;}}

  /* PAGE STUDIO (magazine visuel) */
  .studio-block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:50px 0;border-top:1px solid var(--line);}
  .studio-block:first-of-type{border-top:none;}
  @media (max-width:760px){.studio-block{grid-template-columns:1fr;gap:24px;}}
  .studio-block.rev .studio-media{order:2;}
  .studio-media{position:relative;overflow:hidden;height:220px;background:repeating-linear-gradient(100deg, #1c1315 0 2px, #120c0d 2px 34px);border:1px solid var(--line);}
  .studio-num{font-family:'Space Grotesk',sans-serif;color:var(--red-bright);font-size:.78rem;margin-bottom:10px;}
  .studio-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.35rem;color:var(--paper);margin-bottom:12px;}
  .studio-text{font-size:.92rem;color:rgba(243,238,230,.62);line-height:1.65;}

  /* PAGES DEVIS / RENDEZ-VOUS */
  .form-note{font-size:.78rem;color:rgba(243,238,230,.5);margin-top:-6px;margin-bottom:18px;}
  .calendly-box{border:1px dashed var(--line);background:var(--bg2);padding:60px 30px;text-align:center;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
  .calendly-box .cal-icon{color:var(--champagne);}
  .calendly-box .cal-icon svg{width:40px;height:40px;}
  .calendly-box p{font-size:.85rem;color:rgba(243,238,230,.55);max-width:420px;}
  .rdv-fallback{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);text-align:center;}
  .rdv-fallback p{font-size:.85rem;color:rgba(243,238,230,.55);margin-bottom:16px;}
  .rdv-fallback__links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .rdv-box{background:var(--bg2);border:1px solid var(--line);padding:36px 32px;}
  .rdv-step{display:none;}
  .rdv-step.active{display:block;}
  .rdv-step-label{font-family:'Space Grotesk',sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;color:var(--red-bright);margin-bottom:22px;}
  .rdv-step-label span{color:rgba(243,238,230,.6);text-transform:none;letter-spacing:0;font-weight:400;}
  .rdv-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;}
  .rdv-day{border:1px solid var(--line);padding:14px 8px;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease;background:var(--bg1,transparent);}
  .rdv-day:hover{border-color:var(--red-bright);}
  .rdv-day .rd-dow{font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;color:rgba(243,238,230,.55);margin-bottom:4px;}
  .rdv-day .rd-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.25rem;color:var(--paper);}
  .rdv-day .rd-month{font-size:.68rem;color:rgba(243,238,230,.5);margin-top:2px;}
  .rdv-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:8px;}
  .rdv-slot{border:1px solid var(--line);padding:12px 8px;text-align:center;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-size:.9rem;color:var(--paper);transition:border-color .2s ease,background .2s ease;}
  .rdv-loading{grid-column:1/-1;padding:20px 0;text-align:center;color:rgba(243,238,230,.55);font-size:.88rem;}
  .rdv-slot:hover{border-color:var(--red-bright);background:rgba(206,3,3,.06);}
  .rdv-slot.taken{opacity:.3;text-decoration:line-through;cursor:not-allowed;pointer-events:none;}
  .rdv-duration{font-size:.8rem;color:rgba(243,238,230,.5);margin-top:18px;}
  .rdv-recap{border-left:2px solid var(--red-bright);padding:10px 16px;margin-bottom:24px;font-size:.9rem;color:rgba(243,238,230,.8);text-align:left;}
  .rdv-recap b{color:var(--champagne);}
  .rdv-confirm{text-align:center;padding:20px 0;}
  .rdv-confirm-icon{width:56px;height:56px;border-radius:50%;border:2px solid var(--success);color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
  .rdv-confirm-icon svg{width:26px;height:26px;}
  .rdv-confirm h3{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;margin-bottom:20px;}
  .rdv-confirm .rdv-recap{max-width:340px;margin:0 auto 20px;}
  .rdv-confirm-text{font-size:.85rem;color:rgba(243,238,230,.6);max-width:420px;margin:0 auto 24px;line-height:1.6;}

  /* FORMULES RÉELLES (page Solutions) */
  .pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;}
  @media (max-width:860px){.pkg-grid{grid-template-columns:1fr;}}
  .pkg-card{position:relative;overflow:hidden;cursor:pointer;background:var(--bg2);border:1px solid var(--line);padding:22px 20px;transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
  .pkg-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--pk-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .pkg-card:hover{transform:translateY(-6px);border-color:var(--pk-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--pk-accent, var(--champagne)) 45%, transparent);}
  .pkg-card:hover::after{transform:scaleX(1);}
  .pkg-card:hover .pkg-price{color:var(--pk-accent, var(--red-bright));}
  .pkg-card:nth-child(3n+1){--pk-accent:var(--champagne);}
  .pkg-card:nth-child(3n+2){--pk-accent:var(--red-bright);}
  .pkg-card:nth-child(3n+3){--pk-accent:var(--success);}
  .pkg-icon{color:var(--paper);margin-bottom:10px;display:inline-block;transition:transform .3s ease, color .3s ease;}
  .pkg-icon svg{width:26px;height:26px;display:block;}
  .pkg-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.92rem;color:var(--paper);}
  .pkg-desc{font-size:.78rem;color:rgba(243,238,230,.52);line-height:1.5;margin-top:8px;min-height:60px;}
  .pkg-price{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.86rem;color:var(--red-bright);margin-top:14px;transition:color .25s ease;}
  .pkg-card.pkg-card-flagship{--pk-accent:var(--champagne);border-color:var(--champagne);}
  .pkg-badge{display:inline-block;font-size:.62rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:4px 10px;border-radius:2px;margin-bottom:10px;}
  .pkg-badge.recommandee{background:rgba(206,3,3,.12);color:var(--red-bright);}
  .pkg-badge.meilleur_rapport{background:rgba(62,184,138,.12);color:var(--success);}
  .pkg-badge.premium{background:rgba(201,169,110,.15);color:var(--champagne);}
  .pkg-badge.sur_mesure{background:rgba(243,238,230,.08);color:rgba(243,238,230,.75);}
  .pkg-meta{font-size:.72rem;color:rgba(243,238,230,.45);margin-top:4px;}
  .pkg-deliv{list-style:none;padding:0;margin:12px 0 0;font-size:.76rem;color:rgba(243,238,230,.6);}
  .pkg-deliv li{padding-left:16px;position:relative;margin-bottom:4px;}
  .pkg-deliv li::before{content:'✓';position:absolute;left:0;color:var(--success);}
  .pkg-more{display:inline-block;margin-top:16px;font-size:.78rem;color:var(--champagne);text-decoration:underline;}

  /* ==================== CARTES "PRESTATIONS À LA CARTE" ==================== */
  /* Variante compacte du pkg-card — mêmes tokens de couleur, plus dense pour
     accueillir un plus grand nombre de modules par univers (CDC §12-14). */
  .mod-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:14px;margin-top:16px;}
  .mod-card{position:relative;overflow:hidden;cursor:pointer;background:var(--bg2);border:1px solid var(--line);padding:16px 16px 18px;transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;display:flex;flex-direction:column;}
  .mod-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--md-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .mod-card:hover{transform:translateY(-4px);border-color:var(--md-accent, var(--champagne));box-shadow:0 18px 40px -18px rgba(0,0,0,.6), 0 0 30px -8px color-mix(in srgb, var(--md-accent, var(--champagne)) 45%, transparent);}
  .mod-card:hover::after{transform:scaleX(1);}
  .mod-card:hover .mod-price{color:var(--md-accent, var(--red-bright));}
  .mod-card:nth-child(3n+1){--md-accent:var(--champagne);}
  .mod-card:nth-child(3n+2){--md-accent:var(--red-bright);}
  .mod-card:nth-child(3n+3){--md-accent:var(--success);}
  .mod-icon{color:var(--paper);margin-bottom:8px;display:inline-block;transition:transform .3s ease, color .3s ease;}
  .mod-icon svg{width:22px;height:22px;display:block;}
  .mod-thumb{width:calc(100% + 32px);margin:-16px -16px 12px;aspect-ratio:16/9;background-size:cover;background-position:center;filter:grayscale(.3) contrast(1.05);transition:filter .3s ease;}
  .mod-card:hover .mod-thumb{filter:grayscale(0) contrast(1);}
  .mod-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.85rem;color:var(--paper);}
  .mod-desc{font-size:.74rem;color:rgba(243,238,230,.52);line-height:1.5;margin-top:6px;flex:1;}
  .mod-price{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.78rem;color:var(--red-bright);margin-top:12px;transition:color .25s ease;}
  .mod-more{display:inline-block;margin-top:10px;font-size:.72rem;color:var(--champagne);text-decoration:underline;}

  /* PAGE DÉTAIL OFFRE (offre-detail.php) */
  .offer-comparateur{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px;}
  @media (max-width:640px){.offer-comparateur{grid-template-columns:1fr;}}
  .offer-comparateur .oc-item{background:var(--bg2);padding:18px 20px;}
  .offer-comparateur .oc-k{font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;color:var(--champagne);margin-bottom:6px;}
  .offer-comparateur .oc-v{font-size:.85rem;color:rgba(243,238,230,.75);line-height:1.5;}
  .offer-method-step{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);}
  .offer-method-step:first-child{border-top:none;}
  .offer-method-num{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--champagne);font-size:1rem;min-width:28px;}
  .offer-method-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.92rem;color:var(--paper);margin-bottom:4px;}
  .offer-method-desc{font-size:.82rem;color:rgba(243,238,230,.6);line-height:1.55;}
  .offer-deliv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;margin-top:8px;}
  @media (max-width:640px){.offer-deliv-grid{grid-template-columns:1fr;}}
  .offer-deliv-item{font-size:.85rem;color:rgba(243,238,230,.72);padding-left:22px;position:relative;line-height:1.5;}
  .offer-deliv-item::before{content:'✓';position:absolute;left:0;color:var(--success);font-weight:700;}
  .offer-related{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
  .offer-related a{font-size:.78rem;color:rgba(243,238,230,.7);border:1px solid var(--line);padding:8px 14px;text-decoration:none;transition:border-color .2s;}
  .offer-related a:hover{border-color:var(--champagne);color:var(--champagne);}

  /* POURQUOI NOUS (accueil) */
  .why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:16px;}
  @media (max-width:560px){.why-grid{grid-template-columns:1fr;}}
  .why-card{position:relative;overflow:hidden;background:var(--bg2);padding:34px 30px;transition:background .25s, transform .25s;}
  .why-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--why-accent, var(--red-bright));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .why-card:hover{background:var(--bg3);transform:translateY(-4px);box-shadow:0 20px 44px -18px rgba(0,0,0,.6), 0 0 36px -8px color-mix(in srgb, var(--why-accent, var(--red-bright)) 45%, transparent);}
  .why-card:hover::after{transform:scaleX(1);}
  .why-card:nth-child(1){--why-accent:var(--champagne);}
  .why-card:nth-child(2){--why-accent:var(--red-bright);}
  .why-card:nth-child(3){--why-accent:var(--success);}
  .why-card:nth-child(4){--why-accent:var(--champagne);}
  .why-icon{color:var(--red-bright);margin-bottom:14px;display:inline-block;transition:transform .3s ease, color .3s ease;}
  .why-icon svg{width:30px;height:30px;display:block;}
  .why-card:hover .why-icon{transform:scale(1.12);color:var(--why-accent, var(--red-bright));}
  .why-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.1rem;color:var(--why-accent, var(--red-bright));margin-bottom:14px;letter-spacing:1px;}
  .why-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.96rem;color:var(--paper);margin-bottom:8px;}
  .why-desc{font-size:.83rem;color:rgba(243,238,230,.55);line-height:1.55;}

  /* TÉMOIGNAGES (accueil) */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;}
  @media (max-width:860px){.testi-grid{grid-template-columns:1fr;}}
  .testi-card{position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--line);padding:28px 26px;display:flex;flex-direction:column;gap:14px;transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
  .testi-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ts-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .testi-card:hover{transform:translateY(-6px);border-color:var(--ts-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--ts-accent, var(--champagne)) 45%, transparent);}
  .testi-card:hover::after{transform:scaleX(1);}
  .testi-card:nth-child(3n+1){--ts-accent:var(--champagne);}
  .testi-card:nth-child(3n+2){--ts-accent:var(--red-bright);}
  .testi-card:nth-child(3n+3){--ts-accent:var(--success);}
  .testi-stars{color:var(--champagne);font-size:.82rem;letter-spacing:2px;}
  .testi-quote{font-size:.88rem;line-height:1.6;color:rgba(243,238,230,.78);flex:1;}
  .testi-author{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.85rem;color:var(--paper);}
  .testi-role{font-size:.76rem;color:var(--champagne);}

  /* VISION QUOTE (page Agence) */
  .vision-block{max-width:760px;margin:0 auto;text-align:center;}
  .vision-block.has-img{position:relative;padding:56px 40px;border:1px solid var(--line);background:var(--bg2);border-radius:10px;overflow:hidden;max-width:820px;}
  .vision-block.has-img::before{content:'';position:absolute;inset:0;background-image:var(--vision-bg);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15) brightness(.7);}
  .vision-block.has-img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--grain-tex), linear-gradient(120deg, var(--bg) 12%, rgba(10,10,10,.72) 55%, rgba(10,10,10,.38) 100%), linear-gradient(135deg, rgba(206,3,3,.2) 0%, rgba(200,169,106,.14) 100%);background-blend-mode:overlay,normal,normal;background-size:140px,cover,cover;}
  .vision-block.has-img>*{position:relative;z-index:1;}
  .vision-mark{font-family:'Space Grotesk',sans-serif;font-size:3.4rem;color:var(--champagne);opacity:.5;line-height:1;}
  .vision-text{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.48;color:var(--paper);margin-top:4px;}
  .vision-cite{margin-top:22px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(243,238,230,.5);}

  /* MÉTHODE — description sous chaque étape (page Agence) */
  .m-step .m-desc{font-size:.71rem;color:rgba(243,238,230,.5);line-height:1.45;margin-top:8px;}

  /* CHIFFRES CLÉS (page Agence) — réutilise .kpi-grid */

  /* ÉQUIPE (page Agence) */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:16px;}
  @media (max-width:860px){.team-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.team-grid{grid-template-columns:1fr;}}
  .team-card{position:relative;overflow:hidden;background:var(--bg);padding:26px 24px;transition:transform .3s ease, box-shadow .3s ease, background .3s ease;}
  .team-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tc-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .team-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--tc-accent, var(--champagne)) 45%, transparent);z-index:1;}
  .team-card:hover::after{transform:scaleX(1);}
  .team-card:hover .team-role{color:var(--tc-accent, var(--champagne));}
  .team-card:nth-child(3n+1){--tc-accent:var(--champagne);}
  .team-card:nth-child(3n+2){--tc-accent:var(--red-bright);}
  .team-card:nth-child(3n+3){--tc-accent:var(--success);}
  .team-card.feat{background:var(--bg2);--tc-accent:var(--champagne);}
  .team-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.82rem;margin-bottom:14px;transition:transform .3s ease;}
  .team-avatar.red{background:var(--red);color:#fff;}
  .team-avatar.dark{background:var(--bg3);color:var(--champagne);border:1px solid var(--line);}
  .team-badge{display:inline-block;font-size:.68rem;color:var(--red-bright);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;}
  .team-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.96rem;}
  .team-role{font-size:.78rem;color:var(--champagne);margin-top:4px;transition:color .25s ease;}
  .team-desc{font-size:.83rem;color:rgba(243,238,230,.58);line-height:1.55;margin-top:10px;}

  /* Organigramme équipe (Direction -> Responsables -> Collaborateurs) */
  .orgchart{display:flex;flex-direction:column;align-items:center;margin-top:32px;}
  .oc-tier-1{display:flex;justify-content:center;}
  .oc-node{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:18px 22px;text-align:center;min-width:170px;}
  .oc-node.oc-direction{border-color:var(--red-bright);min-width:200px;}
  .oc-node .team-avatar{margin:0 auto 12px;}
  .oc-node .team-badge{display:block;margin-bottom:8px;}
  .oc-vline{width:1px;height:28px;background:var(--line);}
  .oc-vline-sm{height:20px;}
  .oc-branches{display:inline-flex;justify-content:center;flex-wrap:wrap;position:relative;padding-top:28px;margin:0 auto;}
  .oc-branches::before{content:'';position:absolute;top:0;left:24px;right:24px;height:1px;background:var(--line);}
  .oc-branch{position:relative;padding:0 24px;display:flex;flex-direction:column;align-items:center;margin-bottom:32px;}
  .oc-branch::before{content:'';position:absolute;top:-28px;left:50%;width:1px;height:28px;background:var(--line);}
  .oc-node.oc-head{min-width:150px;}
  .oc-dept-label{font-family:'Space Grotesk',sans-serif;font-size:.85rem;color:rgba(243,238,230,.6);padding:10px 16px;border:1px dashed var(--line);border-radius:8px;}
  .oc-collabs{display:flex;flex-direction:column;gap:10px;margin-top:16px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:14px 16px;min-width:190px;}
  .oc-collab{display:flex;align-items:center;gap:10px;}
  .oc-collab-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;}
  .oc-collab-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--bg3);color:var(--champagne);font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:600;border:1px solid var(--line);}
  .oc-collab-name{font-size:.82rem;color:var(--paper);line-height:1.3;}
  .oc-collab-role{font-size:.72rem;color:rgba(243,238,230,.5);}
  @media (max-width:760px){
    .oc-branches::before{display:none;}
    .oc-branch::before{display:none;}
    .oc-branch{padding:0;margin-bottom:24px;}
    .oc-vline{display:none;}
  }

  /* Form Styles for Contact */
  .contact-form{display:flex;flex-direction:column;gap:20px;max-width:680px;margin-top:40px;}
  .diag-box{background:linear-gradient(135deg, rgba(206,3,3,.08) 0%, rgba(200,169,106,.05) 100%);border:1px solid var(--line);padding:56px 44px;max-width:640px;margin:56px auto 0;}
  @media (max-width:640px){.diag-box{padding:34px 22px;}}
  .diag-progress{display:flex;gap:6px;margin-bottom:40px;}
  .diag-progress .dot{flex:1;height:3px;background:var(--line);position:relative;overflow:hidden;}
  .diag-progress .dot::after{content:'';position:absolute;inset:0;background:var(--red-bright);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
  .diag-progress .dot.done::after,.diag-progress .dot.current::after{transform:scaleX(1);}
  .diag-step{display:none;text-align:left;}
  .diag-step.active{display:block;animation:diagIn .4s ease;}
  @keyframes diagIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
  .diag-step-label{font-size:.78rem;color:var(--red-bright);text-transform:uppercase;letter-spacing:.6px;margin-bottom:18px;font-family:'Space Grotesk',sans-serif;}
  .diag-nav{display:flex;justify-content:space-between;margin-top:30px;gap:14px;}
  .diag-result{text-align:center;}
  .diag-result-tag{color:var(--red-bright);font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;}
  .diag-result-figure{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2.3rem;color:var(--success);margin-bottom:14px;line-height:1.15;}
  .diag-result-text{font-size:.95rem;color:rgba(243,238,230,.7);line-height:1.7;margin-bottom:26px;}
  .diag-checks{display:flex;flex-direction:column;gap:12px;}
  .diag-check{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);cursor:pointer;font-size:.92rem;transition:border-color .2s ease;}
  .diag-check:hover{border-color:var(--red-bright);}
  .diag-check input{width:16px;height:16px;accent-color:var(--red-bright);flex-shrink:0;}
  .diag-score-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:28px;}
  .diag-score-ring{display:flex;align-items:baseline;justify-content:center;width:150px;height:150px;border-radius:50%;border:6px solid var(--red-bright);font-family:'Space Grotesk',sans-serif;font-weight:700;margin-bottom:12px;}
  .diag-score-ring #diag-score-value{font-size:2.6rem;color:var(--champagne);}
  .diag-score-max{font-size:1rem;color:rgba(243,238,230,.55);margin-left:2px;}
  .diag-score-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:rgba(243,238,230,.7);}
  .diag-dims{display:flex;flex-direction:column;gap:14px;text-align:left;margin:28px 0;}
  .diag-dim-head{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:6px;}
  .diag-dim-head b{color:var(--champagne);}
  .diag-dim-bar{height:5px;background:var(--line);overflow:hidden;}
  .diag-dim-bar div{height:100%;background:var(--red-bright);}
  .diag-priority{text-align:left;border-left:2px solid var(--red-bright);padding:4px 0 4px 16px;margin-bottom:22px;}
  .diag-priority-tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;color:var(--red-bright);margin-bottom:6px;}
  .diag-capture{text-align:left;background:rgba(206,3,3,.06);border:1px solid var(--line);padding:16px 18px;font-size:.92rem;line-height:1.6;margin-bottom:24px;}
  .form-group{display:flex;flex-direction:column;gap:8px;}
  .form-group label{font-size:.85rem;color:var(--champagne);font-family:'Space Grotesk',sans-serif;}
  .form-group input, .form-group textarea, .form-group select{
    background:var(--bg2);border:1px solid var(--line);color:var(--paper);padding:14px 18px;font-family:'Inter',sans-serif;font-size:.9rem;outline:none;transition:.2s ease;
  }
  .form-group input:focus, .form-group textarea:focus, .form-group select:focus{border-color:var(--champagne);}

  /* ==================== CARRIÈRES ==================== */
  .job-card{position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--line);transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
  .job-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--jb-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:2;}
  .job-card:hover{transform:translateY(-6px);border-color:var(--jb-accent, var(--champagne));box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--jb-accent, var(--champagne)) 45%, transparent);}
  .job-card:hover::after{transform:scaleX(1);}
  .job-card:hover .job-title{color:var(--jb-accent, var(--champagne));}
  .job-card:nth-child(3n+1){--jb-accent:var(--champagne);}
  .job-card:nth-child(3n+2){--jb-accent:var(--red-bright);}
  .job-card:nth-child(3n+3){--jb-accent:var(--success);}
  .job-head{padding:22px 24px 0;}
  .job-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.12rem;transition:color .25s ease;}
  .job-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
  .job-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--champagne);border:1px solid var(--line-strong);padding:4px 10px;border-radius:20px;}
  .job-desc{font-size:.87rem;color:rgba(243,238,230,.62);line-height:1.6;padding:14px 24px 24px;}
  .job-apply{padding:0 24px 22px;}
  .job-empty{border:1px dashed var(--line-strong);padding:40px;text-align:center;color:rgba(243,238,230,.6);font-size:.92rem;}

  /* ==================== LISTE "COORDONNÉES / IMPLANTATION" ====================
     Classes utilisées par contact.php et carrieres.php — n'avaient jamais eu
     de règle CSS dédiée (audit du 08/09/2026), d'où un rendu non stylé. */
  .impl-list{display:flex;flex-direction:column;}
  .impl-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
  .impl-row:last-child{border-bottom:none;}
  .impl-row .k{font-size:.78rem;color:rgba(243,238,230,.5);flex-shrink:0;}
  .impl-row .v{font-size:.9rem;color:var(--paper);text-align:right;}
  @media (max-width:520px){.impl-row{flex-direction:column;gap:4px;}.impl-row .v{text-align:left;}}

  /* ==================== NOTIFICATIONS TOAST ==================== */
  .toast-container{
    position:fixed;top:20px;right:20px;z-index:9999;
    display:flex;flex-direction:column;gap:10px;
    max-width:min(380px, calc(100vw - 40px));
  }
  .toast{
    display:flex;align-items:flex-start;gap:12px;
    background:var(--bg2);border:1px solid var(--line-strong);
    border-left:3px solid var(--paper);
    padding:14px 16px;color:var(--paper);font-family:'Inter',sans-serif;
    font-size:.88rem;line-height:1.4;box-shadow:0 8px 24px rgba(0,0,0,.35);
    opacity:0;transform:translateX(20px);
    transition:opacity .25s ease, transform .25s ease;
  }
  .toast.show{opacity:1;transform:translateX(0);}
  .toast.success{border-left-color:var(--success);}
  .toast.error{border-left-color:var(--red-bright);}
  .toast.warning{border-left-color:var(--champagne);}
  .toast-icon{flex-shrink:0;font-size:1.1rem;line-height:1;margin-top:1px;}
  .toast-msg{flex:1;}
  .toast-close{
    flex-shrink:0;background:none;border:none;color:rgba(243,238,230,.5);
    cursor:pointer;font-size:1rem;line-height:1;padding:0 0 0 8px;
  }
  .toast-close:hover{color:var(--paper);}
  @media (max-width:480px){
    .toast-container{left:12px;right:12px;top:12px;max-width:none;}
  }

  /* ==================== RESTAURÉ / COMPLÉTÉ — fusion du 09/09/2026 ====================
     Éléments présents dans le lot précédent mais absents de la réécriture du CSS
     de cette session (survol coloré étendu) : réintégrés ici pour ne rien perdre,
     + val-card et m-step reçoivent enfin le même survol coloré que les autres cartes. */

  /* Message d'état vide ("Aucun avis publié pour le moment"...) */
  .admin-muted{color:rgba(243,238,230,.5);font-size:.9rem;padding:20px 0;text-align:center;}

  /* Rangée de logos (Partenaires / Certifications — page Agence) */
  .logo-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;}
  .logo-item{display:flex;align-items:center;justify-content:center;height:70px;padding:0 26px;border:1px solid var(--line);background:var(--bg2);transition:border-color .2s ease;cursor:default;}
  a.logo-item{cursor:pointer;}
  .logo-item:hover{border-color:var(--champagne);}
  .logo-item img{max-height:34px;max-width:140px;filter:grayscale(1) brightness(1.6);opacity:.75;transition:.2s ease;}
  .logo-item:hover img{filter:none;opacity:1;}
  .logo-item span{font-family:'Space Grotesk',sans-serif;font-size:.85rem;color:rgba(243,238,230,.7);}


  .partners-marquee{overflow:hidden;margin-top:28px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
  .partners-track{display:flex;width:max-content;animation:partners-scroll 32s linear infinite;will-change:transform;}
  .partners-marquee:hover .partners-track{animation-play-state:paused;}
  .partners-set{display:flex;gap:18px;padding-right:18px;flex-shrink:0;}
  .partner-logo-item{height:120px;min-width:230px;padding:0 34px;flex:0 0 auto;border-radius:8px;display:flex;align-items:center;justify-content:center;}
  .partner-logo-item img{height:78px;width:auto;max-width:210px;object-fit:contain;}
  .partner-logo-item span{font-size:1rem;white-space:nowrap;}
  @keyframes partners-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media(max-width:700px){.partner-logo-item{height:100px;min-width:190px;padding:0 24px}.partner-logo-item img{height:64px;max-width:175px}.partners-track{animation-duration:26s}}
  @media(prefers-reduced-motion:reduce){.partners-track{animation:none}.partners-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}}

  /* Avatar photo des témoignages (Accueil + Avis clients) */
  .testi-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;margin-bottom:-2px;}

  /* Recommandations du diagnostic (chantier scoring) */
  .diag-recos{text-align:left;display:flex;flex-direction:column;gap:14px;margin-bottom:24px;}
  .diag-reco{border:1px solid var(--line);border-left:2px solid var(--red-bright);padding:14px 18px;background:rgba(243,238,230,.03);}
  .diag-reco-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;color:var(--red-bright);margin-bottom:6px;}
  .diag-reco-probleme{font-size:.92rem;color:var(--champagne);margin-bottom:6px;line-height:1.5;}
  .diag-reco-action{font-size:.88rem;color:rgba(243,238,230,.75);line-height:1.6;margin-bottom:6px;}
  .diag-reco-kpi{font-size:.78rem;color:rgba(243,238,230,.5);}
  .diag-reco-plan{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
  .diag-reco-plan-step{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:start;}
  .diag-reco-plan-phase{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--champagne);font-weight:600;padding-top:1px;}
  .diag-reco-plan-text{font-size:.83rem;color:rgba(243,238,230,.7);line-height:1.5;}
  @media (max-width:520px){.diag-reco-plan-step{grid-template-columns:1fr;gap:2px;}}

  /* val-card : même traitement de survol coloré que les autres familles de cartes */
  .val-card{position:relative;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
  .val-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--vc-accent, var(--champagne));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .val-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -20px rgba(0,0,0,.6), 0 0 40px -6px color-mix(in srgb, var(--vc-accent, var(--champagne)) 45%, transparent);}
  .val-card:hover::after{transform:scaleX(1);}
  .val-card:hover .val-num{color:var(--vc-accent, var(--champagne));}
  .val-card:nth-child(3n+1){--vc-accent:var(--champagne);}
  .val-card:nth-child(3n+2){--vc-accent:var(--red-bright);}
  .val-card:nth-child(3n){--vc-accent:var(--success);}

  /* m-step (méthode / étapes) : même traitement de survol coloré */
  .m-step{position:relative;overflow:hidden;transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
  .m-step::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ms-accent, var(--red-bright));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .m-step:hover{border-color:var(--ms-accent, var(--red-bright));transform:translateY(-4px);box-shadow:0 20px 44px -18px rgba(0,0,0,.55), 0 0 34px -8px color-mix(in srgb, var(--ms-accent, var(--red-bright)) 45%, transparent);}
  .m-step:hover::after{transform:scaleX(1);}
  .m-step:hover .m-letter{color:var(--ms-accent, var(--red-bright));}
  .m-step:nth-child(3n+1){--ms-accent:var(--champagne);}
  .m-step:nth-child(3n+2){--ms-accent:var(--red-bright);}
  .m-step:nth-child(3n){--ms-accent:var(--success);}

  /* Grille "méthode" à 4 étapes (page Carrières) — variante propre de .method (9 lettres) */
  .method-4{grid-template-columns:repeat(4,1fr);}
  @media (max-width:760px){.method-4{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:480px){.method-4{grid-template-columns:1fr;}}


  .pkg-card:hover .pkg-icon{transform:scale(1.18);color:var(--pk-accent, var(--champagne));}
  .mod-card:hover .mod-icon{transform:scale(1.18);color:var(--md-accent, var(--champagne));}
  .p-card:hover .p-img{background-size:114%;}
  .ins-card:hover .ins-img{background-size:114%;}
  .team-card:hover .team-avatar{transform:scale(1.1);}
