/* GRC base CSS - shared across all pages. Edit avec précaution. */
/*
 * Factorisation conservatrice : seuls les blocs strictement identiques
 * cross-page sont extraits. Les tokens (:root), navbar, footer, hero,
 * boutons, FAB, sticky-mobile, etc. restent inline car leurs valeurs
 * varient par page (couleur accent par marque, navbar opaque vs glass,
 * fab dark vs glass, sticky offset, etc.).
 *
 * Étendre ce fichier UNIQUEMENT si tu vérifies que la règle est
 * identique sur toutes les pages cibles.
 */

/* ═══ A11Y — Skip link ═══ */
.skip-link {
  position: absolute;
  top: -40px; left: 8px;
  background: #fff; color: var(--night, #050810);
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 13px; font-weight: 600;
  z-index: 200;
  transition: top 180ms ease;
}
.skip-link:focus { top: 8px; }

/* ═══ Reveal animation (sections au scroll) ═══ */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms cubic-bezier(.2,.8,.2,1), transform 700ms cubic-bezier(.2,.8,.2,1);
  will-change: opacity, transform;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}
