/* QR Digital V55: visible atmospheric light over ONE existing background.
   Direct replacement for seo-atmosphere-v54.css. Do not re-enable service-ambience-v51.js.
   No new photographic layers, no layout changes, no typography effects. */
.seo-hero { position:relative; isolation:isolate; }
.qr-atmosphere {
 position:absolute; inset:0; overflow:hidden; z-index:1; pointer-events:none;
 background:transparent;
}
.qr-atmosphere::before,.qr-atmosphere::after {
 content:""; display:block; position:absolute; pointer-events:none;
 will-change:transform,opacity;
}
/* Slow diagonal shaft, brighter and wide enough to be perceived within seconds. */
.qr-atmosphere::before {
 inset:-24% -50%;
 background:linear-gradient(112deg,transparent 25%,rgba(255,244,219,.02) 34%,rgba(255,233,187,.30) 45%,rgba(255,249,226,.09) 50%,transparent 63%);
 mix-blend-mode:screen; opacity:.78;
 transform:translate3d(-11%,0,0) rotate(-3deg);
 animation:qrV55Light 13s ease-in-out infinite alternate;
}
/* A single set of soft, shifting caustic-like bands made entirely with gradients. */
.qr-atmosphere::after {
 inset:40% -35% -24%;
 background:
 radial-gradient(ellipse 45% 12% at 24% 48%,rgba(218,248,242,.30),transparent 80%),
 radial-gradient(ellipse 30% 10% at 70% 72%,rgba(255,241,205,.34),transparent 84%),
 repeating-linear-gradient(174deg,transparent 0 43px,rgba(228,247,234,.085) 44px 47px,transparent 50px 103px);
 filter:blur(14px);mix-blend-mode:screen;opacity:.78;
 transform:translate3d(-6%,1%,0);
 animation:qrV55Water 10s ease-in-out infinite alternate;
}
.seo-hero>.eyebrow,.seo-hero>h1,.seo-hero>.lead { position:relative; z-index:3; }
/* Retain stable content section, no extra background photograph or seam. */
.seo-content { position:relative; isolation:isolate; }
.seo-content::before { content:none!important; display:none!important; }
@keyframes qrV55Light {
 from {transform:translate3d(-11%,0,0) rotate(-3deg);opacity:.58}
 to {transform:translate3d(9%,0,0) rotate(2deg);opacity:.95}
}
@keyframes qrV55Water {
 from {transform:translate3d(-6%,1%,0) scale(1);opacity:.55}
 to {transform:translate3d(6%,-2%,0) scale(1.04);opacity:.95}
}
/* On mobile run a single low-cost, slow light animation; no pointer interaction. */
@media(max-width:720px) {
 .qr-atmosphere::before {animation-duration:18s;opacity:.65;will-change:transform}
 .qr-atmosphere::after {animation:none;opacity:.48;filter:blur(20px);will-change:auto}
}
@media(prefers-reduced-motion:reduce) {
 .qr-atmosphere::before,.qr-atmosphere::after {animation:none!important;will-change:auto!important}
}
