/* ROUND H — bento canvas animations (agent-owned file) */

/* Slow, calm looping motion for the three static product canvases
   (.bv-amber, .bv-sky, .bv-blush) to match the Voice AI card's
   animated waveform. Transform / opacity / stroke-dashoffset /
   box-shadow only. Everything gated on reduced-motion preference. */

@media (prefers-reduced-motion:no-preference){

  /* ---------- card A · .bv-amber (Full-Funnel Lead Generation) ---------- */

  /* dashed connectors march toward the lead card (dasharray 3 5 = period 8;
     -72 = 9 full periods, so the loop is seamless) */
  .bv-amber .ff-links path{
    animation:rh-dash 9s linear infinite;
  }
  @keyframes rh-dash{
    to{stroke-dashoffset:-72}
  }

  /* gentle staggered bob on the three channel tiles
     (.glead already floats via .bfl — untouched) */
  .ff-tiles .gtile{
    animation:rh-bob 7s ease-in-out infinite;
  }
  .ff-tiles .gtile:nth-child(2){animation-delay:1.1s}
  .ff-tiles .gtile:nth-child(3){animation-delay:2.2s}
  @keyframes rh-bob{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-4px)}
  }

  /* periodic soft emphasis on the "Qualified" chip — long idle between */
  .gqual{
    transform-origin:left center;
    animation:rh-qual 10s ease-out .8s infinite;
  }
  @keyframes rh-qual{
    0%,16%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(79,163,122,0)}
    8%{transform:scale(1.04);box-shadow:0 0 0 6px rgba(79,163,122,.12)}
  }

  /* ---------- card C · .bv-sky (Data Enrichment) ---------- */
  /* .en-chip pills already float via .bfl — untouched */

  /* sequential soft sweep across the check rows: one row at a time,
     9s cycle, 3s apart */
  .en-rows li:nth-child(1){animation:rh-row 9s ease-out 1.2s infinite}
  .en-rows li:nth-child(2){animation:rh-row 9s ease-out 4.2s infinite}
  .en-rows li:nth-child(3){animation:rh-row 9s ease-out 7.2s infinite}
  @keyframes rh-row{
    0%,14%,100%{transform:translateX(0)}
    7%{transform:translateX(2px)}
  }
  .en-rows li:nth-child(1) .chk{animation:rh-chk 9s ease-out 1.2s infinite}
  .en-rows li:nth-child(2) .chk{animation:rh-chk 9s ease-out 4.2s infinite}
  .en-rows li:nth-child(3) .chk{animation:rh-chk 9s ease-out 7.2s infinite}
  @keyframes rh-chk{
    0%,14%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(79,163,122,0)}
    7%{transform:scale(1.15);box-shadow:0 0 0 5px rgba(79,163,122,.16)}
  }

  /* "50+ data points" badge — subtle breathe */
  .en-badge{
    animation:rh-breathe 8s ease-in-out 2s infinite;
  }
  @keyframes rh-breathe{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.035)}
  }

  /* ---------- card D · .bv-blush (Audience Data Subscription) ---------- */

  /* staggered gentle pulse/glow on the three segment pills, one after
     another (base .gl shadow kept in both stops so nothing pops) */
  .au-pill{
    animation:rh-pill 10s ease-out 2.4s infinite;
  }
  .au-pill:nth-child(2){animation-delay:5.7s}
  .au-pill:nth-child(3){animation-delay:9s}
  @keyframes rh-pill{
    0%,12%,100%{
      transform:translateX(0) scale(1);
      box-shadow:0 26px 52px -26px rgba(105,66,18,.38),inset 0 1px 0 rgba(255,255,255,.65);
    }
    6%{
      transform:translateX(3px) scale(1.02);
      box-shadow:0 26px 52px -26px rgba(105,66,18,.48),0 0 0 5px rgba(214,162,74,.12),inset 0 1px 0 rgba(255,255,255,.65);
    }
  }

  /* soft float on the "Campaign-ready" card — no .bfl on it, and its
     static translateY(-50%) centring must be preserved inside the loop */
  .au-card{
    animation:rh-aucard 8.5s ease-in-out 1.5s infinite;
  }
  @keyframes rh-aucard{
    0%,100%{transform:translateY(-50%)}
    50%{transform:translateY(calc(-50% - 5px))}
  }
  /* ≤560px the card sits in static flow (stacked under the pills),
     so the float loop must not re-apply the -50% centring offset */
  @media (max-width:560px){
    .au-card{animation-name:rh-aucard-m}
    @keyframes rh-aucard-m{
      0%,100%{transform:translateY(0)}
      50%{transform:translateY(-5px)}
    }
  }

  /* periodic tick emphasis on "Synced to CRM" */
  .au-sync{
    transform-origin:left center;
    animation:rh-sync 10s ease-out 4s infinite;
  }
  @keyframes rh-sync{
    0%,10%,100%{transform:scale(1)}
    5%{transform:scale(1.06)}
  }

}
