/* FisioPro V7.3 | Sistema de movimiento guiado.
   Solo las cinco vistas de atención. Sin dependencias, sin parallax, sin reflujo.
   El contenido es visible siempre: JS aplica animaciones breves, nunca lo oculta. */
@keyframes fp-editorial-arrive {
 from{opacity:.72;transform:translate3d(0,9px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes fp-vestibular-arrive {
 from{opacity:.86;transform:translate3d(0,4px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes fp-image-unveil {
 from{transform:scaleX(1)}
 to{transform:scaleX(0)}
}
@keyframes fp-faq-answer {
 from{opacity:.68;transform:translate3d(0,3px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes fp-menu-in {
 from{opacity:.83;transform:translate3d(0,-5px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
@media (prefers-reduced-motion:no-preference) {
  main.fp-motion-scope .fp-motion-text.fp-motion-seen {
    animation:fp-editorial-arrive 330ms cubic-bezier(.2,.7,.2,1) both;
  }
  main#specialty-vestibular .fp-motion-text.fp-motion-seen {
    animation-name:fp-vestibular-arrive;
    animation-duration:260ms;
  }
  main.fp-motion-scope .fp-motion-card.fp-motion-seen {
    animation:fp-editorial-arrive 310ms cubic-bezier(.2,.7,.2,1) both;
    animation-delay:var(--fp-motion-delay,0ms);
  }
  /* Revelado de imagen dentro de su marco, sin desplazar el encuadre. */
  main.fp-motion-scope .fp-motion-photo {isolation:isolate;overflow:hidden}
  main.fp-motion-scope .fp-specialty-info-figure.fp-motion-photo {position:relative}
  main.fp-motion-scope .fp-motion-photo.fp-motion-seen::before {
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:#e8f3f7;transform-origin:right center;
    animation:fp-image-unveil 460ms cubic-bezier(.35,.04,.18,1) both;
  }
  #home-content .vest-photo.fp-motion-seen::before {background:#06354e}
  #specialty-vestibular .fp-motion-photo.fp-motion-seen::before {animation-duration:330ms}
  /* Trazo guía: el mismo componente en las cinco páginas. */
  main.fp-motion-scope .fp-journey-trace {
    position:absolute;pointer-events:none;z-index:0;
    top:16px;left:13px;right:13px;height:2px;
    background:#1281ab;
    transform:scaleX(0);transform-origin:left center;
    transition:transform 650ms cubic-bezier(.22,.8,.28,1);
  }
  main.fp-motion-scope .steps.fp-motion-seen .fp-journey-trace {transform:scaleX(1)}
  /* El menú móvil informa la apertura y las preguntas ofrecen respuesta visual. */
  body:not(.fp-legal-page) .site-nav[data-open="true"] {animation:fp-menu-in 180ms ease-out both}
  main.fp-motion-scope details[open] > p {animation:fp-faq-answer 165ms ease-out both}
  /* Tarjetas reales: sin alteraciones de padding ni sensación de selección persistente. */
  #home-content .service-row {position:relative;transition:background-color 170ms ease}
  #home-content .service-row:hover,
  #home-content .service-row:focus-visible {background:#f0f8fb}
  #home-content .service-row::before {
    content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;
    background:#1281ab;transform:scaleY(0);transform-origin:center center;
    transition:transform 165ms ease;pointer-events:none
  }
  #home-content .service-row:is(:hover,:focus-visible)::before {transform:scaleY(1)}
  #home-content .service-row .arrow {display:inline-block;transition:transform 165ms ease}
  #home-content .service-row:is(:hover,:focus-visible) .arrow {transform:translate3d(3px,0,0)}
  main.fp-motion-scope .faq summary::after {transition:color 150ms ease}
  main.fp-motion-scope .faq details[open] summary::after {color:#064766}
}
@media (max-width:820px) and (prefers-reduced-motion:no-preference){
main.fp-motion-scope .fp-motion-card.fp-motion-seen {
    animation-duration:255ms;animation-delay:min(var(--fp-motion-delay,0ms),100ms);
  }
  main.fp-motion-scope .fp-journey-trace {
    top:11px;bottom:20px;left:17px;right:auto;
    height:auto;width:2px;transform:scaleY(0);transform-origin:center top;
  }
  main.fp-motion-scope .steps.fp-motion-seen .fp-journey-trace {transform:scaleY(1)}
}
@media (prefers-reduced-motion:reduce){
  main.fp-motion-scope .fp-journey-trace {
    position:absolute;top:16px;left:13px;right:13px;height:2px;
    background:#1281ab;pointer-events:none;z-index:0;
    transform:none;transition:none;
  }
  main.fp-motion-scope .fp-motion-text,
  main.fp-motion-scope .fp-motion-card,
  main.fp-motion-scope .fp-motion-photo {animation:none;transition:none}
}
@media (max-width:820px) and (prefers-reduced-motion:reduce){
  main.fp-motion-scope .fp-journey-trace {top:11px;bottom:20px;left:17px;right:auto;height:auto;width:2px}
}


