/* Work / tide section motion + money-tree detail. Content is always complete without JS or with reduced motion. */
#life,#tide{position:relative;isolation:isolate;overflow:hidden}
#life .rv,#tide .rv{opacity:1;transform:none}
#life .wh-work,#tide .wrap{position:relative;z-index:1}
.lm-art{position:absolute;pointer-events:none;z-index:0;border-radius:50%;overflow:hidden;border:1px solid rgba(201,162,39,.35);box-shadow:0 0 0 7px rgba(22,36,25,.0),0 0 0 8px rgba(201,162,39,.16);background:radial-gradient(120% 90% at 50% 100%,#1F3428 0%,#162419 60%,#0F1B14 100%);opacity:.5}
.lm-art svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.lm-art *{transform-box:fill-box;transform-origin:center}
.lm-tide-art{width:min(42vw,360px);aspect-ratio:1;right:4vw;top:90px}
.lm-art .ln{fill:none;stroke:#C9A227;stroke-linecap:round;stroke-linejoin:round}
.lm-art .gold{fill:#EDD97A}
.lm-wave1{fill:rgba(201,162,39,.16)}.lm-wave2{fill:rgba(45,82,64,.7)}.lm-wave3{fill:rgba(31,52,40,.95)}
@media(max-width:768px){.lm-tide-art{width:62vw;right:-14vw;opacity:.3}.lm-tide-art{top:40px}}
.lw-climber{transform:translate(65px,-65px)}
.lm-art .lw-climber,.lm-art .lw-effort,.lm-art .lw-boulder,.lm-art .lw-sweat,.lm-art .lw-dust{transform-box:view-box;transform-origin:0 0}
.lm-art .lw-effort{transform-origin:-14px -28px}
.lw-sweat{opacity:.7}.lw-dust{opacity:.4}
.lt-boat{transform:translateY(0)}
.fr-fin .f-leaf{transform-box:fill-box;transform-origin:50% 100%;fill:#2F6B45;opacity:.78}
.fr-fin .f-leaf.b{fill:#3F8057;opacity:.6}
@media(prefers-reduced-motion:no-preference){
.fr-fin .f-leaf{animation:lmSway 3.4s ease-in-out infinite alternate}
.fr-fin .f-leaf.b{animation-duration:4.6s;animation-delay:-1.2s}
@keyframes lmSway{from{transform:rotate(-7deg) scale(.96)}to{transform:rotate(7deg) scale(1.05)}}
.lm-paused *,.lm-paused *::before,.lm-paused *::after,.fr-fin.fm-paused *{animation-play-state:paused!important}
/* WORK: braced steps and repeated straining pushes roll the boulder uphill. */
.lm-ready#life .wh-work h2{background:linear-gradient(90deg,var(--text) 0 100%) 0 100%/0 1px no-repeat;padding-bottom:10px;transition:background-size 1.2s cubic-bezier(.16,1,.3,1) .3s}
.lm-ready#life.lm-on .wh-work h2{background-image:linear-gradient(90deg,var(--gold),transparent);background-size:60% 1px}
.lm-ready#life .wh-list li{position:relative;opacity:0;transform:translateX(-26px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1);padding-left:34px}
.lm-ready#life .wh-list li::before{content:'';position:absolute;left:2px;top:22px;width:14px;height:14px;border-radius:50%;border:1px solid var(--gold);transform:scale(0);transition:transform .6s cubic-bezier(.3,1.6,.5,1)}
.lm-ready#life .wh-list li::after{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.lm-ready#life.lm-on .wh-list li{opacity:1;transform:none}
.lm-ready#life.lm-on .wh-list li::before{transform:scale(1);animation:lmPing 3.6s ease-in-out infinite}
.lm-ready#life.lm-on .wh-list li::after{transform:scaleX(1)}
.lm-ready#life.lm-on li:nth-child(1),.lm-ready#life.lm-on li:nth-child(1)::before,.lm-ready#life.lm-on li:nth-child(1)::after{transition-delay:.45s}
.lm-ready#life.lm-on li:nth-child(2),.lm-ready#life.lm-on li:nth-child(2)::before,.lm-ready#life.lm-on li:nth-child(2)::after{transition-delay:.75s}
.lm-ready#life.lm-on li:nth-child(3),.lm-ready#life.lm-on li:nth-child(3)::before,.lm-ready#life.lm-on li:nth-child(3)::after{transition-delay:1.05s}
.lm-ready#life.lm-on li:nth-child(2)::before{animation-delay:1.2s}.lm-ready#life.lm-on li:nth-child(3)::before{animation-delay:2.4s}
@keyframes lmPing{0%,70%,100%{box-shadow:0 0 0 0 rgba(201,162,39,0)}80%{box-shadow:0 0 0 7px rgba(201,162,39,.22)}}
.lw-climber{animation:lmClimb 14s linear infinite}
.lw-boulder{animation:lmRoll 14s linear infinite}
.lw-effort{animation:lmEffort 2.8s ease-in-out infinite}
.lw-front-leg{animation:lmFrontStep 2.8s ease-in-out infinite}
.lw-rear-leg{animation:lmRearStep 2.8s ease-in-out infinite}
.lw-front-boot{animation:lmFrontBoot 2.8s ease-in-out infinite}
.lw-rear-boot{animation:lmRearBoot 2.8s ease-in-out infinite}
.lw-sweat{animation:lmSweat 1.4s ease-in infinite}
.lw-sweat-late{animation-delay:-.7s}
.lw-dust{animation:lmDust 2.8s ease-out infinite}
@keyframes lmClimb{0%{transform:translate(0,0);opacity:0}5%{opacity:1}12%,20%{transform:translate(28px,-28px)}32%,40%{transform:translate(56px,-56px)}52%,60%{transform:translate(84px,-84px)}72%,80%{transform:translate(112px,-112px)}92%{transform:translate(140px,-140px);opacity:1}100%{transform:translate(145px,-145px);opacity:0}}
@keyframes lmRoll{0%{transform:rotate(0)}12%,20%{transform:rotate(65deg)}32%,40%{transform:rotate(130deg)}52%,60%{transform:rotate(195deg)}72%,80%{transform:rotate(260deg)}92%{transform:rotate(325deg)}100%{transform:rotate(337deg)}}
@keyframes lmEffort{0%,100%{transform:rotate(-1deg)}35%{transform:rotate(3deg)}48%,55%,62%{transform:rotate(2deg)}51%,59%{transform:rotate(2.6deg)}80%{transform:rotate(0)}}
@keyframes lmFrontStep{0%,65%,100%{d:path("M-10-28L10-24L3-7")}82%{d:path("M-10-28L15-33L14-18")}}
@keyframes lmRearStep{0%,100%{d:path("M-17-27L-33 4L-40 34")}35%,60%{d:path("M-17-27L-23 5L-29 23")}}
@keyframes lmFrontBoot{0%,65%,100%{transform:translate(0,0)}82%{transform:translate(11px,-11px)}}
@keyframes lmRearBoot{0%,100%{transform:translate(0,0)}35%,60%{transform:translate(11px,-11px)}}
@keyframes lmSweat{0%{opacity:0;transform:translate(1px,-3px)}20%{opacity:.9}85%,100%{opacity:0;transform:translate(-10px,17px)}}
@keyframes lmDust{0%,25%,100%{opacity:0;transform:translate(0,0)}40%{opacity:.55}80%{opacity:0;transform:translate(-12px,9px)}}
/* TIDE: waves slide, boats rise on the swell, stat points lift */
.lt-w1{animation:lmWave 9s linear infinite}.lt-w2{animation:lmWave 6.5s linear infinite reverse}.lt-w3{animation:lmWave 11s linear infinite}
@keyframes lmWave{to{transform:translateX(-50%)}}
.lt-level{transition:transform 2.6s cubic-bezier(.16,1,.3,1) .2s}
.lm-ready#tide .lt-level{transform:translateY(60px)}.lm-on#tide .lt-level{transform:translateY(0)}
.lt-boat{animation:lmBob 4s ease-in-out infinite}.lt-boat.b2{animation-delay:-1.3s}.lt-boat.b3{animation-delay:-2.6s}
@keyframes lmBob{0%,100%{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
.lm-ready#tide .tide-stat{position:relative;opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.lm-ready#tide.lm-on .tide-stat{opacity:1;transform:none}
.lm-ready#tide.lm-on .tide-stat:nth-child(1){transition-delay:.5s}.lm-ready#tide.lm-on .tide-stat:nth-child(2){transition-delay:.85s}.lm-ready#tide.lm-on .tide-stat:nth-child(3){transition-delay:1.2s}
.lm-ready#tide .tide-stat{border-top-color:transparent}
.tide-stat::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--gold),rgba(201,162,39,.15));transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.lm-on#tide .tide-stat::before{transform:scaleX(1)}
.lm-on#tide .tide-stat:nth-child(1)::before{transition-delay:.6s}.lm-on#tide .tide-stat:nth-child(2)::before{transition-delay:.95s}.lm-on#tide .tide-stat:nth-child(3)::before{transition-delay:1.3s}
.tide-stat::after{content:'';position:absolute;right:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--gold);opacity:0}
.lm-on#tide .tide-stat::after{animation:lmRise 4.5s ease-in-out infinite}
.lm-on#tide .tide-stat:nth-child(2)::after{animation-delay:.8s}.lm-on#tide .tide-stat:nth-child(3)::after{animation-delay:1.6s}
@keyframes lmRise{0%{opacity:0;transform:translateY(14px)}35%{opacity:.9}70%,100%{opacity:0;transform:translateY(-12px)}}
}
@media(prefers-reduced-motion:reduce){
  #life *,#life *::before,#life *::after,#tide *,#tide *::before,#tide *::after{animation:none!important;transition:none!important}
  #life .rv,#tide .rv{opacity:1;transform:none}
}
