.fil-hero{background:radial-gradient(1100px 760px at 76% 46%, var(--violet-tint-2) 0%, var(--bg-lilac) 64%);flex-direction:column;min-height:100svh;padding:96px 0 0;display:flex;position:relative;overflow:clip}.fil-hero>.wrap{width:100%}.fil-hero-glow{pointer-events:none;background:radial-gradient(closest-side,#9b8bff2e,#0000);height:60%;position:absolute;inset:auto -10% -30% 40%}.fil-hero-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:16px;display:grid;position:relative}.fil-hero-copy{z-index:3;padding:24px 0 40px;position:relative}.fil-hero-copy h1{letter-spacing:-.032em;margin-top:22px;font-size:clamp(40px,5.1vw,66px);font-weight:600;line-height:1.04}.fil-hero-sub{color:var(--text-2);max-width:480px;margin-top:22px;font-size:18px;line-height:1.55}.fil-hero .hero-cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.fil-hero-status{z-index:3;border-top:1px solid var(--violet-tint-2);padding-top:14px;padding-bottom:14px;position:relative}.fil-stage-fade{animation-name:fil-fade-out;position:relative}@keyframes fil-fade-out{to{opacity:.2}}.fil-stage{--disc:min(780px, 54vw);width:var(--disc);aspect-ratio:1;perspective:1700px;perspective-origin:50% 12%;margin:-56px -7vw -90px auto;animation:0s .25s both fil-stage-in;position:relative}@keyframes fil-stage-in{0%{visibility:hidden}to{visibility:visible}}.fil-disc-scroll,.fil-disc-tilt,.fil-disc{transform-style:preserve-3d;position:absolute;inset:0}.fil-disc-scroll{animation-name:fil-disc-away}@keyframes fil-disc-away{to{transform:translateY(-60px)rotateX(16deg)scale(.9)}}.fil-disc-tilt{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform .7s var(--ease)}.fil-disc{--zh:1.9px;transform:rotateX(56deg)rotate(-18deg)}.fil-disc>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fil-disc svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}.fil-shadow{stroke:var(--violet-2);opacity:.17;transform:translate(9px,13px)}.fil-wall,.fil-top{transform:translateZ(calc(var(--k) * var(--zh)));animation:fil-rise 1s var(--ease) .3s backwards}.fil-wall{stroke:color-mix(in oklab, var(--lavender-2), var(--pearl) calc(var(--t) * 100%))}@keyframes fil-rise{0%{transform:translateZ(0)}}.fil-wall path,.fil-top path,.fil-shadow path{animation:fil-ring-in .7s var(--ease) both;animation-delay:calc(var(--r) * 80ms)}@keyframes fil-ring-in{0%{opacity:0}}.fil-thread{transform:translateZ(1.5px)}.fil-thread path{stroke-dasharray:1 1;stroke-dashoffset:1px;animation:fil-draw 1.7s var(--ease) .95s forwards}.fil-thread-glow{stroke:var(--violet-2);opacity:.32}.fil-thread-core{stroke:var(--violet)}.fil-thread-origin{fill:var(--violet);animation:fil-pop .5s var(--ease-out-back) .8s backwards;transform-box:fill-box;transform-origin:50%}@keyframes fil-draw{to{stroke-dashoffset:0}}@keyframes fil-pop{0%{transform:scale(0)}}.fil-pawn{left:var(--l);top:var(--t);width:0;height:0;transform-style:preserve-3d;position:absolute;transform:translateZ(2px)rotate(18deg)rotateX(-56deg)}.fil-pawn-in{animation:fil-pawn-in .7s var(--ease-out-back) backwards;animation-delay:var(--intro,0s);position:absolute;bottom:0;left:0;transform:translate(-50%,3.4%)}@keyframes fil-pawn-in{0%{opacity:0;transform:translate(-50%,24%)scale(.85)}}.fil-pawn-name{background:var(--surface);border:1px solid var(--violet-tint-2);box-shadow:0 6px 14px -8px var(--shade);white-space:nowrap;opacity:0;transition:opacity .2s var(--ease), transform .2s var(--ease);pointer-events:none;border-radius:999px;margin-bottom:4px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;bottom:100%;left:50%;transform:translate(-50%,4px)}@media (hover:hover){.fil-pawn:hover .fil-pawn-name{opacity:1;transform:translate(-50%)}}.fil-pawn:has(:focus-visible) .fil-pawn-name{opacity:1;transform:translate(-50%)}@media (max-width:900px){.fil-hero{padding-top:84px}.fil-hero-grid{grid-template-columns:1fr;gap:0}.fil-hero-copy{padding:16px 0 0}.fil-stage{--disc:min(94vw, 480px);margin:-8px auto -24px}.fil-disc{--zh:2.6px}.fil-wall-odd{display:none}.fil-stage{perspective:none}.fil-disc-tilt,.fil-disc{transform-style:flat;transform:none}.fil-disc>.fil-3d{display:none}.fil-disc>.fil-flat{display:block}.fil-pawn{left:var(--lf);top:var(--tf);transform-style:flat;transform:none}}.fil-flat{display:none}.fil-flat .fl-wall{stroke:color-mix(in oklab, var(--lavender-2), var(--pearl) calc(var(--t) * 100%))}.fil-flat .fl-shadow{stroke:var(--violet-2);opacity:.17}.fil-flat .fl-rings path{animation:fil-ring-in .7s var(--ease) both;animation-delay:calc(var(--r) * 80ms)}.fil-flat .fl-thread path{stroke-dasharray:1 1;stroke-dashoffset:1px;animation:fil-draw 1.7s var(--ease) .95s forwards}.fil-flat .fl-thread .fil-thread-glow{stroke:var(--violet-2);opacity:.32}.fil-flat .fl-thread .fil-thread-core{stroke:var(--violet)}@media (prefers-reduced-motion:reduce){.fil-wall,.fil-top,.fil-wall path,.fil-top path,.fil-shadow path,.fil-thread-origin,.fil-pawn-in{animation:none}.fil-thread path{stroke-dashoffset:0;animation:none}.fil-disc-tilt{transition:none}.fil-stage{animation:none}}.fil-disc-tilt,.fil-disc,.fil-disc>svg{pointer-events:none}.fil-pawn .agent{pointer-events:auto;cursor:pointer}@media (prefers-reduced-motion:reduce){.fil-flat .fl-rings path{animation:none}.fil-flat .fl-thread path{stroke-dashoffset:0;animation:none}}
