/* ============================================================
   Rebrand Sprint — Animated Pipeline CTA
   Page-specific mechanic, distinct from Full Score's evidence
   ring: this one visualizes the Sprint's own real 15-day
   schedule (Days 1–3 / 4–10 / 11–15, taken directly from this
   page's timeline section) as a horizontal progress bar that
   fills and lights each phase in turn — proportional segment
   widths match the real day counts, not equal thirds.

   Same site-wide discipline as Full Score's build:
   - Loops continuously while the card is in view, pauses the
     instant it scrolls out (IntersectionObserver), full stop
     on tab-hide (visibilitychange).
   - prefers-reduced-motion: jumps straight to the resolved,
     fully-lit static state, no animation at all.
   - The CTA button and copy are real DOM throughout — never
     hidden, never gated by the animation.
   - Same cadence constants as the Full Score build (560ms lead
     in, ~1860ms reveal, 4550ms hold) so the two pages feel like
     one system, not two unrelated widgets.
   ============================================================ */

.rs-pipeline-cta{
  padding:54px 0;
  border-top:1px solid rgba(122,164,255,.14);
  background:
    radial-gradient(circle at 78% 48%,rgba(18,104,255,.13),transparent 24rem),
    linear-gradient(180deg,#040914 0%,#02050b 100%);
  isolation:isolate;
}
.rs-pipeline-cta::before,.rs-pipeline-cta::after{ display:none; }
.rs-cta-grid{ position:absolute; inset:0; z-index:-1; opacity:.2; pointer-events:none;
  background-image:linear-gradient(rgba(122,164,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(122,164,255,.03) 1px,transparent 1px);
  background-size:64px 64px; mask-image:linear-gradient(90deg,transparent,#000 45%,#000 100%); }

.rs-cta-shell{ display:grid; grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr); gap:clamp(38px,5vw,72px); align-items:center; }
.rs-cta-copy{ text-align:left; max-width:650px; }
.rs-cta-kicker{ display:flex; align-items:center; gap:10px; margin-bottom:13px; font-family:var(--mono); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:#6f8daf; }
.rs-live-dot{ width:7px; height:7px; border-radius:50%; background:#45d7ff; box-shadow:0 0 13px rgba(69,215,255,.72); }
.rs-pipeline-cta h2{ margin:0 0 14px; font-size:clamp(2.2rem,3.9vw,3.85rem); line-height:.98; letter-spacing:-.06em; text-wrap:balance; }
.rs-pipeline-cta .rs-cta-copy>p{ max-width:54ch; margin:0; color:#aebbd1; font-size:clamp(.94rem,1.1vw,1.06rem); line-height:1.55; }
.rs-cta-actions{ display:flex; align-items:center; gap:14px 20px; flex-wrap:wrap; margin-top:23px; }
.rs-cta-button{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:14px; min-width:205px; }
.rs-cta-button::before{ content:""; position:absolute; inset:-1px; transform:translateX(-110%);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent); transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.rs-cta-button:hover::before{ transform:translateX(110%); }
.rs-cta-button i{ font-style:normal; transition:transform .22s ease; }
.rs-cta-button:hover i{ transform:translateX(4px); }
.rs-cta-assurance{ font-family:var(--mono); font-size:.61rem; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; color:#7186a5; }

/* ── The pipeline card ── */
.rs-pipeline-card{
  position:relative; overflow:hidden; min-height:258px;
  border:1px solid rgba(122,164,255,.25); border-radius:23px 23px 23px 7px;
  background:linear-gradient(145deg,rgba(10,22,42,.94),rgba(3,8,18,.93));
  box-shadow:0 24px 64px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04),0 0 60px rgba(18,104,255,.07);
  transform:translateY(10px) scale(.99); opacity:.72;
  transition:opacity .55s ease,transform .55s cubic-bezier(.1,.9,.2,1),border-color .55s ease;
}
.rs-pipeline-card::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 18% 28%,rgba(69,215,255,.075),transparent 34%); }
.rs-pipeline-cta.is-visible .rs-pipeline-card{ opacity:1; transform:none; border-color:rgba(69,215,255,.34); }

.rs-card-head{ position:relative; z-index:2; display:flex; justify-content:space-between; gap:16px; align-items:center;
  padding:13px 17px; border-bottom:1px solid rgba(122,164,255,.12); font-family:var(--mono); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:#6e85a6; }
.rs-scope-badge{ padding:5px 8px; border:1px solid rgba(69,215,255,.28); border-radius:999px; color:#9bdfff; background:rgba(69,215,255,.045); transition:border-color .5s ease,color .5s ease,background .5s ease; }
.rs-pipeline-cta.is-complete .rs-scope-badge{ border-color:rgba(63,240,162,.34); color:#8ff4c6; background:rgba(63,240,162,.05); }

.rs-card-body{ position:relative; z-index:2; padding:22px 21px 20px; }

.rs-day-row{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; font-family:var(--mono); color:#8397b6; }
.rs-day-row>span{ font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:#7188a9; }
.rs-day-row strong{ font-family:var(--display); font-size:1.5rem; letter-spacing:-.03em; color:#fff; font-variant-numeric:tabular-nums; }
.rs-day-row strong small{ font-family:var(--mono); font-size:.62rem; font-weight:400; letter-spacing:.04em; color:#7188a9; margin-left:2px; }
.rs-pipeline-cta.is-complete .rs-day-row strong{ color:#45d7ff; text-shadow:0 0 16px rgba(69,215,255,.35); }

.rs-track{ position:relative; height:9px; border-radius:999px; background:#141f33; box-shadow:inset 0 0 0 1px rgba(255,255,255,.03); margin-bottom:18px; overflow:hidden; }
.rs-track-fill{ position:absolute; inset:0; width:0%; border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#45d7ff); box-shadow:0 0 12px rgba(69,215,255,.5);
  transition:width 1.6s cubic-bezier(.2,.8,.2,1); }
.rs-pipeline-cta.is-resetting .rs-track-fill{ transition:none; width:0%; }
.rs-tick{ position:absolute; top:-3px; bottom:-3px; width:2px; background:rgba(4,9,20,.9); z-index:2; }

.rs-phase-row{ display:flex; gap:8px; margin-bottom:14px; }
.rs-phase{ min-width:0; padding:9px 10px; border:1px solid rgba(122,164,255,.11); border-radius:10px; background:rgba(255,255,255,.016);
  opacity:.42; transform:translateY(5px); transition:opacity .3s ease,transform .3s ease,border-color .3s ease,background .3s ease; }
.rs-phase b{ display:block; margin-bottom:4px; font-family:var(--mono); font-size:.56rem; letter-spacing:.06em; color:#4e89d8; }
.rs-phase span{ display:block; font-size:.75rem; color:#c2cee2; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rs-phase.active{ opacity:1; transform:none; border-color:rgba(69,215,255,.25); background:rgba(18,104,255,.07); }

.rs-status-line{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.55rem; letter-spacing:.1em; text-transform:uppercase; color:#7188a9; }
.rs-status-line::before{ content:""; width:6px; height:6px; border-radius:50%; background:#526782; transition:background .25s ease,box-shadow .25s ease; }
.rs-pipeline-cta.is-complete .rs-status-line{ color:#a8c6e9; }
.rs-pipeline-cta.is-complete .rs-status-line::before{ background:#3ff0a2; box-shadow:0 0 12px rgba(63,240,162,.62); }

.rs-scan-line{ position:absolute; z-index:3; top:0; bottom:0; left:0; width:1px; opacity:0;
  background:linear-gradient(transparent,#45d7ff,transparent); box-shadow:0 0 15px rgba(69,215,255,.75); pointer-events:none; }
.rs-pipeline-cta.is-scanning .rs-scan-line{ animation:rsCardScan 1.8s cubic-bezier(.2,.8,.2,1) .08s both; }
@keyframes rsCardScan{ 0%{ left:0; opacity:0; } 12%{ opacity:1; } 80%{ opacity:1; } 100%{ left:100%; opacity:0; } }

.rs-pipeline-cta.is-scanning:not(.is-complete) .rs-live-dot{ animation:rsBlink .8s ease-in-out infinite; }
@keyframes rsBlink{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }

@media (max-width:980px){
  .rs-pipeline-cta{ padding:52px 0; }
  .rs-cta-shell{ grid-template-columns:minmax(0,1fr) minmax(390px,.9fr); gap:34px; }
  .rs-pipeline-cta h2{ font-size:clamp(2.15rem,4.9vw,3.25rem); }
}
@media (max-width:780px){
  .rs-cta-shell{ grid-template-columns:1fr; gap:30px; }
  .rs-cta-copy{ max-width:680px; }
  .rs-pipeline-card{ max-width:620px; width:100%; }
}
@media (max-width:620px){
  .rs-pipeline-cta{ padding:46px 0 42px; }
  .rs-pipeline-cta h2{ font-size:clamp(2.2rem,11vw,3.2rem); }
  .rs-cta-actions{ align-items:stretch; margin-top:20px; }
  .rs-cta-button{ width:100%; justify-content:center; }
  .rs-cta-assurance{ width:100%; text-align:center; }
  .rs-pipeline-card{ min-height:0; border-radius:20px 20px 20px 6px; }
  .rs-card-head{ padding:12px 13px; font-size:.5rem; letter-spacing:.08em; }
  .rs-card-body{ padding:17px 13px 16px; }
  .rs-phase-row{ flex-direction:column; gap:6px; }
  .rs-phase{ flex:none !important; }
  .rs-phase span{ white-space:normal; }
}

@media (prefers-reduced-motion:reduce){
  .rs-pipeline-card,.rs-phase,.rs-track-fill,.rs-cta-button::before,.rs-cta-button i{ transition:none !important; }
  .rs-live-dot,.rs-scan-line{ animation:none !important; }
  .rs-pipeline-card{ opacity:1; transform:none; }
  .rs-phase{ opacity:1; transform:none; }
  .rs-track-fill{ width:100% !important; }
}
