/*
Theme Name: dex agence Child
Description: Thème enfant dex basé sur GeneratePress.
Author: dex agence
Template: generatepress
Version: 1.0.0
Text Domain: dex-agence
*/

/* =========================================================
   01 — DEX DESIGN TOKENS
   ========================================================= */

:root{
  /* Brand */
  --dex:#1D63EF;
  --dex-rgb:29,99,239;

  /* Text */
  --ink:#0B1220;
  --muted:#667085;
  --muted-2:#8A94A6;

  /* Surfaces / lines */
  --line:#E7EBF2;
  --line-soft:#E8EDF5;
  --surface:#F7F9FC;
  --surface-soft:#F6F9FE;
  --white:#FFFFFF;

  /* Accents */
  --cyan:#20B9BE;
  --warning:#F5B301;

  /* Fonts */
  --font-display:Montserrat,sans-serif;
  --font-body:Inter,sans-serif;
  --font-editorial:"Space Grotesk",sans-serif;

  /* Widths */
  --shell:1120px;
  --shell-wide:1180px;
  --shell-hero:1240px;

  /* Gutters */
  --gutter:36px;
  --gutter-tablet:24px;
  --gutter-mobile:16px;

  /* Section rhythm */
  --section-y:64px;
  --section-y-tablet:56px;
  --section-y-mobile:48px;

  /* Radii */
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:20px;
  --radius-xl:24px;
  --radius-pill:999px;

  /* Reusable H2 */
  --h2-size:clamp(1.95rem,2.45vw,2.3rem);
  --h2-size-mobile:1.72rem;
  --h2-line:1.08;
  --h2-track:-.038em;

  /* Hero */
  --hero-map:url('./assets/img/hero-map-dex.png');
}

/* =========================================================
   02 — GLOBAL DEX PRIMITIVES
   ========================================================= */

.dex-section{
  padding-block:var(--section-y);
}

.dex-shell{
  width:min(var(--shell),calc(100% - (var(--gutter) * 2)));
  margin-inline:auto;
}

.dex-shell--wide{
  width:min(var(--shell-wide),calc(100% - (var(--gutter) * 2)));
}

.dex-shell--hero{
  width:min(var(--shell-hero),calc(100% - (var(--gutter) * 2)));
}

.dex-section-title{
  margin:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:var(--h2-size);
  line-height:var(--h2-line);
  font-weight:700;
  letter-spacing:var(--h2-track);
}

.dex-section-copy{
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:13.5px;
  line-height:1.62;
}

.dex-section-eyebrow{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  color:var(--dex);
  font-family:var(--font-body);
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
}

.dex-section-eyebrow::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:var(--radius-pill);
  background:var(--dex);
}

.dex-section-eyebrow::after{
  content:"";
  width:22px;
  height:1px;
  background:var(--dex);
}

.dex-frame{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--surface-soft);
}

.dex-card{
  border:1px solid var(--line-soft);
  border-radius:var(--radius-md);
  background:var(--white);
}

/* =========================================================
   03 — GLOBAL BUTTONS
   ========================================================= */

.dex-btn{
  --cta-fill:#fff;

  position:relative;
  isolation:isolate;
  overflow:hidden;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;

  min-height:44px;
  padding:5px 5px 5px 15px;
  border-radius:var(--radius-pill);

  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.01em;
  text-decoration:none;

  transition:
    color .52s ease,
    border-color .52s ease,
    box-shadow .30s ease;
}

.dex-btn::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-2px;
  bottom:-2px;
  left:-5px;
  width:calc(100% + 10px);
  background:var(--cta-fill);
  transform:scaleX(0);
  transform-origin:left center;
  border-radius:0 var(--radius-pill) var(--radius-pill) 0;
  transition:transform .72s cubic-bezier(.22,.78,.2,1);
  pointer-events:none;
}

.dex-btn:hover::before,
.dex-btn:focus-visible::before{
  transform:scaleX(1);
}

.dex-btn__label,
.dex-btn__arrow{
  position:relative;
  z-index:1;
}

.dex-btn--primary{
  --cta-fill:#fff;
  background:var(--dex);
  border:1px solid var(--dex);
  color:#fff;
}

.dex-btn--primary:hover,
.dex-btn--primary:focus-visible{
  color:var(--dex);
  border-color:var(--dex);
  box-shadow:0 12px 28px -20px rgba(var(--dex-rgb),.75);
}

.dex-btn--secondary{
  --cta-fill:var(--dex);
  background:#fff;
  border:1px solid rgba(var(--dex-rgb),.22);
  color:var(--dex);
}

.dex-btn--secondary:hover,
.dex-btn--secondary:focus-visible{
  color:#fff;
  border-color:var(--dex);
  box-shadow:0 12px 28px -20px rgba(var(--dex-rgb),.75);
}

.dex-btn__arrow{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center;
  transition:
    transform .42s cubic-bezier(.16,1,.3,1),
    background-color .42s ease,
    color .42s ease,
    box-shadow .42s ease;
}

.dex-btn__arrow svg{
  display:block;
  width:13px;
  height:13px;
  overflow:visible;
  transform:rotate(0deg);
  transform-origin:50% 50%;
  transition:transform .42s cubic-bezier(.16,1,.3,1);
}

.dex-btn__arrow svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.dex-btn--primary .dex-btn__arrow{
  background:rgba(255,255,255,.15);
  color:#fff;
}

.dex-btn--secondary .dex-btn__arrow{
  background:rgba(var(--dex-rgb),.08);
  color:var(--dex);
}

.dex-btn:hover .dex-btn__arrow,
.dex-btn:focus-visible .dex-btn__arrow{
  transform:translate3d(3px,-2px,0) scale(1.035);
}

.dex-btn:hover .dex-btn__arrow svg,
.dex-btn:focus-visible .dex-btn__arrow svg{
  transform:rotate(-30deg);
}

.dex-btn--primary:hover .dex-btn__arrow,
.dex-btn--primary:focus-visible .dex-btn__arrow{
  background:var(--dex);
  color:#fff;
  box-shadow:0 7px 16px -11px rgba(var(--dex-rgb),.95);
}

.dex-btn--secondary:hover .dex-btn__arrow,
.dex-btn--secondary:focus-visible .dex-btn__arrow{
  background:#fff;
  color:var(--dex);
  box-shadow:0 7px 16px -11px rgba(11,18,32,.30);
}

/* Small editorial CTA */
.dex-text-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--dex);
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}

.dex-text-cta__arrow{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--dex-rgb),.18);
  border-radius:var(--radius-pill);
  background:#fff;
  color:var(--dex);
  transform:rotate(0deg);
  transform-origin:center;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease,
    color .2s ease;
}

.dex-text-cta:hover .dex-text-cta__arrow,
.dex-text-cta:focus-visible .dex-text-cta__arrow{
  transform:rotate(-30deg);
  background:var(--dex);
  border-color:var(--dex);
  color:#fff;
}

/* =========================================================
   04 — HERO 2026
   Only Hero-specific rules live here.
   ========================================================= */

.hero-2026{
  position:relative;
  overflow:hidden;
  background:#fff;
  padding-bottom:2.6rem;
}

.hero-2026::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--hero-map);
  background-repeat:no-repeat;
  background-size:min(1520px,118vw) auto;
  background-position:center 18%;
  opacity:.115;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 14%,
    #000 72%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 14%,
    #000 72%,
    transparent 100%
  );
}

.hero-2026-inner{
  position:relative;
  z-index:2;
}

.hero-2026-top{
  padding-top:4.6rem;
  padding-bottom:3.9rem;
  text-align:center;
}

.hero-2026-badge{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  min-height:40px;
  padding:.45rem .95rem .45rem .55rem;
  border:1px solid rgba(var(--dex-rgb),.16);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.9);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
}

.hero-2026-badge .icon{
  width:24px;
  height:24px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:var(--radius-pill);
  background:var(--dex);
  color:#fff;
}

