/* Greenheart motion: light, tactile movement, with a single global pause. */
.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.new-hero h1 .hero-line{color:var(--green)}
.hero-line>span{display:block!important;color:inherit!important}
.hero-line em{font-style:normal;color:#6d8d4f}
.motion-ready .hero-line>span{animation:gh-rise 1.15s cubic-bezier(.16,1,.3,1) both}
.motion-ready .hero-line:nth-child(2)>span{animation-delay:.14s}
.motion-ready .hero-type>.pill,.motion-ready .hero-type>p,.motion-ready .hero-actions,.motion-ready .hero-meta{animation:gh-enter .9s ease both}
.motion-ready .hero-type>p{animation-delay:.25s}.motion-ready .hero-actions{animation-delay:.4s}.motion-ready .hero-meta{animation-delay:.55s}
.new-hero .hero-art{overflow:hidden;box-shadow:0 30px 65px -35px #163f2b66}
.hero-art>img{transform-origin:52% 56%}
.motion-ready .hero-art>img{animation:gh-camera 22s ease-in-out infinite alternate;animation-play-state:paused}
.motion-ready .hero-art.motion-inview>img{animation-play-state:running}
.forest-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;background:radial-gradient(ellipse at 70% 5%,#ffe6a226,transparent 60%)}
.forest-atmosphere i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff4be;opacity:0;box-shadow:0 0 12px 4px #ffe5a33b;animation:gh-mote 9s linear infinite;animation-play-state:paused;left:20%;top:75%}
.motion-inview .forest-atmosphere i{animation-play-state:running}
.forest-atmosphere i:nth-child(2){left:72%;top:80%;animation-delay:-3s}.forest-atmosphere i:nth-child(3){left:44%;top:48%;animation-delay:-5s;width:3px;height:3px}.forest-atmosphere i:nth-child(4){left:86%;top:45%;animation-delay:-1s}.forest-atmosphere i:nth-child(5){left:12%;top:38%;animation-delay:-6s}.forest-atmosphere i:nth-child(6){left:58%;top:90%;animation-delay:-8s}
.hero-art .orbit-label,.hero-art .hotspot,.hero-art .art-caption,.hero-scroll{z-index:2}.hero-art #hero-popover{z-index:4}
.motion-inview .orbit-label{animation:gh-orbit 7s ease-in-out infinite}
.hotspot:before{content:'';position:absolute;inset:-9px;border:1px solid #fff9;border-radius:50%;pointer-events:none;animation:gh-pulse 3s ease-out infinite;animation-play-state:paused}
.motion-inview .hotspot:before{animation-play-state:running}
.hero-scroll{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:10px;color:white;text-shadow:0 1px 8px #0008;font-size:8px;letter-spacing:1.2px}
.hero-scroll b{font-size:21px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff88;border-radius:50%;background:#143e2a55}
.motion-inview .hero-scroll b{animation:gh-nudge 2.4s ease-in-out infinite}
.ticker.motion-ticker{display:block;padding:20px 0;overflow:hidden}
.ticker-track{display:flex;align-items:center;width:max-content;animation:gh-marquee 32s linear infinite;animation-play-state:paused}
.motion-inview .ticker-track{animation-play-state:running}.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-set{display:flex;align-items:center;gap:55px;padding-right:55px;flex-shrink:0;min-width:100vw;justify-content:space-around}
.motion-ready [data-enter]{opacity:0;transform:translateY(35px);transition:opacity .9s ease var(--enter-delay,0s),transform .9s cubic-bezier(.16,1,.3,1) var(--enter-delay,0s)}
.motion-ready [data-enter].entered{opacity:1;transform:none}
.motion-ready h2[data-enter]{transform:translateY(28px)}.motion-ready h2.entered{transform:none}
.js-motion .reveal{transition-duration:.95s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.range-image{transition:background .4s,box-shadow .4s,border-color .4s;perspective:900px}
.range-image img{transition:transform .65s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){.range-image:hover{background:#f0f4e8;border-color:#b5cc94;box-shadow:0 18px 35px -22px #234b2a66}.range-image:hover img{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-3deg) scale(1.08)}.lifestyle-mode .range-image:hover img{transform:scale(1.06)}.button:hover,.nav-cta:hover{box-shadow:0 9px 24px -12px #143e2a99;translate:0 -3px}}
.button,.nav-cta{transition:translate .3s,box-shadow .3s,background .3s;position:relative;overflow:hidden}.button span,.nav-cta span,.range-plus{display:inline-block;transition:transform .35s}.button:hover span,.nav-cta:hover span{transform:translate(3px,-3px)}.range-image:hover .range-plus{transform:rotate(45deg)}
.cycle-flow{stroke:#789b47!important;stroke-width:2!important;stroke-dasharray:3 17;marker-end:none!important;animation:gh-flow 3s linear infinite;animation-play-state:paused}
.motion-inview .cycle-flow{animation-play-state:running}
.cycle-node[aria-pressed=true] .cycle-art{background-color:#e5edcf}
.cycle-playing .cycle-node[aria-pressed=true] .cycle-art{animation:gh-breathe 3.25s ease-in-out infinite}
.cycle-detail{min-height:185px;position:relative;overflow:hidden}
.cycle-detail:after{content:'';position:absolute;bottom:0;left:0;height:3px;width:100%;background:#d5f37d;transform:scaleX(0);transform-origin:left;opacity:.7}
.cycle-playing .cycle-detail:after{animation:gh-timer 6.5s linear infinite}
.trade.motion-inview:after{animation:gh-turn 70s linear infinite}
.metric-row i{transition:width 1.1s cubic-bezier(.16,1,.3,1)}
.header nav>a:not(.nav-cta){position:relative}.header nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#779753;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav>a.active:after,.header nav>a:hover:after{transform:scaleX(1)}
@keyframes gh-rise{from{transform:translateY(110%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
@keyframes gh-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes gh-camera{from{transform:scale(1.015) translate(-.3%,.1%)}to{transform:scale(1.09) translate(.6%,-.8%)}}
@keyframes gh-mote{0%{opacity:0;transform:translate(0,20px)}20%,65%{opacity:.7}100%{opacity:0;transform:translate(25px,-120px)}}
@keyframes gh-orbit{0%,100%{transform:translateY(0) rotate(10deg)}50%{transform:translateY(7px) rotate(17deg)}}
@keyframes gh-pulse{0%{transform:scale(.8);opacity:.8}100%{transform:scale(1.55);opacity:0}}
@keyframes gh-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes gh-marquee{to{transform:translateX(-50%)}}
@keyframes gh-flow{to{stroke-dashoffset:-80}}
@keyframes gh-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}
@keyframes gh-timer{to{transform:scaleX(1)}}
@keyframes gh-turn{to{transform:rotate(360deg)}}
@media(max-width:760px){.ticker-set{gap:30px;padding-right:30px}.ticker.motion-ticker{padding:14px 0}.hero-scroll{right:12px;bottom:12px}.hero-scroll>span{display:none}.hero-scroll b{width:29px;height:29px;font-size:17px}.cycle-detail{min-height:240px}.motion-ready [data-enter]{transform:translateY(22px);transition-delay:0s}.forest-atmosphere i:nth-child(n+4){display:none}}
body.motion-off *,body.motion-off *:before,body.motion-off *:after{animation-play-state:paused!important;transition:none!important}
body.motion-off [data-enter],body.motion-off .hero-line>span,body.motion-off .hero-type>*{opacity:1!important;transform:none!important}
body.motion-off .forest-atmosphere{display:none}
body.motion-off .range-image:hover img{transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready [data-enter],.motion-ready .hero-line>span,.motion-ready .hero-type>*{opacity:1!important;transform:none!important}.forest-atmosphere{display:none}.range-image:hover img{transform:none!important}}
