/* Ambient layers — equalizer + note rain (Workshop parity) */

:root {
  --layout-eq-ratio: 0.38;
}

.ambient-root {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.ambient-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}

.ambient-canvas--eq {
  z-index: 0;
}

.ambient-canvas--rain {
  z-index: 1;
  filter: blur(0.35px);
}

@media (prefers-reduced-motion: reduce) {
  .ambient-root {
    display: none;
  }
}

body.has-contact-open .ambient-root {
  filter: blur(8px) saturate(0.88);
  transition: filter var(--transition);
}

html.perf-lite .ambient-canvas--rain {
  filter: none;
}

html.perf-lite body.has-contact-open .ambient-root {
  filter: none;
}
