/* Cost-conscious prospecting waterfall and workflow-stage tool library. */
.cost-waterfall{position:relative;margin-top:70px;padding:36px 34px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,var(--surface),var(--soft));overflow:hidden;isolation:isolate}
.cost-waterfall::before{position:absolute;z-index:-1;content:"";width:380px;height:380px;right:-180px;top:-250px;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:50%;box-shadow:0 0 0 30px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 70px color-mix(in srgb,var(--accent) 2%,transparent)}
.waterfall-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;position:relative;z-index:2}.waterfall-heading .eyebrow{font-size:9px}.waterfall-heading h3{font-size:clamp(26px,3vw,37px);margin:14px 0 11px}.waterfall-lede{max-width:650px;font-size:14px;color:var(--muted);line-height:1.8}.waterfall-motion-toggle{display:flex;align-items:center;gap:8px;flex:none;border:1px solid var(--line);border-radius:30px;background:var(--surface);padding:10px 14px;color:var(--muted);font:10px var(--mono);transition:color .2s,border .2s}.waterfall-motion-toggle:hover{color:var(--accent-ink);border-color:var(--accent)}.waterfall-motion-toggle>span:first-child{color:var(--accent);font-size:13px}
.waterfall-visual{position:relative;margin-top:35px}.waterfall-route{position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.waterfall-route-base,.waterfall-route-flow{fill:none;stroke:url(#waterfall-gradient);stroke-width:2.2;stroke-linecap:round}.waterfall-route-base{opacity:.28}.waterfall-route-flow{stroke-dasharray:4 13;opacity:.95}.waterfall-route-node{fill:var(--surface);stroke:var(--accent);stroke-width:2}.waterfall-pulse{fill:#f0a84c;stroke:var(--surface);stroke-width:3;filter:drop-shadow(0 0 5px #edaa5c88)}.waterfall-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;align-items:start;margin:0;padding:0;list-style:none}.waterfall-stage{--lift:calc(var(--flow-index)*20px);position:relative;display:flex;flex-direction:column;min-width:0;min-height:284px;margin-top:var(--lift);padding:17px 16px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--accent-soft));box-shadow:0 12px 32px -24px #28233f66;transition:border-color .25s,box-shadow .25s,transform .25s}.waterfall-stage:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:var(--shadow);transform:translateY(-4px)}.waterfall-stage-top{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:23px}.waterfall-number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font:10px var(--mono)}.waterfall-rule{font:8px var(--mono);letter-spacing:.035em;color:var(--muted);text-align:right}.waterfall-stage h4{font-size:16px;line-height:1.3;letter-spacing:-.035em;margin:0 0 9px}.waterfall-stage>p{font-size:10px;color:var(--muted);line-height:1.75;margin:0}.waterfall-provider-path{font-size:9px!important;color:var(--ink)!important;line-height:1.9!important;word-break:normal}.waterfall-provider-path span{color:var(--accent);padding-inline:2px}.waterfall-outcome{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding-top:17px}.waterfall-outcome>span{font:8px var(--mono);color:var(--muted)}.waterfall-outcome>strong{font-size:9px;font-weight:600;line-height:1.5;color:var(--accent-ink)}.waterfall-disclaimer{position:relative;margin:18px 2px 0;color:var(--muted);font-size:10px;line-height:1.75}.waterfall-spark{color:var(--accent);font-size:16px}
.cost-waterfall.is-motion-on .waterfall-route-flow{animation:waterfall-dash 12s linear infinite}.cost-waterfall.is-motion-on .waterfall-stage{animation:waterfall-arrive .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--flow-index)*110ms)}.cost-waterfall.is-motion-on .waterfall-route-base{animation:route-breathe 4s ease-in-out infinite alternate}.cost-waterfall:not(.is-motion-on) .waterfall-route-flow,.cost-waterfall:not(.is-motion-on) .waterfall-route-base{animation-play-state:paused}.cost-waterfall:not(.is-motion-on) .waterfall-pulse{visibility:hidden}
@keyframes waterfall-dash{to{stroke-dashoffset:-136}}@keyframes waterfall-arrive{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes route-breathe{from{opacity:.22}to{opacity:.65}}
.tool-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 27px}.tool-filters>button{display:inline-flex;align-items:center;gap:9px;min-height:43px;padding:9px 13px;border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--muted);font-size:11px;transition:background .2s,color .2s,border .2s,transform .2s}.tool-filters>button:hover{transform:translateY(-1px);border-color:var(--accent)}.tool-filters>button.active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.tool-filters>button span{font:9px var(--mono);opacity:.68}.tool-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.tool-stage{min-width:0;padding:21px 20px 20px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 8px 25px -23px #25213666;animation:tool-stage-in .32s ease both}.tool-stage-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.tool-stage-number{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font:10px var(--mono)}.tool-stage-heading h3{font-size:16px;letter-spacing:-.025em;margin:1px 0 5px}.tool-stage-heading p{color:var(--muted);font-size:10px;line-height:1.6}.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.tool-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 10px;min-width:0;min-height:61px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:10px;background:var(--bg);transition:transform .2s,border-color .2s,box-shadow .2s}.tool-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 8px 17px -15px #17142199}.tool-mark{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;overflow:hidden;border:1px solid #e9e9ec;border-radius:8px;background:#fff}.tool-mark img{display:block;width:24px;height:24px;object-fit:contain}.tool-name{grid-column:2;grid-row:1;overflow-wrap:anywhere;font-size:10px;font-weight:550;line-height:1.35;letter-spacing:-.01em}.tool-category{grid-column:2;grid-row:2;color:var(--muted);font-size:8px;line-height:1.3}
@keyframes tool-stage-in{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
html[data-theme=dark] .tool-mark{border-color:#e4e4e8;background:#fff}html[data-theme=dark] .waterfall-stage{background:color-mix(in srgb,var(--surface) 95%,var(--accent-soft))}
@media(max-width:1050px){.waterfall-stages{gap:10px}.waterfall-stage{padding:14px 12px;min-height:302px}.waterfall-stage h4{font-size:14px}.waterfall-rule{font-size:7px}.tool-stage-grid{gap:12px}.tool-stage{padding:18px 16px}.tool-card{grid-template-columns:30px minmax(0,1fr);gap:2px 8px;padding:8px}.tool-mark{width:30px;height:30px}.tool-mark img{width:22px;height:22px}}
@media(max-width:760px){.cost-waterfall{margin-top:45px;padding:25px 20px 19px;border-radius:17px}.waterfall-heading{align-items:flex-start}.waterfall-heading h3{font-size:27px}.waterfall-lede{font-size:12px}.waterfall-motion-toggle{font-size:0;padding:10px}.waterfall-motion-toggle>span:first-child{font-size:14px}.waterfall-visual{margin-top:22px;padding-left:22px}.waterfall-visual::before{position:absolute;content:"";left:8px;top:8px;bottom:8px;width:2px;border-radius:2px;background:linear-gradient(var(--accent),#f0a84c);opacity:.42}.waterfall-route{display:none}.waterfall-stages{grid-template-columns:1fr;gap:10px}.waterfall-stage{--lift:0px;min-height:0;padding:14px 15px}.waterfall-stage-top{margin-bottom:12px}.waterfall-stage h4{font-size:16px}.waterfall-stage>p{font-size:11px}.waterfall-outcome{padding-top:11px}.waterfall-outcome>strong{font-size:10px}.waterfall-disclaimer{font-size:9px}.tool-stage-grid{grid-template-columns:1fr;gap:11px}.tool-stage{padding:18px}.tool-stage-heading{margin-bottom:14px}.tool-stage-heading h3{font-size:17px}.tools-grid{gap:8px}.tool-card{min-height:58px}.tool-filters{gap:7px;margin:19px 0}.tool-filters>button{min-height:39px;padding:8px 10px;font-size:10px}}
@media(max-width:480px){.cost-waterfall{padding:22px 16px 18px;margin-top:36px}.waterfall-heading{gap:12px}.waterfall-heading .eyebrow{font-size:7px;letter-spacing:.025em}.waterfall-heading h3{font-size:23px;margin-top:12px}.waterfall-lede{font-size:11px}.waterfall-motion-toggle{padding:9px}.waterfall-stage{padding:13px}.waterfall-stage-top{gap:5px}.waterfall-rule{font-size:7px}.waterfall-stage h4{font-size:15px}.waterfall-stage>p{font-size:10px}.tool-filters{flex-wrap:nowrap;overflow-x:auto;padding:2px 1px 8px;margin-right:-17px;scrollbar-width:thin}.tool-filters>button{white-space:nowrap;flex:none}.tool-stage{padding:15px 13px}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tool-card{grid-template-columns:27px minmax(0,1fr);min-height:56px;gap:2px 7px;padding:8px}.tool-mark{width:27px;height:27px}.tool-mark img{width:20px;height:20px}.tool-name{font-size:9px}.tool-category{font-size:7px}}
@media(prefers-reduced-motion:reduce){.waterfall-stage,.tool-stage{animation:none!important;opacity:1;transform:none}.waterfall-route-flow,.waterfall-route-base{animation:none!important}.waterfall-pulse{display:none!important}}
@media print{.waterfall-motion-toggle{display:none}.cost-waterfall{break-inside:avoid}.tool-stage-grid{grid-template-columns:1fr 1fr}}
