/* ===== CTA road scene (Ready to hit the road?) ===== */
.rs-panel{position:relative;overflow:hidden;background:#000;min-height:0;padding:0 5vw}
.rs-panel .n2-inner,.rs-panel .n2-cta{position:static}
.rs-panel .n2-cta{min-height:400px;align-items:center}
.rs-copy{position:relative;z-index:3}

.rs{position:absolute;top:0;right:0;bottom:0;width:64%;z-index:1;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.rs>*{pointer-events:none}
.rs-dots,.rs-dots *{pointer-events:auto}

/* sky glow + stars */
.rs::before{content:"";position:absolute;inset:0;background:
  radial-gradient(60% 70% at 72% 38%,rgba(255,122,0,.28),transparent 70%),
  linear-gradient(90deg,#000 0%,transparent 38%)}
.rs-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.7;animation:rsTw 3.2s ease-in-out infinite}
.rs-star:nth-of-type(2){animation-delay:.8s}.rs-star:nth-of-type(3){animation-delay:1.6s}.rs-star:nth-of-type(4){animation-delay:2.2s}
@keyframes rsTw{50%{opacity:.15}}

/* sun + palm */
.rs-sun{position:absolute;right:20%;top:12%;width:min(210px,32%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#ffb347,#ff8a00 55%,#e86a00);
  box-shadow:0 0 90px 30px rgba(255,138,0,.45),0 0 200px 70px rgba(255,138,0,.18)}
.rs-palm{position:absolute;right:26%;bottom:13%;height:62%;width:auto;z-index:1;animation:rsSway 6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes rsSway{50%{transform:rotate(1.4deg)}}

/* road */
.rs-road{position:absolute;left:0;right:0;bottom:0;height:15%;z-index:2;
  background:linear-gradient(#17120d,#050403);border-top:2px solid #ff8a00;
  box-shadow:0 -10px 40px rgba(255,138,0,.25)}
.rs-lane{position:absolute;left:0;right:0;top:55%;height:3px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 46px,transparent 46px 110px);
  animation:rsLane 1.1s linear infinite}
@keyframes rsLane{to{background-position-x:110px}}

/* highway board */
.rs-board{position:absolute;right:5%;bottom:21%;z-index:2;transition:transform .45s cubic-bezier(.6,0,.3,1),opacity .45s}
.rs-board-in{position:relative;z-index:1;min-width:150px;padding:9px 14px 10px;border-radius:8px;
  background:#0b6b3a;border:2px solid #fff;box-shadow:0 0 0 2px #0b6b3a,0 10px 30px rgba(0,0,0,.55);color:#fff;font-family:inherit}
.rs-board-in b{display:block;font-size:15px;font-weight:700;line-height:1.2}
.rs-board-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:3px}
.rs-board-row em{font-style:normal;font-size:11px;opacity:.9}
.rs-board-row strong{font-size:13px;font-weight:700}
.rs-post{position:absolute;left:50%;top:100%;width:5px;height:60px;margin-left:-2px;background:linear-gradient(#9aa0a6,#3a3d40)}
.rs-board.swap{transform:translateY(24px) scale(.96);opacity:0}

/* cars */
.rs-cars{position:absolute;inset:0;z-index:3}
.rs-car{position:absolute;left:42%;bottom:6.5%;width:min(480px,56%);height:auto;margin-left:calc(min(480px,56%)/-2);
  transform:translateX(140%);opacity:0;transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity .6s;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.6));will-change:transform}
.rs-car.is-in{transform:none;opacity:1}
.rs-car.is-out{transform:translateX(-140%);opacity:0;transition:transform .9s cubic-bezier(.6,0,.9,.4),opacity .9s}

/* chip + dots */
.rs-chip{position:absolute;top:18px;right:22px;z-index:4;display:flex;align-items:center;gap:10px;padding:7px 8px 7px 16px;border-radius:30px;
  background:rgba(20,20,20,.75);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:13px;backdrop-filter:blur(6px)}
.rs-chip b{font-weight:600}
.rs-chip span{background:#ff8a00;color:#fff;font-weight:700;padding:5px 11px;border-radius:20px}
.rs-chip small{font-weight:500;font-size:11px;opacity:.9}
.rs-dots{position:absolute;left:50%;bottom:2.4%;z-index:4;transform:translateX(-50%);display:flex;gap:7px;align-items:center}
.rs-dots button{all:unset;cursor:pointer;width:7px;height:7px;border-radius:7px;background:rgba(255,255,255,.55);transition:width .35s,background .35s}
.rs-dots button.on{width:26px;background:#ff8a00}

@media (max-width:900px){
  .rs-panel .n2-cta{min-height:0;display:grid;grid-template-columns:1fr}
  .rs{position:relative;width:100%;height:340px;margin-top:24px;border-radius:18px;-webkit-mask-image:none;mask-image:none}
  .rs-sun{right:12%}.rs-palm{right:18%}
  .rs-board{right:3%;transform-origin:right bottom}
  .rs-board-in{min-width:120px}
  .rs-car{left:40%;width:70%;margin-left:-35%}
}
@media (prefers-reduced-motion:reduce){
  .rs *{animation:none!important}.rs-car{transition-duration:.01s!important}
}
