/* Loaded only by the homepage. Content remains visible without JavaScript. */
.rr-home .hero { overflow: clip; }
.rr-home .heroshot { transform-origin: center 30%; }
.rr-home #workflow { scroll-margin-top: 96px; }
.rr-home .btn {
  transition: background-color 180ms ease, border-color 180ms ease,
    box-shadow 180ms ease, transform 220ms cubic-bezier(.22, 1, .36, 1);
}
.rr-home .card, .rr-home .price {
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .rr-home .btn:hover { transform: translateY(-2px); }
  .rr-home .btn:active { transform: translateY(0); }
  .rr-home .card:hover, .rr-home .price:hover {
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 12px 32px -24px rgba(0, 0, 0, .8);
  }
}
@media (prefers-reduced-motion: reduce) {
  html.rr-home:not(.rr-motion-preview) { scroll-behavior: auto; }
  .rr-home:not(.rr-motion-preview) :where(:not(.ambient-violet, .ambient-blue, .ambient-shadow)), .rr-home:not(.rr-motion-preview) *::before, .rr-home:not(.rr-motion-preview) *::after {
    animation: none !important;
    transition: none !important;
  }
  .rr-home:not(.rr-motion-preview) .btn:hover, .rr-home:not(.rr-motion-preview) .shot:hover { transform: none; }
  /* Opacity feedback stays gentle; it does not move the navigation. */
  .rr-home nav.rr-language-nav .links > a { transition:opacity 420ms cubic-bezier(.25,.1,.25,1)!important; }
}
