/* =========================================================
   ROADEO ELITE SHINE v2.4.7 — 4-SIDE WASH + MOTION HARDENING
   Loaded last. This layer owns final hero contact geometry,
   desktop motion reliability, and mobile typography scale.
========================================================= */

/* ---------------------------------------------------------
   1) HERO — TRUE 4-SIDE COVERAGE + CONTACT GEOMETRY
--------------------------------------------------------- */
#roadeo-v9 .rd9-hero.rd10-cinematic{
  --rd247-side-overlap:54px;
  --rd10-travel-left:calc(50vw - var(--rd10-car-half) - var(--rd10-brush-width) - var(--rd10-side) + var(--rd247-side-overlap));
  --rd10-travel-right:calc(-50vw + var(--rd10-car-half) + var(--rd10-brush-width) + var(--rd10-side) - var(--rd247-side-overlap));
}

/* Side brushes are vertically aligned with the body, not the empty floor. */
#roadeo-v9 .rd9-hero.rd10-cinematic .rd10-brush-unit{
  top:74px !important;
  z-index:30 !important;
}

/* Single overhead shower: its water curtain now reaches into the roof/windshield zone. */
#roadeo-v9 .rd9-hero.rd10-cinematic .rd10-top-unit{
  width:min(500px,42vw) !important;
  top:-24px !important;
  z-index:31 !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic .rd10-top-unit::after{
  top:104px !important;
  width:68% !important;
  height:270px !important;
  opacity:.72 !important;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.64),rgba(191,235,255,.26) 42%,rgba(42,169,223,.10) 62%,transparent 78%) !important;
}

/* Two-jet underbody wash: raised so the jets visually meet the lower body/wheel line. */
#roadeo-v9 .rd9-hero.rd10-cinematic .rd10-bottom-unit{
  width:min(620px,52vw) !important;
  bottom:-72px !important;
  z-index:29 !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic .rd10-bottom-unit::after{
  bottom:92px !important;
  width:76% !important;
  height:148px !important;
  opacity:.68 !important;
  background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.66),rgba(191,235,255,.26) 44%,rgba(42,169,223,.10) 65%,transparent 80%) !important;
}

