/* V7: ring and its three arrowheads rotate as one redrawn element. */
.jh-cycle .jh-rotor,
.jh-cycle .jh-cycle-arrows {
  display: none !important;
}

.jh-cycle-wheel {
  position: absolute;
  z-index: 3;
  left: 10px;
  top: 10px;
  width: 156px;
  height: 156px;
  border-radius: 50%;
  filter: drop-shadow(0 9px 14px color-mix(in srgb, var(--jh-accent) 23%, transparent));
  transform-origin: 50% 50%;
}

.jh-cycle-wheel-track {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from -12deg,
    var(--jh-accent) 0 29%,
    color-mix(in srgb, var(--jh-accent) 34%, white) 29% 33.33%,
    color-mix(in srgb, var(--jh-accent) 87%, white) 33.33% 62%,
    color-mix(in srgb, var(--jh-accent) 31%, white) 62% 66.66%,
    color-mix(in srgb, var(--jh-accent) 72%, white) 66.66% 95%,
    color-mix(in srgb, var(--jh-accent) 31%, white) 95% 100%
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 17px), #000 calc(100% - 16px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 17px), #000 calc(100% - 16px));
}

.jh-cycle-wheel-track::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,.62), transparent 45%);
}

.jh-wheel-arrow {
  position: absolute;
  z-index: 2;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 18px solid var(--jh-accent);
  filter: drop-shadow(0 2px 3px color-mix(in srgb, var(--jh-accent) 30%, transparent));
}

.jh-wheel-arrow--1 {
  left: 124px;
  top: 31px;
  transform: rotate(52deg);
}

.jh-wheel-arrow--2 {
  left: 72px;
  top: 137px;
  transform: rotate(174deg);
}

.jh-wheel-arrow--3 {
  left: 2px;
  top: 57px;
  transform: rotate(-67deg);
}

.jh-cycle-label {
  z-index: 6;
}

@media (prefers-reduced-motion: no-preference) {
  .jh-cycle-wheel { animation: jh-wheel-turn 13s linear infinite; }
  .jh-flow-card--legacy .jh-cycle-wheel { animation-duration: 20s; }
  @keyframes jh-wheel-turn { to { transform: rotate(1turn); } }
}

.jh-partner-logo {
  height: 60px;
  padding-inline: 7px;
}

.jh-partner-crop {
  height: 38px !important;
}

.jh-partner-track {
  gap: 56px;
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes jh-partner-scroll-v7 { to { transform: translateX(calc(-50% - 28px)); } }
  .jh-partner-track { animation-name: jh-partner-scroll-v7; animation-duration: 46s; }
}

@media (max-width: 767px) {
  .jh-partner-logo { height: 56px; padding-inline: 6px; }
  .jh-partner-crop { height: 35px !important; }
  .jh-partner-track { gap: 42px; }
}
