/* Source: ic-layout-harmonisation */
/* =========================================================
   LAYOUT HARMONISATION — margins, widths, vertical rhythm
   ========================================================= */
:root{
  --ic-page-pad:clamp(28px,4vw,56px);
  --ic-container-xl:1500px;
  --ic-container-lg:1280px;
  --ic-container-md:760px;
  --ic-container-sm:560px;
  --ic-section-space:clamp(100px,9vw,140px);
  --ic-section-space-sm:clamp(76px,7vw,100px);
}

/* Global horizontal rhythm */
.nav,
.hero,
section,
.intro,
.process,
.quote,
.footer-redesign-inner,
.footer,
.impact-note{
  padding-left:var(--ic-page-pad) !important;
  padding-right:var(--ic-page-pad) !important;
}

/* Global section rhythm */
section{
  padding-top:var(--ic-section-space) !important;
  padding-bottom:var(--ic-section-space) !important;
}

/* Hero */
.hero{
  padding-top:clamp(44px,5vw,72px) !important;
  padding-bottom:clamp(42px,5vw,64px) !important;
}

.hero h1{
  max-width:var(--ic-container-xl) !important;
}

.hero-bottom{
  max-width:var(--ic-container-lg) !important;
  width:100% !important;
  margin-top:clamp(48px,6vw,72px) !important;
}

.hero-copy{
  max-width:var(--ic-container-md) !important;
}

/* Editorial intro */
.intro{
  padding-top:var(--ic-section-space) !important;
  padding-bottom:var(--ic-section-space) !important;
}

.editorial-content{
  max-width:var(--ic-container-lg) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr) !important;
}

.editorial-right,
.editorial-title{
  width:100% !important;
  max-width:var(--ic-container-md) !important;
}

.editorial-jump{
  left:calc(var(--ic-page-pad) + min(42vw, 540px)) !important;
}

/* Reusable text widths */
.body,
.process-title,
.process-list,
.quote p,
.history-panel h2,
.history-lead,
.history-text{
  max-width:var(--ic-container-md) !important;
}

.clean-copy,
.process-item p,
.service p{
  max-width:var(--ic-container-sm) !important;
}

.founder-content{
  max-width:var(--ic-container-md) !important;
}

/* Premium section blocks */
.image-stage{
  padding:var(--ic-section-space-sm) var(--ic-page-pad) !important;
}

.stage-card{
  width:100% !important;
  max-width:var(--ic-container-lg) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(48px,6vw,86px) !important;
}

.founder-card,
.process-inner,
.quote-inner,
.cards{
  max-width:var(--ic-container-lg) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  width:100% !important;
}

/* Services alignment */
.services{
  padding-top:var(--ic-section-space-sm) !important;
  padding-bottom:var(--ic-section-space-sm) !important;
}

.service{
  max-width:var(--ic-container-lg) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:150px minmax(280px,1fr) minmax(280px,var(--ic-container-sm)) !important;
  padding-top:clamp(34px,4vw,48px) !important;
  padding-bottom:clamp(34px,4vw,48px) !important;
}

/* Impact: keep carousel full-width but align labels/notes */
.impact{
  padding-top:var(--ic-section-space) !important;
  padding-bottom:var(--ic-section-space) !important;
}

.impact::before{
  left:var(--ic-page-pad) !important;
}