.hero-2026-badge-icon{
  display:block;
  width:12px;
  height:12px;
}

.hero-2026-title{
  margin:1.35rem auto 0;
  max-width:820px;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(2.2rem,3.8vw,3.55rem);
  line-height:1.045;
  font-weight:700;
  letter-spacing:-.048em;
}

.hero-2026-title .hl{
  color:var(--dex);
}

.hero-2026-sub{
  max-width:730px;
  margin:1.4rem auto 0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:1.03rem;
  line-height:1.72;
}

.hero-2026-actions{
  margin-top:1.8rem;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.75rem;
}

.hero-2026-reassurance{
  margin-top:1rem;
  color:rgba(102,112,133,.78);
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Hero proof / clients */
.hero-2026-proof{
  position:relative;
  border-top:0;
  padding:0;
}

.hero-2026-proof-grid{
  width:min(var(--shell),100%);
  margin-inline:auto;

  display:grid;
  grid-template-columns:minmax(250px,30%) 1px minmax(0,70%);
  align-items:center;
  gap:16px;

  padding:1.05rem 0 1rem;
  border-top:1px solid var(--line);
}

.hero-2026-rating{
  min-width:0;
  display:flex;
  align-items:center;
}

.hero-2026-rating-line{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
}

.hero-2026-stars{
  display:flex;
  align-items:center;
  gap:1px;
  color:var(--warning);
  font-size:15px;
  line-height:1;
  white-space:nowrap;
}

.hero-2026-rating-copy{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
}

.hero-2026-rating-intro{
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}

.hero-2026-score{
  color:var(--ink);
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

.hero-2026-proof-divider{
  width:1px;
  height:44px;
  background:var(--line);
}

.hero-2026-clients-wrap{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(165px,205px) minmax(0,1fr);
  align-items:center;
  gap:14px;
}

.hero-2026-clients-label{
  margin:0;
  color:rgba(11,18,32,.44);
  font-family:var(--font-body);
  font-size:10px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.hero-2026-clients-viewport{
  min-width:0;
  width:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    #000 4%,
    #000 96%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    #000 4%,
    #000 96%,
    transparent 100%
  );
}

.hero-2026-clients-track{
  display:flex;
  align-items:center;
  width:max-content;
  will-change:transform;
  animation:dexHeroClientsScroll 18s linear infinite;
}

.hero-2026-clients-group{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding-right:12px;
}

.hero-2026-client-logo{
  flex:0 0 auto;
  min-width:96px;
  height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-2026-client-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:205px;
  max-height:62px;
  object-fit:contain;
  opacity:.82;
  filter:grayscale(1);
  transform:translateZ(0);
  transition:
    opacity .22s ease,
    filter .22s ease,
    transform .22s ease;
}

.hero-2026-client-logo:hover img{
  opacity:1;
  filter:grayscale(0);
  transform:translateY(-1px);
}

.hero-2026-clients-viewport:hover .hero-2026-clients-track{
  animation-play-state:paused;
}

@keyframes dexHeroClientsScroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* =========================================================
   05 — CONSTAT
   Only Constat-specific rules live here.
   ========================================================= */

.constat-compare{
  position:relative;
  overflow:hidden;
  background:#fff;
}

.constat-compare-head{
  margin-bottom:26px;
}

.constat-compare-headgrid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.65fr);
  gap:44px;
  align-items:end;
}

.constat-compare-title{
  max-width:650px;
}

.constat-compare-blue{
  color:var(--dex);
}

.constat-compare-sub{
  max-width:340px;
  justify-self:end;
}

/* Comparison frame */
.constat-compare-frame{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);
  padding:12px;
}

.constat-compare-col{
  position:relative;
  min-width:0;
  padding:20px 22px;
  border-color:#E4EAF4;
  border-radius:14px;
}

.constat-compare-col-title{
  margin:0 0 12px;
  color:var(--dex);
  font-family:var(--font-editorial);
  font-size:15px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.018em;
}

.constat-compare-col--today .constat-compare-col-title{
  color:var(--ink);
}

/* Rows */
.constat-compare-list{
  position:relative;
}

.constat-compare-row{
  position:relative;
  min-height:47px;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 18px;
  align-items:center;
  gap:0;
  padding-inline:4px;
  border-top:1px solid var(--line-soft);
  border-radius:9px;
  cursor:default;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:13.5px;
  line-height:1.36;
  opacity:0;
  transform:translateY(6px);
  transition:
    opacity .4s ease,
    transform .28s cubic-bezier(.2,.8,.2,1),
    background .28s ease,
    color .28s ease,
    box-shadow .28s ease;
}

.constat-compare-row:first-child{
  border-top:0;
}

.constat-compare.is-visible .constat-compare-row{
  opacity:1;
  transform:none;
}

.constat-compare.is-visible .constat-compare-row:nth-child(1){transition-delay:.03s}
.constat-compare.is-visible .constat-compare-row:nth-child(2){transition-delay:.06s}
.constat-compare.is-visible .constat-compare-row:nth-child(3){transition-delay:.09s}
.constat-compare.is-visible .constat-compare-row:nth-child(4){transition-delay:.12s}
.constat-compare.is-visible .constat-compare-row:nth-child(5){transition-delay:.15s}
.constat-compare.is-visible .constat-compare-row:nth-child(6){transition-delay:.18s}

.constat-compare-index{
  color:#A2AEC1;
  font-size:10px;
  line-height:1;
  font-weight:800;
}

.constat-compare-row-copy{
  min-width:0;
}

.constat-compare-check{
  display:grid;
  place-items:center;
  color:var(--cyan);
  opacity:.9;
}

.constat-compare-check svg{
  width:14px;
  height:14px;
}

/* Pair interaction */
.constat-compare-frame.pair-active .constat-compare-row:not(.is-paired){
  opacity:.42;
}

.constat-compare-col--today .constat-compare-row.is-paired{
  transform:translateX(5px);
  background:#EEF4FF;
  color:#071B42;
  box-shadow:0 7px 16px rgba(36,104,242,.07);
}

.constat-compare-col--dex .constat-compare-row.is-paired{
  transform:translateX(-5px);
  background:#EDFAF8;
  color:#071B42;
  box-shadow:0 7px 16px rgba(32,185,190,.07);
}

.constat-compare-row.is-paired .constat-compare-index{
  color:var(--dex);
}

/* Center orbit */
.constat-compare-center{
  position:relative;
  display:grid;
  place-items:center;
}

.constat-compare-center::before{
  content:"";
  position:absolute;
  top:24px;
  bottom:24px;
  width:1px;
  background:linear-gradient(
    transparent,
    #C4D3EC 18%,
    #C4D3EC 82%,
    transparent
  );
}

.constat-compare-orbit{
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dex);
  color:#fff;
  box-shadow:0 7px 17px rgba(var(--dex-rgb),.20);
  transform:translate(-50%,-50%);
  transition:
    top .34s cubic-bezier(.2,.8,.2,1),
    transform .34s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s ease;
  pointer-events:none;
}

.constat-compare-frame.pair-active .constat-compare-orbit{
  box-shadow:
    0 0 0 5px #DDE8FF,
    0 9px 21px rgba(var(--dex-rgb),.24);
}

.constat-compare-orbit svg{
  width:16px;
  height:16px;
  transition:transform .24s ease;
}

.constat-compare-frame.pair-active .constat-compare-orbit svg{
  transform:translateX(2px);
}

/* Footer */
.constat-compare-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:16px;
}

.constat-compare-note{
  max-width:450px;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:11.5px;
  line-height:1.55;
}

/* =========================================================
   06 — RESPONSIVE
   ========================================================= */

