/* Individually choreographed, scroll-driven collisions. */
.blocked-flow i { background-image: linear-gradient(90deg, transparent, rgba(255,138,97,.10) 35%, rgba(255,113,74,.42)); }
.blocked-flow i::before { content: none; }
.blocked-flow i::after { width: var(--lead-size); height: var(--lead-size); top: calc(var(--lead-size) / -2); margin-left: calc(6px - var(--lead-size) / 2); }
.impact-fragment { position: absolute; left: 100%; top: 0; opacity: 0; pointer-events: none; box-shadow: 0 0 5px #ff996044; will-change: transform, opacity; }
.impact-ring { position: absolute; left: 100%; top: 0; width: 15px; height: 15px; border: 1px solid #ffab7a; border-radius: 50%; opacity: 0; pointer-events: none; will-change: transform, opacity; }
@media (prefers-reduced-motion: reduce) { .impact-fragment, .impact-ring { display: none; } }

/* CRM-led story: the visitor starts with their own numbers. */
.problem { height: 420svh; }
.problem-thesis h2, .problem-doubt h2 { font-size: clamp(52px, 7.5vw, 120px); line-height: .98; letter-spacing: -.065em; }
.problem-thesis .problem-questions { margin-top: 35px; color: #c0cde0; font-size: clamp(24px, 3vw, 44px); line-height: 1.45; letter-spacing: -.025em; }
.problem-thesis .problem-bridge { font-size: clamp(28px, 3.8vw, 58px); line-height: 1.12; max-width: 850px; }
.problem-doubt { opacity: 0; transform: translateY(35px); }
.problem-doubt > p { margin-bottom: 28px; color: #c0cde0; font-size: clamp(25px, 3vw, 44px); }
.problem-sticky[data-act="doubt"] .problem-thesis { opacity: 0; transform: translateY(-40px); }
.problem-sticky[data-act="doubt"] .problem-doubt { opacity: 1; transform: translateY(0); }
.problem-breaks li { font-size: clamp(28px, 3.8vw, 58px); line-height: 1.12; padding-block: clamp(14px, 2vh, 24px); }
.problem-consequence h2 { max-width: 72%; font-size: clamp(52px, 7vw, 112px); line-height: .99; }
@media (max-width: 760px) {
  .problem { height: 400svh; }
  .problem-thesis h2, .problem-doubt h2 { font-size: clamp(46px, 12vw, 78px); }
  .problem-breaks li { font-size: clamp(22px, 5.8vw, 36px); padding-block: 13px; }
  .problem-consequence h2 { max-width: 92%; font-size: clamp(44px, 11vw, 76px); }
}

.problem-progress::after { content: "04"; }
