/* Source art stays intact. Only soft foliage above each fixed root takes a gust. */
.wind-glade-layers,.wind-wood-layers{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none!important;user-select:none;z-index:3}
.wind-glade-layers *,.wind-wood-layers *{pointer-events:none!important;user-select:none}
.wind-glade-layers{opacity:1;visibility:visible;transition:opacity 1.3s,visibility 0s}
#journey-viewport:not([data-stop=glade]) .wind-glade-layers{opacity:0;visibility:hidden;transition:opacity 1.3s,visibility 0s 1.3s}
.wind-plant{--wind-response:1;position:absolute;display:block;width:var(--plant-width);left:var(--plant-left);top:var(--plant-top);transform:translateZ(var(--plant-depth,12px)) scaleX(var(--plant-flip,1));transform-origin:48% 91%;pointer-events:none!important}
.wind-plant.wind-bough{aspect-ratio:2}
.wind-plant.wind-fern{aspect-ratio:1.5}
.wind-plant>i{position:absolute;inset:0;display:block;width:100%;height:100%;background-position:center;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none!important}
.wind-bough>.wind-tip{background-image:url('assets/garden-branch-v8-a.webp')}
.wind-fern>.wind-tip,.wind-fern>.wind-root{background-image:url('assets/trail-v11/fern-fringe-v11.webp')}
.wind-tip{transform-origin:48% 91%;transform:rotate(0deg);will-change:auto}
.wind-bough .wind-tip{transform-origin:5% 94%}
.wind-fern .wind-tip{mask-image:linear-gradient(#000 0 76%,#000d 81%,transparent 89%)}
.wind-root{mask-image:linear-gradient(transparent 0 77%,#000 86%);z-index:2}
.wind-fern:before{content:"";position:absolute;left:25%;top:87%;width:48%;height:8%;border-radius:50%;background:#18372c30;filter:blur(3px);pointer-events:none!important}
.wind-plant.is-wind-gust .wind-tip{animation:rooted-garden-gust-v121 var(--wind-duration,8s) var(--wind-delay,0s) cubic-bezier(.4,0,.3,1) both;will-change:transform}
@keyframes rooted-garden-gust-v121{0%,100%{transform:rotate(0deg);filter:brightness(1)}16%{transform:rotate(calc(var(--wind-angle)*var(--wind-response)*.36));filter:brightness(1.012)}37%{transform:rotate(calc(var(--wind-angle)*var(--wind-response)));filter:brightness(1.025)}61%{transform:rotate(calc(var(--wind-angle)*var(--wind-response)*-.28));filter:brightness(1.008)}81%{transform:rotate(calc(var(--wind-angle)*var(--wind-response)*.17));filter:brightness(1.015)}}
.wind-patio-left{--plant-left:-13%;--plant-top:-9%;--plant-width:38%;--plant-depth:90px}
.wind-patio-right{--plant-left:79%;--plant-top:-6%;--plant-width:40%;--plant-depth:42px;--plant-flip:-1;--wind-response:-1}
.wind-trail-left{--plant-left:10%;--plant-top:68%;--plant-width:18%;--plant-depth:28px}
.wind-trail-right{--plant-left:78%;--plant-top:74%;--plant-width:15%;--plant-depth:16px;--plant-flip:-1;--wind-response:-1}
.wind-woods-left{--plant-left:31%;--plant-top:37%;--plant-width:11%;--plant-depth:18px;filter:brightness(.93)}
.wind-woods-right{--plant-left:80%;--plant-top:37%;--plant-width:13%;--plant-depth:13px;--plant-flip:-1;--wind-response:-1;filter:brightness(.91)}
.wind-bridge-frond{--plant-left:12%;--plant-top:35%;--plant-width:12%;--plant-depth:22px;filter:brightness(.94)}
.wind-garden-bough{--plant-left:82%;--plant-top:12%;--plant-width:17%;--plant-depth:9px;--plant-flip:-1;--wind-response:-1}
@media(max-width:600px){.wind-patio-left{--plant-left:-45%;--plant-top:-4%;--plant-width:75%;--plant-depth:55px}.wind-patio-right{--plant-left:70%;--plant-top:-3%;--plant-width:75%;--plant-depth:27px}}
#journey-app[data-motion=still] .wind-tip,#journey-app:not([data-view=scene]) .wind-tip{animation:none!important;transform:none!important;will-change:auto!important}
#journey-app[data-motion=still] .wind-glade-layers{transition:none!important}
@media(prefers-reduced-motion:reduce){.wind-tip{animation:none!important;transform:none!important;will-change:auto!important}.wind-glade-layers{transition:none!important}}
