.block.block-counter * {
  transition-duration: 0s;
}
.block.block-counter svg.progress-circle circle {
  fill: none;
  stroke: currentcolor;
}
.block.block-counter svg.progress-circle circle.fill {
  stroke: var(--color-primary);
  stroke-linecap: round;
  stroke-linejoin: bevel;
}
.block.block-counter.has-circle, .block.block.block-column > .blocks > .block.block-counter.has-circle {
  aspect-ratio: 1;
  position: relative;
  max-width: 5rem;
}
.block.block-counter.has-circle svg, .block.block.block-column > .blocks > .block.block-counter.has-circle svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.block.block-counter.has-circle .main, .block.block.block-column > .blocks > .block.block-counter.has-circle .main {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}
.block.block-counter.is-size-n {
  max-width: 8rem;
  font-size: clamp(1em, calc(1em + 1 * (100vw - 20rem) / 60), 2em);
}
.block.block-counter.is-size-m {
  max-width: 12rem;
  font-size: clamp(2em, calc(2em + 1 * (100vw - 20rem) / 60), 3em);
}
.block.block-counter.is-size-l {
  max-width: 15rem;
  font-size: clamp(3.5em, calc(3.5em + 1.5 * (100vw - 20rem) / 60), 5em);
}
.block.block-counter.is-align-left {
  text-align: left;
}
.block.block-counter.is-align-left.has-circle {
  margin-right: auto;
  text-align: center;
}
.block.block-counter.is-align-center {
  text-align: center;
}
.block.block.block-column > .blocks > .block.block-counter.is-align-center.has-circle, .block.block-counter.is-align-center.has-circle {
  margin-right: auto;
  margin-left: auto;
}
.block.block-counter.is-align-right {
  text-align: right;
}
.block.block-counter.is-align-right.has-circle {
  margin-left: auto;
  text-align: center;
}