.work .section-heading h2 {
  text-wrap: balance;
}
.artist-row {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  margin-top: 35px;
  padding: 5px 3px 15px;
  scrollbar-width: thin;
  scrollbar-color: #d6cbd9 transparent;
  scroll-snap-type: x proximity;
}
.artist-card {
  position: relative;
  flex: 0 0 clamp(290px, 29vw, 360px);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 20px;
  background: #f0f0f0;
  isolation: isolate;
  scroll-snap-align: start;
}
.artist-card::before,
.artist-card::after {
  content: "";
  position: absolute;
  inset: -5%;
  pointer-events: none;
  mask: var(--artist-pattern) center / cover no-repeat;
  -webkit-mask: var(--artist-pattern) center / cover no-repeat;
}
.artist-card::before {
  background: #38383b;
  opacity: 0.78;
  transition: opacity 0.75s ease;
}
.artist-card::after {
  background: #da3f88;
  opacity: 0;
  clip-path: circle(0% at 50% 70%);
  transition:
    clip-path 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.65s ease;
}
.artist-portrait {
  position: absolute;
  inset: 18px 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  container-type: size;
  z-index: 1;
  pointer-events: none;
  transform-origin: center bottom;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.artist-cutout {
  position: relative;
  flex: none;
  width: min(100cqw, calc(100cqh * var(--cutout-ratio)));
  height: 100%;
  max-height: calc(100cqw / var(--cutout-ratio));
}
.artist-card img {
  display: block;
  position: absolute;
  width: var(--cutout-width);
  height: var(--cutout-height);
  max-width: none;
  left: var(--cutout-left);
  top: var(--cutout-top);
  filter: drop-shadow(0 8px 12px #00000020);
}
.artist-card:is(:hover, :focus-visible)::before {
  opacity: 0.12;
}
.artist-card:is(:hover, :focus-visible)::after {
  opacity: 0.92;
  clip-path: circle(90% at 50% 70%);
  animation: artist-dot-drift 5s ease-in-out infinite;
}
.artist-card:is(:hover, :focus-visible) .artist-portrait {
  transform: scale(1.025);
}
.artist-card:focus-visible {
  outline-offset: 1px;
}
.artist-summary {
  position: absolute;
  z-index: 2;
  inset: auto 12px 12px;
  display: grid;
  gap: 6px;
  padding: 16px 20px;
  border-radius: 13px;
  background: #191320f0;
  color: #fff;
  box-shadow: 0 8px 24px #100b1926;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  pointer-events: none;
  opacity: 0;
  transform: translateY(calc(100% + 14px));
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.3s ease;
}
.artist-name {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.artist-views {
  display: flex;
  align-items: baseline;
  gap: 9px;
  color: #f1a6ce;
}
.artist-views strong {
  font-size: 34px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.045em;
}
.artist-views > span {
  font-size: 14px;
  line-height: 1;
}
.artist-card:is(:hover, :focus-visible) .artist-summary {
  opacity: 1;
  transform: translateY(0);
}
@media (hover: none) {
  .artist-summary {
    opacity: 1;
    transform: none;
  }
}
.artist-card:nth-child(1) {
  --artist-pattern: url("assets/artist-dot-fields/field-1.svg");
}
.artist-card:nth-child(2) {
  --artist-pattern: url("assets/artist-dot-fields/field-2.svg");
}
.artist-card:nth-child(3) {
  --artist-pattern: url("assets/artist-dot-fields/field-3.svg");
}
.artist-card:nth-child(4) {
  --artist-pattern: url("assets/artist-dot-fields/field-4.svg");
}
.artist-card:nth-child(5) {
  --artist-pattern: url("assets/artist-dot-fields/field-5.svg");
}
.artist-card:nth-child(6) {
  --artist-pattern: url("assets/artist-dot-fields/field-6.svg");
}
.artist-card:nth-child(7) {
  --artist-pattern: url("assets/artist-dot-fields/field-7.svg");
}
.artist-card:nth-child(8) {
  --artist-pattern: url("assets/artist-dot-fields/field-8.svg");
}
.artist-card:nth-child(9) {
  --artist-pattern: url("assets/artist-dot-fields/field-9.svg");
}
.artist-card:nth-child(10) {
  --artist-pattern: url("assets/artist-dot-fields/field-10.svg");
}
@keyframes artist-dot-drift {
  0%,
  100% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(7deg) scale(1.045);
  }
}
@media (max-width: 700px) {
  .artist-row {
    gap: 16px;
    margin-top: 26px;
  }
  .artist-card {
    flex-basis: 83vw;
    max-width: 325px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .artist-card::before,
  .artist-card::after,
  .artist-portrait,
  .artist-summary {
    transition: none;
  }
  .artist-card:is(:hover, :focus-visible)::after {
    animation: none;
  }
  .artist-card:is(:hover, :focus-visible) .artist-portrait {
    transform: none;
  }
}
