/* Homepage continuity sequence. Preserves the established red/silver identity. */
.home-v88 { --flow-red:#ad2435; --flow-silver:#d8dfe5; --flow-ease:cubic-bezier(.16,1,.3,1); }
.home-v88 .v89-visual * { animation:none !important; }
.home-v88 :is(.v89-orbit-light,.v89-data-line,.v89-front-packet,.v89-scan) { display:none; }
.home-v88 .v89-orbit-back { opacity:.42; }
.home-v88 :is(.v89-core-float,.v89-satellite) { transition:transform 700ms var(--flow-ease); }
.home-v88 .v89-label-main { fill:#4a4f55; }
.home-v88 .v10-route { opacity:0; stroke-dasharray:100; stroke-dashoffset:100; }
.home-v88 .v10-route.is-current { opacity:.9; stroke-dashoffset:0; }
.home-v88 .v10-running .v10-route.is-current { animation:flow-route 1700ms var(--flow-ease) both !important; }
.home-v88 .v89-visual[data-stage="0"] .v89-core-float,
.home-v88 .v89-visual[data-stage="3"] .v89-core-float { transform:translateY(-10px); }
.home-v88 .v89-visual[data-stage="1"] .v89-satellite-left { transform:translateY(-12px); }
.home-v88 .v89-visual[data-stage="2"] .v89-satellite-right { transform:translateY(-12px); }
.home-v88 .v10-running[data-stage="0"] .v89-core-float path[stroke="#fff"] { stroke-dasharray:100; animation:flow-check 900ms var(--flow-ease) both !important; }
.home-v88 .v10-running[data-stage="1"] .v89-satellite-left use { animation:flow-layer 900ms var(--flow-ease) both !important; }
.home-v88 .v10-running[data-stage="1"] .v89-satellite-left use:first-child { animation-delay:180ms !important; }
.home-v88 .v10-running[data-stage="2"] .v89-satellite-right path { stroke-dasharray:120; animation:flow-wave 1100ms ease-out both !important; }
.home-v88 .v10-running[data-stage="3"] .v89-core-float > g > use:first-child { animation:flow-layer 1000ms var(--flow-ease) both !important; }
.home-v88 .v89-visual figcaption { margin:12px 0 0; gap:8px; }
.v10-stage-controls { display:grid; grid-template-columns:repeat(4,1fr); width:100%; gap:6px; }
.v10-stage-controls[hidden] { display:none; }
.v10-stage-controls button { position:relative; border:0; border-radius:4px; background:transparent; padding:14px 4px; min-height:48px; color:#505963; font:inherit; font-size:15px; cursor:pointer; transition:background-color 180ms ease,color 180ms ease; }
.v10-stage-controls button[aria-pressed="true"] { background:#f4e6e8; color:#9c2030; }
.v10-stage-controls button::after { content:""; position:absolute; left:12%; right:12%; bottom:4px; height:2px; background:var(--flow-red); transform:scaleX(0); transform-origin:left; }
.home-v88 .v10-running .v10-stage-controls button[aria-pressed="true"]::after { animation:flow-progress 3200ms linear both !important; }
.v10-stage-controls button:focus-visible { outline:2px solid var(--flow-red); outline-offset:3px; }
.home-v88 #main .v10-stage-copy { width:100%; min-height:3.2em; margin:4px 0 0; text-align:center; font-size:16px; line-height:1.6; color:#454d55; }
.home-v88 .v89-visual figcaption small { margin:0; font-size:12px; color:#59636c; }

/* Track progress and active card always share a phase. */
.v10-continuity-track { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0 0 28px; padding:8px 0 0; }
.v10-track-line { position:absolute; left:12.5%; right:12.5%; top:14px; height:2px; background:var(--flow-silver); }
.v10-track-line span { display:block; width:100%; height:100%; background:var(--flow-red); transform-origin:left; transform:scaleX(var(--flow-progress,0)); transition:transform 800ms var(--flow-ease); }
.v10-track-node { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.v10-track-node::before { content:""; box-sizing:border-box; width:14px; height:14px; border:2px solid #a5afb8; border-radius:50%; background:#fff; transition:background-color 300ms,border-color 300ms; }
.v10-track-node span { display:none; }
.v10-track-node b { color:#515963; font-weight:500; font-size:15px; line-height:1.6; }
.v10-track-node.is-active::before,.v10-track-node.is-complete::before { background:var(--flow-red); border-color:var(--flow-red); }
.v10-track-node.is-active b { color:#9c2030; }
.home-v88 .v86-product { transition:background-color 400ms ease,border-color 400ms ease; }
.home-v88 .v86-product.is-flow-active { background:#fbf1f2; border-color:#c17a85; box-shadow:none; }
.home-v88 .v86-product.is-flow-active .v88-product-icon { color:#a92132; }
.home-v88 .v86-products.v10-running .is-flow-active.v86-product--recovery .v88-product-icon path:last-child { stroke-dasharray:100; animation:flow-check 1000ms var(--flow-ease) both; }
.home-v88 .v86-products.v10-running .is-flow-active.v86-product--storage .v88-product-icon ellipse { animation:flow-layer 1200ms var(--flow-ease) both; }
.home-v88 .v86-products.v10-running .is-flow-active.v86-product--monitor .v88-product-icon path { stroke-dasharray:120; animation:flow-wave 1400ms ease-out both; }
.home-v88 .v86-products.v10-running .is-flow-active.v86-product--operations .v88-product-icon circle { transform-box:fill-box; transform-origin:center; animation:flow-control 1000ms var(--flow-ease) both; }
.home-v88 .v86-products.v10-running .is-flow-active.v86-product--operations .v88-product-icon circle:last-child { animation-delay:200ms; }
@keyframes flow-route { from { stroke-dashoffset:100; opacity:.2; } to { stroke-dashoffset:0; opacity:.9; } }
@keyframes flow-check { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes flow-wave { from { stroke-dashoffset:120; } to { stroke-dashoffset:0; } }
@keyframes flow-layer { from { transform:translateY(8px); opacity:.35; } to { transform:translateY(0); opacity:1; } }
@keyframes flow-control { from { transform:scale(.6); } to { transform:scale(1); } }
@keyframes flow-progress { to { transform:scaleX(1); } }
@media (hover:hover) { .v10-stage-controls button:hover { background:#f1e5e7; color:#9c2030; } }
@media (max-width:850px) { .v10-continuity-track { gap:8px; } .v10-track-node b { font-size:14px; } }
@media (max-width:560px) {
  .v10-continuity-track { display:none; }
  .v10-stage-controls { gap:2px; }
  .v10-stage-controls button { font-size:14px; }
  .home-v88 #main .v10-stage-copy { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-v88 .v89-visual *, .home-v88 .v86-products *, .v10-continuity-track * { animation:none !important; transition:none !important; }
  .home-v88 .v89-visual :is(.v89-core-float,.v89-satellite) { transform:none !important; }
}
