.trace-engrave{animation:trace-scan var(--trace-loop,11s) linear infinite both}@keyframes trace-scan{0%{clip-path:inset(0 100% 0 0)}26%,to{clip-path:inset(0)}}.trace-cut{stroke-dasharray:1;stroke-dashoffset:0;animation:trace-draw var(--trace-loop,11s) cubic-bezier(.4, 0, .3, 1) infinite both}@keyframes trace-draw{0%,30%{stroke-dashoffset:1px}74%,to{stroke-dashoffset:0}}.trace-spark{stroke-dasharray:.035 1;stroke-dashoffset:.035px;opacity:0;animation:trace-spark var(--trace-loop,11s) cubic-bezier(.4, 0, .3, 1) infinite both}@keyframes trace-spark{0%,30%{stroke-dashoffset:.035px;opacity:1}74%{stroke-dashoffset:-.965px;opacity:1}76%,to{stroke-dashoffset:-.965px;opacity:0}}.trace-scanline{opacity:0;animation:trace-scanline var(--trace-loop,11s) linear infinite both}@keyframes trace-scanline{0%{opacity:1;transform:translate(0)}26%{transform:translateX(var(--trace-width,600px));opacity:1}27%,to{transform:translateX(var(--trace-width,600px));opacity:0}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both reveal-rise;animation-timeline:view();animation-range:entry entry 38%}.reveal-children>*{animation:linear both reveal-rise;animation-timeline:view();animation-range:entry entry 45%}}}@keyframes reveal-rise{0%{opacity:0;translate:0 18px}}@media (hover:hover) and (pointer:fine){.spot{position:relative}.spot:after{content:"";border-radius:inherit;background:radial-gradient(340px circle at var(--mx,-400px) var(--my,-400px), #ffffff0f, transparent 60%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.spot:hover:after{opacity:1}}.marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee>*{animation:marquee-drift var(--marquee-time,48s) linear infinite;flex-shrink:0}.marquee:hover>*,.marquee:focus-within>*{animation-play-state:paused}@keyframes marquee-drift{to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.marquee>[aria-hidden=true]{display:none}}.fit-tab{animation:2.6s cubic-bezier(.3,0,.2,1) infinite alternate fit-slide}@keyframes fit-slide{0%{transform:translateY(-22px)}55%,to{transform:translateY(0)}}.pulse-ring{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite pulse-ring}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}.caret{animation:1.1s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.strip-link{background:linear-gradient(90deg,#ff5a4a26,#ff5a4ab3)}.strip-spark{opacity:0;background:#ff5a4a;border-radius:9999px;width:5px;height:5px;animation:4.5s linear infinite strip-spark;position:absolute;top:-2px;left:0;box-shadow:0 0 8px 2px #ff3b30b3}@keyframes strip-spark{0%{opacity:0;transform:translate(-2px)}4%{opacity:1}16%{opacity:1;transform:translate(14px)}20%,to{opacity:0;transform:translate(14px)}}.nf-piece{animation:.9s cubic-bezier(.55,0,.85,.35) both nf-drop}@keyframes nf-drop{0%{transform:translate(0)rotate(0)}}.hv-type{white-space:nowrap;vertical-align:bottom;width:calc(var(--chars) * 1ch);animation:hv-type var(--hv-loop,9s) steps(var(--chars), end) infinite both;display:inline-block;overflow:hidden}@keyframes hv-type{0%,4%{width:0}34%,to{width:calc(var(--chars) * 1ch)}}.hv-caret{animation:1s step-end infinite hv-caret}@keyframes hv-caret{50%{opacity:0}}.hv-engrave{animation:hv-scan var(--hv-loop,9s) linear infinite both}@keyframes hv-scan{0%,36%{clip-path:inset(0 100% 0 0)}56%,to{clip-path:inset(0)}}.hv-score,.hv-cut{stroke-dasharray:1;stroke-dashoffset:0}.hv-score{animation:hv-draw-score var(--hv-loop,9s) cubic-bezier(.4, 0, .3, 1) infinite both}@keyframes hv-draw-score{0%,56%{stroke-dashoffset:1px}68%,to{stroke-dashoffset:0}}.hv-cut{animation:hv-draw-cut var(--hv-loop,9s) cubic-bezier(.4, 0, .3, 1) infinite both}@keyframes hv-draw-cut{0%,68%{stroke-dashoffset:1px}86%,to{stroke-dashoffset:0}}.hv-layer{transform:translateY(var(--spread));animation:7s cubic-bezier(.22,1,.36,1) infinite both hv-spread}@keyframes hv-spread{0%,18%{transform:translateY(0)}48%,to{transform:translateY(var(--spread))}}.hv-pop{animation:7s cubic-bezier(.22,1,.36,1) infinite both hv-pop;animation-delay:calc(var(--i,0) * .45s)}@keyframes hv-pop{0%,6%{opacity:0;transform:translateY(6px)scale(.96)}16%,to{opacity:1;transform:none}}.hv-tab{animation:6s cubic-bezier(.22,1,.36,1) infinite both hv-tab}@keyframes hv-tab{0%,15%{transform:translate(var(--fx,34px), var(--fy,0px))}45%,to{transform:none}}.hv-orbit{animation:hv-spin var(--hv-orbit,80s) linear infinite}.hv-orbit-reverse{animation:hv-spin-back var(--hv-orbit,80s) linear infinite}@keyframes hv-spin{0%{rotate:-360deg}}@keyframes hv-spin-back{0%{rotate:360deg}}.hv-orbit:hover,.hv-orbit:hover .hv-orbit-reverse,.hv-orbit-wrap:focus-within .hv-orbit,.hv-orbit-wrap:focus-within .hv-orbit-reverse{animation-play-state:paused}.hv-beam{animation:6s cubic-bezier(.65,0,.35,1) infinite both hv-beam;left:100%}@keyframes hv-beam{0%{opacity:0;left:0%}8%{opacity:1}92%{opacity:1}to{opacity:0;left:100%}}.hv-strike{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(#ff3b30,#ff3b30);background-position:0 58%;background-repeat:no-repeat;background-size:100% 1.5px}@supports (animation-timeline:view()){.hv-strike{animation:linear both hv-strike;animation-timeline:view();animation-range:entry 30% cover 42%}}@keyframes hv-strike{0%{background-size:0% 1.5px}}.hv-sweep{animation:7s cubic-bezier(.65,0,.35,1) infinite both hv-sweep}@keyframes hv-sweep{0%{opacity:0;transform:translate(-60vw)}15%,85%{opacity:1}to{opacity:0;transform:translate(60vw)}}.hv-stage{transform-style:preserve-3d;animation:18s ease-in-out infinite alternate both hv-sway;transform:rotateX(-24deg)rotateY(-32deg)}@keyframes hv-sway{0%{transform:rotateX(-30deg)rotateY(26deg)}}.hv-part{transform-style:preserve-3d;transform-origin:50% 100%;transform:var(--built);animation:hv-assemble var(--hv-loop,12s) cubic-bezier(.65, 0, .35, 1) infinite both;position:absolute}@keyframes hv-assemble{0%,26%{transform:var(--flat)}52%,to{transform:var(--built)}}.hv-part-cut{stroke-dasharray:1;stroke-dashoffset:0;animation:hv-part-cut var(--hv-loop,12s) linear infinite both}@keyframes hv-part-cut{0%{stroke-dashoffset:1px}20%,to{stroke-dashoffset:0}}.hv-tilt{perspective:1200px}.hv-tilt>*{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;transition:transform .25s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.hv-tilt>*{transform:none}}
