/* Home hero: preserve the existing scene and typography. */
.rip-hero img.rip-hero-bg { opacity: 0; transition: opacity .8s ease; }
.rip-hero img.rip-hero-bg.is-active { opacity: .6; }
.rip-hero img.rip-hero-bg[hidden] { display: none; }
.rip-hero .rip-hero-content { padding-bottom: 120px; }
.hero-carousel-controls { position: absolute; z-index: 3; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(244,240,231,.35); border-radius: 999px; background: rgba(14,36,54,.8); }
.hero-carousel-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #F4F0E7; cursor: pointer; font: inherit; }
.hero-carousel-controls button:hover { background: rgba(244,240,231,.12); }
.hero-carousel-controls button:focus-visible { outline: 2px solid #F4F0E7; outline-offset: 2px; }
.hero-carousel-dot::before { content: ''; width: 7px; height: 7px; border-radius: 99px; background: rgba(244,240,231,.5); transition: width .2s; }
.hero-carousel-dot[aria-pressed="true"]::before { width: 22px; background: #F4F0E7; }
.hero-carousel-controls svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
@media(max-width:560px) { .rf-home-v2 .rip-hero .rip-hero-content { padding-bottom: 112px; } .hero-carousel-controls { bottom: 20px; gap: 0; padding: 5px; } }
@media(prefers-reduced-motion:reduce) { .rip-hero img.rip-hero-bg, .hero-carousel-dot::before { transition: none; } }
.hero-carousel-controls[hidden] { display: none; }
