/* A fading physical source is replaced; the outgoing client flow stays steady. */
.replacement-intro { max-width: 800px; margin-bottom: clamp(24px, 3vw, 36px); }
.replacement-intro p { color: var(--muted); font-size: 16px; line-height: 1.85; }
.replacement-intro p + p { margin-top: 20px; }
.replacement-intro .replacement-intro-result { color: var(--text); font-size: clamp(20px, 2vw, 24px); line-height: 1.4; }
.replacement-intro-result strong { font-weight: 700; }
.replacement-page #smart-rack .section-head { max-width: 800px; }
.replacement-page #smart-rack .section-head h2 { font-size: clamp(26px, 2.5vw, 32px); font-weight: 600; }
.replacement-steps { min-width: 0; margin: 0; padding: 0; list-style: none; }
.replacement-steps .step { padding: 0 0 32px 48px; }
.replacement-steps .step:last-child { padding-bottom: 0; }
.replacement-steps .step::before { width: 28px; height: 28px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--accent); font: 500 18px/1.4 var(--font-display); letter-spacing: -.03em; }
.replacement-steps .step::after { left: 14px; top: 38px; bottom: 10px; background: var(--accent); opacity: .18; }
.replacement-steps .step h3 { margin: 0 0 10px; color: var(--text); font: 500 clamp(18px, 1.6vw, 20px)/1.4 var(--font-display); letter-spacing: -.025em; }
.replacement-steps .step p { margin: 0; max-width: 500px; color: var(--muted); font-size: 15px; line-height: 1.8; }
@media (max-width: 640px) {
  .replacement-steps .step { padding-left: 40px; padding-bottom: 28px; }
}
@media (max-width: 900px) {
  .replacement-page .subpage-hero-streams { opacity: 1; }
}