/* JS-owned reset poses. */
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js .rd10-top-unit{
  opacity:0 !important;
  transform:translateX(-50%) translateY(-126px) scale(.96) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js .rd10-bottom-unit{
  opacity:0 !important;
  transform:translateX(-50%) translateY(122px) scale(.95) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js .rd10-brush-left{
  opacity:.88 !important;
  transform:translateX(-18px) rotate(-5deg) scale(.96) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js .rd10-brush-right{
  opacity:.88 !important;
  transform:translateX(18px) rotate(5deg) scale(.96) !important;
}

/* Top contact. */
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="rinse"] .rd10-top-unit{
  opacity:1 !important;
  transform:translateX(-50%) translateY(16px) scale(1.02) !important;
  filter:drop-shadow(0 18px 30px rgba(4,42,79,.23)) saturate(1.08) !important;
}

/* Bottom joins while top remains engaged. */
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="under"] .rd10-top-unit{
  opacity:.92 !important;
  transform:translateX(-50%) translateY(13px) scale(1.01) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="under"] .rd10-bottom-unit{
  opacity:1 !important;
  transform:translateX(-50%) translateY(-16px) scale(1.02) !important;
  filter:drop-shadow(0 15px 26px rgba(4,42,79,.22)) saturate(1.08) !important;
}

/* FOUR-WAY CONTACT: top + bottom + left + right all touch/spray together. */
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-top-unit{
  opacity:1 !important;
  transform:translateX(-50%) translateY(19px) scale(1.025) !important;
  filter:drop-shadow(0 18px 32px rgba(4,42,79,.25)) saturate(1.10) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-bottom-unit{
  opacity:1 !important;
  transform:translateX(-50%) translateY(-20px) scale(1.035) !important;
  filter:drop-shadow(0 16px 28px rgba(4,42,79,.24)) saturate(1.10) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-brush-left{
  opacity:1 !important;
  transform:translateX(var(--rd10-travel-left)) rotate(1deg) scale(1.09) !important;
  filter:drop-shadow(0 21px 34px rgba(4,42,79,.30)) saturate(1.10) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-brush-right{
  opacity:1 !important;
  transform:translateX(var(--rd10-travel-right)) rotate(-1deg) scale(1.09) !important;
  filter:drop-shadow(0 21px 34px rgba(4,42,79,.30)) saturate(1.10) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-foam{
  opacity:.72 !important;
  transform:scale(1.045) !important;
  filter:blur(10px) !important;
}

/* Stronger contact micro-motion, kept on the image so wrapper alignment stays fixed. */
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-brush-left .rd9-hero-wash{
  animation:rd247BrushContactLeft .48s ease-in-out infinite alternate !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="scrub"] .rd10-brush-right .rd9-hero-wash{
  animation:rd247BrushContactRight .48s ease-in-out infinite alternate !important;
}
@keyframes rd247BrushContactLeft{
  from{filter:drop-shadow(0 18px 28px rgba(4,42,79,.23)) saturate(1.03)}
  to{filter:drop-shadow(0 24px 34px rgba(4,42,79,.31)) saturate(1.12)}
}
@keyframes rd247BrushContactRight{
  from{filter:drop-shadow(0 18px 28px rgba(4,42,79,.23)) saturate(1.03)}
  to{filter:drop-shadow(0 24px 34px rgba(4,42,79,.31)) saturate(1.12)}
}

/* Clean retract before shine. */
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="shine"] .rd10-top-unit{
  opacity:0 !important;
  transform:translateX(-50%) translateY(-126px) scale(.96) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="shine"] .rd10-bottom-unit{
  opacity:0 !important;
  transform:translateX(-50%) translateY(122px) scale(.95) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="shine"] .rd10-brush-left{
  opacity:.30 !important;
  transform:translateX(-20px) rotate(-5deg) scale(.95) !important;
}
#roadeo-v9 .rd9-hero.rd10-cinematic.rd11-js[data-rd11-phase="shine"] .rd10-brush-right{
  opacity:.30 !important;
  transform:translateX(20px) rotate(5deg) scale(.95) !important;
}

/* CSS-only fallback uses the same four-way overlap window if JS is unavailable. */
@keyframes rd10TopShower{
  0%,7%{opacity:0;transform:translateX(-50%) translateY(-126px) scale(.96)}
  13%,69%{opacity:1;transform:translateX(-50%) translateY(18px) scale(1.02)}
  76%,100%{opacity:0;transform:translateX(-50%) translateY(-126px) scale(.96)}
}
@keyframes rd10BottomWash{
  0%,25%{opacity:0;transform:translateX(-50%) translateY(122px) scale(.95)}
  31%,69%{opacity:1;transform:translateX(-50%) translateY(-18px) scale(1.03)}
  76%,100%{opacity:0;transform:translateX(-50%) translateY(122px) scale(.95)}
}
@keyframes rd10BrushLeft{
  0%,42%{opacity:.88;transform:translateX(-18px) rotate(-5deg) scale(.96)}
  49%{opacity:1;transform:translateX(var(--rd10-travel-left)) rotate(1deg) scale(1.08)}
  55%{transform:translateX(calc(var(--rd10-travel-left) + 7px)) rotate(-1deg) scale(1.10)}
  62%{transform:translateX(calc(var(--rd10-travel-left) - 3px)) rotate(1deg) scale(1.09)}
  69%{opacity:1;transform:translateX(var(--rd10-travel-left)) rotate(0) scale(1.08)}
  77%,100%{opacity:.88;transform:translateX(-18px) rotate(-5deg) scale(.96)}
}
@keyframes rd10BrushRight{
  0%,42%{opacity:.88;transform:translateX(18px) rotate(5deg) scale(.96)}
  49%{opacity:1;transform:translateX(var(--rd10-travel-right)) rotate(-1deg) scale(1.08)}
  55%{transform:translateX(calc(var(--rd10-travel-right) - 7px)) rotate(1deg) scale(1.10)}
  62%{transform:translateX(calc(var(--rd10-travel-right) + 3px)) rotate(-1deg) scale(1.09)}
  69%{opacity:1;transform:translateX(var(--rd10-travel-right)) rotate(0) scale(1.08)}
  77%,100%{opacity:.88;transform:translateX(18px) rotate(5deg) scale(.96)}
}

/* Tablet geometry: maintain physical-looking overlap rather than scaling only. */
@media (min-width:701px) and (max-width:1280px){
  #roadeo-v9 .rd9-hero.rd10-cinematic{--rd247-side-overlap:44px}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-top-unit{width:min(455px,46vw) !important;top:-17px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-bottom-unit{width:min(560px,58vw) !important;bottom:-62px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-brush-unit{top:78px !important}
}

/* Mobile contact points are tuned independently so brushes don't stop short after resizing. */
@media (max-width:700px){
  #roadeo-v9 .rd9-hero.rd10-cinematic{
    --rd10-travel-left:42px !important;
    --rd10-travel-right:-42px !important;
  }
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-top-unit{width:70vw !important;top:-9px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-bottom-unit{width:84vw !important;bottom:-48px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-brush-unit{top:78px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-top-unit::after{top:82px !important;height:195px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-bottom-unit::after{bottom:70px !important;height:105px !important}
}
@media (max-width:430px){
  #roadeo-v9 .rd9-hero.rd10-cinematic{
    --rd10-travel-left:38px !important;
    --rd10-travel-right:-38px !important;
  }
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-top-unit{width:74vw !important;top:-5px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-bottom-unit{width:90vw !important;bottom:-42px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd10-brush-unit{top:75px !important}
}

/* ---------------------------------------------------------
   2) DESKTOP MOTION HARDENING — no frozen decorative motion
--------------------------------------------------------- */
@media (min-width:901px){
  #roadeo-v9 .rd9-ticker-track{
    animation:rd9marquee 24s linear infinite !important;
    animation-play-state:running !important;
  }
  #roadeo-v9 .rd11-header-ready .rd9-logo img{
    animation:rd246-logo-float 5.6s cubic-bezier(.45,0,.2,1) .25s infinite !important;
    animation-play-state:running !important;
  }
  #roadeo-v9 .rd9-nav>li>a{
    animation:rd246-nav-pulse 5.8s ease-in-out infinite !important;
    animation-play-state:running !important;
  }
  #roadeo-v9 .rd9-nav>li:nth-child(1)>a{animation-delay:.10s !important}
  #roadeo-v9 .rd9-nav>li:nth-child(2)>a{animation-delay:.32s !important}
  #roadeo-v9 .rd9-nav>li:nth-child(3)>a{animation-delay:.54s !important}
  #roadeo-v9 .rd9-nav>li:nth-child(4)>a{animation-delay:.76s !important}
  #roadeo-v9 .rd9-nav>li:nth-child(5)>a{animation-delay:.98s !important}
  #roadeo-v9 .rd9-nav>li:nth-child(6)>a{animation-delay:1.20s !important}
  #roadeo-v9 .rd9-nav>li>a::after{
    animation:rd246-nav-sheen 5.8s ease-in-out infinite !important;
    animation-delay:inherit !important;
    animation-play-state:running !important;
  }
  #roadeo-v9 .rd9-hero h1{
    animation:rd246-heading-intro .85s cubic-bezier(.2,.75,.2,1) .18s both,rd246-heading-breathe 6.4s ease-in-out 1.15s infinite !important;
  }
  #roadeo-v9 .rd11-reveal.is-inview h2,
  #roadeo-v9 .rd11-reveal.is-inview .rd9-gallery-head h2{
    animation:rd246-heading-intro .72s cubic-bezier(.2,.75,.2,1) .08s both,rd246-heading-breathe 6.8s ease-in-out 1.05s infinite !important;
  }
  #roadeo-v9 .rd9-hero h1::after,
  #roadeo-v9 .rd9-centered-head h2::after,
  #roadeo-v9 .rd9-video-copy h2::after,
  #roadeo-v9 .rd9-free-copy h2::after,
  #roadeo-v9 .rd9-membership-copy h2::after,
  #roadeo-v9 .rd9-detail-copy h2::after,
  #roadeo-v9 .rd9-team-copy h2::after,
  #roadeo-v9 .rd9-contact-card h2::after,
  #roadeo-v9 .rd9-final-inner h2::after,
  #roadeo-v9 .rd9-gallery-head h2::after{
    animation:rd246-heading-line 5.6s ease-in-out 1.15s infinite !important;
  }
}

