/* ============ Screen 3 · боул + плашки вокруг (по мотивам референса) ============ */
.benefits {
  position: relative; overflow: hidden;
  padding: 40px 0 72px;
  background: var(--page);
}
.benefits .section-title { padding: 0 var(--page-x); max-width: none; }

.benefits__stage {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  margin-top: 24px; padding: 0 var(--page-x);
}

/* жирная линия на фоне — «рисуется» при появлении */
.benefits__swoosh {
  position: absolute; left: 0; top: 40px; width: 100%; height: 360px;
  overflow: visible; pointer-events: none; z-index: 0;
}
.benefits__swoosh path {
  fill: none; stroke: var(--accent); stroke-width: 56; stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  transition: stroke-dashoffset 2.2s var(--ease-out), stroke var(--t-theme) var(--ease-in-out);
}
.benefits__swoosh.is-in path { stroke-dashoffset: 0; }

.benefits__bowl {
  position: relative; z-index: 1;
  width: min(78vw, 360px); height: auto;
  filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .18));
}
.benefits__bowl.is-in { animation: spin 90s linear infinite; }
@keyframes spin { to { rotate: 360deg; } }

.benefits__cards { position: relative; z-index: 2; display: grid; gap: 10px; width: 100%; max-width: 480px; margin-top: 28px; }
.benefit {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 20px 22px; border-radius: var(--r-lg);
  background: #fff; box-shadow: 0 18px 40px -24px rgba(35, 48, 30, .3);
}
.benefit__icon {
  display: grid; place-items: center; flex: none;
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--accent); color: #fff;
  transition: background-color var(--t-theme) var(--ease-in-out);
}
.benefit__icon svg { width: 20px; height: 20px; }
.benefit h3 { font-weight: 700; font-size: 17px; letter-spacing: -.05em; line-height: 1.2; }
.benefit p { margin-top: 4px; color: var(--ink-2); font-size: 15px; line-height: 1.2; }

/* еда вокруг боула */
.ben-f1 { width: 58px; left: 74%; top: 0; --r0: 20deg; --dur: 8s; }
.ben-f2 { width: 40px; left: 6%; top: 250px; --r0: -10deg; --dur: 10s; --delay: -4s; }
.ben-f3 { width: 70px; left: 2%; top: 60px; --r0: -16deg; --dur: 9s; --delay: -2s; }
.ben-f4 { width: 36px; left: 86%; top: 280px; --dur: 11s; --delay: -6s; }
.ben-f5 { display: none; }

.benefits__cta { display: flex; justify-content: center; margin-top: 40px; padding: 0 var(--page-x); }
.benefits__cta .btn-accent { min-width: 300px; }

/* ---------- Desktop: плашки вокруг боула ---------- */
@media (min-width: 1024px) {
  .benefits { padding: 48px 0 100px; }
  .benefits__stage { display: block; height: 720px; max-width: 1240px; margin: 20px auto 0; padding: 0; }
  .benefits__swoosh { left: 50%; translate: -50% 0; width: 100vw; top: 0; height: 100%; }
  .benefits__swoosh path { stroke-width: 110; }
  .benefits__bowl { position: absolute; left: 50%; top: 50%; width: 460px; margin: -230px 0 0 -230px; }
  .benefits__cards { position: static; max-width: none; margin: 0; }
  .benefit { position: absolute; width: 350px; padding: 24px 26px; }
  .benefit--1 { left: 6%;  top: 40px; }
  .benefit--2 { right: 4%; top: 150px; }
  .benefit--3 { left: 10%; bottom: 110px; }
  .benefit--4 { right: 8%; bottom: 20px; }

  .ben-f1 { width: 110px; left: 64%; top: 10px; }
  .ben-f2 { width: 70px; left: 88%; top: 52%; }
  .ben-f3 { width: 120px; left: 12%; top: 44%; }
  .ben-f4 { width: 60px; left: 36%; top: 6%; }
  .ben-f5 { display: block; width: 240px; right: -40px; bottom: -60px; --r0: 25deg; --dur: 12s; }
  .benefits__cta { margin-top: 56px; }
}
