  .gv-curve{
    --bg:#0F0F0F; --pink:#FFB6C1; --pink-deep:#F893A3; --blue:#ADD8E6; --blue-deep:#79B8E6;
    --grey-line:#5A606A; --grey-text:#8A9099; --text:#FAFBFC; --muted:rgba(250,251,252,.64);
    --panel:#1B1D21; --border:rgba(255,255,255,.10);
    position:relative; width:100%; font-family:'Inter',system-ui,sans-serif; color:var(--text);
    -webkit-font-smoothing:antialiased; user-select:none;
  }
  .gv-curve svg{width:100%;height:auto;display:block;overflow:visible}
  .gv-curve .t-eyebrow{font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase}
  .gv-curve .t-title{font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-.01em}
  .gv-curve .t-sub{font:400 13px 'Inter',sans-serif}
  .gv-curve .t-small{font:500 11.5px 'Inter',sans-serif}
  .gv-curve .fade{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
  .gv-curve .fade.in{opacity:1}
  .gv-curve .rise{transform:translateY(6px)}
  .gv-curve .rise.in{transform:none}

  /* Cycle legend (HTML, below chart) */
  .gv-loop{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:10px}
  .gv-loop .lbl{font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-text);margin-right:4px}
  .gv-loop .step{font:500 12.5px 'Inter',sans-serif;color:var(--muted);padding:6px 10px;white-space:nowrap;border-radius:999px;
    background:var(--panel);border:1px solid var(--border);transition:all .5s cubic-bezier(.22,1,.36,1)}
  .gv-loop .step.on{color:#0F0F0F;background:var(--pink);border-color:var(--pink);box-shadow:0 0 18px rgba(255,182,193,.35)}
  .gv-loop .step.ai.on{background:var(--blue);border-color:var(--blue);box-shadow:0 0 18px rgba(173,216,230,.35)}
  .gv-loop .arr{color:var(--grey-text);font-size:12px}
  .gv-loop .rep{color:var(--pink);font-size:15px;margin-left:2px}

  @media (max-width:640px){
    .gv-curve .hide-sm{display:none}
    .gv-curve .t-title{font-size:30px}
    .gv-curve .t-sub{font-size:19px}
    .gv-curve .t-small{font-size:17px}
    .gv-curve .t-eyebrow{font-size:15px}
    .gv-curve .cyc{display:none}
    .gv-loop .lbl{flex-basis:100%;text-align:center;margin:0 0 2px}
    .gv-loop .step{font-size:12px;padding:5px 9px}
    .gv-loop .arr,.gv-loop .rep{display:none}
    .gv-curve #gvGapLabel{font-size:16px!important;letter-spacing:.03em!important}
    .gv-curve .gv-logo{transform-box:fill-box;transform-origin:50% 50%;transform:translate(60px,4px) scale(1.55)}
    .gv-curve .t-title{font-size:30px}
  }
  @media (prefers-reduced-motion:reduce){
    .gv-curve .fade{opacity:1!important;transform:none!important;transition:none!important}
  }
