.material-paper,
.material-paint,
.material-ink,
.material-wash {
  isolation: isolate;
}

:where(.material-paper, .material-paint, .material-ink, .material-wash):not(.absolute):not(.fixed):not(.sticky) {
  position: relative;
}

.material-paper::before,
.material-paint::before,
.material-ink::before,
.material-wash::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;
  background-image: var(--material-texture);
  background-repeat: repeat;
  background-size: var(--material-size, 256px);
  opacity: var(--material-opacity, .1);
  mix-blend-mode: var(--material-blend, screen);
}

.material-paper {
  --material-texture: url("/vi/services/website-development/styles/item/defense-systems-signal-black/preview/assets/paper-grain.webp");
  --material-size: 256px;
  --material-opacity: .055;
  --material-blend: soft-light;
}

.material-paint {
  --material-texture: url("/vi/services/website-development/styles/item/defense-systems-signal-black/preview/assets/paint-grain.webp");
  --material-size: 256px;
  --material-opacity: .18;
  --material-blend: screen;
}

.material-ink {
  --material-texture: url("/vi/services/website-development/styles/item/defense-systems-signal-black/preview/assets/ink-dropout.webp");
  --material-size: 192px;
  --material-opacity: .12;
  --material-blend: screen;
}

.material-wash {
  --material-texture: url("/vi/services/website-development/styles/item/defense-systems-signal-black/preview/assets/paint-grain.webp");
  --material-size: 320px;
  --material-opacity: .08;
  --material-blend: soft-light;
}

.signal-photo {
  overflow: hidden;
  isolation: isolate;
  background: #061016;
}

.signal-photo:not(.absolute):not(.fixed):not(.sticky) {
  position: relative;
}

.signal-photo > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  filter: grayscale(.75) saturate(.72) contrast(1.14) brightness(.76) hue-rotate(155deg);
}

.signal-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 48%, transparent 0 24%, rgba(0, 9, 14, .08) 48%, rgba(0, 8, 12, .66) 100%),
    linear-gradient(105deg, rgba(0, 10, 16, .38), transparent 48%, rgba(11, 27, 35, .18));
  mix-blend-mode: multiply;
}

.scan-grid {
  background-image:
    linear-gradient(rgba(87, 106, 120, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87, 106, 120, .09) 1px, transparent 1px);
  background-size: 24px 24px;
}

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