/* ─── Matéria Nova — Animations Partagées ──────────────────────────────── */

/* 1. Scroll Reveal
   Rythme calé sur les sculptures : 1.2s cubic-bezier(0.25, 1, 0.5, 1)
   opacity + transform uniquement (GPU-friendly)
------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
  .mn-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1),
                transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity, transform;
  }
  .mn-reveal.mn-visible {
    opacity: 1;
    transform: none;
  }
}

/* 2. Soulignement or — spans de navigation
   Déploiement G→D au survol, retrait vers la droite au départ
------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
  .mn-span-ul {
    position: relative;
    display: inline-block;
  }
  .mn-span-ul::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #c9a875;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease-out;
    pointer-events: none;
  }
  /* Déclenché par hover sur le <a> parent */
  a:hover .mn-span-ul::after {
    transform: scaleX(1);
    transform-origin: left;
  }

  /* 3. Soulignement or — liens de contenu inline */
  .mn-link-ul {
    position: relative;
    text-decoration: none;
  }
  .mn-link-ul::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #c9a875;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease-out;
    pointer-events: none;
  }
  .mn-link-ul:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }
}

/* 4. Bouton "Entrer en relation" — responsive mobile */
@media (max-width: 640px) {
  .mn-contact-btn {
    top: auto !important;
    bottom: 5rem !important;
    right: 1.2rem !important;
    font-size: 9px !important;
    padding: 0.5rem 1rem !important;
  }
}
