/* V5.37: quiet, page-specific light and texture behind the existing compositions. */
.az-page-ambient {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: paint;
}
.az-page-ambient::before,
.az-page-ambient::after {
  content: '';
  position: absolute;
  pointer-events: none;
}
:is(.az-art-hero, .az-about-hero, .az-contact-hero, .az-case-hero, .legal-container, .simple-page) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
:is(.az-art-hero, .az-about-hero, .az-contact-hero, .az-case-hero, .legal-container, .simple-page) > :not(.az-page-ambient) {
  position: relative;
  z-index: 3;
}

/* Home: a distant amber resonance in the stage image. */
.az-page-ambient--home::before {
  inset: -25% -18% 0 43%;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(224, 163, 105, .16), rgba(43, 116, 118, .10) 34%, transparent 69%);
  animation: az-ambient-drift 30s ease-in-out infinite alternate;
}
.az-page-ambient--home::after {
  inset: 55% -5% 0 16%;
  background: repeating-linear-gradient(0deg, transparent 0 25px, rgba(235, 188, 127, .055) 26px 27px, transparent 28px 54px);
  opacity: .55;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 38%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 38%, transparent);
  animation: az-ambient-slide 34s linear infinite alternate;
}

/* Professional: one slow stage-light pass, with a stationary signal grid. */
.az-page-ambient--professional::before {
  inset: -35% -18% -35% 47%;
  background: linear-gradient(112deg, transparent 33%, rgba(227, 183, 122, .12) 48%, rgba(98, 154, 154, .055) 53%, transparent 68%);
  animation: az-ambient-beam 29s ease-in-out infinite alternate;
}
.az-page-ambient--professional::after {
  inset: 60% 0 0;
  background: repeating-linear-gradient(0deg, transparent 0 37px, rgba(213, 193, 153, .06) 38px 39px, transparent 40px 76px);
  opacity: .38;
}

/* Portfolio: an archival diagonal, distinct from the stage and gallery motifs. */
.az-page-ambient--portfolio::before {
  inset: -50% -30% -40% 44%;
  background: linear-gradient(138deg, transparent 39%, rgba(226, 186, 127, .11) 49%, transparent 59%);
  animation: az-ambient-beam 34s ease-in-out infinite alternate-reverse;
}
.az-page-ambient--portfolio::after {
  inset: 0 0 0 49%;
  background: repeating-linear-gradient(90deg, transparent 0 69px, rgba(231, 200, 156, .045) 70px 71px, transparent 72px 140px);
  opacity: .6;
}

/* Artworks: fine concentric rings, like a quiet mark on the painted surface. */
.az-page-ambient--artworks::before {
  width: min(78vw, 860px);
  aspect-ratio: 1;
  right: -22%;
  top: -82%;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 72px, rgba(224, 178, 111, .075) 73px 74px, transparent 75px 123px);
  animation: az-ambient-orbit 37s ease-in-out infinite alternate;
}
.az-page-ambient--artworks::after {
  inset: -35% -17% -28% 46%;
  background: radial-gradient(ellipse, rgba(178, 93, 63, .10), transparent 64%);
  animation: az-ambient-breathe 25s ease-in-out infinite alternate;
}

/* About: a broad soft pool of warm light. */
.az-page-ambient--about::before {
  inset: -65% 25% -30% -23%;
  background: radial-gradient(ellipse, rgba(215, 171, 115, .14), rgba(77, 139, 137, .045) 42%, transparent 70%);
  animation: az-ambient-drift 32s ease-in-out infinite alternate-reverse;
}
.az-page-ambient--about::after {
  width: 1px;
  height: 70%;
  right: 12%;
  top: 14%;
  background: linear-gradient(transparent, rgba(232, 191, 136, .24), transparent);
  animation: az-ambient-breathe 29s ease-in-out infinite alternate;
}

/* Contact: converging routes with a single moving point of light. */
.az-page-ambient--contact::before {
  inset: -12% -15% -12% 40%;
  background: repeating-linear-gradient(115deg, transparent 0 85px, rgba(222, 178, 120, .065) 86px 87px, transparent 88px 170px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 65%);
  mask-image: linear-gradient(90deg, transparent, #000 65%);
  animation: az-ambient-slide 38s linear infinite alternate;
}
.az-page-ambient--contact::after {
  width: 38%;
  aspect-ratio: 1;
  right: 4%;
  top: 3%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 166, 105, .11), transparent 65%);
  animation: az-ambient-breathe 23s ease-in-out infinite alternate;
}

/* Utility pages stay especially quiet so the legal text remains primary. */
.az-page-ambient--legal::before {
  width: 1px;
  height: 130%;
  left: 92%;
  top: -14%;
  background: linear-gradient(transparent, rgba(226, 188, 133, .30), transparent);
  animation: az-ambient-vertical 36s ease-in-out infinite alternate;
}
.az-page-ambient--legal::after {
  inset: 0;
  background: radial-gradient(ellipse at 82% 8%, rgba(179, 143, 94, .045), transparent 50%);
}
.az-page-ambient--privacy::before {
  inset: -38% -35% -38% 30%;
  background: radial-gradient(ellipse, rgba(79, 139, 138, .105), transparent 67%);
  animation: az-ambient-breathe 35s ease-in-out infinite alternate;
}
.az-page-ambient--privacy::after {
  left: 48%;
  right: -18%;
  top: 69%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(218, 181, 125, .20), transparent);
}

@keyframes az-ambient-drift {
  from { transform: translate3d(-2%, 1%, 0); opacity: .72; }
  to { transform: translate3d(3%, -2%, 0); opacity: 1; }
}
@keyframes az-ambient-slide {
  from { transform: translate3d(-2%, 0, 0); }
  to { transform: translate3d(2%, 0, 0); }
}
@keyframes az-ambient-beam {
  from { transform: translate3d(-3%, 0, 0) rotate(-2deg); opacity: .55; }
  to { transform: translate3d(3%, 0, 0) rotate(2deg); opacity: .9; }
}
@keyframes az-ambient-orbit {
  from { transform: translate3d(-1%, 0, 0) rotate(-4deg); opacity: .55; }
  to { transform: translate3d(2%, 2%, 0) rotate(4deg); opacity: .85; }
}
@keyframes az-ambient-breathe {
  from { transform: scale(.96); opacity: .55; }
  to { transform: scale(1.04); opacity: .9; }
}
@keyframes az-ambient-vertical {
  from { transform: translate3d(0, -3%, 0); opacity: .35; }
  to { transform: translate3d(0, 3%, 0); opacity: .7; }
}

html.ambient-hidden .az-page-ambient::before,
html.ambient-hidden .az-page-ambient::after { animation-play-state: paused !important; }
html.motion-off .az-page-ambient::before,
html.motion-off .az-page-ambient::after,
html.no-js .az-page-ambient::before,
html.no-js .az-page-ambient::after { animation: none !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .az-page-ambient::before, .az-page-ambient::after { animation: none !important; transform: none !important; }
}
@media (max-width: 700px) {
  .az-page-ambient { opacity: .7; }
  .az-page-ambient--artworks::before { top: -32%; right: -76%; width: 115vw; }
}
