.sparkle-button{--transition: .25s;--spark: 1.8s;--accent: #97648B;--accent-soft: rgba(151, 100, 139, .55);--bg-base: #14111C;--bg-hover: #1d1727;position:relative;display:inline-block}.sparkle-button button{--cut: .1em;--active: 0;--bg: radial-gradient( 40% 50% at center 100%, rgba(151, 100, 139, calc(var(--active) * .55)), transparent ), radial-gradient( 80% 100% at center 120%, rgba(151, 100, 139, calc(var(--active) * .35)), transparent ), var(--bg-base);background:var(--bg);font-size:1rem;font-weight:500;border:1px solid rgba(151,100,139,.7);cursor:pointer;padding:.85em 1.5em;display:flex;align-items:center;gap:.5em;white-space:nowrap;border-radius:100px;position:relative;box-shadow:0 0 calc(var(--active) * 2.2em) calc(var(--active) * .9em) #97648b59,0 .05em rgba(255,255,255,calc(var(--active) * .18)) inset,0 -.05em rgba(151,100,139,calc(var(--active) * .5)) inset;transition:box-shadow var(--transition),scale var(--transition),background var(--transition);scale:calc(1 + (var(--active) * .06));color:#faf9fc}.sparkle-button button:active{scale:1}.sparkle-button svg{overflow:visible!important}.sparkle-button .sparkle path{color:rgba(255,255,255,calc(var(--active, 0) * .55 + var(--base)));transform-box:fill-box;transform-origin:center;fill:currentColor;stroke:currentColor;animation-delay:calc((var(--transition) * 1.5) + (var(--delay) * 1s));animation-duration:.6s;transition:color var(--transition)}.sparkle-button button:is(:hover,:focus-visible) path{animation-name:sparkle-bounce}@keyframes sparkle-bounce{35%,65%{scale:var(--scale)}}.sparkle-button .sparkle path:nth-of-type(1){--scale: .5;--delay: .1;--base: .55}.sparkle-button .sparkle path:nth-of-type(2){--scale: 1.5;--delay: .2;--base: .4}.sparkle-button .sparkle path:nth-of-type(3){--scale: 2.5;--delay: .35;--base: .5}.sparkle-button button:before{content:"";position:absolute;inset:-.2em;z-index:-1;border:.2em solid rgba(151,100,139,.35);border-radius:100px;opacity:var(--active, 0);transition:opacity var(--transition)}.sparkle-button .spark{position:absolute;inset:0;border-radius:100px;rotate:0deg;overflow:hidden;-webkit-mask:linear-gradient(white,transparent 50%);mask:linear-gradient(white,transparent 50%);animation:sparkle-flip calc(var(--spark) * 2) infinite steps(2,end);pointer-events:none}@keyframes sparkle-flip{to{rotate:360deg}}.sparkle-button .spark:before{content:"";position:absolute;width:200%;aspect-ratio:1;top:0%;left:50%;z-index:-1;translate:-50% -15%;rotate:0;transform:rotate(-90deg);opacity:calc(var(--active) + .35);background:conic-gradient(from 0deg,transparent 0 340deg,#FFFFFF 360deg);transition:opacity var(--transition);animation:sparkle-rotate var(--spark) linear infinite both}.sparkle-button .spark:after{content:"";position:absolute;inset:var(--cut);border-radius:100px}.sparkle-button .backdrop{position:absolute;inset:var(--cut);background:var(--bg);border-radius:100px;transition:background var(--transition)}@keyframes sparkle-rotate{to{transform:rotate(90deg)}}.sparkle-button button:is(:hover,:focus-visible)~.particle-pen{--active: 1;--play-state: running}.sparkle-button button:is(:hover,:focus-visible){--active: 1;--play-state: running}.sparkle-button .bodydrop{display:none}.sparkle-button .particle-pen{position:absolute;width:200%;aspect-ratio:1;top:50%;left:50%;translate:-50% -50%;-webkit-mask:radial-gradient(white,transparent 65%);mask:radial-gradient(white,transparent 65%);z-index:-1;opacity:var(--active, 0);transition:opacity var(--transition);pointer-events:none}.sparkle-button .particle{fill:#faf9fc;width:calc(var(--size, .25) * 1rem);aspect-ratio:1;position:absolute;top:calc(var(--y) * 1%);left:calc(var(--x) * 1%);opacity:var(--alpha, 1);animation:sparkle-float-out calc(var(--duration, 1) * 1s) calc(var(--delay) * -1s) infinite linear;transform-origin:var(--origin-x, 1000%) var(--origin-y, 1000%);z-index:-1;animation-play-state:var(--play-state, paused)}.sparkle-button .particle path{fill:#d9c4d4;stroke:none}.sparkle-button .particle:nth-of-type(2n){animation-direction:reverse}@keyframes sparkle-float-out{to{rotate:360deg}}.sparkle-button .text{letter-spacing:.01ch;color:#fff;-webkit-background-clip:initial;background:none;transition:color var(--transition);position:relative;z-index:2}.sparkle-button button svg.sparkle{inline-size:1.25em;color:#fff;position:relative;z-index:2}.sparkle-button button>svg:not(.sparkle){position:relative;z-index:2;color:#fff}.scroll-reveal{margin:20px 0}.scroll-reveal-text{font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;margin:0}.scroll-reveal .word{display:inline-block}.intro-overlay{position:fixed;inset:0;z-index:9999;background:radial-gradient(ellipse at center,#1d1729,#14111c,#0a0810);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;opacity:1;transition:opacity .9s ease,transform .9s ease}.intro-overlay--leave{opacity:0;transform:scale(1.08);pointer-events:none}.intro-ring{position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(151,100,139,.35);border-top-color:#faf9fcd9;animation:intro-spin 2.6s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 18px rgba(151,100,139,.5));opacity:0;animation:intro-ring-in .6s ease forwards,intro-spin 2.6s linear .6s infinite}.intro-ring--2{width:660px;height:660px;border-color:#97648b2e;border-bottom-color:#faf9fc80;animation:intro-ring-in .6s ease .2s forwards,intro-spin-rev 4s linear .8s infinite}@keyframes intro-ring-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes intro-spin{to{transform:rotate(360deg)}}@keyframes intro-spin-rev{to{transform:rotate(-360deg)}}.intro-logo-wrap{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:2.5rem}.intro-logo-mask{width:100%;height:100%;display:flex;align-items:center;justify-content:center;clip-path:inset(100% 0 0 0);animation:intro-logo-reveal 1.2s cubic-bezier(.7,0,.2,1) .4s forwards}.intro-logo{width:140px;height:auto;filter:drop-shadow(0 0 30px rgba(151,100,139,.6));transform:scale(.85);animation:intro-logo-pop 1s cubic-bezier(.34,1.56,.64,1) 1.3s forwards}@keyframes intro-logo-reveal{to{clip-path:inset(0 0 0 0)}}@keyframes intro-logo-pop{to{transform:scale(1)}}.intro-logo-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);mix-blend-mode:overlay;transform:translate(-150%);animation:intro-shine 1.1s ease 1.7s}@keyframes intro-shine{to{transform:translate(150%)}}.intro-name{font-family:Pompeo,Heebo,serif;font-size:clamp(2.5rem,6vw,4.5rem);color:#faf9fc;margin:0 0 .6rem;letter-spacing:.02em;text-shadow:0 0 30px rgba(151,100,139,.4)}.intro-subtitle{font-size:clamp(1rem,2vw,1.35rem);color:#faf9fcbf;letter-spacing:.15em;margin:0;font-weight:300}.intro-letter{display:inline-block;opacity:0;transform:translateY(40px) rotateX(-90deg);animation:intro-letter-in .7s cubic-bezier(.22,1,.36,1) forwards;transform-origin:50% 100%}.intro-letter--sub{transform:translateY(20px);animation:intro-letter-sub-in .5s ease forwards}@keyframes intro-letter-in{to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes intro-letter-sub-in{to{opacity:1;transform:translateY(0)}}.intro-particles{position:absolute;inset:0;pointer-events:none}.intro-particle{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:#faf9fc;box-shadow:0 0 12px #97648be6;opacity:0;--angle: calc(var(--i) * 15deg);--dist: 320px;animation:intro-particle-out 1.4s ease-out 1.4s forwards}@keyframes intro-particle-out{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--dist) * -1)) scale(1)}}.intro-curtain{position:absolute;left:0;width:100%;height:0;background:#14111c;transition:height .8s cubic-bezier(.7,0,.2,1)}.intro-curtain--top{top:0}.intro-curtain--bottom{bottom:0}.intro-overlay--leave .intro-curtain{height:52%}.intro-overlay--mobile{transition:opacity .3s ease}.intro-overlay--initial-mobile{display:none}@media(max-width:767px){.intro-overlay--initial-mobile{display:flex}}.intro-overlay--mobile.intro-overlay--leave{transform:none}.intro-mobile-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;animation:intro-mobile-in .35s ease forwards;opacity:0}.intro-mobile-logo{width:110px;height:auto}.intro-mobile-name{font-family:Pompeo,Heebo,serif;font-size:2.2rem;color:#faf9fc;margin:0;letter-spacing:.02em}.intro-mobile-subtitle{font-size:1rem;color:#faf9fcbf;letter-spacing:.15em;margin:0;font-weight:300}@keyframes intro-mobile-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;inset:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0 0% 100%) border-box,var(--gradient-one) border-box,var(--gradient-two) border-box,var(--gradient-three) border-box,var(--gradient-four) border-box,var(--gradient-five) border-box,var(--gradient-six) border-box,var(--gradient-seven) border-box,var(--gradient-base) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one) padding-box,var(--gradient-two) padding-box,var(--gradient-three) padding-box,var(--gradient-four) padding-box,var(--gradient-five) padding-box,var(--gradient-six) padding-box,var(--gradient-seven) padding-box,var(--gradient-base) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:visible;z-index:1;border-radius:inherit}.stack-container{position:relative;width:100%;height:100%;perspective:600px}.card-rotate{position:absolute;width:100%;height:100%;cursor:grab}.card-rotate-disabled{position:absolute;width:100%;height:100%;cursor:pointer}.card{border-radius:1rem;overflow:hidden;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.card img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.card-image{width:100%;height:100%;object-fit:cover;pointer-events:none}
