/* Decorative background only; cards remain opaque and interactive. */
.nbu-site-ambience { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; user-select:none; contain:strict; }
.nbu-site-ambient { isolation:isolate; }
.nbu-site-ambience::before,.nbu-site-ambience::after { content:""; position:absolute; width:70vmax; height:70vmax; border-radius:50%; background:radial-gradient(ellipse at center,#ba775425 0%,#c6916810 40%,transparent 68%); }
.nbu-site-ambience::before { left:-30vmax; top:-25vmax; animation:im-ambient-warm 28s ease-in-out infinite alternate; }
.nbu-site-ambience::after { right:-30vmax; bottom:-30vmax; background:radial-gradient(ellipse at center,#c7ae6d25 0%,#b5846510 40%,transparent 68%); animation:im-ambient-light 34s ease-in-out infinite alternate; }
.nbu-falling-leaf { position:absolute; top:-60px; left:var(--x); width:var(--size); color:var(--leaf-color); opacity:0; animation:nbu-leaf-fall var(--duration) linear var(--delay) infinite; }
.nbu-leaf-sway { display:block; animation:nbu-leaf-sway 5s ease-in-out var(--delay) infinite alternate; }
.nbu-falling-leaf svg { display:block; width:100%; height:auto; }
.nbu-egret-flight { position:absolute; left:-180px; top:var(--flight-y); width:var(--bird-size); opacity:0; animation:nbu-egret-travel var(--flight-duration) linear var(--flight-delay) infinite; }
.nbu-egret { display:block; width:100%; height:auto; }
.nbu-egret-wing { transform-origin:80px 61px; animation:nbu-egret-flap 3.6s ease-in-out infinite; }
.nbu-egret-wing-far { opacity:.8; animation-delay:-.18s; }
@keyframes nbu-leaf-fall { 0% { transform:translate3d(0,-30px,0) rotate(-15deg); opacity:0; } 8% { opacity:.46; } 85% { opacity:.46; } 100% { transform:translate3d(var(--drift),calc(100vh + 120px),0) rotate(175deg); opacity:0; } }
@keyframes nbu-leaf-sway { from { transform:translateX(-14px) rotate(-24deg) scaleX(.75); } to { transform:translateX(14px) rotate(24deg) scaleX(1); } }
@keyframes nbu-egret-travel { 0% { transform:translate3d(0,25px,0); opacity:0; } 4% { opacity:.85; } 32% { transform:translate3d(calc(50vw + 180px),-35px,0); opacity:.85; } 64% { transform:translate3d(calc(100vw + 360px),15px,0); opacity:0; } 100% { transform:translate3d(calc(100vw + 360px),15px,0); opacity:0; } }
@keyframes nbu-egret-flap { 0%,100% { transform:rotate(0deg) scaleY(1); } 24% { transform:rotate(-12deg) scaleY(-.6); } 48%,82% { transform:rotate(3deg) scaleY(.9); } }
@keyframes im-ambient-warm { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(9vw,12vh,0) scale(1.1); } }
@keyframes im-ambient-light { from { transform:translate3d(0,0,0); } to { transform:translate3d(-10vw,-12vh,0); } }
@keyframes im-ambient-float { from { transform:translate3d(0,12px,0); opacity:.10; } to { transform:translate3d(18px,-40px,0); opacity:.25; } }
.nbu-site-ambience.is-paused::before,.nbu-site-ambience.is-paused::after,.nbu-site-ambience.is-paused * { animation-play-state:paused!important; }
@media(max-width:799px) { .nbu-falling-leaf:nth-child(n+5),.nbu-egret-flight:last-child { display:none; } .nbu-site-ambience::before,.nbu-site-ambience::after { opacity:.65; } }
@media(prefers-reduced-motion:reduce) { .nbu-site-ambience::before,.nbu-site-ambience::after,.nbu-site-ambience * { animation:none!important; } .nbu-falling-leaf,.nbu-egret-flight { display:none; } }
@media(forced-colors:active) { .nbu-site-ambience { display:none; } }