/* The client explicitly requires desktop animation even when an OS/browser
   globally asks sites to reduce motion. Scope this force-run behavior to desktop only. */
@media (min-width:901px) and (prefers-reduced-motion:reduce){
  #roadeo-v9 .rd11-reveal{
    opacity:0 !important;
    transform:translate3d(var(--rd11-reveal-x),var(--rd11-reveal-y),0) scale(var(--rd11-reveal-scale)) !important;
    transition:opacity .72s ease,transform .82s cubic-bezier(.16,.84,.19,1) !important;
  }
  #roadeo-v9 .rd11-reveal.is-inview{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
  }
  #roadeo-v9 .rd11-reveal-item{
    opacity:0 !important;
    transform:translate3d(0,28px,0) scale(.985) !important;
    transition:opacity .58s ease,transform .68s cubic-bezier(.16,.84,.19,1) !important;
    transition-delay:var(--rd11-delay,0ms) !important;
  }
  #roadeo-v9 .rd11-reveal.is-inview .rd11-reveal-item{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
  }
  #roadeo-v9 .rd9-header.rd11-header-ready .rd9-logo,
  #roadeo-v9 .rd9-header.rd11-header-ready .rd11-primary-nav,
  #roadeo-v9 .rd9-header.rd11-header-ready .rd9-header-actions{
    animation:rd11HeaderIn .62s cubic-bezier(.16,.84,.19,1) both !important;
  }
  #roadeo-v9 .rd9-header.rd11-header-ready .rd11-primary-nav{animation-delay:.08s !important}
  #roadeo-v9 .rd9-header.rd11-header-ready .rd9-header-actions{animation-delay:.15s !important}
}