@media(max-width:900px){

  .dex-section{
    padding-block:var(--section-y-tablet);
  }

  .dex-shell,
  .dex-shell--wide,
  .dex-shell--hero{
    width:calc(100% - (var(--gutter-tablet) * 2));
  }

  .hero-2026-top{
    padding-top:4.25rem;
    padding-bottom:3.4rem;
  }

  .hero-2026-proof-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .hero-2026-proof-divider{
    display:none;
  }

  .hero-2026-clients-wrap{
    grid-template-columns:160px minmax(0,1fr);
    gap:12px;
  }

  .hero-2026-clients-group{
    gap:12px;
    padding-right:12px;
  }

  .hero-2026-client-logo{
    min-width:92px;
    height:56px;
  }

  .hero-2026-client-logo img{
    max-width:172px;
    max-height:50px;
  }

  .constat-compare-headgrid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .constat-compare-sub{
    justify-self:start;
    max-width:520px;
  }

  .constat-compare-frame{
    grid-template-columns:1fr;
  }

  .constat-compare-center{
    min-height:44px;
  }

  .constat-compare-center::before{
    display:none;
  }

  .constat-compare-orbit{
    position:relative;
    top:auto !important;
    left:auto;
    transform:rotate(90deg) !important;
  }

  .constat-compare-frame.pair-active .constat-compare-orbit svg{
    transform:none;
  }

  .constat-compare-col--today .constat-compare-row.is-paired,
  .constat-compare-col--dex .constat-compare-row.is-paired{
    transform:none;
  }
}

@media(max-width:640px){

  .dex-section{
    padding-block:var(--section-y-mobile);
  }

  .dex-shell,
  .dex-shell--wide,
  .dex-shell--hero{
    width:calc(100% - (var(--gutter-mobile) * 2));
  }

  .dex-section-title{
    font-size:var(--h2-size-mobile);
    line-height:1.08;
    letter-spacing:-.035em;
  }

  .dex-section-copy{
    font-size:13px;
    line-height:1.58;
  }

  .dex-btn{
    min-height:42px;
    padding:5px 5px 5px 14px;
    gap:.5rem;
    font-size:12.5px;
  }

  .dex-btn__arrow{
    width:29px;
    height:29px;
    flex:0 0 29px;
  }

  .dex-btn__arrow svg{
    width:12px;
    height:12px;
  }

  /* Hero */
  .hero-2026{
    padding-bottom:1.7rem;
  }

  .hero-2026::before{
    background-size:1550px auto;
    background-position:center 10%;
    opacity:.095;
  }

  .hero-2026-top{
    padding-top:3.15rem;
    padding-bottom:2.65rem;
  }

  .hero-2026-title{
    max-width:330px;
    font-size:clamp(1.85rem,8.1vw,2.05rem);
    line-height:1.06;
    letter-spacing:-.043em;
  }

  .hero-2026-sub{
    max-width:360px;
    font-size:.96rem;
    line-height:1.65;
  }

  .hero-2026-actions{
    flex-direction:column;
    align-items:center;
    gap:.65rem;
    margin-top:1.55rem;
  }

  .hero-2026-proof{
    padding:1rem 0 .9rem;
  }

  .hero-2026-proof-grid{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:13px;
  }

  .hero-2026-rating{
    justify-content:center;
  }

  .hero-2026-rating-line{
    justify-content:center;
    text-align:center;
  }

  .hero-2026-stars{
    font-size:14px;
  }

  .hero-2026-rating-intro,
  .hero-2026-score{
    font-size:12.5px;
  }

  .hero-2026-clients-wrap{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
  }

  .hero-2026-clients-label{
    text-align:center;
    font-size:9px;
  }

  .hero-2026-clients-viewport{
    width:calc(100% + 2rem);
    margin-left:-1rem;
    -webkit-mask-image:linear-gradient(
      to right,
      transparent 0%,
      #000 10%,
      #000 90%,
      transparent 100%
    );
    mask-image:linear-gradient(
      to right,
      transparent 0%,
      #000 10%,
      #000 90%,
      transparent 100%
    );
  }

  .hero-2026-clients-track{
    animation-duration:15s;
  }

  .hero-2026-clients-group{
    gap:10px;
    padding-right:10px;
  }

  .hero-2026-client-logo{
    min-width:88px;
    height:48px;
  }

  .hero-2026-client-logo img{
    max-width:148px;
    max-height:42px;
  }

  /* Constat */
  .constat-compare-head{
    margin-bottom:22px;
  }

  .constat-compare-frame{
    padding:8px;
    border-radius:16px;
  }

  .constat-compare-col{
    padding:18px 14px;
    border-radius:12px;
  }

  .constat-compare-col-title{
    margin-bottom:11px;
    font-size:15px;
  }

  .constat-compare-row{
    min-height:46px;
    grid-template-columns:29px minmax(0,1fr) 16px;
    padding-inline:2px;
    font-size:13px;
  }

  .constat-compare-index{
    font-size:9px;
  }

  .constat-compare-center{
    min-height:40px;
  }

  .constat-compare-orbit{
    width:32px;
    height:32px;
  }

  .constat-compare-orbit svg{
    width:15px;
    height:15px;
  }

  .constat-compare-footer{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-top:14px;
  }
}

/* =========================================================
   07 — REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .dex-btn::before,
  .dex-btn__arrow,
  .dex-btn__arrow svg,
  .dex-text-cta__arrow,
  .hero-2026-clients-track,
  .constat-compare-row,
  .constat-compare-orbit,
  .constat-compare-orbit svg{
    transition:none !important;
    animation:none !important;
  }

  .hero-2026-clients-track{
    transform:none;
  }

  .hero-2026-clients-group[aria-hidden="true"]{
    display:none;
  }

  .constat-compare-row{
    opacity:1;
    transform:none;
  }
}

/* =========================================================
   EXPERTISES — CSS COMPLET
   À ajouter dans style.css APRÈS le design system global dex.
   Dépend de :
   --dex, --dex-rgb, --ink, --muted, --line, --line-soft
   --font-display, --font-body, --font-editorial
   .dex-section, .dex-shell, .dex-section-title,
   .dex-section-copy, .dex-section-eyebrow, .dex-card
   ========================================================= */

.dexexp3{
  position:relative;
  overflow:clip;
  background:#fff;
  color:var(--ink);
}

.dexexp3 *{
  box-sizing:border-box;
}

/* ---------------------------------------------------------
   MAP / BACKGROUND
   --------------------------------------------------------- */

.dexexp3-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background-repeat:no-repeat;
  background-position:center 6%;
  background-size:min(1520px,118vw) auto;
  opacity:.10;
  pointer-events:none;

  -webkit-mask-image:linear-gradient(
    to bottom,
    rgba(0,0,0,.68) 0%,
    #000 18%,
    #000 82%,
    rgba(0,0,0,.24) 100%
  );

  mask-image:linear-gradient(
    to bottom,
    rgba(0,0,0,.68) 0%,
    #000 18%,
    #000 82%,
    rgba(0,0,0,.24) 100%
  );
}

.dexexp3-shell{
  position:relative;
  z-index:1;
}

/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.dexexp3-head{
  margin-bottom:28px;
}

.dexexp3-headgrid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.65fr);
  gap:44px;
  align-items:start;
}

.dexexp3-title{
  max-width:650px;
}

.dexexp3-title-accent{
  color:var(--dex);
}

.dexexp3-sub{
  max-width:340px;
  justify-self:end;
  align-self:start;
}

/* ---------------------------------------------------------
   SCROLL STAGE / SYSTEM
   --------------------------------------------------------- */

.dexexp3-scrollstage{
  position:relative;
  min-height:calc(470px + var(--exp-scroll-extra,0vh));
  padding-bottom:1px;
}

.dexexp3-system{
  position:-webkit-sticky;
  position:sticky;
  top:88px;
  z-index:3;

  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:28px;

  border-top:1px solid var(--line);
}

/* ---------------------------------------------------------
   NAVIGATION GAUCHE
   --------------------------------------------------------- */

.dexexp3-nav{
  position:relative;
  padding:24px 22px 26px 0;
}

