.uff-piercing {
  container: piercing / inline-size;
  padding-block: 4.6rem 2.8rem;
  background: var(--uff-white);
  scroll-margin-block-start: 5rem;
}

.uff-piercing__intro {
  display: grid;
  gap: 2.4rem;
  margin-block-end: 2rem;
  align-items: center;
}

.uff-piercing__copy .uff-section-title {
  max-width: 11ch;
}

.uff-mosaic {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.42rem;
  width: 100%;
  max-width: none;
}

.uff-mosaic__item {
  position: relative;
  display: block;
  overflow: clip;
  color: inherit;
  text-decoration: none;
  background: var(--uff-paper);
}

.uff-mosaic__item picture,
.uff-filter__card picture {
  display: contents;
}

.uff-mosaic__item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.uff-mosaic__item span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.uff-mosaic__item.is-dim {
  opacity: 0.28;
}

.uff-filter {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.05rem;
}

.uff-filter__card {
  display: grid;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: start;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

.uff-filter__card img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3.4;
  object-fit: cover;
}

.uff-filter__card--uszy img {
  object-position: 72% 38%;
}

.uff-filter__card--nos img {
  object-position: 50% 58%;
}

.uff-filter__card--oral img {
  object-position: 50% 42%;
}

.uff-filter__card--cialo img {
  object-position: 50% 46%;
}

.uff-filter__card strong {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.uff-filter__card span {
  color: var(--uff-muted);
  font-size: 0.78rem;
  font-weight: 300;
}

.uff-filter__card[aria-selected="true"] img,
.uff-filter__card:hover img {
  outline: 1px solid var(--uff-rose);
  outline-offset: 3px;
}

@container piercing (max-width: 720px) {
  .uff-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .uff-piercing__intro {
    grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: 2.6rem;
  }

  .uff-piercing__copy {
    padding-block-start: 0.1rem;
  }
}