/* ---------------------------------------------------------
   3) MOBILE TYPOGRAPHY — replace old 19px global floor
--------------------------------------------------------- */
@media (max-width:768px){
  #roadeo-v9{font-size:16px !important}
  #roadeo-v9 p,
  #roadeo-v9 li,
  #roadeo-v9 label,
  #roadeo-v9 input,
  #roadeo-v9 select,
  #roadeo-v9 textarea,
  #roadeo-v9 td,
  #roadeo-v9 th,
  #roadeo-v9 summary,
  #roadeo-v9 figcaption{font-size:16px !important;line-height:1.55 !important}

  #roadeo-v9 small,
  #roadeo-v9 sup,
  #roadeo-v9 sub,
  #roadeo-v9 .rd9-price small,
  #roadeo-v9 .rd9-kicker,
  #roadeo-v9 [class*="badge"],
  #roadeo-v9 [class*="eyebrow"]{font-size:14px !important;line-height:1.35 !important}

  #roadeo-v9 a,
  #roadeo-v9 button,
  #roadeo-v9 .rd9-btn{font-size:16px !important;line-height:1.25 !important}

  #roadeo-v9 h1,
  #roadeo-v9 .rd9-hero.rd10-cinematic h1{font-size:clamp(34px,9.6vw,44px) !important;line-height:.98 !important}
  #roadeo-v9 h2{font-size:clamp(28px,7.4vw,36px) !important;line-height:1.05 !important}
  #roadeo-v9 h3{font-size:clamp(21px,5.6vw,27px) !important;line-height:1.12 !important}

  #roadeo-v9 .rd9-hero.rd10-cinematic .rd9-hero-copy>p,
  #roadeo-v9 .rd9-centered-head>p,
  #roadeo-v9 .rd9-video-copy>p,
  #roadeo-v9 .rd9-free-copy>p,
  #roadeo-v9 .rd9-membership-copy>p,
  #roadeo-v9 .rd9-detail-copy>p,
  #roadeo-v9 .rd9-team-copy>p,
  #roadeo-v9 .rd9-contact-card>p,
  #roadeo-v9 .rd9-final-inner>p{font-size:16px !important;line-height:1.55 !important}

  #roadeo-v9 .rd11-primary-nav .rd9-nav>li>a{font-size:16px !important;min-height:44px !important;padding:9px 13px !important}
  #roadeo-v9 .rd9-ticker-track{font-size:15px !important;gap:30px !important;min-height:50px !important}
  #roadeo-v9 .rd9-topbar,
  #roadeo-v9 .rd9-topbar a,
  #roadeo-v9 .rd9-topbar span{font-size:14px !important}
  #roadeo-v9 .rd9-price-card li,
  #roadeo-v9 .rd9-schedule-grid,
  #roadeo-v9 .rd9-member-list,
  #roadeo-v9 .rd9-contact-links{font-size:15px !important}
}

@media (max-width:430px){
  #roadeo-v9{font-size:15px !important}
  #roadeo-v9 p,
  #roadeo-v9 li,
  #roadeo-v9 label,
  #roadeo-v9 input,
  #roadeo-v9 select,
  #roadeo-v9 textarea,
  #roadeo-v9 td,
  #roadeo-v9 th{font-size:15px !important}
  #roadeo-v9 small,
  #roadeo-v9 .rd9-kicker,
  #roadeo-v9 [class*="badge"],
  #roadeo-v9 [class*="eyebrow"]{font-size:14px !important}
  #roadeo-v9 a,
  #roadeo-v9 button,
  #roadeo-v9 .rd9-btn{font-size:15px !important}
  #roadeo-v9 .rd11-primary-nav .rd9-nav>li>a{font-size:16px !important}
  #roadeo-v9 .rd9-hero.rd10-cinematic .rd9-hero-copy>p,
  #roadeo-v9 .rd9-centered-head>p,
  #roadeo-v9 .rd9-video-copy>p,
  #roadeo-v9 .rd9-free-copy>p,
  #roadeo-v9 .rd9-membership-copy>p,
  #roadeo-v9 .rd9-detail-copy>p,
  #roadeo-v9 .rd9-team-copy>p,
  #roadeo-v9 .rd9-contact-card>p,
  #roadeo-v9 .rd9-final-inner>p{font-size:15px !important}
}
