/* RIGGED STUDIOS — finish layer. one texture: film grain over the paintings, felt not
   seen. painted bands take a warm vignette so type sits on the dark side of the art. */
.grain::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px;
  opacity: 0.05;
  mix-blend-mode: overlay;
}
.painted {
  position: relative;
  background-size: cover;
  background-position: center;
  isolation: isolate;
}
.painted::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background:
    linear-gradient(100deg, oklch(0.14 0.02 250 / 0.96) 0%, oklch(0.14 0.02 250 / 0.78) 42%, oklch(0.14 0.02 250 / 0.30) 100%),
    radial-gradient(120% 90% at 70% 20%, transparent 40%, oklch(0.13 0.02 250 / 0.55) 100%);
}
/* copy sits ON the paintings — it gets full ink, not the dim tier */
.painted .copy p, .painted p.lede { color: var(--cream); }
.painted .spec { color: var(--cream-dim); }
.painted > * { position: relative; z-index: 1; }
