/* BlockDAG buildings illustrate shared infrastructure; movement is decorative. */
main>section{position:relative;isolation:isolate}
.dag-bank-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;border-radius:inherit}
.dag-bank-art{--dag-building-image:url('assets/blockdag-bank.webp');position:absolute;inset:0;background-image:var(--dag-building-image);background-size:cover;background-position:center;opacity:.05;filter:saturate(.8);mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent)}
.dag-bank-scene[data-structure=city] .dag-bank-art{--dag-building-image:url('assets/blockdag-cityscape.webp');background-position:50% 65%}
.dag-bank-art.is-assembling{background-image:none}
.dag-assembly-grid{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.dag-assembly-block{position:absolute;overflow:hidden;opacity:0;animation:dag-block-arrive .95s cubic-bezier(.19,.7,.2,1) both;animation-delay:var(--assemble-delay);transform-origin:center;will-change:transform,opacity}
.dag-assembly-texture{position:absolute;max-width:none;pointer-events:none}
@keyframes dag-block-arrive{from{opacity:0;transform:translate3d(var(--assemble-x),var(--assemble-y),0) scale(.97) rotate(var(--assemble-rotation))}to{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}}
.dag-bank-scene.is-assembling .dag-bank-art{animation:none!important}
.hero .dag-bank-art{opacity:.045;background-size:auto 100%;background-position:57% center;mask-image:linear-gradient(90deg,black,black 65%,transparent)}
.mission .dag-bank-art{background-position:50% 55%;opacity:.045}
.fundraising .dag-bank-art{opacity:.04}
.stablecoin .dag-bank-art{opacity:.06}
.kado-section .dag-bank-art{opacity:.035}
.join-section .dag-bank-art{opacity:.05}
.dag-bank-scene canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.14}
:root[data-theme=light] .dag-bank-art,:root[data-theme=grey] .dag-bank-art{filter:invert(1) hue-rotate(180deg) saturate(.7);mix-blend-mode:multiply;opacity:.045}
:root[data-theme=light] .stablecoin .dag-bank-art,:root[data-theme=grey] .stablecoin .dag-bank-art{opacity:.055}
:root[data-theme=light] .dag-bank-scene canvas,:root[data-theme=grey] .dag-bank-scene canvas{mix-blend-mode:multiply;opacity:.1}
.background-motion-toggle{font:inherit;font-size:13px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:5px;padding:7px 10px;min-height:36px;white-space:nowrap}
.background-motion-toggle:hover{color:var(--text);border-color:var(--accent)}
.dag-bank-scene.is-pulsing .dag-bank-art{animation:bank-breath 12s ease-in-out infinite alternate}
@keyframes bank-breath{from{transform:scale(1);filter:saturate(.72) brightness(.93)}to{transform:scale(1.008);filter:saturate(.94) brightness(1.08)}}
:root[data-theme=light] .dag-bank-scene.is-pulsing .dag-bank-art,:root[data-theme=grey] .dag-bank-scene.is-pulsing .dag-bank-art{animation-name:bank-breath-light}
@keyframes bank-breath-light{from{transform:scale(1);filter:invert(1) hue-rotate(180deg) saturate(.65) brightness(1)}to{transform:scale(1.008);filter:invert(1) hue-rotate(180deg) saturate(.85) brightness(.95)}}
@media(max-width:640px){.dag-bank-art,.hero .dag-bank-art{background-size:auto min(100%,700px);background-position:55% center;background-repeat:no-repeat;opacity:.04}.dag-bank-scene canvas{opacity:.1}.background-motion-toggle{font-size:12px;min-height:38px}}
@media(prefers-reduced-motion:reduce){.dag-bank-art{animation:none!important;transform:none!important}.dag-bank-scene canvas{display:none}.dag-assembly-grid{display:none}.dag-bank-art.is-assembling{background-image:var(--dag-building-image)}}