.impact-note{
  max-width:var(--ic-container-lg) !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Process */
.process{
  padding-top:var(--ic-section-space) !important;
  padding-bottom:var(--ic-section-space) !important;
}

.process-inner{
  grid-template-columns:minmax(0,1fr) minmax(360px,640px) !important;
  gap:clamp(56px,7vw,96px) !important;
}

.process-title{
  margin-bottom:clamp(44px,5vw,72px) !important;
}

.process-footer{
  max-width:var(--ic-container-lg) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-top:clamp(64px,7vw,96px) !important;
}

/* Quote */
.quote{
  padding-top:var(--ic-section-space) !important;
  padding-bottom:var(--ic-section-space) !important;
}

.quote-inner{
  max-width:1180px !important;
}

.quote-meta{
  margin-top:clamp(50px,6vw,86px) !important;
}

/* Projects/cards */
.cards{
  margin-top:clamp(48px,5vw,64px) !important;
}

/* Footer alignment */
.footer-redesign-inner{
  max-width:var(--ic-container-xl) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile rhythm */
@media(max-width:820px){
  :root{
    --ic-page-pad:22px;
    --ic-section-space:88px;
    --ic-section-space-sm:72px;
  }

  .hero{
    min-height:auto !important;
    padding-top:38px !important;
    padding-bottom:46px !important;
  }

  .hero-bottom,
  .editorial-content,
  .founder-card,
  .process-inner,
  .quote-meta{
    grid-template-columns:1fr !important;
  }

  .editorial-jump{
    left:auto !important;
  }

  .stage-card{
    padding:36px !important;
  }

  .service{
    grid-template-columns:78px 1fr !important;
    gap:18px !important;
  }

  .service p{
    max-width:none !important;
  }

  .process-visual{
    min-height:360px !important;
  }
}

/* Source: ic-service-overlap-fix */
/* FIX — services section: prevent title/paragraph overlap and keep a clean editorial axis */
.service{
  grid-template-columns:150px minmax(0,1fr) !important;
  column-gap:clamp(34px,5vw,72px) !important;
  row-gap:clamp(10px,1.4vw,18px) !important;
  align-items:center !important;
}
.service-thumb{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
}
.service h2{
  grid-column:2 !important;
  grid-row:1 !important;
  max-width:100% !important;
  min-width:0 !important;
  font-size:clamp(54px,7.2vw,118px) !important;
  line-height:.86 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.service p{
  grid-column:2 !important;
  grid-row:2 !important;
  max-width:var(--ic-container-md) !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.2 !important;
  transform:none !important;
}
@media(max-width:820px){
  .service{
    grid-template-columns:78px minmax(0,1fr) !important;
    column-gap:18px !important;
  }
  .service h2{
    font-size:clamp(38px,13vw,76px) !important;
  }
}

/* Source: ic-final-service-copy-layout */
/* FINAL VERIFIED PATCH — service copy + layout, aligned to Index logic */
.services{
  padding-top:clamp(96px,10vw,150px)!important;
  padding-bottom:clamp(96px,10vw,150px)!important;
}
.services > .label{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.service{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  grid-template-areas:"thumb title" "thumb copy"!important;
  align-items:center!important;
  column-gap:clamp(44px,7vw,92px)!important;
  row-gap:clamp(18px,2.2vw,30px)!important;
  min-height:clamp(250px,28vw,360px)!important;
  padding:clamp(52px,6.4vw,92px) 0!important;
  overflow:visible!important;
}
.service-thumb{
  grid-area:thumb!important;
  width:150px!important;
  height:150px!important;
  align-self:center!important;
  overflow:hidden!important;
  border-radius:0!important;
}
.service-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  font-size:0!important;
  color:transparent!important;
  text-indent:-9999px!important;
}
.service h2{
  grid-area:title!important;
  margin:0!important;
  align-self:end!important;
  justify-self:start!important;
  max-width:100%!important;
  font-size:clamp(62px,8.5vw,146px)!important;
  line-height:.82!important;
  letter-spacing:-.085em!important;
}
.service p{
  grid-area:copy!important;
  align-self:start!important;
  justify-self:start!important;
  margin:0!important;
  max-width:640px!important;
  font-size:clamp(19px,1.5vw,26px)!important;
  line-height:1.35!important;
  letter-spacing:-.025em!important;
}
@media(max-width:820px){
  .services{padding-top:72px!important;padding-bottom:72px!important;}
  .service{
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-areas:"thumb title" "thumb copy"!important;
    column-gap:20px!important;
    row-gap:12px!important;
    min-height:0!important;
    padding:34px 0!important;
  }
  .service-thumb{width:76px!important;height:76px!important;}
  .service h2{font-size:clamp(40px,13vw,78px)!important;line-height:.86!important;}
  .service p{max-width:none!important;font-size:18px!important;line-height:1.32!important;}
}

/* Source: ic-final-dimension-tuning */
/* FINAL DIMENSION TUNING — compact, closer to Index proportions */
.services{
  padding-top:clamp(68px,7vw,108px)!important;
  padding-bottom:clamp(76px,8vw,116px)!important;
}
.services > .label{
  display:block!important;
  margin:0 0 clamp(28px,3.4vw,46px)!important;
  padding:0 0 8px!important;
  border-bottom:1px solid rgba(17,17,17,.55)!important;
}
.service{
  grid-template-columns:154px minmax(0,1fr)!important;
  column-gap:clamp(34px,5.5vw,76px)!important;
  row-gap:clamp(10px,1.35vw,18px)!important;
  min-height:clamp(206px,19vw,282px)!important;
  padding:clamp(34px,4.2vw,58px) 0!important;
}
.service-thumb{
  width:138px!important;
  height:138px!important;
}
.service h2{
  font-size:clamp(56px,7.25vw,118px)!important;
  line-height:.86!important;
  letter-spacing:-.078em!important;
}
.service p{
  max-width:620px!important;
  font-size:clamp(18px,1.28vw,22px)!important;
  line-height:1.3!important;
  letter-spacing:-.018em!important;
}
.service:hover{
  transform:none!important;
}
.floating-talk{
  bottom:clamp(28px,4vw,48px)!important;
}
@media(max-width:820px){
  .services{padding-top:52px!important;padding-bottom:66px!important;}
  .services > .label{margin-bottom:22px!important;}
  .service{
    grid-template-columns:76px minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:10px!important;
    min-height:0!important;
    padding:28px 0!important;
  }
  .service-thumb{width:70px!important;height:70px!important;}
  .service h2{font-size:clamp(38px,12vw,72px)!important;line-height:.9!important;}
  .service p{font-size:17px!important;line-height:1.3!important;}
}

/* Source: ic-remove-services-heading-line */
/* Remove the horizontal rule directly under "Ce que nous créons" / "What we build" */
.services > .label + .service,
.services > .service:first-of-type{
  border-top:0 !important;
}
.services > .label + .service::before,
.services > .service:first-of-type::before{
  display:none !important;
  content:none !important;
}

/* Source: inline-6 */
/* === ACCESSIBILITY PATCH — focus, contrast, keyboard navigation === */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #ccff00!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 6px rgba(17,17,17,.22)!important;
  border-radius:10px;
}
.pill:focus-visible,
.menu-toggle:focus-visible,
.news-tool-trigger:focus-visible,
.news-tool-close:focus-visible,
.floating-talk:focus-visible{
  background:#ccff00!important;
  color:#111!important;
  border-color:#111!important;
}
.editorial-title,
.editorial-title strong{color:rgba(244,239,231,.80)!important}
.history-lead{color:rgba(246,242,235,.76)!important}
.history-text{color:rgba(246,242,235,.72)!important}
.news-card p{color:rgba(246,242,235,.78)!important}
.news-tool-tabs button{color:#f6f2eb!important;border-color:rgba(246,242,235,.34)!important}
.news-tool-tabs button.is-active{background:#f6f2eb!important;color:#111!important}
.footer-redesign .footer-col a:focus-visible,
.footer-redesign-bottom a:focus-visible{color:#111!important;background:#ccff00!important}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* Source: footer-logo-symbol-sync */
/* Footer logo knot synced with navbar logo source */
.footer-redesign .footer-logo{
  width:clamp(90px,10vw,150px) !important;
  max-width:150px !important;
  min-width:90px !important;
}
.footer-redesign .footer-logo-img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}

/* Source: phase2-what-we-build-navigation-only */
/* =========================================================
   PHASE 2 — WHAT WE BUILD — ÉTAPE 1
   Navigation et menu uniquement.
   Le contenu, le hero, les couleurs de sections et le footer
   ne sont pas modifiés.
   ========================================================= */

:root{
  --wwb-acid:#ccff00;
  --wwb-ink:#111111;
  --wwb-violet:#d7b7ff;
  --wwb-violet-soft:rgba(215,183,255,.94);
  --wwb-ease:cubic-bezier(.16,1,.3,1);
}

/* Navigation : conserver l'identité violette de la page */
.nav{
  background:var(--wwb-violet) !important;
  color:var(--wwb-ink) !important;
  border-bottom:1px solid rgba(17,17,17,.14) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}

/* Bouton Menu */
.nav .menu-toggle{
  color:var(--wwb-ink) !important;
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(17,17,17,.42) !important;
  box-shadow:0 8px 24px rgba(17,17,17,.05) !important;
  transition:
    transform .28s var(--wwb-ease),
    background .25s ease,
    color .25s ease,
    border-color .25s ease !important;
}

.nav .menu-toggle:hover,
.nav .menu-toggle:focus-visible,
body.menu-open .nav .menu-toggle{
  background:var(--wwb-acid) !important;
  color:#050505 !important;
  border-color:var(--wwb-acid) !important;
  transform:translateY(-2px) !important;
}

/* Croix nette */
.nav .menu-lines::before,
.nav .menu-lines::after{
  background:currentColor !important;
  transform-origin:center !important;
}

body.menu-open .nav .menu-lines{
  transform:translate(-1px,-1px) !important;
}

body.menu-open .nav .menu-lines::before{
  top:5px !important;
  transform:rotate(45deg) !important;
}

body.menu-open .nav .menu-lines::after{
  bottom:auto !important;
  top:5px !important;
  transform:rotate(-45deg) !important;
}

/* Menu violet clair premium, adapté à cette page */
.nav .section-menu{
  width:min(360px,calc(100vw - 36px)) !important;
  min-width:0 !important;
  padding:12px !important;
  gap:6px !important;

  background:var(--wwb-violet-soft) !important;
  color:var(--wwb-ink) !important;
  border:1px solid rgba(17,17,17,.12) !important;
  border-radius:24px !important;

  box-shadow:
    0 30px 90px rgba(42,20,62,.18),
    0 10px 30px rgba(17,17,17,.08) !important;

  backdrop-filter:blur(24px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.08) !important;
}

/* Liens lisibles et cohérents */
.nav .section-menu .pill{
  min-height:56px !important;
  padding:0 18px !important;
  border:1px solid transparent !important;
  border-radius:15px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  background:transparent !important;
  color:var(--wwb-ink) !important;

  font-family:"Advent Pro",Arial,sans-serif !important;
  font-size:clamp(19px,1.45vw,23px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;

  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;

  transition:
    background .25s ease,
    color .25s ease,
    transform .28s var(--wwb-ease),
    border-color .25s ease !important;
}

/* Aucune flèche */
.nav .section-menu .pill::after{
  content:none !important;
  display:none !important;
}

/* Etat actif et hover */
.nav .section-menu .pill[aria-current="page"]{
  background:var(--wwb-acid) !important;
  color:#050505 !important;
  border-color:var(--wwb-acid) !important;
}

.nav .section-menu .pill:hover,
.nav .section-menu .pill:focus-visible{
  background:var(--wwb-acid) !important;
  color:#050505 !important;
  border-color:var(--wwb-acid) !important;
  transform:translateX(4px) !important;
}

/* Séparations légères */
.nav .section-menu .pill + .pill{
  position:relative !important;
}

.nav .section-menu .pill + .pill::before{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:-3px !important;
  height:1px !important;
  background:rgba(17,17,17,.08) !important;
  pointer-events:none !important;
}

.nav .section-menu .pill:hover::before,
.nav .section-menu .pill:focus-visible::before,
.nav .section-menu .pill[aria-current="page"]::before{
  opacity:0 !important;
}

/* Langues et menu trois points : même logique d'interaction */
.nav .ic-lang-switcher button:hover,
.nav .ic-lang-switcher button:focus-visible,
.nav .ic-lang-switcher button.is-active,
.nav .news-tool-trigger:hover,
.nav .news-tool-trigger:focus-visible{
  background:var(--wwb-acid) !important;
  color:#050505 !important;
  border-color:var(--wwb-acid) !important;
}

/* Focus clavier */
.nav a:focus-visible,
.nav button:focus-visible{
  outline:2px solid var(--wwb-acid) !important;
  outline-offset:3px !important;
}

@media(max-width:820px){
  .nav .section-menu{
    top:76px !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* Source: ic-index-reference-harmonisation */
html,body,*{cursor:none!important;}
#fluo-cursor{
position:fixed;width:7px;height:7px;border-radius:50%;
background:#d9ff00;pointer-events:none;z-index:2147483647;
transform:translate(-50%,-50%);
}
.project-cursor,.cursor,.custom-cursor,.cursor-ring,.cursor-dot{display:none!important;}


.ic-fluo-cursor{
  box-shadow:none !important;
  filter:none !important;
}
.ic-fluo-cursor::before,
.ic-fluo-cursor::after{
  box-shadow:none !important;
  filter:none !important;
}
.project-cursor,
.project-cursor-core,
.project-cursor-ring,
.cursor-ring,
.cursor-halo,
.custom-cursor-ring{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* RÈGLE UNIQUE : le curseur système disparaît partout */
html, body, body *,
html *, body *::before, body *::after,
a, a *, button, button *,
[role="button"], [role="button"] *,
input, textarea, select, label,
[data-cursor], [data-cursor] *,
[class*="project"], [class*="project"] *,
[class*="card"], [class*="card"] *,
[class*="link"], [class*="link"] * {
  cursor: none !important;
}

/* Curseur Innovate : point jaune propre */
#cursor,
.cursor,
.custom-cursor,
.ic-fluo-cursor,
.project-cursor,
.project-cursor-core {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  border-radius: 50% !important;
  background: #d9ff00 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
  z-index: 2147483647 !important;
  transition: width .25s ease, height .25s ease, transform .25s ease, opacity .25s ease !important;
}

/* Suppression définitive des halos, anneaux et carrés */
.cursor-ring,
.cursor-halo,
.custom-cursor-ring,
.project-cursor-ring,
#cursor::before, #cursor::after,
.cursor::before, .cursor::after,
.custom-cursor::before, .custom-cursor::after,
.ic-fluo-cursor::before, .ic-fluo-cursor::after,
.project-cursor::before, .project-cursor::after,
.project-cursor-core::before, .project-cursor-core::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* MÊME RÈGLE PARTOUT AU SURVOL D'UN ÉLÉMENT CLIQUABLE :
   le point grossit légèrement, sans main système, sans halo. */
body.ic-cursor-hover #cursor,
body.ic-cursor-hover .cursor,
body.ic-cursor-hover .custom-cursor,
body.ic-cursor-hover .ic-fluo-cursor,
body.ic-cursor-hover .project-cursor,
body.ic-cursor-hover .project-cursor-core {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  background: #d9ff00 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Micro-hover visuel discret et homogène */
a, button, [role="button"],
.project-card, .card, .menu-toggle, .lang-switcher,
.logo, .chat-button, .nav-link, .footer a {
  transition: opacity .35s ease, transform .35s ease, background-color .35s ease, color .35s ease !important;
}

a:hover, button:hover, [role="button"]:hover,
.project-card:hover, .card:hover, .menu-toggle:hover, .lang-switcher:hover,
.logo:hover, .chat-button:hover, .nav-link:hover, .footer a:hover {
  opacity: .88 !important;
}


/* Animations premium discrètes et cohérentes */
:root{
  --ic-transition: 0.35s ease;
}

a, button, [role="button"],
.project-card, .card,
.menu-toggle, .lang-switcher,
.logo, .nav-link, .chat-button,
img, .section, section{
  transition:
    opacity var(--ic-transition),
    transform var(--ic-transition),
    color var(--ic-transition),
    background-color var(--ic-transition),
    border-color var(--ic-transition) !important;
}

/* Apparition douce au scroll */
.ic-reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.75s ease, transform 0.75s ease !important;
}

.ic-reveal.ic-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Micro-interactions homogènes */
.project-card:hover,
.card:hover{
  transform: translateY(-4px) !important;
}

a:hover,
button:hover,
[role="button"]:hover,
.nav-link:hover,
.menu-toggle:hover,
.lang-switcher:hover,
.chat-button:hover{
  opacity: 0.88 !important;
}

.logo:hover{
  transform: rotate(-2deg) scale(1.015) !important;
}

/* Respect accessibilité */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation: none !important;
    transition: none !important;
  }
  .ic-reveal{
    opacity: 1 !important;
  }
}


/* =========================================================
   INDEX — CLEAN MENU V2
   Original closed state preserved; refined open state only
   ========================================================= */

.menu-wrap{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  z-index:100001 !important;
}

/* CLOSED: preserve the visual language of the index */
.menu-toggle{
  min-width:100px !important;
  height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:0 16px !important;
  border:1px solid rgba(255,255,255,.38) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  cursor:pointer !important;
  transition:
    background .65s cubic-bezier(.16,1,.3,1),
    color .45s ease,
    border-color .45s ease,
    transform .65s cubic-bezier(.16,1,.3,1),
    box-shadow .65s cubic-bezier(.16,1,.3,1) !important;
}

.menu-toggle > span{
  color:inherit !important;
  opacity:1 !important;
  visibility:visible !important;
}

.menu-toggle:hover{
  transform:translateY(-2px) !important;
  border-color:#ccff00 !important;
}

/* Hamburger / close icon */
.menu-lines{
  position:relative !important;
  width:16px !important;
  height:12px !important;
  display:inline-block !important;
  flex:0 0 16px !important;
  margin:0 !important;
}

.menu-lines::before,
.menu-lines::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  width:16px !important;
  height:1.5px !important;
  background:currentColor !important;
  transition:transform .7s cubic-bezier(.16,1,.3,1), top .7s cubic-bezier(.16,1,.3,1) !important;
}

.menu-lines::before{ top:2px !important; }
.menu-lines::after{ top:9px !important; }

/* OPEN BUTTON */
body.menu-open .menu-toggle{
  background:#ccff00 !important;
  color:#050505 !important;
  border-color:#ccff00 !important;
  box-shadow:0 14px 38px rgba(204,255,0,.16) !important;
}

body.menu-open .menu-lines::before{
  top:5px !important;
  transform:rotate(45deg) !important;
}

body.menu-open .menu-lines::after{
  top:5px !important;
  transform:rotate(-45deg) !important;
}

/* PANEL — dark, refined, integrated with Index */
.section-menu{
  position:absolute !important;
  top:calc(100% + 14px) !important;
  left:0 !important;
  width:320px !important;
  min-width:0 !important;
  padding:18px !important;
  display:grid !important;
  gap:4px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:20px !important;
  background:rgba(8,8,8,.94) !important;
  color:#fff !important;
  box-shadow:0 28px 80px rgba(0,0,0,.44) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-8px) scale(.985) !important;
  transform-origin:top left !important;
  transition:
    opacity .42s ease,
    visibility .42s ease,
    transform .72s cubic-bezier(.16,1,.3,1) !important;
}

body.menu-open .section-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}

/* LINKS */
.section-menu .pill{
  position:relative !important;
  width:100% !important;
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 48px 0 18px !important;
  border:0 !important;
  border-radius:14px !important;
  background:transparent !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  visibility:visible !important;
  transition:
    background .55s cubic-bezier(.16,1,.3,1),
    color .35s ease,
    transform .55s cubic-bezier(.16,1,.3,1) !important;
}

.section-menu .pill span{
  color:inherit !important;
  opacity:1 !important;
  visibility:visible !important;
}

.section-menu .pill::after{
  content:"↗" !important;
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translate(-4px,-50%) !important;
  color:#ccff00 !important;
  opacity:.65 !important;
  transition:opacity .35s ease, transform .55s cubic-bezier(.16,1,.3,1) !important;
}

.section-menu .pill:hover,
.section-menu .pill:focus-visible{
  background:rgba(204,255,0,.10) !important;
  color:#fff !important;
  transform:translateX(3px) !important;
  outline:none !important;
}

.section-menu .pill:hover::after,
.section-menu .pill:focus-visible::after{
  opacity:1 !important;
  transform:translate(0,-50%) !important;
}

/* Fine acid line on hover */
.section-menu .pill::before{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:8px !important;
  height:1px !important;
  background:#ccff00 !important;
  transform:scaleX(0) !important;
  transform-origin:right center !important;
  transition:transform .65s cubic-bezier(.16,1,.3,1) !important;
}

.section-menu .pill:hover::before,
.section-menu .pill:focus-visible::before{
  transform:scaleX(1) !important;
  transform-origin:left center !important;
}

@media(max-width:820px){
  .section-menu{
    position:fixed !important;
    top:92px !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .menu-toggle,
  .menu-lines::before,
  .menu-lines::after,
  .section-menu,
  .section-menu .pill,
  .section-menu .pill::before,
  .section-menu .pill::after{
    transition:none !important;
  }
}


/* =========================================================
   INTERACTION RULE — ACID YELLOW IS THE ONLY ACTIVE FEEDBACK
   Locks MENU and three-dots button against inherited white states
   ========================================================= */

:root{
  --ic-interaction-acid:#ccff00;
  --ic-interaction-ink:#050505;
}

/* MENU — hover / focus / click / open */
.menu-toggle:hover,
.menu-toggle:focus,
.menu-toggle:focus-visible,
.menu-toggle:active,
body.menu-open .menu-toggle,
.menu-toggle[aria-expanded="true"]{
  background:var(--ic-interaction-acid) !important;
  background-color:var(--ic-interaction-acid) !important;
  border-color:var(--ic-interaction-acid) !important;
  color:var(--ic-interaction-ink) !important;
  -webkit-text-fill-color:var(--ic-interaction-ink) !important;
  opacity:1 !important;
  box-shadow:0 14px 38px rgba(204,255,0,.16) !important;
}

.menu-toggle:hover *,
.menu-toggle:focus *,
.menu-toggle:focus-visible *,
.menu-toggle:active *,
body.menu-open .menu-toggle *,
.menu-toggle[aria-expanded="true"] *{
  color:var(--ic-interaction-ink) !important;
  -webkit-text-fill-color:var(--ic-interaction-ink) !important;
}

/* Ensure the hamburger / close icon also stays dark */
.menu-toggle:hover .menu-lines::before,
.menu-toggle:hover .menu-lines::after,
.menu-toggle:focus .menu-lines::before,
.menu-toggle:focus .menu-lines::after,
.menu-toggle:focus-visible .menu-lines::before,
.menu-toggle:focus-visible .menu-lines::after,
.menu-toggle:active .menu-lines::before,
.menu-toggle:active .menu-lines::after,
body.menu-open .menu-lines::before,
body.menu-open .menu-lines::after,
.menu-toggle[aria-expanded="true"] .menu-lines::before,
.menu-toggle[aria-expanded="true"] .menu-lines::after{
  background:var(--ic-interaction-ink) !important;
}

/* THREE-DOTS BUTTON — hover / focus / click / open */
.news-tool-trigger:hover,
.news-tool-trigger:focus,
.news-tool-trigger:focus-visible,
.news-tool-trigger:active,
body.news-panel-open .news-tool-trigger{
  background:var(--ic-interaction-acid) !important;
  background-color:var(--ic-interaction-acid) !important;
  border-color:var(--ic-interaction-acid) !important;
  color:var(--ic-interaction-ink) !important;
  -webkit-text-fill-color:var(--ic-interaction-ink) !important;
  opacity:1 !important;
  box-shadow:0 14px 38px rgba(204,255,0,.16) !important;
}

/* The four small dots inherit the dark active color */
.news-tool-trigger:hover span::before,
.news-tool-trigger:hover span::after,
.news-tool-trigger:hover i::before,
.news-tool-trigger:hover i::after,
.news-tool-trigger:focus span::before,
.news-tool-trigger:focus span::after,
.news-tool-trigger:focus i::before,
.news-tool-trigger:focus i::after,
.news-tool-trigger:focus-visible span::before,
.news-tool-trigger:focus-visible span::after,
.news-tool-trigger:focus-visible i::before,
.news-tool-trigger:focus-visible i::after,
.news-tool-trigger:active span::before,
.news-tool-trigger:active span::after,
.news-tool-trigger:active i::before,
.news-tool-trigger:active i::after,
body.news-panel-open .news-tool-trigger span::before,
body.news-panel-open .news-tool-trigger span::after,
body.news-panel-open .news-tool-trigger i::before,
body.news-panel-open .news-tool-trigger i::after{
  background:var(--ic-interaction-ink) !important;
}

/* Accessible focus without introducing white */
.menu-toggle:focus-visible,
.news-tool-trigger:focus-visible{
  outline:2px solid var(--ic-interaction-acid) !important;
  outline-offset:4px !important;
}


/* Final fallback placed after every legacy stylesheet */
html body .nav .menu-toggle.ic-acid-active,
html body.menu-open .nav .menu-toggle,
html body .nav .menu-toggle[aria-expanded="true"],
html body .nav .news-tool-trigger.ic-acid-active,
html body.news-panel-open .nav .news-tool-trigger{
  background:#ccff00 !important;
  background-color:#ccff00 !important;
  color:#050505 !important;
  border-color:#ccff00 !important;
  -webkit-text-fill-color:#050505 !important;
  box-shadow:0 14px 38px rgba(204,255,0,.18) !important;
}

html body .nav .menu-toggle.ic-acid-active *,
html body.menu-open .nav .menu-toggle *,
html body .nav .menu-toggle[aria-expanded="true"] *,
html body .nav .news-tool-trigger.ic-acid-active *,
html body.news-panel-open .nav .news-tool-trigger *{
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}

html body .nav .menu-toggle.ic-acid-active .menu-lines::before,
html body .nav .menu-toggle.ic-acid-active .menu-lines::after,
html body.menu-open .nav .menu-lines::before,
html body.menu-open .nav .menu-lines::after{
  background:#050505 !important;
}

html body .nav .news-tool-trigger.ic-acid-active span::before,
html body .nav .news-tool-trigger.ic-acid-active span::after,
html body .nav .news-tool-trigger.ic-acid-active i::before,
html body.news-panel-open .nav .news-tool-trigger span::before,
html body.news-panel-open .nav .news-tool-trigger span::after,
html body.news-panel-open .nav .news-tool-trigger i::before{
  background:#050505 !important;
  color:#050505 !important;
}


/* Menu items: black text and arrow whenever the background is acid yellow */
html body .section-menu .pill:hover,
html body .section-menu .pill:focus,
html body .section-menu .pill:focus-visible,
html body .section-menu .pill:active,
html body .section-menu .pill[aria-current="page"],
html body .section-menu .pill.is-active{
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}

html body .section-menu .pill:hover *,
html body .section-menu .pill:focus *,
html body .section-menu .pill:focus-visible *,
html body .section-menu .pill:active *,
html body .section-menu .pill[aria-current="page"] *,
html body .section-menu .pill.is-active *{
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}

html body .section-menu .pill:hover::after,
html body .section-menu .pill:focus::after,
html body .section-menu .pill:focus-visible::after,
html body .section-menu .pill:active::after,
html body .section-menu .pill[aria-current="page"]::after,
html body .section-menu .pill.is-active::after{
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
  opacity:1 !important;
}

/* Explicitly preserve acid-yellow background on interactive state */
html body .section-menu .pill:hover,
html body .section-menu .pill:focus,
html body .section-menu .pill:focus-visible,
html body .section-menu .pill:active,
html body .section-menu .pill[aria-current="page"],
html body .section-menu .pill.is-active{
  background:#ccff00 !important;
  background-color:#ccff00 !important;
}


/* =========================================================
   LET'S TALK + FOOTER INTERACTIONS
   Consistent acid-yellow interaction language
   ========================================================= */

:root{
  --ic-acid:#ccff00;
  --ic-ink:#050505;
  --ic-ease:cubic-bezier(.16,1,.3,1);
}

/* LET'S TALK — keep black text/icon on yellow */
html body .floating-talk:hover,
html body .floating-talk:focus,
html body .floating-talk:focus-visible,
html body .floating-talk:active,
html body .footer-talk:hover,
html body .footer-talk:focus,
html body .footer-talk:focus-visible,
html body .footer-talk:active,
html body a[href^="mailto:"].floating-talk:hover,
html body a[href^="mailto:"].floating-talk:focus-visible{
  background:var(--ic-acid) !important;
  background-color:var(--ic-acid) !important;
  border-color:var(--ic-acid) !important;
  color:var(--ic-ink) !important;
  -webkit-text-fill-color:var(--ic-ink) !important;
  opacity:1 !important;
  transform:translateY(-2px) !important;
  box-shadow:
    0 16px 42px rgba(204,255,0,.20),
    0 10px 30px rgba(0,0,0,.16) !important;
}

html body .floating-talk:hover *,
html body .floating-talk:focus *,
html body .floating-talk:focus-visible *,
html body .floating-talk:active *,
html body .footer-talk:hover *,
html body .footer-talk:focus *,
html body .footer-talk:focus-visible *,
html body .footer-talk:active *{
  color:var(--ic-ink) !important;
  -webkit-text-fill-color:var(--ic-ink) !important;
}

/* Footer links — subtle premium response */
html body footer a,
html body .footer a,
html body .footer-redesign a,
html body .footer-redesign-bottom a{
  position:relative !important;
  display:inline-block !important;
  transition:
    color .45s ease,
    opacity .45s ease,
    transform .75s var(--ic-ease),
    text-shadow .75s var(--ic-ease) !important;
}

html body footer a::after,
html body .footer a::after,
html body .footer-redesign a::after,
html body .footer-redesign-bottom a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1.5px !important;
  border-radius:999px !important;
  background:var(--ic-acid) !important;
  transform:scaleX(0) !important;
  transform-origin:right center !important;
  transition:transform .75s var(--ic-ease) !important;
  pointer-events:none !important;
}

/* Exclude logos / image links / CTA buttons from underline */
html body footer a:has(img)::after,
html body .footer a:has(img)::after,
html body .footer-redesign a:has(img)::after,
html body .footer-redesign-bottom a:has(img)::after,
html body footer .floating-talk::after,
html body .footer .floating-talk::after,
html body footer .footer-talk::after,
html body .footer .footer-talk::after{
  display:none !important;
}

html body footer a:hover,
html body footer a:focus-visible,
html body .footer a:hover,
html body .footer a:focus-visible,
html body .footer-redesign a:hover,
html body .footer-redesign a:focus-visible,
html body .footer-redesign-bottom a:hover,
html body .footer-redesign-bottom a:focus-visible{
  color:#fff !important;
  opacity:1 !important;
  transform:translateY(-2px) !important;
  text-shadow:0 0 18px rgba(204,255,0,.22) !important;
}

html body footer a:hover::after,
html body footer a:focus-visible::after,
html body .footer a:hover::after,
html body .footer a:focus-visible::after,
html body .footer-redesign a:hover::after,
html body .footer-redesign a:focus-visible::after,
html body .footer-redesign-bottom a:hover::after,
html body .footer-redesign-bottom a:focus-visible::after{
  transform:scaleX(1) !important;
  transform-origin:left center !important;
}

/* Footer headings: quiet acid halo only, no movement */
html body footer h2:hover,
html body footer h3:hover,
html body footer h4:hover,
html body .footer h2:hover,
html body .footer h3:hover,
html body .footer h4:hover,
html body .footer-redesign h2:hover,
html body .footer-redesign h3:hover,
html body .footer-redesign h4:hover{
  text-shadow:0 0 20px rgba(204,255,0,.18) !important;
}

/* Keyboard focus */
html body .floating-talk:focus-visible,
html body .footer-talk:focus-visible,
html body footer a:focus-visible,
html body .footer a:focus-visible,
html body .footer-redesign a:focus-visible{
  outline:2px solid var(--ic-acid) !important;
  outline-offset:4px !important;
}

/* Fallback for browsers without :has() */
html body footer .footer-logo-link::after,
html body .footer .footer-logo-link::after,
html body .footer-redesign .footer-logo-link::after{
  display:none !important;
}

@media(prefers-reduced-motion:reduce){
  html body .floating-talk,
  html body .footer-talk,
  html body footer a,
  html body .footer a,
  html body .footer-redesign a,
  html body .footer-redesign-bottom a,
  html body footer a::after,
  html body .footer a::after,
  html body .footer-redesign a::after,
  html body .footer-redesign-bottom a::after{
    transition:none !important;
    transform:none !important;
  }
}


/* =========================================================
   INDEX MENU — FINAL REFINEMENT
   Off-centre close icon, no arrows, refined proportions
   ========================================================= */

/* Slightly off-centre close icon when open */
body.menu-open .menu-toggle .menu-lines{
  transform:translate(-2px,-1px) !important;
}

body.menu-open .menu-toggle .menu-lines::before{
  transform:translateY(4px) rotate(45deg) !important;
  transform-origin:48% 50% !important;
}

body.menu-open .menu-toggle .menu-lines::after{
  transform:translateY(-4px) rotate(-45deg) !important;
  transform-origin:44% 50% !important;
}

/* Refined panel proportions */
html body .section-menu{
  width:310px !important;
  min-width:310px !important;
  padding:16px !important;
  gap:4px !important;
  border-radius:22px !important;
}

/* More elegant rows */
html body .section-menu .pill{
  min-height:56px !important;
  padding:0 18px !important;
  justify-content:flex-start !important;
  border-radius:14px !important;
  font-size:15px !important;
  letter-spacing:.075em !important;
}

/* Remove all menu arrows */
html body .section-menu .pill::after{
  content:none !important;
  display:none !important;
}

/* Keep text vertically centred */
html body .section-menu .pill span{
  width:100% !important;
  text-align:left !important;
}

/* Fine separators, like the reference, without adding visual noise */
html body .section-menu .pill:not(:last-child){
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}

/* Hover remains acid but cleaner */
html body .section-menu .pill:hover,
html body .section-menu .pill:focus-visible,
html body .section-menu .pill:active{
  padding-left:21px !important;
}

/* Mobile */
@media(max-width:820px){
  html body .section-menu{
    width:auto !important;
    min-width:0 !important;
    left:18px !important;
    right:18px !important;
  }
}


/* =========================================================
   INDEX — PREMIUM MENU
   Clean symmetrical cross, refined dark panel, no arrows
   ========================================================= */

:root{
  --ic-acid:#ccff00;
  --ic-ink:#050505;
  --ic-paper:#f7f5ef;
  --ic-ease:cubic-bezier(.16,1,.3,1);
}

/* Menu button */
html body .nav .menu-toggle{
  min-width:100px !important;
  height:44px !important;
  padding:0 16px !important;
  gap:10px !important;
  border-radius:999px !important;
}

/* Clean icon geometry */
html body .nav .menu-toggle .menu-lines{
  position:relative !important;
  width:14px !important;
  height:14px !important;
  flex:0 0 14px !important;
  transform:none !important;
}

html body .nav .menu-toggle .menu-lines::before,
html body .nav .menu-toggle .menu-lines::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:14px !important;
  height:1.5px !important;
  border-radius:999px !important;
  background:currentColor !important;
  transform-origin:50% 50% !important;
  transition:
    transform .7s var(--ic-ease),
    opacity .45s ease !important;
}

/* Closed = two parallel lines */
html body:not(.menu-open) .nav .menu-toggle .menu-lines::before{
  transform:translateY(-3px) rotate(0deg) !important;
}

html body:not(.menu-open) .nav .menu-toggle .menu-lines::after{
  transform:translateY(3px) rotate(0deg) !important;
}

/* Open = true, centred X */
html body.menu-open .nav .menu-toggle .menu-lines::before,
html body .nav .menu-toggle[aria-expanded="true"] .menu-lines::before{
  transform:translateY(-50%) rotate(45deg) !important;
}

html body.menu-open .nav .menu-toggle .menu-lines::after,
html body .nav .menu-toggle[aria-expanded="true"] .menu-lines::after{
  transform:translateY(-50%) rotate(-45deg) !important;
}

/* Premium panel */
html body .nav .section-menu{
  width:332px !important;
  min-width:332px !important;
  padding:12px !important;
  gap:6px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(180deg,rgba(18,18,18,.97),rgba(10,10,10,.96)) !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
  backdrop-filter:blur(22px) saturate(110%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(110%) !important;
}

/* Menu rows */
html body .nav .section-menu .pill{
  position:relative !important;
  min-height:54px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:14px !important;
  background:transparent !important;
  color:#f4f2ed !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
  transition:
    background .7s var(--ic-ease),
    color .45s ease,
    transform .7s var(--ic-ease),
    padding .7s var(--ic-ease) !important;
}

/* Remove legacy arrows and separators */
html body .nav .section-menu .pill::after{
  content:none !important;
  display:none !important;
}

html body .nav .section-menu .pill{
  border-bottom:0 !important;
}

html body .nav .section-menu .pill::before{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  bottom:10px !important;
  width:28px !important;
  height:1.5px !important;
  border-radius:999px !important;
  background:var(--ic-acid) !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  opacity:.9 !important;
  transition:transform .7s var(--ic-ease) !important;
}

/* Hover / focus */
html body .nav .section-menu .pill:hover,
html body .nav .section-menu .pill:focus-visible,
html body .nav .section-menu .pill:active,
html body .nav .section-menu .pill[aria-current="page"],
html body .nav .section-menu .pill.is-active{
  background:var(--ic-acid) !important;
  color:var(--ic-ink) !important;
  -webkit-text-fill-color:var(--ic-ink) !important;
  padding-left:22px !important;
  transform:translateX(2px) !important;
  outline:none !important;
}

html body .nav .section-menu .pill:hover *,
html body .nav .section-menu .pill:focus-visible *,
html body .nav .section-menu .pill:active *,
html body .nav .section-menu .pill[aria-current="page"] *,
html body .nav .section-menu .pill.is-active *{
  color:var(--ic-ink) !important;
  -webkit-text-fill-color:var(--ic-ink) !important;
}

html body .nav .section-menu .pill:hover::before,
html body .nav .section-menu .pill:focus-visible::before,
html body .nav .section-menu .pill:active::before,
html body .nav .section-menu .pill[aria-current="page"]::before,
html body .nav .section-menu .pill.is-active::before{
  transform:scaleX(1) !important;
  background:var(--ic-ink) !important;
}

/* Open/close motion */
html body .nav .section-menu{
  transform:translate3d(0,-10px,0) scale(.985) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform-origin:top left !important;
  transition:
    opacity .45s ease,
    visibility .45s ease,
    transform .8s var(--ic-ease) !important;
}

html body.menu-open .nav .section-menu{
  transform:translate3d(0,0,0) scale(1) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* Mobile */
@media(max-width:820px){
  html body .nav .section-menu{
    width:auto !important;
    min-width:0 !important;
    left:18px !important;
    right:18px !important;
  }
}


/* Source exacte du halo : élément injecté .ic-cursor-glow */
.ic-cursor-glow{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:none !important;
}

/* Conserver uniquement le petit cercle jaune fluo */
#fluo-cursor{
  display:block !important;
  width:7px !important;
  height:7px !important;
  min-width:7px !important;
  min-height:7px !important;
  max-width:7px !important;
  max-height:7px !important;
  border-radius:50% !important;
  background:#ccff00 !important;
  background-color:#ccff00 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
  z-index:2147483647 !important;
}

#fluo-cursor::before,
#fluo-cursor::after{
  content:none !important;
  display:none !important;
}


/* Barre de progression identique à la page About */
.ic-progress{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:0;
  height:2px !important;
  min-height:2px !important;
  max-height:2px !important;
  background:#ccff00 !important;
  background-color:#ccff00 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
  z-index:2147483647 !important;
  transform:none !important;
  transition:none !important;
}


/* WHAT WE BUILD — exact global shell alignment from Index reference */
html,body{overflow-x:hidden!important}
.nav{box-sizing:border-box!important}
.footer-redesign-inner{max-width:none!important;width:100%!important}
@media (min-width:981px){
  html body footer.footer-redesign .footer-redesign-inner{
    padding:clamp(54px,6vw,92px) clamp(22px,4vw,72px) 0!important;
  }
  html body footer.footer-redesign .footer-redesign-main{
    display:grid!important;
    grid-template-columns:minmax(210px,.62fr) minmax(0,1.72fr)!important;
    gap:clamp(54px,7vw,118px)!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
  }
  html body footer.footer-redesign .footer-brand-block{
    min-width:0!important;
    min-height:300px!important;
  }
  html body footer.footer-redesign .footer-logo{
    width:clamp(118px,10vw,150px)!important;
    min-width:0!important;
    max-width:150px!important;
  }
  html body footer.footer-redesign .footer-nav-block{
    display:grid!important;
    grid-template-columns:minmax(150px,1fr) minmax(185px,1.18fr) minmax(190px,1fr)!important;
    gap:clamp(38px,5vw,82px)!important;
    min-width:0!important;
    width:100%!important;
  }
  html body footer.footer-redesign .footer-col,
  html body footer.footer-redesign .footer-col *{min-width:0!important}
  html body footer.footer-redesign .footer-col a{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