.dexexp3-navtitle{
  margin:0 0 12px;
  color:rgba(11,18,32,.36);
  font-family:var(--font-body);
  font-size:10px;
  line-height:1.4;
  font-weight:600;
}

.dexexp3-navwrap{
  width:100%;
}

.dexexp3-btn{
  position:relative;
  width:100%;
  min-height:55px;

  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;

  padding:0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent !important;
  box-shadow:none !important;

  color:rgba(11,18,32,.46);
  text-align:left;
  cursor:pointer;

  opacity:1 !important;
  transition:color .22s ease;
}

.dexexp3-btn:last-child{
  border-bottom:0;
}

.dexexp3-btn::before{
  content:"";
  position:absolute;
  left:-10px;
  top:50%;

  width:2px;
  height:17px;
  border-radius:999px;
  background:var(--dex);

  transform:translateY(-50%) scaleY(0);
  transform-origin:center;

  transition:transform .28s cubic-bezier(.16,1,.3,1);
}

.dexexp3-num{
  color:rgba(11,18,32,.23);
  font-family:var(--font-display);
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.06em;

  transition:color .22s ease;
}

.dexexp3-label{
  display:inline-block;
  font-family:var(--font-display);
  font-size:14.5px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.025em;

  transition:
    color .22s ease,
    transform .32s cubic-bezier(.16,1,.3,1);
}

.dexexp3-arr{
  width:18px;
  height:18px;

  display:grid;
  place-items:center;

  color:var(--dex);
  opacity:0;
  transform:translateX(-5px);

  transition:
    opacity .24s ease,
    transform .34s cubic-bezier(.16,1,.3,1);
}

.dexexp3-arr svg{
  display:block;
  width:14px;
  height:14px;

  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;

  transform-origin:50% 50%;
  transition:transform .34s cubic-bezier(.16,1,.3,1);
}

.dexexp3-btn:hover,
.dexexp3-btn:focus,
.dexexp3-btn:focus-visible,
.dexexp3-btn:active,
.dexexp3-btn.active{
  color:var(--dex) !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none;
}

.dexexp3-btn.active::before{
  transform:translateY(-50%) scaleY(1);
}

.dexexp3-btn:hover .dexexp3-num,
.dexexp3-btn:focus .dexexp3-num,
.dexexp3-btn:focus-visible .dexexp3-num,
.dexexp3-btn:active .dexexp3-num,
.dexexp3-btn.active .dexexp3-num{
  color:var(--dex) !important;
}

.dexexp3-btn:hover .dexexp3-label,
.dexexp3-btn:focus .dexexp3-label,
.dexexp3-btn:focus-visible .dexexp3-label,
.dexexp3-btn:active .dexexp3-label,
.dexexp3-btn.active .dexexp3-label{
  color:var(--dex) !important;
  opacity:1 !important;
  visibility:visible !important;
}

.dexexp3-btn.active .dexexp3-label{
  transform:none;
}

.dexexp3-btn.active .dexexp3-arr{
  opacity:1;
  transform:translateX(0);
}

.dexexp3-btn:hover .dexexp3-arr,
.dexexp3-btn:focus-visible .dexexp3-arr{
  opacity:1;
  transform:translateX(0);
}

.dexexp3-btn:hover .dexexp3-arr svg,
.dexexp3-btn:focus-visible .dexexp3-arr svg{
  transform:rotate(-30deg);
}

.dexexp3-note{
  max-width:225px;
  margin:24px 0 0;

  color:var(--muted);
  font-family:var(--font-body);
  font-size:12px;
  line-height:1.6;
}

/* ---------------------------------------------------------
   CARTE DROITE
   --------------------------------------------------------- */

.dexexp3-card{
  position:relative;
  min-height:420px;
  margin-top:18px;
  padding:30px 32px 26px;

  display:flex;
  flex-direction:column;
  overflow:hidden;

  border-color:rgba(215,222,233,.9);
  border-radius:18px;

  background:rgba(255,255,255,.88);

  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);

  box-shadow:0 22px 54px -48px rgba(11,18,32,.26);
}

.dexexp3-meta{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  gap:9px;

  margin-bottom:22px;
}

.dexexp3-meta-num,
.dexexp3-kicker{
  color:var(--dex);
  font-family:var(--font-display);
  font-size:9.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.dexexp3-meta-line{
  width:26px;
  height:1px;
  background:rgba(var(--dex-rgb),.28);
}

.dexexp3-content{
  position:relative;
  z-index:2;

  max-width:650px;
  flex:1 1 auto;
}

.dexexp3-cardtitle{
  max-width:560px;
  margin:0;

  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(1.24rem,1.45vw,1.52rem);
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.032em;
}

.dexexp3-desc{
  max-width:570px;
  margin:17px 0 0;

  color:var(--muted);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.65;
}

/* ---------------------------------------------------------
   CHAMPS / TAGS
   --------------------------------------------------------- */

.dexexp3-fields{
  margin-top:26px;
  margin-bottom:28px;

  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  align-items:start;
}

.dexexp3-fieldslabel{
  padding-top:7px;

  color:rgba(11,18,32,.38);
  font-family:var(--font-body);
  font-size:9.5px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dexexp3-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  max-width:560px;
}

.dexexp3-tag{
  display:inline-flex;
  align-items:center;

  min-height:29px;
  padding:5px 10px;

  border:1px solid #DFE5EE;
  border-radius:999px;

  background:rgba(255,255,255,.92);
  color:var(--ink);

  font-family:var(--font-body);
  font-size:11px;
  line-height:1.2;
  font-weight:550;

  cursor:default;
  user-select:none;
  -webkit-user-select:none;

  transition:
    border-color .2s ease,
    background-color .2s ease,
    color .2s ease;
}

.dexexp3-tag:hover{
  cursor:default;
  border-color:rgba(var(--dex-rgb),.30);
  background:rgba(var(--dex-rgb),.045);
  color:var(--dex);
}

/* ---------------------------------------------------------
   FOOTER / CTA
   --------------------------------------------------------- */

.dexexp3-footer{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:auto;
  padding-top:18px;

  border-top:1px solid var(--line);
}

.dexexp3-link{
  display:inline-flex;
  align-items:center;
  gap:8px;

  color:var(--dex) !important;
  font-family:var(--font-body);
  font-size:12px;
  line-height:1.3;
  font-weight:700;

  text-decoration:none !important;
}

/* même logique de flèche que le Hero */
.dexexp3-linkcircle{
  width:30px;
  height:30px;
  flex:0 0 30px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(var(--dex-rgb),.20);
  border-radius:50%;
  background:#fff;
  color:var(--dex);

  transform:translate3d(0,0,0) scale(1);
  transform-origin:center;

  transition:
    transform .42s cubic-bezier(.16,1,.3,1),
    background-color .42s ease,
    border-color .42s ease,
    color .42s ease,
    box-shadow .42s ease;
}

.dexexp3-linkcircle svg{
  display:block;
  width:13px;
  height:13px;
  overflow:visible;

  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;

  transform:rotate(0deg);
  transform-origin:50% 50%;

  transition:transform .42s cubic-bezier(.16,1,.3,1);
}

.dexexp3-link:hover .dexexp3-linkcircle,
.dexexp3-link:focus-visible .dexexp3-linkcircle{
  transform:translate3d(3px,-2px,0) scale(1.035);
  background:var(--dex);
  border-color:var(--dex);
  color:#fff;
  box-shadow:0 7px 16px -11px rgba(var(--dex-rgb),.95);
}

.dexexp3-link:hover .dexexp3-linkcircle svg,
.dexexp3-link:focus-visible .dexexp3-linkcircle svg{
  transform:rotate(-30deg);
}

.dexexp3-signal{
  display:inline-flex;
  align-items:center;
  gap:8px;

  max-width:340px;
  padding:6px 9px;

  border:1px solid rgba(var(--dex-rgb),.14);
  border-radius:999px;

  background:rgba(var(--dex-rgb),.045);
  color:rgba(29,99,239,.78);

  font-family:var(--font-body);
  font-size:10px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:.01em;

  text-align:left;
  white-space:normal;
}

.dexexp3-signal::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;

  border-radius:999px;
  background:var(--dex);

  box-shadow:0 0 0 4px rgba(var(--dex-rgb),.09);
}

