/* Innovate Community — harmonisation conservative des interactions
   Cette couche ne modifie ni le scroll, ni les classes d'ouverture,
   ni la navigation JavaScript. Elle uniformise uniquement le rythme visuel. */
:root{
  --ic-ui-fast:160ms;
  --ic-ui-base:230ms;
  --ic-ui-panel:280ms;
  --ic-ui-ease:cubic-bezier(.2,.65,.3,1);
  --ic-ui-ease-out:cubic-bezier(.16,1,.3,1);
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:clamp(92px,9vw,132px);
}
[id]{scroll-margin-top:clamp(92px,9vw,132px);}

/* Contrôles : un rythme unique, sans délai artificiel. */
html body .pill,
html body .menu-toggle,
html body .news-tool-trigger,
html body .ic-lang-switcher button,
html body .language-picker button,
html body .ic-talk-button,
html body .about-hero-tab,
html body .about-panel-tab,
html body .news-tool-tabs button,
html body .process-v2-step,
html body .project-dialog-close,
html body .history-close,
html body .news-tool-close,
html body .process-v2-close,
html body .impact-arrow,
html body .impact-orbit-nav button,
html body .footer a{
  transition-duration:var(--ic-ui-base) !important;
  transition-timing-function:var(--ic-ui-ease) !important;
  transition-delay:0ms !important;
}

/* Menus et panneaux : ouverture courte, lisible et cohérente. */
html body header.nav.ic-unified-nav .section-menu,
html body .news-tool-panel,
html body .history-panel,
html body .about-editorial-panel,
html body .process-v2-panel,
html body .project-dialog,
html body .project-dialog-backdrop{
  transition-duration:var(--ic-ui-panel) !important;
  transition-timing-function:var(--ic-ui-ease-out) !important;
  transition-delay:0ms !important;
  -webkit-overflow-scrolling:touch;
}

/* Les éléments internes ne doivent pas attendre une longue cascade. */
html body.menu-open .section-menu .pill,
html body.news-panel-open .news-tool-panel *,
html body.history-open .history-panel *,
html body.history-open .about-editorial-panel *,
html body .process-v2.panel-open .process-v2-panel *,
html body.project-dialog-open .project-dialog *{
  animation-delay:0ms !important;
  transition-delay:0ms !important;
}

/* Survols calmes : aucune attraction, aucun zoom marqué. */
@media (hover:hover) and (pointer:fine){
  html body .pill:hover,
  html body .menu-toggle:hover,
  html body .news-tool-trigger:hover,
  html body .ic-talk-button:hover,
  html body .about-hero-tab:hover,
  html body .about-panel-tab:hover,
  html body .news-tool-tabs button:hover{
    transform:translate3d(0,-1px,0) !important;
  }
  html body .footer a:hover{transform:translate3d(2px,0,0) !important;}
}

/* Navigation clavier claire sans modifier l'identité visuelle. */
html body :focus-visible{
  outline:2px solid #ccff00 !important;
  outline-offset:3px !important;
}

html body button,
html body a,
html body [role="button"]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* Mobile : réponse immédiate, sans simulation de hover. */
@media (max-width:900px),(hover:none),(pointer:coarse){
  :root{
    --ic-ui-fast:120ms;
    --ic-ui-base:170ms;
    --ic-ui-panel:220ms;
  }
  html{scroll-padding-top:96px;}
  [id]{scroll-margin-top:96px;}
  html body .pill:hover,
  html body .menu-toggle:hover,
  html body .news-tool-trigger:hover,
  html body .ic-talk-button:hover,
  html body .about-hero-tab:hover,
  html body .about-panel-tab:hover,
  html body .news-tool-tabs button:hover,
  html body .footer a:hover{
    transform:none !important;
  }
}

/* Accessibilité : aucun mouvement imposé si l'utilisateur le refuse. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}
  html body .pill,
  html body .menu-toggle,
  html body .news-tool-trigger,
  html body .ic-lang-switcher button,
  html body .language-picker button,
  html body .ic-talk-button,
  html body .about-hero-tab,
  html body .about-panel-tab,
  html body .news-tool-tabs button,
  html body .process-v2-step,
  html body .section-menu,
  html body .news-tool-panel,
  html body .history-panel,
  html body .about-editorial-panel,
  html body .process-v2-panel,
  html body .project-dialog,
  html body .project-dialog-backdrop,
  html body .footer a{
    animation:none !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important;
  }
}
