.tech-text{display:block;position:relative;width:100%;height:100%;touch-action:pan-y;user-select:none}.tech-text-canvas{display:block;width:100%;height:100%}.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--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.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(:focus-within):not(.sweep-active):before,.border-glow-card:not(:hover):not(:focus-within):not(.sweep-active):after,.border-glow-card:not(:hover):not(:focus-within):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, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));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, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;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-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;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:auto;z-index:1}.portfolio-glow{height:100%;box-shadow:none}.portfolio-glow>.border-glow-inner{overflow:visible;height:100%;border-radius:inherit}.portfolio-glow .service-card,.portfolio-glow .approach-card{background:transparent;border:0}.border-glow-card:before,.border-glow-card:after{pointer-events:none}.portfolio-glow:focus-within{--edge-proximity: 90 !important}@media(prefers-reduced-motion:reduce),(hover:none){.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{display:none}}.card-swap{position:relative;width:100%;height:100%;outline:none;-webkit-tap-highlight-color:transparent}.card-swap-sizer{max-height:100%;overflow:hidden;pointer-events:none}.card-swap-sizer>span{display:block;width:100%;max-width:var(--swap-stage-w);aspect-ratio:var(--swap-ratio)}.card-swap-stage{position:absolute;top:50%;left:50%;width:var(--swap-stage-w);height:var(--swap-stage-h);perspective:900px;transform:translate(-50%,-50%);pointer-events:none}.card-swap-slot{position:absolute;top:var(--swap-oy);left:var(--swap-ox);width:var(--swap-w);height:var(--swap-h);margin:calc(var(--swap-h) / -2) 0 0 calc(var(--swap-w) / -2);border-radius:var(--swap-radius);overflow:hidden;isolation:isolate;box-shadow:var(--swap-shadow);pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:pan-y;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-swap:focus-visible .card-swap-slot[data-front]{outline:2px solid var(--swap-ink);outline-offset:3px}.card-swap-shade{position:absolute;inset:0;z-index:3;border-radius:inherit;background:var(--swap-shade);opacity:0;pointer-events:none}.card-swap-card{position:relative;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;overflow:hidden;isolation:isolate;background:var(--swap-tile);color:var(--swap-ink)}.card-swap-card-rim{position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--swap-tile-edge),inset 0 1px 0 var(--swap-tile-highlight);pointer-events:none}.card-swap-item{display:flex;flex-direction:column;gap:6px;height:100%;padding:6px;box-sizing:border-box}.card-swap-head{display:flex;flex:none;align-items:center;gap:10px;min-width:0;height:30px;padding:0 6px}.card-swap-icon{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--swap-badge)}.card-swap-title{overflow:hidden;font-size:14px;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.card-swap-media{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:max(0px,calc(var(--swap-radius) - 6px));background:var(--swap-badge)}.card-swap-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}.card-swap-media:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--swap-media-edge);pointer-events:none}
