/* A real workflow, traced by scroll. No chart values or scroll interception. */
.page-home .hero-intro { max-width: 68ch; }
.page-home .search-thread { margin: 38px auto 8px; padding-top: 25px; border-top: 1px solid var(--solid-ink); }
.search-thread figcaption { font: 700 clamp(30px, 2.8vw, 40px)/1.1 "Barlow Condensed", sans-serif; letter-spacing: -.02em; margin-bottom: 22px; }
.search-steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin: 0; padding: 0; list-style: none; }
.search-steps li { position: relative; min-width: 0; padding-top: 34px; }
.search-steps li:not(:last-child)::before { content: ""; position: absolute; top: 10px; left: 10px; width: calc(100% + 30px); height: 2px; background: var(--solid-ink); }
.search-node { position: absolute; top: 0; left: 0; width: 20px; height: 20px; border: 2px solid var(--solid-ink); border-radius: 50%; background: var(--solid-orange); z-index: 1; }
.search-steps h2 { position: relative; font: 700 clamp(24px, 2.1vw, 30px)/1.15 "Barlow Condensed", sans-serif; letter-spacing: 0; margin: 0 0 12px; }
.search-steps h2::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 36px; height: 2px; background: var(--solid-orange); transform: scaleX(var(--step-progress, 1)); transform-origin: left; }
.search-steps p { font: 400 14px/1.6 "Manrope", sans-serif; max-width: 28ch; margin: 0; color: var(--solid-ink); }
.search-wiring { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.search-wiring [data-search-base] { stroke: var(--solid-muted); stroke-width: 1.5; fill: none; }
.search-wiring [data-search-trace] { stroke: var(--solid-orange); stroke-width: 6; fill: none; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: var(--search-offset, 0); }
.search-wiring [data-search-marker] { fill: var(--solid-white); stroke: var(--solid-ink); stroke-width: 1.5; }
.search-thread.is-scroll-linked .search-steps li::before { display: none; }
.search-thread.is-scroll-linked .search-node { background: var(--solid-white); }
.search-thread.is-scroll-linked .search-steps li[data-reached="true"] .search-node { background: var(--solid-orange); }
.search-thread-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-top: 22px; }
.search-thread-footer p { font: 400 12px/1.6 "Manrope", sans-serif; color: var(--solid-muted); margin: 0; }
.search-thread-footer .text-link { font-size: 14px; white-space: nowrap; }
@media (max-width: 840px) {
  .page-home .search-thread { margin-top: 30px; padding-top: 22px; }
  .search-steps { grid-template-columns: 1fr; gap: 26px; }
  .search-steps li { padding: 0 0 0 40px; }
  .search-node { top: 5px; }
  .search-steps li:not(:last-child)::before { top: 15px; left: 9px; width: 2px; height: calc(100% + 26px); }
  .search-steps h2 { font-size: 27px; margin-bottom: 10px; }
  .search-steps p { max-width: 48ch; font-size: 14px; }
  .search-thread-footer { flex-direction: column; align-items: flex-start; margin-top: 25px; }
  .search-thread-footer .text-link { white-space: normal; min-height: 44px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) { .search-wiring [data-search-marker] { display: none; } }
body[data-motion="reduced"] .search-wiring [data-search-marker] { display: none; }
@media print { .search-wiring { display: none; } .search-thread.is-scroll-linked .search-steps li::before { display: block; } .search-thread.is-scroll-linked .search-node { background: var(--solid-orange); } .search-steps h2::after { transform: none; } }
