/* JVSI: progressive enhancements. Content stays visible without JavaScript. */
:root {
  --jvsi-motion-ease: cubic-bezier(.22, .61, .36, 1);
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; scroll-padding-top: 150px; }
  .jvsi-enter {
    animation: jvsi-enter .65s var(--jvsi-motion-ease) both;
    animation-delay: var(--jvsi-enter-delay, 0ms);
  }
  .jvsi-hover-card {
    transition: box-shadow .25s ease, translate .25s var(--jvsi-motion-ease);
  }
  .jvsi-hover-card:hover { translate: 0 -4px; box-shadow: 0 16px 35px rgb(15 23 42 / .12); }
  .jvsi-hover-card:focus-within { box-shadow: 0 0 0 3px rgb(7 143 35 / .18); }
  .jvsi-hover-card img { transition: scale .6s var(--jvsi-motion-ease); }
  .jvsi-hover-card:hover > img,
  .jvsi-hover-card:hover > a > img { scale: 1.035; }
  #siteHeader { transition: box-shadow .25s ease; }
  #siteHeader.jvsi-scrolled { box-shadow: 0 8px 28px rgb(15 23 42 / .12); }
  #siteHeader .dropdown-menu.show { animation: jvsi-menu-in .18s ease both; }
  #siteHeader .nav-link { transition: color .2s ease, background-color .2s ease; }
  #siteHeader .mega-item a { transition: color .2s ease; }
  .hero-carousel .carousel-item.active .hero-bg {
    animation: jvsi-hero-depth 7s ease-out both;
  }
  .hero-carousel .carousel-caption { animation: jvsi-enter .8s var(--jvsi-motion-ease) both; }
  main .btn, .roberto-btn {
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
  }
  main .btn:hover, .roberto-btn:hover { box-shadow: 0 6px 18px rgb(15 23 42 / .14); }
}
@keyframes jvsi-enter {
  from { opacity: 0; translate: 0 22px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes jvsi-menu-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes jvsi-hero-depth { from { transform: scale(1.025); } to { transform: scale(1.085); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .jvsi-enter { opacity: 1; animation: none; }
  .hero-carousel .hero-bg { animation: none !important; transform: none !important; }
}
@media (hover: none) {
  .jvsi-hover-card:hover { translate: none; }
  .jvsi-hover-card:hover img { scale: 1; }
}
@media (max-width: 575.98px) {
  #hero > .hero-overlay .search-pill {
    width: calc(100vw - 28px);
    max-width: 100%;
    flex-wrap: wrap;
    border-radius: 22px;
  }
  #hero > .hero-overlay .search-pill .nav {
    width: 100%;
    justify-content: center;
    gap: 8px;
  }
  #hero > .hero-overlay .search-pill .vr { display: none; }
  #hero > .hero-overlay .search-pill #btnHeroSearch { width: 100%; }
}
