/* Decorative motion stays inside the banner, clear of forms and navigation. */
.banner{position:relative;isolation:isolate;overflow:hidden}
.nature-motion{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sun-glow{position:absolute;width:260px;height:260px;right:5%;top:-150px;border-radius:50%;background:radial-gradient(circle,#fff9cc99 0%,#ffe99b55 35%,#fff4b600 70%);animation:sun-breathe 9s ease-in-out infinite alternate}
.breeze-leaf{position:absolute;width:38px;height:68px;border-radius:3% 90% 4% 90%;background:linear-gradient(125deg,#c5dc7a,#659b37 58%,#397541);box-shadow:inset 1px 1px 2px #e8efb7;transform-origin:50% 100%;opacity:.75;animation:leaf-sway 7s ease-in-out infinite alternate}
.breeze-leaf::after{content:'';position:absolute;top:12%;left:50%;height:85%;width:1px;background:#e3ebae99;transform:rotate(-27deg)}
.leaf-one{left:3%;bottom:18%;rotate:-25deg}
.leaf-two{right:3%;bottom:10%;rotate:35deg;scale:.75;animation-delay:-3s;animation-duration:8s}
.leaf-three{left:8%;bottom:5%;rotate:20deg;scale:.55;animation-delay:-5s;animation-duration:9s}
@keyframes leaf-sway{from{transform:rotate(-7deg) translateY(0)}to{transform:rotate(8deg) translateY(-4px)}}
@keyframes sun-breathe{from{opacity:.4;transform:scale(.95)}to{opacity:.8;transform:scale(1.12)}}
@media(max-width:760px){.breeze-leaf{width:22px;height:40px;opacity:.5}.leaf-three{display:none}.sun-glow{width:180px;height:180px;top:-100px;right:-30px}}
@media(prefers-reduced-motion:reduce){.breeze-leaf,.sun-glow{animation:none}}
@media print{.nature-motion{display:none}}
/* Match the original fixed background precisely, including its mobile crop. */
body{position:relative;isolation:isolate}
#app{position:relative;z-index:1}
.foliage-scene{position:fixed;top:0;left:0;width:100%;aspect-ratio:3/2;z-index:0;pointer-events:none;overflow:hidden}
.foliage-scene>svg{display:block;width:100%;height:100%}
.foliage-sway{animation:canopy-sway var(--sway-time) ease-in-out var(--sway-delay) infinite alternate}
@keyframes canopy-sway{from{transform:translate(-1px,0) rotate(-.35deg)}to{transform:translate(1.5px,-1px) rotate(.35deg)}}
.motion-paused .foliage-sway{animation-play-state:paused}
@media(max-width:760px){.foliage-scene{position:absolute;width:100%;height:900px;left:0;aspect-ratio:auto}.foliage-scene>svg{position:absolute;width:1350px;height:900px;max-width:none;left:50%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.foliage-scene{display:none}.foliage-sway{animation:none}}
@media print{.foliage-scene{display:none}}

.foliage-region-0{--sway-time:7s;--sway-delay:-0s;transform-origin:102.5px 330px}
.foliage-region-1{--sway-time:8s;--sway-delay:-1.3s;transform-origin:92.5px 340px}
.foliage-region-2{--sway-time:9s;--sway-delay:-2.6s;transform-origin:115px 384px}
.foliage-region-3{--sway-time:10s;--sway-delay:-3.9000000000000004s;transform-origin:68px 470px}
.foliage-region-4{--sway-time:7s;--sway-delay:-5.2s;transform-origin:123px 374px}
.foliage-region-5{--sway-time:8s;--sway-delay:-6.5s;transform-origin:545px 114px}
.foliage-region-6{--sway-time:9s;--sway-delay:-7.800000000000001s;transform-origin:56px 113px}
.foliage-region-7{--sway-time:10s;--sway-delay:-9.1s;transform-origin:39px 81px}
.foliage-region-8{--sway-time:7s;--sway-delay:-10.4s;transform-origin:39px 67px}
.foliage-region-9{--sway-time:8s;--sway-delay:-11.700000000000001s;transform-origin:34px 51px}
