.button-container{gap:1.5rem}.button-container,.social-button{display:flex;justify-content:center;align-items:center}.social-button{cursor:pointer;text-decoration:none;color:#ffff;width:40px;height:40px;border-radius:50%;background-color:#0a0a0a;border:2px solid hsl(var(--border));transition:all .45s}.social-button:hover{transform:rotate(1turn);transform-origin:center center;background-color:#ffff;border-color:hsl(var(--primary))}.social-button .btn-svg{color:hsl(var(--foreground))}.social-button:hover .btn-svg{color:hsl(var(--primary))}.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;font-size:.75rem}.contact-actions a{padding:.75rem;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;overflow:hidden;position:relative;z-index:9;border-radius:.375rem;border:1px solid hsl(var(--border));background-color:#0a0a0a;color:hsl(var(--foreground));text-decoration:none;transition:color .3s linear}.contact-actions a svg{width:2rem;height:2rem;color:hsl(var(--primary));transition:color .3s linear}.contact-actions a:after{content:"";position:absolute;width:100%;height:100%;clip-path:polygon(0 0,100% 0,0 0,0 100%);background-color:hsl(var(--primary));z-index:-1;top:0;left:0;opacity:0}.contact-actions a:hover:after{animation:sideClip .5s linear;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}.contact-actions a:hover,.contact-actions a:hover svg{color:hsl(var(--primary-foreground))}.contact-actions a:hover svg{animation:fadeInLeft .3s linear both}@keyframes sideClip{0%{clip-path:polygon(0 0,100% 0,0 0,0 100%)}50%{clip-path:polygon(0 0,100% 0,0 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}.sparkle-button{--transition:0.3s;--spark:1.5s;--cut:0.1em;--active:0;--bg:radial-gradient(40% 50% at center 100%,hsl(var(--primary)/calc(var(--active) * 0.5)),transparent),radial-gradient(80% 100% at center 120%,hsl(var(--primary)/calc(var(--active) * 0.5)),transparent),#1a1a1a;background:var(--bg);font-size:1.2rem;font-weight:500;border:0;cursor:pointer;padding:.8em 1.2em;display:flex;align-items:center;gap:.5em;white-space:nowrap;border-radius:100px;position:relative;box-shadow:0 0 calc(var(--active) * 3em) calc(var(--active) * 1em) hsl(var(--primary)/.75),0 0 0 0 hsl(var(--primary)/calc(var(--active) * .5)) inset,0 -.05em 0 0 hsl(var(--primary)/calc(var(--active) * .6)) inset;scale:calc(1 + (var(--active) * .1));transition:box-shadow var(--transition),scale var(--transition),background var(--transition)}.sparkle-button:active{scale:1;transition:.3s}.sparkle-button .sparkle{color:hsl(0 0% calc((var(--active) * 70%) + 30%));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 .sparkle path{color:hsl(var(--foreground))}.sparkle-button:is(:hover,:focus-visible){--active:1}.sparkle-button:is(:hover,:focus-visible) .sparkle{animation-name:bounce}@keyframes bounce{35%,65%{scale:1.5}}.sparkle-button:before{content:"";inset:-.2em;z-index:-1;border:.25em solid hsl(var(--primary)/.5);opacity:var(--active,0);transition:opacity var(--transition)}.spark,.sparkle-button:before{position:absolute;border-radius:100px}.spark{inset:0;rotate:0deg;overflow:hidden;mask:linear-gradient(white,transparent 50%);animation:flip calc(var(--spark) * 2) infinite steps(2)}@keyframes flip{to{rotate:1turn}}.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)) + .4);background:conic-gradient(from 0deg,transparent 0 340deg,hsl(var(--foreground)) 1turn);transition:opacity var(--transition);animation:rotate var(--spark) linear infinite both}.spark:after{content:""}.backdrop,.spark:after{position:absolute;inset:var(--cut);border-radius:100px}.backdrop{background:var(--bg);transition:background var(--transition)}@keyframes rotate{to{transform:rotate(90deg)}}.text{translate:2% -6%;letter-spacing:.01ch;background:linear-gradient(90deg,hsl(0 0% calc((var(--active) * 100%) + 65%)),hsl(0 0% calc((var(--active) * 100%) + 26%)));-webkit-background-clip:text;color:transparent;transition:background var(--transition)}.sparkle-button .sparkle{display:inline-block;width:1.25em;height:1.25em;translate:-25% -5%}.sp{position:relative;display:inline-block}.particle-pen{width:200%;top:50%;left:50%;translate:-50% -50%;-webkit-mask:radial-gradient(white,transparent 65%);opacity:var(--active,0);transition:opacity var(--transition)}.particle,.particle-pen{position:absolute;aspect-ratio:1;z-index:-1}.particle{fill:hsl(var(--primary-foreground));width:calc(var(--size, .25) * 1rem);top:calc(var(--y) * 1%);left:calc(var(--x) * 1%);opacity:var(--alpha,1);animation:float-out calc(var(--duration, 1) * 1s) calc(var(--delay) * -1s) infinite linear;transform-origin:var(--origin-x,1000%) var(--origin-y,1000%);animation-play-state:var(--play-state,paused)}.particle path{fill:hsl(var(--primary));stroke:none}.particle:nth-of-type(2n){animation-direction:reverse}.sp:is(:hover,:focus-visible){--active:1;--play-state:running}@keyframes float-out{to{rotate:1turn;transform:translateY(-100%)}}