.dexexp3-empty{
  padding:28px 0 0;
  color:var(--muted);

  font-family:var(--font-body);
  font-size:14px;
  line-height:1.6;
}

/* =========================================================
   TABLETTE
   ========================================================= */

@media(max-width:1023px){

  .dexexp3{
    overflow:hidden;
  }

  .dexexp3-headgrid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .dexexp3-sub{
    justify-self:start;
    max-width:520px;
  }

  .dexexp3-scrollstage{
    min-height:auto;
  }

  .dexexp3-system{
    position:relative;
    top:auto;

    grid-template-columns:1fr;
    gap:0;

    min-width:0;
  }

  .dexexp3-nav{
    padding:22px 0 0;
    min-width:0;
  }

  .dexexp3-navtitle{
    margin-bottom:10px;
  }

  .dexexp3-navwrap{
    display:grid;
    grid-template-columns:1fr;
    gap:0;

    width:100%;
    overflow:visible;

    border-top:1px solid var(--line);
    border-bottom:0;
  }

  .dexexp3-btn{
    min-width:0;
    width:100%;
    min-height:50px;

    grid-template-columns:26px minmax(0,1fr) 18px;
    gap:9px;

    border-bottom:1px solid var(--line);
  }

  .dexexp3-btn:last-child{
    border-bottom:1px solid var(--line);
  }

  .dexexp3-btn::before{
    display:none;
  }

  .dexexp3-label{
    font-size:14px;
    white-space:normal;
  }

  .dexexp3-arr{
    opacity:.38;
    transform:none;
  }

  .dexexp3-btn.active .dexexp3-arr{
    opacity:1;
  }

  .dexexp3-note{
    display:none;
  }

  .dexexp3-card{
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:auto;

    margin-top:22px;
    overflow:hidden;
  }

  .dexexp3-content,
  .dexexp3-desc,
  .dexexp3-fields,
  .dexexp3-tags,
  .dexexp3-footer{
    min-width:0;
    max-width:100%;
  }

  .dexexp3-desc{
    overflow-wrap:anywhere;
  }

  .dexexp3-footer{
    flex-wrap:wrap;
  }

  .dexexp3-signal{
    max-width:100%;
  }

  .dexexp3-map{
    background-position:center top;
    background-size:1450px auto;
    opacity:.085;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:640px){

  .dexexp3-head{
    margin-bottom:22px;
  }

  .dexexp3-card{
    padding:23px 18px 20px;
    border-radius:15px;
  }

  .dexexp3-cardtitle{
    max-width:100%;
    font-size:1.18rem;
    line-height:1.16;
    letter-spacing:-.03em;
  }

  .dexexp3-desc{
    margin-top:14px;
    font-size:13.5px;
    line-height:1.6;
  }

  .dexexp3-meta{
    margin-bottom:18px;
  }

  .dexexp3-fields{
    grid-template-columns:1fr;
    gap:9px;

    margin-top:22px;
    margin-bottom:22px;
  }

  .dexexp3-tags{
    width:100%;
    gap:6px;
  }

  .dexexp3-tag{
    min-height:28px;
    padding:5px 9px;
    font-size:10.5px;
  }

  .dexexp3-footer{
    width:100%;
    align-items:flex-start;
    gap:12px;
  }

  .dexexp3-signal{
    max-width:100%;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .dexexp3-btn,
  .dexexp3-btn::before,
  .dexexp3-num,
  .dexexp3-label,
  .dexexp3-arr,
  .dexexp3-arr svg,
  .dexexp3-tag,
  .dexexp3-linkcircle,
  .dexexp3-linkcircle svg{
    transition:none !important;
  }
}

/* =========================================================
   DEX — MÉTHODE + PARTENAIRES / STACK + FAQ
   À ajouter UNE SEULE FOIS dans style.css,
   APRÈS le design system global.
   ========================================================= */


/* =========================================================
   01 — MÉTHODE
   ========================================================= */

.dex-method{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:
    radial-gradient(circle at 82% 18%,rgba(var(--dex-rgb),.04),transparent 30%),
    radial-gradient(circle at 16% 68%,rgba(var(--dex-rgb),.025),transparent 27%),
    #fff;
  color:var(--ink);
}

.dex-method::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:var(--dex-method-map,none);
  background-repeat:no-repeat;
  background-position:center 6%;
  background-size:min(1520px,118vw) auto;
  opacity:.09;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.64),#000 18%,#000 80%,rgba(0,0,0,.16));
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.64),#000 18%,#000 80%,rgba(0,0,0,.16));
}

.dex-method::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,.08),rgba(255,255,255,.25) 42%,rgba(255,255,255,.12));
}

.dex-method *{box-sizing:border-box}

.dexm-shell{
  position:relative;
  z-index:1;
}

.dexm-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.65fr);
  gap:44px;
  align-items:start;
  margin-bottom:30px;
}

.dexm-kicker{margin-bottom:13px}

.dexm-kicker::before{
  animation:dexmPulse 2s ease-out infinite;
}

@keyframes dexmPulse{
  0%{box-shadow:0 0 0 0 rgba(var(--dex-rgb),.20)}
  70%{box-shadow:0 0 0 7px rgba(var(--dex-rgb),0)}
  100%{box-shadow:0 0 0 0 rgba(var(--dex-rgb),0)}
}

.dexm-title{max-width:650px}
.dexm-title-blue{color:var(--dex)}

.dexm-intro{
  max-width:340px;
  justify-self:end;
  align-self:start;
}

.dexm-scroll{
  position:relative;
  height:var(--dex-method-scroll,440vh);
}

.dexm-sticky{
  position:-webkit-sticky;
  position:sticky;
  top:var(--dexm-sticky-top,120px);
  z-index:3;
}

.dexm-tabs{
  display:grid;
  grid-template-columns:repeat(var(--dex-method-columns,4),minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.84);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.dexm-tab{
  position:relative;
  min-height:64px;
  padding:14px 17px 13px;
  border:0;
  border-right:1px solid var(--line);
  background:transparent !important;
  box-shadow:none !important;
  color:#8A94A5;
  text-align:left;
  cursor:pointer;
}

.dexm-tab:last-child{border-right:0}

.dexm-tab::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:transparent;
  transform:scaleX(.25);
  transform-origin:left;
  transition:.34s cubic-bezier(.16,1,.3,1);
}

.dexm-tab.is-active::after{
  background:var(--dex);
  transform:scaleX(1);
}

.dexm-phase{
  display:block;
  margin-bottom:4px;
  color:#8A94A5;
  font-family:var(--font-display);
  font-size:8.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.dexm-tab-title{
  display:block;
  color:#8A94A5;
  font-family:var(--font-display);
  font-size:12.5px;
  line-height:1.2;
  font-weight:700;
}

.dexm-tab:hover,
.dexm-tab:focus,
.dexm-tab:focus-visible,
.dexm-tab:active,
.dexm-tab.is-active{
  background:transparent !important;
  outline:none;
}

.dexm-tab.is-active .dexm-phase,
.dexm-tab.is-active .dexm-tab-title,
.dexm-tab:hover .dexm-phase,
.dexm-tab:hover .dexm-tab-title{
  color:var(--dex);
}

.dexm-stage{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.76);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}

.dexm-panel{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:50px;
  align-items:center;
  padding:36px 0 54px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:
    opacity .56s ease,
    transform .68s cubic-bezier(.16,1,.3,1);
}

.dexm-panel.is-active{
  opacity:1;
  visibility:visible;
  transform:none;
}

