/* ─── ATMOSPHERE PASS ─────────────────────────────────────────────────────── */

/* Overlay wrapper */
.atm {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 998;
}

/* Grain — tiling SVG fractal noise */
.atm::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
  opacity: 0.055;
  mix-blend-mode: soft-light;
}

/* Vignette + warm grade (warm dark ink at corners, not cool black) */
.atm::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 140% 140% at 50% 50%,
    transparent 50%,
    rgba(46, 26, 14, 0.07) 100%
  );
  /* rgba(46,26,14) = warm dark brown — this IS the warm grade, baked into the vignette */
}

@media (prefers-reduced-motion: reduce) {
  .atm::before { opacity: 0.025; }
}
