/* MOTION LAB | 36 additional original effect variations, designed for fast preview. */
.kinetic-composition,.cursor-sandbox,.vector-stage,.scene-stage,.interface-demo,.particles-scene{width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}
.kinetic-composition{background:radial-gradient(circle at 50% 30%,#244a37,#102015 70%);gap:12px}.kinetic-letters{display:flex;align-items:center;justify-content:center;gap:0;font:900 clamp(28px,4.1vw,66px)/.96 'Space Grotesk',sans-serif;letter-spacing:-.075em;color:#dbff9c}.kinetic-letters span{display:inline-block}.kinetic-composition .small-label,.kinetic-composition .small-caption{font:700 9px 'Space Mono',monospace;letter-spacing:.11em;color:#9abd8a}.kinetic-composition .small-caption{color:#d8f1c7}
.fx-letter-cascade .kinetic-letters span{animation:motion-letter-cascade calc(3s * var(--speed)) cubic-bezier(.2,1,.3,1) infinite;animation-delay:calc(var(--i) * .09s * var(--speed))}
@keyframes motion-letter-cascade{0%,9%{opacity:0;transform:translateY(-48px) rotateX(80deg)}26%,72%{opacity:1;transform:translateY(0) rotateX(0)}94%,100%{opacity:0;transform:translateY(25px) rotateX(-35deg)}}
.kinetic-stack{position:relative;height:52px;width:min(250px,85%);overflow:hidden;display:flex;flex-direction:column;align-items:center}.kinetic-stack b{display:block;flex:0 0 52px;font:900 45px/52px 'Space Grotesk',sans-serif;letter-spacing:-.09em;color:#d6ff86}.fx-ticker-stack .kinetic-stack{animation:motion-kinetic-stack calc(5s * var(--speed)) cubic-bezier(.8,0,.2,1) infinite}@keyframes motion-kinetic-stack{0%,17%{transform:translateY(52px)}27%,45%{transform:translateY(0)}55%,70%{transform:translateY(-52px)}80%,96%{transform:translateY(-104px)}100%{transform:translateY(-156px)}}
.kinetic-slice{font:900 clamp(38px,5vw,70px) 'Space Grotesk',sans-serif;letter-spacing:-.11em;color:#d5ff86;position:relative}.kinetic-slice:before{content:attr(data-word);position:absolute;inset:0;clip-path:inset(0 0 50% 0);color:#f5ffe0}.kinetic-slice:after{content:attr(data-word);position:absolute;inset:0;clip-path:inset(50% 0 0 0);color:#8fecca}.fx-slice-jump .kinetic-slice{color:transparent}.fx-slice-jump .kinetic-slice:before{animation:motion-slice-top calc(3.4s * var(--speed)) ease-in-out infinite}.fx-slice-jump .kinetic-slice:after{animation:motion-slice-bottom calc(3.4s * var(--speed)) ease-in-out infinite}@keyframes motion-slice-top{0%,15%,75%,100%{transform:translateX(0)}45%{transform:translateX(-24px)}}@keyframes motion-slice-bottom{0%,15%,75%,100%{transform:translateX(0)}45%{transform:translateX(24px)}}
.kinetic-outline{font:900 clamp(35px,5vw,75px) 'Space Grotesk',sans-serif;letter-spacing:-.095em;color:transparent;-webkit-text-stroke:2px #c7ff65;animation:motion-outline calc(3.6s * var(--speed)) ease-in-out infinite}@keyframes motion-outline{0%,20%,85%,100%{color:transparent;filter:drop-shadow(0 0 2px #c7ff65)}45%,68%{color:#c7ff65;filter:drop-shadow(0 0 20px #a7fb6166)}}
.fx-perspective-type .kinetic-composition{perspective:500px}.fx-perspective-type .kinetic-letters{animation:motion-perspective calc(3.5s * var(--speed)) cubic-bezier(.2,1,.2,1) infinite;transform-origin:50% 100%}@keyframes motion-perspective{0%,12%{transform:rotateX(88deg) translateY(25px) scale(.85);opacity:0;filter:blur(7px)}42%,72%{transform:rotateX(0) translateY(0) scale(1);opacity:1;filter:blur(0)}100%{transform:rotateX(-38deg) translateY(-20px) scale(1.12);opacity:0}}
.fx-wave-letters .kinetic-letters span{animation:motion-wave-letter calc(1.9s * var(--speed)) ease-in-out infinite;animation-delay:calc(var(--i) * -.12s * var(--speed))}@keyframes motion-wave-letter{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(-8deg);color:#ffffff}}
/* CURSOR PHYSICS */
.cursor-sandbox{cursor:crosshair;background:#12251c;--px:50%;--py:50%;--nx:0;--ny:0}
.cursor-sandbox:before{content:"";position:absolute;inset:0;background:linear-gradient(#6893701b 1px,transparent 1px),linear-gradient(90deg,#6893701b 1px,transparent 1px);background-size:30px 30px}.cursor-title{font:900 clamp(25px,3vw,45px)/.96 'Space Grotesk',sans-serif;letter-spacing:-.085em;color:#d1f2b3;text-align:center;position:relative;z-index:1}.cursor-instruction{position:absolute;bottom:14px;font:700 9px 'Space Mono',monospace;color:#c1dea4;z-index:2}.cursor-halo{position:absolute;left:var(--px);top:var(--py);width:100px;height:100px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s;background:radial-gradient(circle,#c7ff6566,#c7ff6527 33%,transparent 73%);z-index:2}.pointer-active .cursor-halo{opacity:1}.cursor-shape{position:absolute;z-index:1;color:#b2fd77;font-size:32px;transition:transform .35s cubic-bezier(.2,.8,.2,1);pointer-events:none}.shape-a{top:18%;left:16%}.shape-b{top:24%;right:13%}.shape-c{bottom:20%;left:42%}
.fx-cursor-halo .cursor-halo{width:130px;height:130px;border:1px solid #c7ff6570;background:radial-gradient(circle,#c7ff654d,transparent 60%)}.fx-cursor-halo .cursor-title{font-size:30px}
.cursor-trail-dot{position:absolute;width:15px;height:15px;pointer-events:none;z-index:4;border-radius:50%;background:#d8ff70;box-shadow:0 0 20px #c7ff65;animation:motion-trail .75s ease-out forwards;transform:translate(-50%,-50%)}@keyframes motion-trail{to{opacity:0;transform:translate(-50%,-50%) scale(.1)}}
.fx-cursor-trail .cursor-halo{display:none}.fx-cursor-trail .cursor-title{opacity:.4}
.fx-cursor-gravity .cursor-shape{transform:translate(calc(var(--nx) * 35px),calc(var(--ny) * 30px)) rotate(calc(var(--nx) * 35deg))}.fx-cursor-gravity .shape-b{transform:translate(calc(var(--nx) * -40px),calc(var(--ny) * -33px))}.fx-cursor-gravity .shape-c{transform:translate(calc(var(--nx) * 18px),calc(var(--ny) * -40px))}
.fx-cursor-spot .cursor-sandbox{background:radial-gradient(110px circle at var(--px) var(--py),#a3e36377,#11291c 80%)}.fx-cursor-spot .cursor-halo{display:none}.fx-cursor-spot .cursor-title{color:#e6ffcb}
.cursor-cross-x,.cursor-cross-y{position:absolute;z-index:2;pointer-events:none;opacity:0}.cursor-cross-x{height:1px;left:0;right:0;top:var(--py);background:#a8d98e9c}.cursor-cross-y{width:1px;top:0;bottom:0;left:var(--px);background:#a8d98e9c}.fx-cursor-crosshair .pointer-active .cursor-cross-x,.fx-cursor-crosshair .pointer-active .cursor-cross-y{opacity:1}.fx-cursor-crosshair .cursor-halo{height:25px;width:25px;border:1px solid #c7ff65;background:transparent}
.fx-cursor-spotlight .cursor-title{color:#c7ff65;opacity:.18}.fx-cursor-spotlight .cursor-title:after{content:'TOUCH\A THE FUTURE';white-space:pre;position:absolute;inset:0;color:#f0ffdd;opacity:1;clip-path:circle(50px at calc(var(--px) - 50%) calc(var(--py) - 50%));pointer-events:none}.fx-cursor-spotlight .cursor-halo{width:92px;height:92px;background:transparent;border:1px solid #c7ff65}
 /* VECTOR */
.vector-stage{background:radial-gradient(circle at 50% 50%,#1e503c,#102018 70%)}.demo-vector-svg{width:93%;height:87%;max-height:290px;overflow:visible}.vector-label{position:absolute;bottom:13px;font:700 9px 'Space Mono',monospace;color:#a5ce92;letter-spacing:.07em}
.fx-svg-draw .vector-line{stroke-dasharray:650;stroke-dashoffset:650;animation:motion-svg-draw calc(3.8s * var(--speed)) cubic-bezier(.6,.1,.4,1) infinite}@keyframes motion-svg-draw{0%,10%{stroke-dashoffset:650}55%,78%{stroke-dashoffset:0}100%{stroke-dashoffset:-650}}
.fx-svg-wave .vector-wave{animation:motion-svg-wave calc(4s * var(--speed)) ease-in-out infinite;transform-origin:center;stroke-dasharray:22 6}@keyframes motion-svg-wave{0%,100%{transform:scaleY(.55) skewY(-12deg)}50%{transform:scaleY(1.3) skewY(15deg)}}
.fx-svg-pathflow .demo-vector-svg{filter:drop-shadow(0 0 10px #c7ff6588)}
.fx-svg-radar .radar-arm{transform-origin:170px 100px;animation:motion-radar calc(4s * var(--speed)) linear infinite}@keyframes motion-radar{to{transform:rotate(360deg)}}
.fx-svg-pulse .vector-pulse{transform-origin:170px 100px;animation:motion-svg-pulse calc(3s * var(--speed)) ease-out infinite}.fx-svg-pulse .p-two{animation-delay:calc(-1.5s * var(--speed))}@keyframes motion-svg-pulse{0%{opacity:1;transform:scale(.45)}100%{opacity:0;transform:scale(2.7)}}
.fx-svg-morph .vector-morph{filter:drop-shadow(0 4px 20px #c7ff6566)}
/* CINEMATIC SCENES */
.scene-stage{background:radial-gradient(circle at 50%,#1f4a2d,#112018)}.scene-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 24px,#cbffa20d 25px 26px),repeating-linear-gradient(0deg,transparent 0 24px,#cbffa20d 25px 26px)}.scene-back{position:absolute;font:900 clamp(26px,5vw,67px) 'Space Grotesk',sans-serif;color:#d7ff80;letter-spacing:-.09em;text-shadow:0 0 35px #bcff5457}.scene-subtitle{position:absolute;bottom:16px;right:15px;color:#e2ffb6;font:700 9px 'Space Mono';z-index:2}.scene-door{position:absolute;top:0;bottom:0;width:50%;background:#94d94b;z-index:2}.door-left{left:0}.door-right{right:0}.fx-scene-curtains .door-left{animation:motion-curtain-left calc(5s * var(--speed)) cubic-bezier(.76,0,.24,1) infinite}.fx-scene-curtains .door-right{animation:motion-curtain-right calc(5s * var(--speed)) cubic-bezier(.76,0,.24,1) infinite}@keyframes motion-curtain-left{0%,15%{transform:translateX(0)}43%,79%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes motion-curtain-right{0%,15%{transform:translateX(0)}43%,79%{transform:translateX(100%)}100%{transform:translateX(0)}}
.scene-tile{position:absolute;z-index:2;border:1px solid #c7ff6577;background:#b6e55c91;opacity:0}.scene-tile.tile-1{width:29%;height:43%;top:7%;left:12%}.scene-tile.tile-2{width:45%;height:25%;top:7%;right:12%}.scene-tile.tile-3{width:45%;height:42%;bottom:6%;right:12%}.scene-tile.tile-4{width:29%;height:24%;bottom:6%;left:12%}
.fx-scene-bento .scene-door{display:none}.fx-scene-bento .scene-tile{animation:motion-bento calc(4.1s * var(--speed)) cubic-bezier(.2,1,.3,1) infinite}.fx-scene-bento .tile-2{animation-delay:calc(-.20s * var(--speed))}.fx-scene-bento .tile-3{animation-delay:calc(-.4s * var(--speed))}.fx-scene-bento .tile-4{animation-delay:calc(-.6s * var(--speed))}@keyframes motion-bento{0%,12%{opacity:0;transform:scale(.15) rotate(16deg)}37%,76%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(.5) rotate(-10deg)}}
.scene-portal{position:absolute;inset:25% 34%;border:3px solid #c8ff72;background:radial-gradient(circle,#baff73,#368d65 60%,#102718);box-shadow:0 0 35px #baff7066;z-index:2;display:grid;place-items:center}.scene-portal span{font-size:80px;color:#eaffc2}.fx-scene-portal .scene-door{display:none}.fx-scene-portal .scene-portal{animation:motion-portal calc(4.5s * var(--speed)) cubic-bezier(.7,0,.3,1) infinite}@keyframes motion-portal{0%,13%{transform:perspective(700px) translateZ(-270px) scale(.25);opacity:0}47%,70%{transform:perspective(700px) translateZ(0) scale(1.7);opacity:1}100%{transform:scale(5);opacity:0}}
.fx-scene-layers .scene-door,.fx-scene-layers .scene-portal{display:none}.fx-scene-layers .scene-tile{opacity:.65;animation:motion-layer calc(5s * var(--speed)) ease-in-out infinite alternate}.fx-scene-layers .tile-2{animation-delay:calc(-1.2s * var(--speed))}.fx-scene-layers .tile-3{animation-delay:calc(-2.7s * var(--speed))}.fx-scene-layers .tile-4{animation-delay:calc(-3.2s * var(--speed))}@keyframes motion-layer{0%{transform:translate(-20px,22px) scale(.8);filter:blur(6px);opacity:.3}100%{transform:translate(20px,-16px) scale(1.14);filter:blur(0);opacity:.8}}
.fx-scene-noise .scene-door,.fx-scene-noise .scene-portal{display:none}.fx-scene-noise .scene-grid{background:linear-gradient(120deg,#52744a,#caef84,#144536);background-size:190% 190%;animation:motion-noise calc(3s * var(--speed)) steps(6) infinite;mask-image:repeating-linear-gradient(90deg,transparent 0 4px,#000 5px 12px)}.fx-scene-noise .scene-back{animation:motion-noise-title calc(3.2s * var(--speed)) steps(4) infinite}@keyframes motion-noise{to{background-position:100% 100%;transform:translate(14px,-11px)}}@keyframes motion-noise-title{0%,15%{clip-path:inset(0 70% 0 0)}60%,85%{clip-path:inset(0)}100%{clip-path:inset(0 0 0 100%)}}
.fx-scene-focus .scene-door,.fx-scene-focus .scene-portal{display:none}.fx-scene-focus .scene-back{animation:motion-focus calc(4.8s * var(--speed)) ease-in-out infinite}.fx-scene-focus .scene-tile{opacity:1;transform:scale(.67);filter:blur(8px);animation:motion-focus-tile calc(4.8s * var(--speed)) ease-in-out infinite}.fx-scene-focus .tile-1{top:20%;left:8%;height:60%;width:22%}.fx-scene-focus .tile-2{top:20%;right:8%;height:60%;width:22%}.fx-scene-focus .tile-3,.fx-scene-focus .tile-4{display:none}@keyframes motion-focus{0%,100%{filter:blur(9px);transform:scale(.84);opacity:.4}50%{filter:blur(0);transform:scale(1.12);opacity:1}}@keyframes motion-focus-tile{0%,100%{filter:blur(0);transform:scale(1);opacity:1}50%{filter:blur(9px);transform:scale(.8);opacity:.3}}

/* PRODUCT INTERACTIONS */
.interface-demo{background:linear-gradient(120deg,#183322,#0d2117);gap:15px;padding:14px}.interface-label{color:#b8d49f;font:700 9px 'Space Mono',monospace;letter-spacing:.08em}.ui-switch{width:148px;padding:7px 12px;height:59px;background:#304b38;border:1px solid #759866;color:#c4d9b5;border-radius:70px;display:flex;align-items:center;justify-content:space-between;font:700 12px 'Space Mono';transition:background .35s;cursor:pointer}.ui-switch i{width:42px;height:42px;background:#9fb397;border-radius:50%;transition:transform .38s cubic-bezier(.2,1.5,.3,1),background .35s,box-shadow .35s}.fx-ui-toggle .ui-switch[aria-checked=true]{background:#5ea44a;color:#fff}.fx-ui-toggle .ui-switch[aria-checked=true] i{transform:translateX(-88px);background:#dcffad;box-shadow:0 0 19px #ccff70}.fx-ui-toggle .ui-switch[aria-checked=true] span{transform:translateX(55px)}.ui-switch span{transition:transform .32s}
.ui-question{width:min(270px,92%);padding:14px;border:1px solid #709a59;background:#243e2c;color:#e9ffd8;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;font-weight:800}.ui-question b{font:400 24px 'Space Grotesk'}.ui-answer{width:min(270px,92%);display:grid;grid-template-rows:0fr;border:1px solid transparent;background:#304e36;transition:grid-template-rows .35s ease,border-color .35s;overflow:hidden;margin-top:-15px}.ui-answer span{display:block;overflow:hidden;padding:0 10px;color:#d4f4c0;font-size:11px;line-height:1.7}.ui-question[aria-expanded=true]+.ui-answer{grid-template-rows:1fr;border-color:#709a59}.ui-question[aria-expanded=true]+.ui-answer span{padding:10px}
.ui-tabs{display:flex;background:#172c1c;border:1px solid #4f6e4c;padding:4px;gap:4px}.ui-tabs button{width:50px;padding:9px 6px;border:0;background:transparent;color:#9cb69a;font:700 12px 'Space Mono';transition:background .3s,color .3s}.ui-tabs button.active{background:#c7ff65;color:#172713}.ui-tab-title{font:800 22px 'Space Grotesk';color:#edffdf;letter-spacing:-.05em}.ui-tab-text{font:500 11px 'DM Sans';color:#a8c6a6;text-align:center}
.ui-progress{width:min(270px,90%);height:14px;padding:3px;background:#273f2a;border:1px solid #779761}.ui-progress i{display:block;height:6px;width:0;background:linear-gradient(90deg,#73d9b2,#d9ff6f)}.fx-ui-progress .progressing .ui-progress i{animation:motion-ui-progress 2.8s ease-in-out both}@keyframes motion-ui-progress{0%{width:0}55%{width:62%}78%{width:76%}100%{width:100%}}
.ui-action{background:#c7ff65;border:0;color:#193018;font:800 11px 'DM Sans';padding:12px 18px}.ui-action:hover{filter:brightness(1.06)}
.ui-toast-message{background:#294f35;border:1px solid #acfa7a;color:#e7ffda;padding:12px 14px;font:800 12px 'DM Sans';opacity:.25;transform:translateY(22px) scale(.9)}.ui-toast-message.toast-show{animation:motion-ui-toast 2.5s ease-in-out both}@keyframes motion-ui-toast{0%{opacity:0;transform:translateY(33px)}20%,76%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-24px)}}
.ui-number{font:800 75px/.95 'Space Grotesk';letter-spacing:-.08em;color:#d0ff7e;font-variant-numeric:tabular-nums}.ui-number.number-pop{animation:motion-ui-counter .5s ease-out}@keyframes motion-ui-counter{0%{transform:translateY(10px) scale(.9);opacity:.25}65%{transform:translateY(-5px) scale(1.1);opacity:1}100%{transform:none;opacity:1}}
/* PARTICLE SYSTEMS: lightweight DOM/CSS-only simulations */
.particles-scene{background:radial-gradient(circle at 50% 55%,#204334,#08150e 80%);pointer-events:none}.particles-title{position:absolute;z-index:2;font:800 clamp(23px,3.5vw,48px)/1 'Space Grotesk';letter-spacing:-.09em;color:#e8ffda;text-shadow:0 2px 30px #0009;text-align:center}.particle-system{position:absolute;inset:0;overflow:hidden}.particle-dot{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#c7ff65;opacity:.4;box-shadow:0 0 9px #c7ff65;animation-duration:calc(2.5s * var(--speed));animation-delay:calc(var(--delay) * -1);animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.fx-particles-stars .particle-dot{animation-name:motion-particle-star}@keyframes motion-particle-star{0%,100%{opacity:.15;transform:scale(.4)}50%{opacity:1;transform:scale(1.6)}}
.fx-particles-network .particle-dot{background:#a8ffb6;animation:motion-particle-network calc(4s * var(--speed)) ease-in-out infinite alternate}.fx-particles-network .demo-vector-svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 8px #88f9a466)}.fx-particles-network .network-edges{animation:motion-network-edge calc(5s * var(--speed)) ease-in-out infinite alternate}
@keyframes motion-particle-network{to{transform:translate(10px,-13px);opacity:1}}@keyframes motion-network-edge{to{opacity:.25;transform:translateY(9px)}}
.fx-particles-fountain .particle-dot{left:calc(50% + (var(--i) - 13) * 2px);top:78%;opacity:0;animation-name:motion-fountain;animation-duration:calc(2.5s * var(--speed))}@keyframes motion-fountain{0%{opacity:0;transform:translate(0,0) scale(.2)}20%{opacity:1}70%{opacity:.7;transform:translate(calc((var(--i) - 14) * 6px),-130px) scale(1)}100%{opacity:0;transform:translate(calc((var(--i) - 14) * 10px),-155px) scale(.2)}}
.fx-particles-dust .particle-dot{filter:blur(1px);animation-name:motion-dust;animation-duration:calc(6s * var(--speed));background:#e6dda3}@keyframes motion-dust{0%,100%{opacity:.1;transform:translate(-15px,11px)}50%{opacity:.75;transform:translate(19px,-25px)}}
.fx-particles-snow .particles-scene{background:linear-gradient(#081e2d,#163a43)}.fx-particles-snow .particle-dot{top:-10%;background:#ecfaff;animation-name:motion-snow;animation-duration:calc(6s * var(--speed));animation-timing-function:linear}@keyframes motion-snow{0%{opacity:0;transform:translate(0,0)}15%{opacity:.85}85%{opacity:.85}100%{opacity:0;transform:translate(44px,260px)}}
.fx-particles-helix .particle-dot{top:calc(50% + (var(--i) - 11) * 3px);left:calc(10% + var(--i) * 3%);animation-name:motion-helix;animation-duration:calc(2s * var(--speed));animation-timing-function:ease-in-out}.fx-particles-helix .particle-dot:nth-child(2n){background:#75def9;animation-direction:reverse}@keyframes motion-helix{0%,100%{transform:translateY(-37px) scale(.6);opacity:.2}50%{transform:translateY(37px) scale(1.35);opacity:1}}
/* Curated large catalog UI */
.premium-flag{font:800 8px 'Space Mono',monospace;color:#18230d;background:#d6ff7c;padding:3px 5px;margin-left:7px}
.favorite-btn{position:absolute;z-index:8;right:11px;top:11px;width:33px;height:33px;border:1px solid #6c8b61;background:#16231adb;color:#f0ffdb;font-size:20px;display:grid;place-items:center;line-height:1}.favorite-btn[aria-pressed=true]{background:#d4ff76;color:#18240b}
.favorite-pick{display:inline-flex;align-items:center;gap:7px;border:1px solid #658052;background:#1c2b20;color:#d5f2bd;padding:10px 12px;font:700 11px 'DM Sans',sans-serif;cursor:pointer}.favorite-pick.active{background:#c7ff65;color:#102013}
#favoriteBar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0 20px}
#favoriteBar [hidden]{display:none}
#favoriteBar span{font:700 11px 'Space Mono',monospace;color:#b1c3a9}
#copyFavorites{border:1px solid #779954;color:#e5fbd8;background:#213622;padding:10px 13px;font:700 11px 'DM Sans',sans-serif}
#copyFavorites:disabled{opacity:.3}
.effect-purpose{font:700 9px 'Space Mono',monospace;color:#bedba5;margin:5px 0}
.effect-detail-info{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 14px}.effect-detail-info span{font:700 10px 'Space Mono',monospace;background:#253d2b;color:#c9edab;padding:7px 10px;border:1px solid #547251}

/* Kinetic ticker: move the rows, not their clipping container. */
.fx-ticker-stack .kinetic-stack{animation:none}
.fx-ticker-stack .kinetic-stack b{animation:motion-kinetic-stack-rows calc(4.8s * var(--speed)) cubic-bezier(.7,0,.3,1) infinite}
@keyframes motion-kinetic-stack-rows{0%,19%{transform:translateY(0)}31%,47%{transform:translateY(-52px)}59%,79%{transform:translateY(-104px)}90%,100%{transform:translateY(0)}}

.interaction-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;border-top:1px solid #364d38;padding:13px 0 16px;margin:-10px 0 16px}
.interaction-filters>span{font:700 9px 'Space Mono',monospace;color:#9db496;margin-right:10px;letter-spacing:.08em}
.interaction-filters button{background:transparent;border:1px solid #3d5b40;color:#bccdb5;font:700 10px 'DM Sans',sans-serif;padding:9px 12px}
.interaction-filters button.active{background:#354e36;color:#d5ffae;border-color:#9ac76b}
.interaction-filters button:hover:not(.active){border-color:#b9ec8b;color:#f2ffe5}
@media(max-width:600px){.interaction-filters{gap:6px}.interaction-filters>span{flex-basis:100%}.interaction-filters button{padding:9px}}

.immersive-banner{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:18px;min-height:111px;margin:0 0 19px;padding:22px 25px;border:1px solid #98d59c;background:radial-gradient(ellipse at 80% 10%,#246b6a66,transparent 53%),linear-gradient(108deg,#142719,#14382d,#10291d);position:relative;overflow:hidden}.immersive-banner:before{content:"";position:absolute;width:210px;height:210px;border:1px solid #baffc7ab;border-radius:50%;top:-160px;left:35%;box-shadow:0 0 26px #aaffbc,0 0 45px #aaffbc55;pointer-events:none;animation:immersive-beam 9s ease-in-out infinite alternate}.immersive-banner-id{font:700 9px 'Space Mono',monospace;letter-spacing:.08em;color:#b3e7b0}.immersive-banner-title{font:700 clamp(21px,2.6vw,35px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.045em;color:#f0ffeb}.immersive-banner-title em{font-weight:500;color:#b7ffd0}.immersive-banner-action{display:block;font:800 12px 'DM Sans',sans-serif;padding:15px 18px;background:#c6ffa9;color:#122518;white-space:nowrap}.immersive-banner:hover{border-color:#d5ffac}.immersive-banner:hover .immersive-banner-action{background:#e8ffcc}@keyframes immersive-beam{to{transform:translate(180px,130px) rotate(45deg)}}@media(max-width:950px){.immersive-banner{grid-template-columns:1fr;gap:12px}.immersive-banner-action{justify-self:start}}@media(prefers-reduced-motion:reduce){.immersive-banner:before{animation:none}}

.site-concepts{display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;align-items:center;gap:25px;padding:23px;margin:0 0 21px;background:#1d2c22;border:1px solid #6b9368}
.site-concepts strong{display:block;font:700 clamp(22px,2.5vw,34px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:9px 0}
.site-concepts p{font-size:12px;line-height:1.7;color:#b5c8af;max-width:390px}
.site-concepts .concept-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.site-concepts .concept-links a{padding:13px 15px;background:#102018;border:1px solid #567d5a;color:#dbf6d4;font:800 11px 'DM Sans',sans-serif}
.site-concepts .concept-links a:hover{border-color:#c7ff69;background:#2c462c;color:#e8ffd0}
@media(max-width:650px){.site-concepts{grid-template-columns:1fr}.site-concepts .concept-links{grid-template-columns:1fr}}

.redline-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;justify-content:space-between;padding:21px 25px;margin:0 0 16px;min-height:90px;border:1px solid #b96b4f;background:linear-gradient(110deg,#4c261b,#8b3c1f,#261c1b);color:#fffaf1;text-decoration:none}
.redline-banner .redline-kicker{font:700 10px 'Space Mono',monospace;color:#ffc19c}
.redline-banner strong{font:800 clamp(18px,2vw,30px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.045em}
.redline-banner>span:last-child{font-size:11px;font-weight:700;color:#ffddc4}
.redline-banner:hover{border-color:#ffcf9c;filter:brightness(1.12)}