.dexm-copy{
  width:100%;
  max-width:600px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.dexm-index{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:13px;
  color:var(--dex);
  font-family:var(--font-display);
  font-size:9.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.dexm-index::before{
  content:"";
  width:24px;
  height:1px;
  background:var(--dex);
}

.dexm-panel h3{
  max-width:590px;
  min-height:2.24em;
  margin:0 0 15px;
  font-family:var(--font-display);
  font-size:clamp(1.34rem,1.7vw,1.58rem);
  line-height:1.13;
  letter-spacing:-.033em;
  font-weight:700;
}

.dexm-desc{
  max-width:560px;
  margin:0 0 24px;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:13.5px;
  line-height:1.65;
}

.dexm-points-label{
  margin:0 0 9px;
  color:#8A94A5;
  font-family:var(--font-display);
  font-size:8.5px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.dexm-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px 20px;
}

.dexm-point{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#354052;
  font-family:var(--font-body);
  font-size:12px;
  line-height:1.5;
}

.dexm-point::before{
  content:"";
  width:5px;
  height:5px;
  margin-top:6px;
  flex:0 0 5px;
  border-radius:2px;
  background:var(--dex);
}

.dexm-objective{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:8px;
  max-width:100%;
  margin-top:22px;
  padding:6px 10px;
  border:1px solid rgba(var(--dex-rgb),.14);
  border-radius:999px;
  background:rgba(var(--dex-rgb),.045);
  color:rgba(var(--dex-rgb),.86);
  font-family:var(--font-body);
  font-size:10px;
  line-height:1.35;
  font-weight:600;
  cursor:default;
  user-select:none;
  -webkit-user-select:none;
}

.dexm-objective::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:999px;
  background:var(--dex);
  box-shadow:0 0 0 4px rgba(var(--dex-rgb),.09);
}

.dexm-objective-label{font-weight:700}
.dexm-objective-text{color:#496AAB}


/* ---------- Visual common ---------- */

.dexm-visual{
  position:relative;
  min-height:276px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  overflow:hidden;
  isolation:isolate;
  padding:20px;
  border:1px solid #DFE5EF;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 54px -48px rgba(11,18,32,.28);
}

.dexm-visual::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,18,32,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,18,32,.015) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.34),transparent 82%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.34),transparent 82%);
}

/* Carte très légère dans les visuels Méthode :
   on évite les cases blanches plates sans nuire à la lecture. */
.dexm-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

  background-image:var(--dex-method-map,none);
  background-repeat:no-repeat;
  background-position:center 46%;
  background-size:760px auto;

  opacity:.065;

  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 18%,
    #000 82%,
    transparent 100%
  );

  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 18%,
    #000 82%,
    transparent 100%
  );
}


.dexm-visual-top{
  position:relative;
  z-index:5;
  min-height:27px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(11,18,32,.075);
}

.dexm-visual-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#747F90;
  font-family:var(--font-display);
  font-size:8px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.dexm-visual-label::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--schema-accent,var(--dex));
}

.dexm-visual-state{
  color:var(--schema-accent,var(--dex));
  font-family:var(--font-display);
  font-size:7.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.dexm-visual-copy{
  position:relative;
  z-index:5;
  max-width:320px;
  margin:9px 0 0;
  padding-top:10px;
  border-top:1px solid rgba(11,18,32,.06);
  color:#687486;
  font-family:var(--font-body);
  font-size:11px;
  line-height:1.5;
}

.dexm-progress{
  display:none;
}

.dexm-progress span{
  display:none;
}


/* ---------- Diagnostic : audit board ---------- */

.visual-diagnostic{
  --schema-accent:var(--dex);
  background:linear-gradient(145deg,#FCFDFF 0%,#F6F9FE 100%);
}

.dexm-audit-board{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(145px,.72fr);
  gap:14px;
  align-items:stretch;
  margin-top:14px;
}

.dexm-audit-list{
  display:grid;
  gap:7px;
}

.dexm-audit-row{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:8px 10px;
  border:1px solid #E2E8F1;
  border-radius:11px;
  background:rgba(255,255,255,.92);
}

.dexm-audit-row.is-focus{
  border-color:rgba(var(--dex-rgb),.28);
  box-shadow:0 12px 28px -26px rgba(var(--dex-rgb),.65);
}

.dexm-audit-num{
  color:#A0ABC0;
  font-family:var(--font-display);
  font-size:8px;
  font-weight:700;
}

.dexm-audit-row strong{
  display:block;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:9px;
  line-height:1.25;
  font-weight:700;
}

.dexm-audit-row div > span{
  display:block;
  margin-top:2px;
  color:#7E899A;
  font-family:var(--font-body);
  font-size:7.5px;
  line-height:1.35;
}

.dexm-audit-status{
  color:#7D889A;
  font-family:var(--font-body);
  font-size:7px;
  font-weight:700;
  white-space:nowrap;
}

.dexm-audit-status.is-ok{color:#5F856F}
.dexm-audit-status.is-alert{color:var(--dex)}

.dexm-audit-note{
  align-self:stretch;
  padding:13px;
  border:1px solid rgba(var(--dex-rgb),.18);
  border-radius:14px;
  background:#fff;
}

.dexm-audit-note-label{
  color:var(--dex);
  font-family:var(--font-display);
  font-size:6.8px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dexm-audit-note strong{
  display:block;
  margin-top:8px;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:10px;
  line-height:1.35;
}

.dexm-audit-note p{
  margin:7px 0 0;
  color:#7A8596;
  font-family:var(--font-body);
  font-size:7.3px;
  line-height:1.45;
}


/* ---------- Priorisation : ordered backlog ---------- */

.visual-priority{
  --schema-accent:#7866D8;
  background:linear-gradient(145deg,#FDFBFF 0%,#F8F6FF 100%);
}

.dexm-priority-board{
  position:relative;
  z-index:3;
  margin-top:14px;
}

.dexm-priority-queue{
  display:grid;
  gap:7px;
}

.dexm-priority-card{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:8px 10px;
  border:1px solid #E5E1F2;
  border-radius:11px;
  background:rgba(255,255,255,.94);
}

.dexm-priority-card.is-now{
  border-color:rgba(var(--dex-rgb),.26);
  box-shadow:0 12px 28px -26px rgba(var(--dex-rgb),.55);
}

.dexm-priority-rank{
  color:#9B94AE;
  font-family:var(--font-display);
  font-size:8px;
  font-weight:700;
}

.dexm-priority-card strong{
  display:block;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:9px;
  line-height:1.25;
}

.dexm-priority-card div > span{
  display:block;
  margin-top:2px;
  color:#858094;
  font-family:var(--font-body);
  font-size:7.3px;
  line-height:1.35;
}

.dexm-priority-chip{
  padding:4px 7px;
  border:1px solid #E5E1F2;
  border-radius:999px;
  color:#80769C;
  background:#FAF8FF;
  font-family:var(--font-body);
  font-size:6.6px;
  font-weight:700;
  white-space:nowrap;
}

.dexm-priority-card.is-now .dexm-priority-chip{
  border-color:rgba(var(--dex-rgb),.18);
  background:rgba(var(--dex-rgb),.05);
  color:var(--dex);
}

.dexm-priority-rule{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:8px 10px;
  border-top:1px solid #E8E3F3;
  color:#807A91;
  font-family:var(--font-body);
  font-size:7px;
}

.dexm-priority-rule strong{
  color:#625B75;
  font-size:7.3px;
}


/* ---------- Activation : handoff workflow ---------- */

.visual-execution{
  --schema-accent:#5B9872;
  background:linear-gradient(145deg,#FCFEFC 0%,#F4F9F5 100%);
}

.dexm-activation-board{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);
  align-items:center;
  gap:7px;
  margin-top:18px;
}

.dexm-activation-lane{
  min-height:135px;
  padding:11px;
  border:1px solid #DDE9E1;
  border-radius:13px;
  background:rgba(255,255,255,.94);
}

.dexm-activation-lane.is-core{
  border-color:rgba(var(--dex-rgb),.20);
}

.dexm-activation-lane-label{
  display:block;
  margin-bottom:9px;
  color:#7D8898;
  font-family:var(--font-display);
  font-size:6.8px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dexm-activation-step{
  margin-top:6px;
  padding:8px 9px;
  border:1px solid #E2E8E4;
  border-radius:9px;
  background:#fff;
  color:#526359;
  font-family:var(--font-display);
  font-size:8px;
  font-weight:650;
}

.dexm-activation-step.is-strong{
  border-color:rgba(var(--dex-rgb),.18);
  color:var(--dex);
}

.dexm-activation-handoff{
  color:#90A0B4;
  font-family:var(--font-display);
  font-size:15px;
  text-align:center;
}

.dexm-activation-output{
  display:flex;
  min-height:87px;
  flex-direction:column;
  justify-content:center;
}

.dexm-activation-output strong{
  color:var(--ink);
  font-family:var(--font-display);
  font-size:9.5px;
  line-height:1.3;
}

.dexm-activation-output span{
  display:block;
  margin-top:5px;
  color:#7D8898;
  font-family:var(--font-body);
  font-size:7.3px;
  line-height:1.45;
}


/* ---------- Pilotage : decision ritual, no chart ---------- */

.visual-pilotage{
  --schema-accent:#7866D8;
  background:linear-gradient(145deg,#FDFBFF 0%,#F8F6FF 100%);
}

.dexm-pilot-board{
  position:relative;
  z-index:3;
  margin-top:14px;
}

.dexm-pilot-cycle{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);
  align-items:stretch;
  gap:6px;
}

.dexm-pilot-step{
  min-height:92px;
  padding:11px;
  border:1px solid #E4DEF2;
  border-radius:12px;
  background:rgba(255,255,255,.94);
}

.dexm-pilot-step.is-decision{
  border-color:rgba(var(--dex-rgb),.24);
}

.dexm-pilot-step > span{
  color:#9B94AE;
  font-family:var(--font-display);
  font-size:7px;
  font-weight:700;
}

.dexm-pilot-step strong{
  display:block;
  margin-top:9px;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:9.5px;
  line-height:1.25;
}

.dexm-pilot-step small{
  display:block;
  margin-top:5px;
  color:#817A91;
  font-family:var(--font-body);
  font-size:7px;
  line-height:1.4;
}

.dexm-pilot-arrow{
  display:grid;
  place-items:center;
  color:#A39CB6;
  font-family:var(--font-display);
  font-size:13px;
}

.dexm-pilot-log{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:9px;
}

.dexm-pilot-log-row{
  padding:8px 10px;
  border-top:1px solid #E6E1F1;
}

.dexm-pilot-log-label{
  display:block;
  color:#9A93AA;
  font-family:var(--font-display);
  font-size:6.5px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.dexm-pilot-log-row strong{
  display:block;
  margin-top:4px;
  color:#625B75;
  font-family:var(--font-body);
  font-size:7.4px;
  line-height:1.4;
}


/* =========================================================
   02 — PARTENAIRES / STACK
   ========================================================= */

.dex-partners{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#fff;
  color:var(--ink);
}

.dex-partners::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:var(--dex-partners-map,none);
  background-repeat:no-repeat;
  background-position:center 55%;
  background-size:min(1580px,118vw) auto;
  opacity:.065;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.88) 20%,rgba(0,0,0,.88) 82%,rgba(0,0,0,.12));
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.88) 20%,rgba(0,0,0,.88) 82%,rgba(0,0,0,.12));
}

.dex-partners *{box-sizing:border-box}

.dexps-stack-intro{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.65fr);
  gap:44px;
  align-items:end;
  margin-bottom:24px;
}

.dexps-stack-title{
  max-width:650px;
}

.dexps-stack-title span{
  color:var(--dex);
}

.dexps-stack-note{
  max-width:340px;
  justify-self:end;
}

.dexps-stack{position:relative}

.dexps-marquee-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(218,225,235,.95);
  border-radius:16px;
  background:rgba(255,255,255,.96);
}

