/* Motion complements content; nothing depends on an animation completing. */
.hero{position:relative}
.hero-art:before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#f2c4a83b,transparent 70%);animation:halo-drift 12s ease-in-out infinite;pointer-events:none}
.orbit{border-color:#bfc4b4;animation:orbit-turn 45s linear infinite}
.orbit:before{content:'';position:absolute;width:7px;height:7px;top:14%;left:14%;background:#b0b89f;border:3px solid var(--paper);box-sizing:content-box;border-radius:50%}
.orbit.o2{animation-direction:reverse;animation-duration:32s}
.orbit.o2:before{background:var(--orange);width:5px;height:5px}
.orbit.o3{animation-duration:23s}
.orbit.o3:before{background:#a9abc2;width:4px;height:4px}
.orb{animation:orb-float 7s ease-in-out infinite;will-change:transform}
.orb.b{animation-delay:-2s;animation-duration:8s}
.orb.c{animation-delay:-4s;animation-duration:9s}
.orb.d{animation-delay:-1s;animation-duration:6s}
.orbit-core{animation:core-glow 8s ease-in-out infinite}
.ambient-item{animation:symbol-turn 24s linear infinite}
.belief-items span:nth-child(2) .ambient-item{animation-direction:reverse}
.button,.header-cta{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.button .arrow,.header-cta .arrow,.text-link .arrow,.card-arrow{transition:translate .25s ease}
.button:hover .arrow,.header-cta:hover .arrow,.text-link:hover .arrow,.product-card:hover .card-arrow{translate:3px -3px}
.button.dark:hover{box-shadow:0 8px 22px #20282318;background:#344035}
.mini-window{transition:translate .5s cubic-bezier(.2,.8,.2,1)}
.product-card:hover .mini-window,.product-card:focus-visible .mini-window{translate:0 -8px}
.journal-card .sculpture{transition:rotate .65s cubic-bezier(.2,.8,.2,1),scale .65s cubic-bezier(.2,.8,.2,1)}
.journal-card:hover .sculpture,.journal-card:focus-visible .sculpture{rotate:7deg;scale:1.06}
.reveal-pending{opacity:0;translate:0 22px;transition:opacity .65s ease var(--reveal-delay,0ms),translate .7s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms),transform .25s ease,box-shadow .25s ease}
.reveal-pending.is-revealed{opacity:1;translate:0 0}
.reading-progress{position:fixed;z-index:70;top:0;left:0;right:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;pointer-events:none}
.ecosystem-section{margin:0 0 90px}
.ecosystem-section h2{font:550 42px/1.2 'Manrope',sans-serif;letter-spacing:-1.8px;margin:15px 0 0}
.ecosystem-stage{background:#202c27;color:#f8f7f3;border:1px solid #334039;border-radius:20px;overflow:hidden;position:relative}
.ecosystem-tabs{display:flex;gap:8px;border-bottom:1px solid #ffffff18;padding:22px 34px;position:relative;z-index:2;flex-wrap:wrap}
.ecosystem-tab{border:1px solid transparent;border-radius:30px;background:transparent;color:#b7c2b8;font:500 15px/1.5 'DM Sans',sans-serif;padding:11px 17px;min-height:46px;display:inline-flex;align-items:center;gap:9px;transition:color .2s,background-color .2s,border-color .2s}
.ecosystem-tab[aria-selected=true]{background:#36443b;border-color:#56644f;color:#fff}
.ecosystem-tab:hover{color:#fff;background:#ffffff08}
.tab-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}
.ecosystem-tab[aria-selected=true] .tab-dot{background:#f4805c;opacity:1}
.ecosystem-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:390px;gap:44px;padding:24px 60px 28px 30px}
.ecosystem-panel[hidden]{display:none}
.ecosystem-copy{max-width:470px;animation:panel-arrive .45s ease both}
.ecosystem-kicker{color:#b6c4af;font-size:14px;line-height:1.6;margin:0 0 18px}
.ecosystem-copy h3{font:500 clamp(28px,2.8vw,38px)/1.25 'Manrope',sans-serif;letter-spacing:-1.1px;margin:0 0 18px}
.ecosystem-copy>p:not(.ecosystem-kicker):not(.ecosystem-note){color:#c6cfc3;font-size:16px;line-height:1.8;margin:0 0 24px}
.ecosystem-products{display:flex;gap:10px;flex-wrap:wrap}
.ecosystem-products a{display:inline-flex;align-items:center;gap:18px;min-height:42px;padding:8px 13px;color:#edf0e8;background:#ffffff08;border:1px solid #63705c;border-radius:6px;font-size:14px;transition:background-color .2s,border-color .2s}
.ecosystem-products a:hover{background:#ffffff13;border-color:#f1a07f}
.ecosystem-products a span{color:#c6d0ba}
.ecosystem-note{color:#aebfa9;font-size:14px;margin:20px 0 0}
.stage-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 34px;border-top:1px solid #ffffff18;position:relative;z-index:2}
.stage-footer>span{display:inline-flex;align-items:center;gap:9px;color:#becbb8;font-size:14px;line-height:1.6}
.stage-footer i{width:5px;height:5px;border-radius:50%;background:#d29a72;flex-shrink:0}
.kinetic-art{height:330px;position:relative;display:grid;place-items:center;isolation:isolate;perspective:800px;overflow:hidden}
.kinetic-grid{position:absolute;inset:0;background-image:radial-gradient(#71836b60 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse,black,transparent 70%)}
.kinetic-art:after{content:'';position:absolute;inset:15%;border-radius:50%;background:#d99c6820;filter:blur(40px);z-index:-1;animation:halo-drift 10s ease-in-out infinite}
.kinetic-orbit{position:absolute;width:260px;height:260px;border:1px solid #75836b4d;border-radius:50%;transform:rotateX(55deg) rotateZ(-25deg)}
.kinetic-orbit.orbit-two{width:310px;height:310px;transform:rotateY(58deg) rotateZ(25deg);border-style:dashed;animation:orbit-breathe 12s ease-in-out infinite}
.kinetic-object{position:relative;width:200px;height:200px;transform-style:preserve-3d;transform:rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg));transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.object-ring,.object-arch,.object-tile{position:absolute;display:none}
.scene-ring .object-ring{display:block;inset:10px;border-radius:50%;border:45px solid #ed8154;background:transparent;box-shadow:inset 5px 7px 12px #572c2030,10px 15px 0 #a44e30,18px 32px 36px #0004;transform:rotateX(22deg) rotateY(-25deg);animation:ring-float 8s ease-in-out infinite}
.scene-arch .object-arch{display:block;inset:10px 5px 5px;border:42px solid #ced9b2;border-bottom-width:0;border-radius:110px 110px 4px 4px;box-shadow:10px 12px 0 #82956a,18px 30px 36px #0004;transform:rotate(-12deg);animation:arch-float 8s ease-in-out infinite}
.scene-tiles .object-tile{display:block;width:140px;height:100px;left:30px;border:1px solid #d4d5ea88;border-radius:17px;background:linear-gradient(135deg,#d8d9ef,#9c9fcb);box-shadow:7px 10px 0 #65688e,12px 20px 25px #0003;transform:rotateX(48deg) rotateZ(-28deg);animation:tile-float 7s ease-in-out infinite}
.scene-tiles .tile-one{top:0;z-index:3}.scene-tiles .tile-two{top:45px;z-index:2;animation-delay:-1s;background:#969bbb}.scene-tiles .tile-three{top:90px;z-index:1;animation-delay:-2s;background:#707898}
.kinetic-spark{position:absolute;right:12%;top:12%;width:34px;height:34px;color:#d9c5a1;animation:symbol-turn 30s linear infinite}
.scene-arch .kinetic-spark{color:#e59d79}.scene-tiles .kinetic-spark{color:#c0cea0}
.kinetic-dot{position:absolute;border-radius:50%;background:#d3b89a;box-shadow:4px 6px 10px #0003;animation:dot-drift 9s ease-in-out infinite}
.dot-one{width:15px;height:15px;left:14%;top:27%}.dot-two{width:8px;height:8px;right:16%;bottom:22%;background:#a8ba94;animation-delay:-4s}
.kinetic-label{position:absolute;left:0;right:0;text-align:center;bottom:4px;font-size:11px;letter-spacing:1.7px;color:#a8b99f}
.page-backgrounded .ambient-scene,.page-backgrounded .ambient-scene *,.page-backgrounded .ambient-scene:before,.page-backgrounded .ambient-scene:after,.page-backgrounded .ambient-item{animation-play-state:paused!important}
@keyframes orbit-turn{to{rotate:360deg}}
@keyframes orb-float{0%,100%{transform:rotate(24deg) translateY(0)}50%{transform:rotate(24deg) translateY(-9px)}}
@keyframes core-glow{0%,100%{box-shadow:0 14px 30px #ed59382a}50%{box-shadow:0 16px 45px #ed59384d}}
@keyframes halo-drift{0%,100%{translate:-12px 8px;scale:1}50%{translate:14px -12px;scale:1.1}}
@keyframes symbol-turn{to{rotate:360deg}}
@keyframes orbit-breathe{0%,100%{opacity:.45;scale:.97}50%{opacity:1;scale:1.03}}
@keyframes ring-float{0%,100%{transform:translateY(0) rotateX(22deg) rotateY(-25deg)}50%{transform:translateY(-12px) rotateX(28deg) rotateY(-12deg)}}
@keyframes arch-float{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-12px) rotate(-5deg)}}
@keyframes tile-float{0%,100%{transform:translateY(0) rotateX(48deg) rotateZ(-28deg)}50%{transform:translateY(-8px) rotateX(43deg) rotateZ(-23deg)}}
@keyframes dot-drift{0%,100%{translate:0 0}50%{translate:8px -13px}}
@keyframes panel-arrive{from{opacity:.3;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1200px){.page-hero{position:relative;isolation:isolate}.page-hero:after{content:'';position:absolute;right:-230px;top:90px;width:150px;height:150px;border:22px solid #d5dabc;border-radius:40px;transform:rotate(-18deg);box-shadow:18px 20px 0 #eceee4;z-index:-1;animation:panel-arrive 1s ease both}.article-layout .page-hero:after{display:none}}
@media(max-width:1000px){.ecosystem-panel{gap:24px;padding:20px 30px 28px 16px}.ecosystem-tabs{padding:20px}.ecosystem-tab{font-size:14px;padding:10px 13px}.kinetic-art{height:300px}.kinetic-object{scale:.85}.kinetic-orbit{width:225px;height:225px}.kinetic-orbit.orbit-two{width:260px;height:260px}.stage-footer{padding:16px 24px}}
@media(max-width:760px){.ecosystem-section{margin-bottom:60px}.ecosystem-section h2{font-size:33px;letter-spacing:-1.3px}.ecosystem-stage{border-radius:14px}.ecosystem-tabs{gap:6px;padding:16px;display:grid;grid-template-columns:1fr}.ecosystem-tab{justify-content:flex-start;width:100%;padding:10px 14px;font-size:15px}.ecosystem-panel{grid-template-columns:1fr;gap:15px;padding:10px 24px 30px;min-height:0}.kinetic-art{height:260px}.kinetic-object{scale:.8}.ecosystem-copy{max-width:none}.ecosystem-copy h3{font-size:30px;letter-spacing:-.8px}.ecosystem-kicker{margin-bottom:13px}.stage-footer{align-items:flex-start;flex-direction:column;gap:14px;padding:20px 24px}.stage-footer>span{font-size:14px}.kinetic-label{font-size:10px;letter-spacing:1.2px}.kinetic-spark{width:28px;height:28px;right:10%;top:15%}.ecosystem-products a{min-height:44px}.reading-progress{height:2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1!important;translate:none!important}.kinetic-object{transform:none}.product-card:hover .mini-window,.product-card:focus-visible .mini-window{translate:none}.journal-card:hover .sculpture,.journal-card:focus-visible .sculpture{rotate:none;scale:1}}
