/* =========================================================================
   REVENUE PILOTS — SCROLL STORY SYSTEM

   Hero  = canvas image sequence controlled by scroll.
   Below = one continuous compact story whose panels move both directions.
   Only transform/opacity animate; no scroll-jacking anywhere.
   ========================================================================= */

.rp-hero-scroll{
  --rp-bg:#050505;--rp-text:#f5f2ea;--rp-text-2:#b8b2a6;--rp-muted:#847f74;
  --rp-gold:#f0c53a;--rp-gold-hi:#ffe06a;--rp-hero-p:0;
  position:relative;height:190svh;background:var(--rp-bg);isolation:isolate;
}
.rp-hero-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--rp-bg);isolation:isolate}

.rp-hero-poster{position:absolute;inset:0;z-index:-5;background:var(--rp-bg) url('../assets/hero/rp-hero-poster.webp') center/cover no-repeat}
.rp-hero-film{position:absolute;inset:0;width:100%;height:100%;z-index:-4;display:block;opacity:0;transition:opacity .22s ease;object-fit:cover;object-position:center center;background:var(--rp-bg)}
.rp-hero-film.is-ready{opacity:1}
.rp-hero-shade{position:absolute;inset:0;z-index:-3;pointer-events:none;background:linear-gradient(90deg,rgba(5,5,5,.84) 0%,rgba(5,5,5,.66) 27%,rgba(5,5,5,.17) 52%,rgba(5,5,5,.025) 72%)}
.rp-hero-sticky::after{content:"";position:absolute;z-index:-2;left:0;right:0;bottom:-1px;height:20svh;pointer-events:none;background:linear-gradient(180deg,rgba(5,5,5,0),rgba(5,5,5,.18) 34%,rgba(5,5,5,.68) 74%,#050505 100%)}
.rp-hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;max-width:1500px;margin:0 auto;padding-top:var(--header-h);will-change:transform,opacity;transform-origin:left center}
.rp-hero-copy>*{max-width:650px}
.rp-eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:var(--rp-gold);margin:0 0 20px}
.rp-h1{font-size:clamp(38px,4.2vw,60px);line-height:1.05;letter-spacing:-.045em;font-weight:800;color:var(--rp-text);margin:0 0 20px}.rp-h1 .rp-accent{color:var(--rp-gold-hi)}
.rp-sub{color:var(--rp-text-2);font-size:clamp(15px,1.2vw,17px);line-height:1.65;margin:0}
.rp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.rp-hero-flow{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:24px 0 0;padding:0;list-style:none;color:var(--rp-muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase}.rp-hero-flow i{color:var(--rp-gold);font-style:normal}

/* HERO -> SITE */
#positioning{position:relative;z-index:3;margin-top:-8svh;padding-top:clamp(56px,7svh,84px)!important;padding-bottom:clamp(24px,3vw,40px)!important;background:linear-gradient(180deg,rgba(5,5,5,0) 0,#050505 14%,rgba(5,5,5,.98) 76%,rgba(5,5,5,0) 100%)}
#positioning .shell{max-width:1050px}
#positioning .v2-lead{font-size:clamp(32px,4vw,54px);max-width:850px;margin-bottom:16px}
#positioning .v2-body{max-width:650px;font-size:clamp(15px,1.2vw,18px);margin-bottom:8px}
#positioning .v2-chain{margin-top:18px}
#positioning .rp-trust-grid{margin-top:clamp(18px,2vw,28px);gap:clamp(8px,1vw,12px)}
#positioning .rp-trust-card{padding:clamp(12px,1.3vw,17px)}

@media(max-width:760px){
  .rp-hero-scroll{height:165svh}
  .rp-hero-poster{background-position:62% center}
  .rp-hero-film{object-position:62% center}
  .rp-hero-shade{background:linear-gradient(180deg,rgba(5,5,5,.34),rgba(5,5,5,.16) 42%,rgba(5,5,5,.78) 74%,#050505 100%)}
  .rp-hero-copy{justify-content:flex-end;padding-bottom:8svh}.rp-hero-copy>*{max-width:92%}.rp-h1{font-size:clamp(34px,9.5vw,48px)}
  #positioning{margin-top:-5svh;padding-top:52px!important}
}

@media(prefers-reduced-motion:reduce){
  .rp-hero-scroll{height:auto}.rp-hero-sticky{position:relative;min-height:100svh}.rp-hero-film{display:none}.rp-hero-copy{transform:none!important;opacity:1!important}
  .rp-story-item{opacity:1!important;transform:none!important}
}
.rp-hero-scroll.rp-hero-static{height:auto}.rp-hero-scroll.rp-hero-static .rp-hero-sticky{position:relative;min-height:100svh}.rp-hero-scroll.rp-hero-static .rp-hero-film{display:none}.rp-hero-scroll.rp-hero-static .rp-hero-copy{transform:none!important;opacity:1!important}

/* =========================================================================
   REVERSIBLE PAGE-WIDE CHOREOGRAPHY
   ========================================================================= */
.rp-story-enabled .v2-rule{display:none!important}
.rp-story-chapter{position:relative;overflow:clip}
.rp-story-item{opacity:.12;transform:translate3d(0,34px,0) scale(.965);transform-origin:center center;backface-visibility:hidden;will-change:auto}
.rp-story-item.is-motion-active{will-change:transform,opacity}

/* Much tighter section rhythm. The previous layout stacked large section
   padding + rule + block spacing and produced 300–500px dead zones. */
.rp-story-enabled .v2-section{padding-block:clamp(26px,3.2vw,48px)!important}
#autopilot{padding-top:clamp(28px,3.4vw,50px)!important;padding-bottom:clamp(26px,3vw,44px)!important}
#autopilot .rp-auto-head{max-width:900px;margin-bottom:18px}
#autopilot .rp-auto-grid{gap:clamp(10px,1.35vw,18px)}
#autopilot .rp-auto-box{box-shadow:0 30px 76px -62px rgba(240,197,58,.58)}
#autopilot .rp-flow{gap:8px}
#autopilot .rp-step{padding:11px 13px}
#autopilot .rp-owner-body{padding:clamp(16px,2vw,24px)}
#autopilot .rp-owner-cards{margin-top:14px;gap:8px}

#work{padding-top:clamp(14px,1.8vw,26px)!important;padding-bottom:clamp(30px,3.5vw,50px)!important}
#work>.shell>.v2-lead[hidden]{display:none!important}
#work .v2-work{min-height:0!important;padding-block:clamp(20px,2.3vw,34px)!important;margin:0!important}
#work .v2-work+.v2-work{border-top:1px solid rgba(255,255,255,.05)}
#work .v2-work-head{margin-bottom:14px}
#work .v2-work-title{margin-top:4px}
#work .v4-sys-body{margin-bottom:0}
#work .rp-system-video{box-shadow:0 34px 82px -68px rgba(240,197,58,.52)}
#work .v2-disclosure{margin-top:14px}

#packages{padding-top:clamp(32px,3.5vw,52px)!important;padding-bottom:clamp(32px,3.5vw,52px)!important}
#packages .rp-price-ladder{margin-top:18px}
#packages .rp-simple-secondary{margin-top:16px}
#packages .rp-confidence-panel{margin-top:20px}
#how,#faq,#about{padding-top:clamp(30px,3.4vw,50px)!important;padding-bottom:clamp(30px,3.4vw,50px)!important}
#how .v2-steps{margin-top:22px;gap:clamp(12px,1.8vw,24px)}
#faq .rp-faq-list{margin-top:22px}

/* =========================================================================
   WEBSITE — one compact composition, not scattered floating windows
   ========================================================================= */
.rp-website-story{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:clamp(18px,2.5vw,34px)!important;align-items:center}
.rp-web-cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(150deg,rgba(19,19,18,.92),rgba(8,8,8,.95));box-shadow:0 30px 72px -60px rgba(240,197,58,.52),inset 0 1px rgba(255,255,255,.05)}
.rp-web-shot{grid-column:1 / -1;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/7.6;background:#080808}
.rp-web-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 62%}
.rp-web-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,5,5,.55));pointer-events:none}
.rp-web-plate{padding:11px 12px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.022)}
.rp-web-plate small{display:block;color:var(--rp-gold,#f0c53a);font-size:8px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}
.rp-web-plate strong{display:block;color:#f5f2ea;font-size:13px;letter-spacing:-.02em}
.rp-web-plate span{display:block;color:#918b7e;font-size:11px;line-height:1.4;margin-top:3px}
.rp-web-plate.is-main{border-color:rgba(240,197,58,.26);background:linear-gradient(150deg,rgba(34,29,13,.6),rgba(9,9,9,.9))}

@media(max-width:900px){.rp-website-story{grid-template-columns:1fr!important}.rp-web-cluster{order:-1}}
@media(max-width:520px){.rp-web-cluster{grid-template-columns:1fr}}

/* =========================================================================
   PROMOTION
   ========================================================================= */
.rp-creative-condensed .v4-carousel{display:none!important}
.rp-creative-intro{max-width:650px;color:var(--text-2);margin:8px 0 14px;font-size:14px}
.rp-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,13px);margin-top:14px}
.rp-promo-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:#090909;aspect-ratio:9/15.5;box-shadow:0 24px 58px -48px rgba(240,197,58,.48)}
.rp-promo-card video{display:block;width:100%;height:100%;object-fit:cover;background:#090909}
.rp-promo-card figcaption{position:absolute;left:9px;right:9px;bottom:9px;z-index:2;margin:0;padding:7px 9px;border:1px solid rgba(255,255,255,.10);border-radius:9px;background:rgba(5,5,5,.76);backdrop-filter:blur(8px);color:#f5f2ea;font-size:10px;font-weight:700}
.rp-promo-card::after{content:"";position:absolute;inset:45% 0 0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(5,5,5,.38))}
@media(max-width:980px){.rp-promo-grid{grid-template-columns:repeat(3,minmax(160px,1fr));overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.rp-promo-card{scroll-snap-align:start;min-width:160px}}

/* ------------------------- existing autonomy styles ------------------------- */
.rp-pilot-card{border-color:rgba(232,190,50,.34)!important;background:linear-gradient(180deg,rgba(232,190,50,.075),rgba(255,255,255,.015))!important}
.rp-price-ladder{margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rp-price-ladder div{border:1px solid var(--line);background:#090909;border-radius:12px;padding:13px}
.rp-price-ladder small{display:block;color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.rp-price-ladder strong{display:block;font-size:15px;margin-top:5px}
.rp-price-ladder span{display:block;color:var(--text-3);font-size:12px;margin-top:4px}