.dexps-marquee-shell::before,
.dexps-marquee-shell::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  z-index:3;
  pointer-events:none;
}

.dexps-marquee-shell::before{
  left:0;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
}

.dexps-marquee-shell::after{
  right:0;
  background:linear-gradient(-90deg,#fff,rgba(255,255,255,0));
}

.dexps-marquee{
  display:flex;
  width:max-content;
  animation:dexpsMove 34s linear infinite;
}

.dexps-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  padding:0 6px;
}

.dexps-tool{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:66px;
  padding:0 18px;
  color:#4D596C;
  font-family:var(--font-body);
  font-size:12.5px;
  line-height:1.2;
  font-weight:600;
  white-space:nowrap;
  cursor:default;
  user-select:none;
  -webkit-user-select:none;
}

.dexps-tool::after{
  content:"";
  width:4px;
  height:4px;
  margin-left:8px;
  border-radius:50%;
  background:rgba(var(--dex-rgb),.55);
}

.dexps-tool-logo{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:grid;
  place-items:center;
}

.dexps-tool-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:22px;
  max-height:22px;
  object-fit:contain;
}

.dexps-tool-name{
  color:#364154;
  font-weight:600;
}

@keyframes dexpsMove{
  to{transform:translateX(-50%)}
}

.dexps-proofline{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px 22px;
  margin-top:18px;
  color:#687486;
  font-family:var(--font-body);
  font-size:10.5px;
  line-height:1.4;
  font-weight:500;
}

.dexps-proof{
  display:flex;
  align-items:center;
  gap:7px;
  cursor:default;
  user-select:none;
  -webkit-user-select:none;
}

.dexps-proof::before{
  content:"";
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:var(--dex);
}


/* =========================================================
   03 — FAQ
   ========================================================= */

.dex-faq{
  position:relative;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
}

.dex-faq *{box-sizing:border-box}

.dex-faq::before,
.dex-faq::after{
  display:none !important;
  content:none !important;
}

.dexfaq-shell{
  position:relative;
  z-index:2;
}

.dexfaq-grid{
  display:grid;
  grid-template-columns:minmax(0,360px) minmax(0,1fr);
  gap:88px;
  align-items:start;
}

.dexfaq-left{
  max-width:360px;
}

.dexfaq-title{
  max-width:360px;
}

.dexfaq-title-blue{
  color:var(--dex);
}

.dexfaq-intro{
  max-width:330px;
  margin-top:18px;
}

.dexfaq-list{
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.74);
}

.dexfaq-item{
  position:relative;
  border-bottom:1px solid var(--line);
}

.dexfaq-question{
  width:100%;
  min-height:72px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 34px;
  align-items:center;
  gap:14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  appearance:none;
}

.dexfaq-num{
  color:var(--dex);
  font-family:var(--font-editorial);
  font-size:9.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:.10em;
}

.dexfaq-question-text{
  color:var(--ink);
  font-family:var(--font-editorial);
  font-size:14.5px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:-.016em;
  transition:color .2s ease;
}

.dexfaq-icon{
  position:relative;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #DCE3EE;
  border-radius:50%;
  color:#768196;
  transition:
    border-color .25s ease,
    color .25s ease,
    transform .35s cubic-bezier(.16,1,.3,1),
    background .25s ease;
}

.dexfaq-icon::before,
.dexfaq-icon::after{
  content:"";
  position:absolute;
  width:11px;
  height:1.5px;
  border-radius:10px;
  background:currentColor;
}

.dexfaq-icon::after{
  transform:rotate(90deg);
}

.dexfaq-question:hover,
.dexfaq-question:focus,
.dexfaq-question:focus-visible,
.dexfaq-question:active{
  background:transparent !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}

