@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Geist:wght@400;600;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-12{bottom:3rem}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.top-0{top:0}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-mr-32{margin-right:-8rem}.-mt-32{margin-top:-8rem}.mb-0{margin-bottom:0}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-10{margin-left:2.5rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.h-3{height:.75rem}.h-64{height:16rem}.h-\[500px\]{height:500px}.h-full{height:100%}.h-screen{height:100vh}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-24{width:6rem}.w-3{width:.75rem}.w-64{width:16rem}.w-\[500px\]{width:500px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/4{--tw-translate-y:25%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:translateY(0)}}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black{--tw-gradient-to:#000 var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-section-gap{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[32px\]{font-size:32px}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-on-surface-variant{color:var(--on-surface-variant)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/0{color:#fff0}.text-white\/20{color:#fff3}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[80px\]{--tw-blur:blur(80px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-\[transform\,filter\,opacity\]{will-change:transform,filter,opacity}:root{--font-inter:"Inter", sans-serif;--font-geist:"Geist", sans-serif;--primary:#fff;--on-primary:#000;--primary-container:#222;--on-primary-container:#fff;--secondary:#a1a1a1;--on-secondary:#000;--surface:#0a0a0a;--on-surface:#fff;--surface-variant:#1a1a1a;--on-surface-variant:#a1a1a1;--outline:#404040;--background:#000;--on-background:#fff;--container-max:1200px;--section-gap:80px;--margin-mobile:20px;--gutter:32px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{background-color:var(--background);color:var(--on-surface);font-family:var(--font-inter);-webkit-font-smoothing:antialiased;overflow:visible}.font-display-lg{font-family:var(--font-geist);letter-spacing:-.02em;font-size:48px;font-weight:600;line-height:1.1}.font-headline-md{font-family:var(--font-geist);letter-spacing:.01em;font-size:24px;font-weight:500;line-height:1.4}.font-body-lg{font-family:var(--font-inter);letter-spacing:.01em;font-size:18px;font-weight:400;line-height:1.6}.font-body-md{font-family:var(--font-inter);letter-spacing:.01em;font-size:16px;font-weight:400;line-height:1.6}.font-label-sm{font-family:var(--font-geist);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1}@media (width<=768px){.font-display-lg{font-size:32px;line-height:1.2}}.glass-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f0f99;border:1px solid #ffffff14;border-radius:.75rem}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}.glow-hover:hover{box-shadow:0 0 25px -5px #fff3}.reveal{opacity:0;transition:all .8s cubic-bezier(.2,.8,.2,1);transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}@media (width<=1024px){.reveal{opacity:1!important;transition:none!important;transform:none!important}}.section-container{max-width:var(--container-max);padding-left:var(--margin-mobile);padding-right:var(--margin-mobile);padding-top:var(--section-gap);padding-bottom:var(--section-gap);margin-left:auto;margin-right:auto}@media (width>=768px){.section-container{padding-left:var(--gutter);padding-right:var(--gutter)}}.proj-carousel{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;outline:none;justify-content:center;align-items:center;gap:0;height:520px;display:flex;position:relative;overflow:hidden}.proj-carousel:active{cursor:grabbing}.proj-carousel__slot{pointer-events:none;width:32%;max-width:380px;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s cubic-bezier(.2,.8,.2,1);position:absolute}.proj-carousel__slot[data-pos=center]{opacity:1;z-index:3;pointer-events:auto;transform:translate(0)scale(1)}.proj-carousel__slot[data-pos=left]{opacity:.35;z-index:1;transform:translate(-90%)scale(.88)}.proj-carousel__slot[data-pos=right]{opacity:.35;z-index:1;transform:translate(90%)scale(.88)}@media (width<=768px){.proj-carousel{height:480px}.proj-carousel__slot{width:82%;max-width:340px}.proj-carousel__slot[data-pos=left]{opacity:.15;transform:translate(-88%)scale(.86)}.proj-carousel__slot[data-pos=right]{opacity:.15;transform:translate(88%)scale(.86)}.proj-card{gap:8px;padding:20px}}.proj-card{color:inherit;background:#0d0d10f2;border:1px solid #ffffff12;border-radius:16px;flex-direction:column;gap:12px;padding:28px;text-decoration:none;transition:border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.proj-card--center:hover{border-color:#ffffff29;box-shadow:0 0 60px -20px #ffffff14}.proj-card__accent{background:linear-gradient(90deg,#ffffff2e 0%,#0000 60%);border-radius:16px 16px 0 0;height:2px;position:absolute;top:0;left:0;right:0}.proj-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.proj-card__title{font-family:var(--font-geist);color:#fff;margin:0;font-size:17px;font-weight:700;line-height:1.3}.proj-card__stars{font-family:var(--font-geist);color:#eab308;white-space:nowrap;background:#eab3081a;border:1px solid #eab30833;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.proj-card__repo{font-family:var(--font-inter);color:#ffffff47;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.proj-card__divider{background:#ffffff0f;flex-shrink:0;height:1px}.proj-card__desc{font-family:var(--font-inter);color:#ffffff6b;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.proj-card__tags{flex-wrap:wrap;gap:6px;display:flex}.proj-card__tag{font-family:var(--font-geist);letter-spacing:.02em;color:#ffffffa6;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:5px;padding:3px 9px 3px 7px;font-size:11px;font-weight:600;display:inline-flex}.proj-card__tag:before{content:"";background:var(--tag-color,#6b7280);border-radius:50%;flex-shrink:0;width:6px;height:6px}.proj-card__footer{border-top:1px solid #ffffff0f;align-items:center;gap:16px;margin-top:auto;padding-top:8px;display:flex}.proj-card__stat{font-family:var(--font-geist);color:#ffffff59;align-items:center;gap:5px;font-size:12px;display:inline-flex}.proj-card__lang-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.proj-card--skeleton{pointer-events:none}.skel-line{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.proj-dots{justify-content:center;align-items:center;gap:8px;margin-top:28px;display:flex}.proj-dot{cursor:pointer;background:#fff3;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .2s,transform .2s}.proj-dot--active{background:#fff;transform:scale(1.4)}.timeline-line{background:linear-gradient(#0000,#ffffff4d,#0000)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:1s ease-out forwards fadeIn}.animate-bounce{animation:1s infinite bounce}.intro-name-container{font-family:var(--font-geist);letter-spacing:-.04em;text-transform:uppercase;color:#fff;width:100%;font-size:clamp(2rem,8vw,8rem);font-weight:800;line-height:1}.intro-welcome-container{font-family:var(--font-geist);letter-spacing:.1em;text-transform:uppercase;color:#fffc;font-size:clamp(1.2rem,4vw,4rem);font-weight:600;line-height:1}.placeholder\:text-white\/20::placeholder{color:#fff3}.last\:mb-0:last-child{margin-bottom:0}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-\[0_0_30px_rgba\(255\,255\,255\,0\.1\)\]:hover{--tw-shadow:0 0 30px #ffffff1a;--tw-shadow-colored:0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:border-white:focus{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-1{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-\[-2px\]{--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white\/60{color:#fff9}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:grayscale-0{--tw-grayscale:grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (width>=640px){.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:justify-center{justify-content:center}.sm\:overflow-visible{overflow:visible}.sm\:pl-0{padding-left:0}}@media (width>=768px){.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-8{grid-column:span 8/span 8}.md\:h-32{height:8rem}.md\:w-32{width:8rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-gutter{gap:var(--gutter)}.md\:p-10{padding:2.5rem}.md\:p-16{padding:4rem}.md\:text-center{text-align:center}.md\:text-\[48px\]{font-size:48px}}@media (width>=1024px){.lg\:w-1\/2{width:50%}.lg\:flex-row{flex-direction:row}}.ferrofluid-container{width:100%;height:100%;position:relative;overflow:hidden}:root{--linear-ease:linear(0, .068, .19 2.7%, .804 8.1%, 1.037, 1.199 13.2%, 1.245, 1.27 15.8%, 1.274, 1.272 17.4%, 1.249 19.1%, .996 28%, .949, .928 33.3%, .926, .933 36.8%, 1.001 45.6%, 1.013, 1.019 50.8%, 1.018 54.4%, 1 63.1%, .995 68%, 1.001 85%, 1)}.gooey-nav-container{position:relative}.gooey-nav-container nav{display:flex;position:relative;transform:translateZ(.01px)}.gooey-nav-container nav ul{z-index:3;color:#fff;flex-wrap:nowrap;gap:.1em;margin:0;padding:0 .2em;list-style:none;display:flex;position:relative}.gooey-nav-container nav ul li{cursor:pointer;color:#fff;white-space:nowrap;border-radius:100vw;font-weight:700;transition:background-color .3s,color .3s,box-shadow .3s;position:relative;box-shadow:0 0 .5px 1.5px #fff}.gooey-nav-container nav ul li a{padding:.4em .5em;font-size:.65rem;display:inline-block}.gooey-nav-container nav ul li:focus-within:has(:focus-visible){box-shadow:0 0 .5px 1.5px #fff}.gooey-nav-container nav ul li:after{content:"";opacity:0;z-index:-1;background:#fff;border-radius:10px;transition:all .3s;position:absolute;inset:0;transform:scale(0)}.gooey-nav-container nav ul li.active{color:#000;text-shadow:none;font-weight:700}.gooey-nav-container nav ul li.active:after{opacity:1;transform:scale(1)}.gooey-nav-container .effect{opacity:1;pointer-events:none;z-index:1;place-items:center;width:0;height:0;display:grid;position:absolute;top:0;left:0}.gooey-nav-container .effect.text{color:#fff;font-size:.75rem;font-weight:700;transition:color .3s}.gooey-nav-container .effect.text.active{color:#000}.gooey-nav-container .effect.filter{filter:blur(7px)contrast(100)blur();mix-blend-mode:lighten;opacity:.25}.gooey-nav-container .effect.filter:before{content:"";z-index:-2;background:#000;position:absolute;inset:-20px}.gooey-nav-container .effect.filter:after{content:"";opacity:0;z-index:-1;background:#fff;border-radius:100vw;position:absolute;inset:0;transform:scale(0)}.gooey-nav-container .effect.active:after{animation:.3s both pill}@keyframes pill{to{opacity:1;transform:scale(1)}}.particle,.point{opacity:0;transform-origin:50%;border-radius:100%;width:20px;height:20px;display:block}.particle{--time:5s;animation:particle calc(var(--time)) ease 1 -350ms;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px)}.point{background:var(--color);opacity:1;animation:point calc(var(--time)) ease 1 -350ms}@keyframes particle{0%{transform:rotate(0deg) translate(calc(var(--start-x)), calc(var(--start-y)));opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}70%{transform:rotate(calc(var(--rotate) * .5)) translate(calc(var(--end-x) * 1.2), calc(var(--end-y) * 1.2));opacity:1;animation-timing-function:ease}85%{transform:rotate(calc(var(--rotate) * .66)) translate(calc(var(--end-x)), calc(var(--end-y)));opacity:1}to{transform:rotate(calc(var(--rotate) * 1.2)) translate(calc(var(--end-x) * .5), calc(var(--end-y) * .5));opacity:1}}@keyframes point{0%{opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45);transform:scale(0)}25%{transform:scale(calc(var(--scale) * .25))}38%{opacity:1}65%{transform:scale(var(--scale));opacity:1;animation-timing-function:ease}85%{transform:scale(var(--scale));opacity:1}to{opacity:0;transform:scale(0)}}@media (width<=768px){.gooey-nav-container .effect.text,.gooey-nav-container .effect.filter{display:none}}@media (width>=769px){.gooey-nav-container nav ul{gap:2em;padding:0 1em}.gooey-nav-container nav ul li a{padding:.6em 1em;font-size:1rem}.gooey-nav-container .effect.text{font-size:1rem}}.skills-marquee-wrapper{-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.skills-marquee-container{gap:2rem;width:max-content;display:flex}.skills-marquee-content{align-items:center;gap:2rem;display:flex}.animate-scroll-left{animation:40s linear infinite scrollLeft}.animate-scroll-right{animation:40s linear infinite scrollRight}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scrollRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.skills-marquee-container:hover .animate-scroll-left,.skills-marquee-container:hover .animate-scroll-right{animation-play-state:paused}.glare-hover{width:var(--gh-width);height:var(--gh-height);background:var(--gh-bg);border-radius:var(--gh-br);border:1px solid var(--gh-border);place-items:center;display:grid;position:relative;overflow:hidden}.glare-hover:before{content:"";background:linear-gradient(var(--gh-angle), #0000 60%, var(--gh-rgba) 70%, #0000, #0000 100%);transition:var(--gh-duration) ease;background-size:var(--gh-size) var(--gh-size), 100% 100%;background-position:-100% -100%,0 0;background-repeat:no-repeat;position:absolute;inset:0}.glare-hover:hover{cursor:pointer}.glare-hover:hover:before{background-position:100% 100%,0 0}.glare-hover--play-once:before{transition:none}.glare-hover--play-once:hover:before{transition:var(--gh-duration) ease;background-position:100% 100%,0 0}@keyframes borderSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.contact-form-wrapper{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:#0f0f0f99;border-radius:1rem;position:relative}.animated-border-overlay{-webkit-mask-composite:xor;pointer-events:none;z-index:20;border-radius:1rem;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.animated-border-overlay:before{content:"";transform-origin:50%;background:conic-gradient(#0000 75%,#fff 100%);width:200%;height:200%;animation:4s linear infinite borderSpin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-form-wrapper .glare-hover{width:100%!important;height:100%!important}
