.psw-stats-section {
  --psw-stats-bg: #f7f5f2;
  --psw-stats-text: #242424;
  --psw-stats-accent: #f0c011;
  --psw-stats-icon-color: #242424;
  --psw-stats-circle-bg: #fbfaf7;
  --psw-stats-ring: #e7e4de;
  --psw-stats-separator: #d8d5cf;
  --psw-stats-separator-width: 1px;
  --psw-stats-separator-height: 66%;
  --psw-stats-container: 1600px;
  --psw-stats-column-gap: clamp(18px, 2.5vw, 46px);
  --psw-stats-icon-size: 45px;
  --psw-stats-circle-size: 92px;
  --psw-stats-ring-size: 122px;
  --psw-stats-hover-lift: 5px;
  --psw-stats-ring-rotation: 8deg;
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
  background: var(--psw-stats-bg);
  color: var(--psw-stats-text);
}

.psw-stats-section,
.psw-stats-section *,
.psw-stats-section *::before,
.psw-stats-section *::after {
  box-sizing: border-box;
}

.psw-stats-inner {
  width: 100%;
  max-width: var(--psw-stats-container);
  margin-inline: auto;
  padding: clamp(28px, 3.5vw, 58px) clamp(20px, 4vw, 68px);
}

.psw-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  column-gap: var(--psw-stats-column-gap);
  row-gap: clamp(28px, 3vw, 48px);
}

.psw-stats-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 1.7vw, 30px);
  min-width: 0;
  padding-inline: clamp(4px, .7vw, 12px);
}

.psw-stats-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(var(--psw-stats-column-gap) / -2);
  width: var(--psw-stats-separator-width);
  height: var(--psw-stats-separator-height);
  background: var(--psw-stats-separator);
  transform: translateY(-50%);
}

.psw-stats-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--psw-stats-ring-size);
  width: var(--psw-stats-ring-size);
  height: var(--psw-stats-ring-size);
  transition: transform var(--psw-stats-duration, 650ms) cubic-bezier(.2, .7, .2, 1);
}

.psw-stats-ring {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  transform: rotate(-90deg);
  transition: transform var(--psw-stats-duration, 650ms) cubic-bezier(.2, .7, .2, 1);
}

.psw-stats-ring-base,
.psw-stats-ring-accent {
  fill: none;
  stroke-linecap: round;
  stroke-width: 2.4;
}

.psw-stats-ring-base {
  stroke: var(--psw-stats-ring);
  stroke-dasharray: 70 8 14 8;
}

.psw-stats-ring-accent {
  stroke: var(--psw-stats-accent);
  stroke-dasharray: 22 78;
  stroke-dashoffset: 0;
  transition: stroke-dashoffset var(--psw-stats-duration, 650ms) cubic-bezier(.2, .7, .2, 1), opacity 350ms ease;
}

.psw-stats-dot {
  position: absolute;
  z-index: 3;
  top: 12.5%;
  right: 8.5%;
  display: block;
  width: clamp(11px, 1vw, 15px);
  height: clamp(11px, 1vw, 15px);
  border-radius: 50%;
  background: var(--psw-stats-accent);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--psw-stats-accent) 38%, transparent);
  transform: scale(1);
  transform-origin: center;
  transition: opacity 400ms ease, transform 500ms cubic-bezier(.2, .7, .2, 1);
}

@supports not (color: color-mix(in srgb, white, transparent)) {
  .psw-stats-dot { box-shadow: 0 4px 12px rgba(240, 192, 17, .28); }
}

.psw-stats-icon-circle {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--psw-stats-circle-size);
  height: var(--psw-stats-circle-size);
  border: 1px solid rgba(36, 36, 36, .05);
  border-radius: 50%;
  background: var(--psw-stats-circle-bg);
  color: var(--psw-stats-icon-color);
  box-shadow: 0 10px 28px rgba(36, 36, 36, .09);
}

