.cv-purity {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
  padding: 3rem;
  border-radius: 16px;
}
.cv-purity--gradient {
  background:
    radial-gradient(circle at 100% 100%, rgba(232, 185, 35, .22), transparent 45%),
    linear-gradient(135deg, #0A8890 0%, #3D4247 100%);
  color: #fff;
}
.cv-purity--gradient :is(h2, h3, p, .rte) { color: inherit; }

.cv-eyebrow {
  margin: 0 0 .75rem;
  font-family: var(--font-heading-family, Poppins, sans-serif);
  font-weight: 600;
  font-size: .75rem;
  line-height: 1.2;
  letter-spacing: .04em;
  color: #0A8890;
}
.cv-purity--gradient .cv-eyebrow,
.color-scheme--dark .cv-eyebrow,
.color-scheme--accent .cv-eyebrow { color: currentColor; opacity: .86; }

.cv-purity__body { max-width: 52ch; }
.cv-purity__body > :last-child { margin-bottom: 0; }

.cv-purity__chart {
  padding: 1.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .16);
}
.cv-purity__chart-title {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading-family, Poppins, sans-serif);
  font-weight: 600;
  font-size: .75rem;
  letter-spacing: .04em;
  opacity: .72;
}

.cv-bar { margin-bottom: 1.25rem; }
.cv-bar__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .75rem;
  margin-bottom: .5rem;
}
.cv-bar__label { font-weight: 600; font-size: .875rem; line-height: 1.35; opacity: .86; }
.cv-bar__val {
  font-weight: 700;
  font-size: 1.25rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  opacity: .86;
}
.cv-bar__track {
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  overflow: hidden;
}
.cv-bar__fill { height: 100%; border-radius: inherit; background: rgba(255, 255, 255, .72); }

.cv-bar.is-ours .cv-bar__label { opacity: 1; }
.cv-bar.is-ours .cv-bar__val { color: #E8B923; opacity: 1; }
.cv-bar.is-ours .cv-bar__fill { background: #E8B923; }
.cv-bar.is-unknown .cv-bar__val { font-size: .9375rem; opacity: .6; }

.cv-purity__foot {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .16);
  font-size: .75rem;
  line-height: 1.6;
  opacity: .72;
}
.cv-purity__foot > :last-child { margin-bottom: 0; }

@media screen and (max-width: 749px) {
  .cv-purity { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding: 1.5rem; }
  .cv-purity__chart { padding: 1.25rem; }
}