.dexfaq-question:hover .dexfaq-question-text,
.dexfaq-question:focus-visible .dexfaq-question-text{
  color:var(--dex);
}

.dexfaq-question:hover .dexfaq-icon,
.dexfaq-question:focus-visible .dexfaq-icon{
  border-color:#B9CDF9;
  color:var(--dex);
  background:#fff;
}

.dexfaq-question:focus-visible{
  outline:2px solid rgba(var(--dex-rgb),.35);
  outline-offset:5px;
}

.dexfaq-answer-wrap{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .42s cubic-bezier(.16,1,.3,1);
}

.dexfaq-answer-inner{
  overflow:hidden;
}

.dexfaq-answer{
  position:relative;
  max-width:620px;
  margin:0 40px 0 52px;
  padding:0 0 22px 0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:13.2px;
  line-height:1.68;
}

.dexfaq-answer::before{
  display:none !important;
  content:none !important;
}

.dexfaq-answer > *:first-child{margin-top:0}
.dexfaq-answer > *:last-child{margin-bottom:0}
.dexfaq-answer p{margin:0 0 12px}

.dexfaq-answer ul,
.dexfaq-answer ol{
  margin:10px 0 14px;
  padding-left:20px;
}

.dexfaq-answer li + li{margin-top:5px}

.dexfaq-answer strong{
  color:var(--ink);
  font-weight:650;
}

.dexfaq-answer a{
  color:var(--dex);
  text-decoration:underline;
  text-decoration-color:rgba(var(--dex-rgb),.28);
  text-underline-offset:3px;
}

.dexfaq-answer a:hover{
  text-decoration-color:var(--dex);
}

.dexfaq-item.is-open .dexfaq-answer-wrap{
  grid-template-rows:1fr;
}

.dexfaq-item.is-open .dexfaq-question-text{
  color:var(--dex);
}

.dexfaq-item.is-open .dexfaq-icon{
  border-color:rgba(var(--dex-rgb),.22);
  color:var(--dex);
  background:#F6F9FF;
  transform:rotate(45deg);
}




/* Les contenus restent au-dessus de la map des cases Méthode. */
.dexm-visual-top,
.dexm-audit-board,
.dexm-priority-board,
.dexm-activation-board,
.dexm-pilot-board,
.dexm-visual-copy{
  position:relative;
  z-index:2;
}


/* =========================================================
   04 — RESPONSIVE
   ========================================================= */

@media(max-width:980px){

  .dexps-stack-intro,
  .dexfaq-grid,
  .dexm-head{
    grid-template-columns:1fr;
    gap:16px;
  }

  .dexps-stack-note,
  .dexfaq-left,
  .dexfaq-intro,
  .dexm-intro{
    justify-self:start;
    max-width:560px;
  }

  .dexfaq-grid{
    gap:42px;
  }

  .dex-faq::before{
    right:-42%;
    top:220px;
    opacity:.16;
  }
}

@media(max-width:900px){

  .dex-method{
    overflow:hidden;
  }

  .dex-method::before{
    background-size:1280px auto;
    background-position:center 4%;
    opacity:.07;
  }

  .dexm-head{
    margin-bottom:26px;
  }

  .dexm-scroll{
    height:auto;
  }

  .dexm-sticky{
    position:static;
  }

  .dexm-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    overflow:visible;
    background:rgba(255,255,255,.70);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .dexm-tab{
    width:100%;
    min-width:0;
    min-height:62px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    padding:11px 13px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }

  .dexm-tab:nth-child(2n){border-right:0}
  .dexm-tab:nth-last-child(-n+2){border-bottom:0}

  .dexm-tab::after{
    left:11px;
    right:11px;
    top:auto;
    bottom:-1px;
    width:auto;
    height:2px;
    transform:scaleX(0);
    transform-origin:left center;
  }

  .dexm-tab.is-active::after{
    transform:scaleX(1);
  }

  .dexm-phase{
    margin:0;
    font-size:7.4px;
  }

  .dexm-tab-title{
    max-width:100%;
    font-size:12px;
    line-height:1.2;
    letter-spacing:-.018em;
    white-space:normal;
  }

  .dexm-stage{
    min-height:auto;
  }

  .dexm-panel{
    position:relative;
    display:none;
    grid-template-columns:1fr;
    gap:24px;
    padding:28px 0 34px;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .dexm-panel.is-active{
    display:grid;
  }

  .dexm-copy,
  .dexm-panel h3,
  .dexm-desc,
  .dexm-points,
  .dexm-objective,
  .dexm-visual{
    min-width:0;
    max-width:100%;
  }

  .dexm-visual{
    min-height:250px;
    width:100%;
  }
}

@media(max-width:640px){

  .dexm-head,
  .dexps-stack-intro{
    margin-bottom:22px;
  }

  .dexm-points{
    grid-template-columns:1fr;
  }

  .dexm-objective{
    border-radius:16px;
    white-space:normal;
  }

  .dexm-tab{
    min-height:58px;
    padding:10px 11px;
  }

  .dexm-phase{font-size:7px}
  .dexm-tab-title{font-size:11.5px}

  .dexm-panel h3{
    max-width:100%;
    min-height:0;
    margin-bottom:13px;
    font-size:1.12rem;
    line-height:1.17;
    letter-spacing:-.028em;
  }

  .dexm-desc{
    margin-bottom:20px;
    font-size:13px;
    line-height:1.6;
  }

  .dexm-panel{
    padding:22px 0 30px;
  }

  .dexm-visual{
    min-height:230px;
    padding:16px;
    border-radius:17px;
  }

  .dexm-audit-board{
    grid-template-columns:1fr;
  }

  .dexm-activation-board,
  .dexm-pilot-cycle{
    grid-template-columns:1fr;
  }

  .dexm-activation-handoff,
  .dexm-pilot-arrow{
    transform:rotate(90deg);
    min-height:16px;
  }

  .dexm-pilot-log{
    grid-template-columns:1fr;
  }

  .dexps-tool{
    min-height:60px;
    padding:0 16px;
    font-size:12px;
  }

  .dexps-tool-logo{
    width:24px;
    height:24px;
    flex-basis:24px;
  }

  .dexps-tool-logo img{
    max-width:20px;
    max-height:20px;
  }

  .dexps-marquee-shell::before,
  .dexps-marquee-shell::after{
    width:48px;
  }

  .dexfaq-grid{
    gap:32px;
  }

  .dexfaq-title{
    max-width:340px;
  }

  .dexfaq-intro{
    margin-top:16px;
  }

  .dexfaq-question{
    min-height:68px;
    grid-template-columns:31px minmax(0,1fr) 30px;
    gap:9px;
  }

  .dexfaq-question-text{
    font-size:13.5px;
  }

  .dexfaq-icon{
    width:28px;
    height:28px;
  }

  .dexfaq-answer{
    margin:0 25px 0 40px;
    padding:0 0 20px 0;
    font-size:12.8px;
    line-height:1.65;
  }

  
}


/* =========================================================
   05 — REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .dexm-kicker::before,
  .dexm-tab::after,
  .dexm-panel,
  .dexm-progress span,
  .dexps-marquee,
  .dexfaq-answer-wrap,
  .dexfaq-icon,
  .dexfaq-question-text{
    transition:none !important;
    animation:none !important;
  }
}

/* =========================================================
   CORRECTIFS DE CASCADE — FAQ
   ========================================================= */

.dex-faq .dexfaq-question,
.dex-faq .dexfaq-question:hover,
.dex-faq .dexfaq-question:focus,
.dex-faq .dexfaq-question:focus-visible,
.dex-faq .dexfaq-question:active{
  background:transparent !important;
  background-color:transparent !important;
  color:var(--ink) !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

.dex-faq .dexfaq-question:hover .dexfaq-question-text,
.dex-faq .dexfaq-question:focus-visible .dexfaq-question-text,
.dex-faq .dexfaq-item.is-open .dexfaq-question-text{
  color:var(--dex) !important;
}