.psw-stats-icon-circle svg,
.psw-stats-icon-circle img {
  display: block;
  width: var(--psw-stats-icon-size);
  height: var(--psw-stats-icon-size);
  max-width: none;
}

.psw-stats-icon-circle svg {
  fill: none;
  stroke: currentColor;
}

.psw-stats-icon-circle i {
  color: inherit;
  font-size: var(--psw-stats-icon-size);
  line-height: 1;
}

.psw-stats-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}

.psw-stats-value,
.psw-stats-description {
  display: block;
  margin: 0;
}

.psw-stats-value {
  color: var(--psw-stats-text);
  font-family: Manrope, Arial, Helvetica, sans-serif;
  font-size: clamp(25px, 2.15vw, 39px);
  font-weight: 750;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.psw-stats-description {
  color: #4a4a4a;
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: clamp(14px, 1.15vw, 20px);
  font-weight: 400;
  line-height: 1.35;
}

.psw-stats-item:hover .psw-stats-icon-wrap {
  transform: translateY(calc(-1 * var(--psw-stats-hover-lift)));
}

.psw-stats-item:hover .psw-stats-ring {
  transform: rotate(calc(-90deg + var(--psw-stats-ring-rotation)));
}

.psw-stats-section.psw-stats-motion-ready:not(.is-visible) .psw-stats-item {
  opacity: 0;
  transform: translateY(22px);
}

.psw-stats-section.psw-stats-motion-ready .psw-stats-item {
  transition: opacity var(--psw-stats-duration, 650ms) ease, transform var(--psw-stats-duration, 650ms) cubic-bezier(.2, .7, .2, 1);
  transition-delay: calc(var(--psw-stats-index, 0) * var(--psw-stats-stagger, 100ms));
}

.psw-stats-section.psw-stats-motion-ready[data-ring-animation="yes"]:not(.is-visible) .psw-stats-ring-accent {
  opacity: 0;
  stroke-dashoffset: 100;
}

.psw-stats-section.psw-stats-motion-ready[data-ring-animation="yes"]:not(.is-visible) .psw-stats-dot {
  opacity: 0;
  transform: scale(.25);
}

.psw-stats-section.psw-stats-motion-ready[data-ring-animation="yes"] .psw-stats-ring-accent,
.psw-stats-section.psw-stats-motion-ready[data-ring-animation="yes"] .psw-stats-dot {
  transition-delay: calc((var(--psw-stats-index, 0) * var(--psw-stats-stagger, 100ms)) + 180ms);
}

@media (max-width: 1024px) {
  .psw-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .psw-stats-item:nth-child(even)::after { display: none; }
  .psw-stats-item:nth-child(n + 3) { padding-top: clamp(8px, 2vw, 20px); }
}

@media (max-width: 767px) {
  .psw-stats-inner { padding-block: clamp(28px, 9vw, 44px); }
  .psw-stats-grid { grid-template-columns: 1fr; row-gap: 0; }
  .psw-stats-item {
    justify-content: center;
    width: 100%;
    padding: 22px 0;
  }
  .psw-stats-item:nth-child(n + 3) { padding-top: 22px; }
  .psw-stats-item:not(:last-child)::after {
    top: auto;
    right: 8%;
    bottom: 0;
    left: 8%;
    display: block;
    width: auto;
    height: var(--psw-stats-separator-width);
    transform: none;
  }
  .psw-stats-content { width: min(48vw, 210px); }
}

@media (prefers-reduced-motion: reduce) {
  .psw-stats-section *,
  .psw-stats-section *::before,
  .psw-stats-section *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
  .psw-stats-item,
  .psw-stats-icon-wrap,
  .psw-stats-ring,
  .psw-stats-dot {
    opacity: 1 !important;
    transform: none !important;
  }
  .psw-stats-ring { transform: rotate(-90deg) !important; }
  .psw-stats-ring-accent { opacity: 1 !important; stroke-dashoffset: 0 !important; }
}
