:where(.material-paper, .material-paint, .material-wash, .material-layer):not(.absolute) {
  position: relative;
  isolation: isolate;
}

.material-paper::after,
.material-paint::after,
.material-wash::after,
.material-layer::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background-image: var(--material-texture);
  background-size: var(--material-size, 256px 256px);
  mix-blend-mode: var(--material-blend, multiply);
  opacity: var(--material-opacity, .08);
  pointer-events: none;
  content: "";
}

.material-paper {
  --material-texture: url("/vi/services/website-development/styles/item/beauty-laboratory-ink-and-blush/preview/assets/paper-grain.webp");
  --material-size: 220px 220px;
  --material-opacity: .11;
  --material-blend: multiply;
}

.material-paint {
  --material-texture: url("/vi/services/website-development/styles/item/beauty-laboratory-ink-and-blush/preview/assets/paint-dropout.webp");
  --material-size: 270px 270px;
  --material-opacity: .08;
  --material-blend: screen;
}

.material-wash {
  --material-texture: url("/vi/services/website-development/styles/item/beauty-laboratory-ink-and-blush/preview/assets/paper-grain.webp");
  --material-size: 340px 340px;
  --material-opacity: .12;
  --material-blend: soft-light;
}

.material-ink {
  -webkit-mask-image: url("/vi/services/website-development/styles/item/beauty-laboratory-ink-and-blush/preview/assets/ink-dropout.webp");
  mask-image: url("/vi/services/website-development/styles/item/beauty-laboratory-ink-and-blush/preview/assets/ink-dropout.webp");
  -webkit-mask-size: 190px 190px;
  mask-size: 190px 190px;
}

.ink-fallback { opacity: .2; }

.photo-print {
  filter: grayscale(1) contrast(1.2) brightness(1.04);
  mix-blend-mode: multiply;
}

.photo-screen:not(.absolute) {
  position: relative;
  isolation: isolate;
}

.photo-screen.absolute { isolation: isolate; }

.photo-screen::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  background-image: radial-gradient(circle, rgb(17 17 17 / 19%) .55px, transparent .75px);
  background-size: 3px 3px;
  mix-blend-mode: multiply;
  opacity: .18;
  pointer-events: none;
  content: "";
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
