*,:after,:before{--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:rgba(59,130,246,.5);--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: }::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:rgba(59,130,246,.5);--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: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-40{bottom:-10rem}.-left-40{left:-10rem}.-right-40{right:-10rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.left-0{left:0}.left-\[7px\]{left:7px}.top-0{top:0}.top-1{top:.25rem}.z-10{z-index:10}.z-50{z-index:50}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-80{height:20rem}.min-h-\[44px\]{min-height:44px}.w-4{width:1rem}.w-6{width:1.5rem}.w-80{width:20rem}.w-\[2px\]{width:2px}.min-w-\[44px\]{min-width:44px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-screen-2xl{max-width:1536px}.flex-1{flex:1 1 0%}.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))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.border-4{border-width:4px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-28{padding-bottom:7rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.font-sans{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.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)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}@media (min-width:1024px){body{cursor:none}.custom-cursor{position:fixed;width:8px;height:8px;background:rgba(59,130,246,.9);border-radius:50%;pointer-events:none;z-index:9999;transition:width .2s ease-out,height .2s ease-out;transform:translate(-50%,-50%)}.custom-cursor-dot{display:none}.custom-cursor.hover{width:32px;height:32px;background:rgba(59,130,246,.15);border:2px solid rgba(59,130,246,.5)}}.scroll-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,rgba(59,130,246,.8),rgba(147,51,234,.8));z-index:9998;transition:width .1s ease-out;box-shadow:0 2px 10px rgba(59,130,246,.3)}.text-reveal{overflow:hidden}.text-reveal span{display:inline-block;transform:translateY(100%);transition:transform .6s cubic-bezier(.4,0,.2,1)}.text-reveal.visible span{transform:translateY(0)}.magnetic{transition:transform .3s cubic-bezier(.23,1,.32,1)}@media (min-width:1024px){.parallax-slow{transition:transform .5s ease-out}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-load{animation:fadeInUp .6s ease-out}.typing-cursor{display:inline-block;margin-left:2px;animation:blink 1s infinite;color:rgba(59,130,246,.8);font-weight:300;vertical-align:baseline}@media (max-width:640px){.typing-cursor{font-size:1.25rem}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.link-apple{position:relative;display:inline-flex;align-items:center;gap:.375rem}.link-apple:after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:4px;background:linear-gradient(90deg,#3b82f6,#9333ea);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1);z-index:1;box-shadow:0 2px 8px rgba(59,130,246,.3)}.link-apple:hover:after{width:100%}.link-apple span{transition:transform .3s ease}.link-apple:hover span{transform:translateY(2px)}.nav-link-apple{font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.dark .nav-link-apple{color:#e0e0e0}.nav-link-apple:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.nav-link-apple{min-height:44px;display:inline-flex;align-items:center}.nav-link-mobile-apple{display:block;border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;line-height:1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.dark .nav-link-mobile-apple{color:#e0e0e0}.nav-link-mobile-apple:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.nav-link-mobile-apple{min-height:44px;display:flex;align-items:center}.link-apple{display:inline-flex;align-items:center;font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.dark .link-apple{color:#e0e0e0}.link-apple:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.link-apple,.link-apple:hover{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}html{scroll-behavior:smooth}.reveal{opacity:0;transform:translateY(30px) scale(.95);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0) scale(1)}.info-card-elegant,.skill-card-elegant{transition-delay:0ms}.info-card-elegant.reveal.visible,.skill-card-elegant.reveal.visible{animation:cardReveal .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes cardReveal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#d1d1d1;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #007aff;outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}@media (max-width:767px){header{position:sticky!important;top:0!important;z-index:9999!important;background-color:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.1)}}@media (max-width:640px){body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{overflow-x:hidden}section{padding-top:3rem;padding-bottom:3rem}.contact-card-elegant:hover,.info-card-elegant:hover,.skill-card-elegant:hover{transform:translateY(-2px) scale(1)}.skill-card-elegant h3{font-size:1.5rem;margin-bottom:1.25rem}.skill-card-elegant ul{font-size:.9375rem}.info-card-elegant p.text-2xl{font-size:1.5rem}.link-apple:after{height:3px;bottom:-4px}#typewriter-text{font-size:1.125rem;line-height:1.6}}@media (max-width:896px) and (orientation:landscape){section{padding-top:4rem;padding-bottom:4rem}}@media (max-width:374px){h1{font-size:2.5rem;line-height:1.1}.link-apple{font-size:1rem}section{padding-top:2.5rem;padding-bottom:2.5rem}}@media (min-width:641px) and (max-width:1023px){.info-card-elegant,.skill-card-elegant{padding:2rem 2.5rem}}#typewriter-text{display:inline}img{transition:opacity .3s ease}img[src=""]{opacity:0}#mobile-menu{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}section{scroll-margin-top:4rem;position:relative;transition:background-color .8s ease}section#home{background:linear-gradient(180deg,#f9fafb 0,#f9fafb 40%,#fff)}section#about{background:linear-gradient(180deg,#fff 0,#fff 80%,#f9fafb)}section#skills{background:linear-gradient(180deg,#f9fafb 0,#f9fafb 80%,#fff)}section#projects{background:linear-gradient(180deg,#fff 0,#fff 80%,#f9fafb)}section#contact{background:linear-gradient(180deg,#f9fafb 0,#f9fafb)}a,button{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.profile-container{position:relative;display:inline-block}.profile-image{width:140px;height:140px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 20px 60px rgba(0,0,0,.15),0 8px 25px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.profile-image:hover{transform:scale(1.05);box-shadow:0 25px 70px rgba(0,0,0,.2),0 10px 30px rgba(0,0,0,.15)}.profile-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(59,130,246,.2);animation:pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@media (max-width:640px){.profile-image{width:120px;height:120px}}.info-card-elegant{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#f9fafb var(--tw-gradient-to-position);padding:1.75rem 2rem;border-radius:1.75rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.9);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}@media (min-width:640px){.info-card-elegant{padding:2.5rem 3rem;border-radius:2.5rem}}.info-card-elegant:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,rgba(59,130,246,.4),rgba(147,51,234,.4) 50%,rgba(59,130,246,.4));opacity:0;transition:opacity .5s ease}.info-card-elegant:hover:before{opacity:1}.info-card-elegant:hover{box-shadow:0 8px 24px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 #fff;transform:translateY(-4px) scale(1.01);border-color:rgba(59,130,246,.2)}@media (min-width:640px){.info-card-elegant:hover{transform:translateY(-6px) scale(1.01)}}.skill-card-elegant{background-color:#fff!important;padding:2rem 2.25rem;border-radius:1.75rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.9);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}@media (min-width:640px){.skill-card-elegant{padding:2.5rem 2.75rem;border-radius:2rem}}@media (min-width:1024px){.skill-card-elegant{padding:3rem 3.25rem;border-radius:2.5rem}}.skill-card-elegant:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(59,130,246,.6),rgba(147,51,234,.6));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.4,0,.2,1)}.skill-card-elegant:hover:after{transform:scaleX(1)}.skill-card-elegant:hover{box-shadow:0 20px 60px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.08),inset 0 1px 0 #fff;transform:translateY(-4px);border-color:rgba(59,130,246,.25)}@media (min-width:640px){.skill-card-elegant:hover{transform:translateY(-6px)}}@media (min-width:1024px){.skill-card-elegant:hover{transform:translateY(-8px)}}.skill-card-elegant ul{position:relative}.skill-card-elegant ul li{position:relative;padding-left:1.5rem;transition:all .3s ease}.skill-card-elegant ul li:before{content:"▹";position:absolute;left:0;color:rgba(59,130,246,.5);font-size:.875rem;transition:all .3s ease}.skill-card-elegant:hover ul li:before{color:rgba(59,130,246,.8);transform:translateX(2px)}.skill-card-elegant:hover ul li{padding-left:1.75rem}.project-image-elegant{display:flex;height:16rem;align-items:center;justify-content:center;border-radius:1rem;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}@media (min-width:768px){.project-image-elegant{height:20rem}}.project-image-elegant{box-shadow:0 4px 20px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.project-image-elegant:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(147,51,234,.1));opacity:0;transition:opacity .4s ease}.project-image-elegant:hover:before{opacity:1}.project-image-elegant:hover{box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 16px rgba(0,0,0,.1);transform:translateY(-4px) scale(1.02)}.project-image-elegant span{position:relative;z-index:1;transition:transform .3s ease}.project-image-elegant:hover span{transform:scale(1.1)}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.project-apple{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));padding-bottom:3rem}.project-apple:last-child{border-bottom-width:0}@media (min-width:768px){.project-apple{padding-bottom:4rem}}.project-apple{transition:all .3s ease}.project-apple:hover{border-color:rgba(59,130,246,.2)}.bg-gray-50{background-color:#f9fafb}.contact-card-elegant{background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(249,250,251,.98));padding:2.5rem;border-radius:2rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px rgba(0,0,0,.06),0 2px 12px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.9);transition:all .5s cubic-bezier(.4,0,.2,1);margin:0 auto;max-width:100%;position:relative;overflow:hidden}@media (min-width:640px){.contact-card-elegant{padding:3rem 3.5rem;border-radius:2.5rem}}@media (min-width:768px){.contact-card-elegant{padding:4rem 4.5rem;border-radius:3rem}}@media (min-width:1024px){.contact-card-elegant{padding:5rem 6rem;border-radius:3.5rem}}.contact-card-elegant:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,rgba(59,130,246,.5),rgba(147,51,234,.5) 50%,rgba(59,130,246,.5));opacity:0;transition:opacity .5s ease}.contact-card-elegant:hover:before{opacity:1}.contact-card-elegant:hover{box-shadow:0 24px 80px rgba(0,0,0,.12),0 8px 32px rgba(0,0,0,.08),inset 0 1px 0 #fff;transform:translateY(-4px) scale(1.01);border-color:rgba(59,130,246,.25)}@media (min-width:768px){.contact-card-elegant:hover{transform:translateY(-6px) scale(1.01)}}@media (min-width:1024px){.contact-card-elegant:hover{transform:translateY(-8px) scale(1.01)}}@media (min-width:768px){.info-card-elegant,.skill-card-elegant{backdrop-filter:blur(10px)}}.contact-link{position:relative;display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact-link:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%) scaleX(0);width:100%;height:2px;background:linear-gradient(90deg,rgba(59,130,246,.8),rgba(147,51,234,.8));transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:1px}.contact-link:hover:after{transform:translateX(-50%) scaleX(1)}.contact-link:hover{transform:translateY(-2px)}.linkedin-link-group{position:relative;padding:.5rem 1rem;border-radius:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.linkedin-link-group:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(147,51,234,.05));border-radius:.5rem;opacity:0;transition:opacity .3s ease;z-index:-1}.linkedin-link-group:hover:before{opacity:1}.linkedin-icon{transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.linkedin-link-group:hover .linkedin-icon{transform:scale(1.15) rotate(5deg)!important;filter:drop-shadow(0 4px 8px rgba(59,130,246,.3))}.linkedin-link-group:active{transform:scale(.98)}#theme-toggle{border-radius:.5rem;padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(0,0,0,.1);color:#374151;cursor:pointer}#theme-toggle:hover{background-color:#f3f4f6}#theme-toggle svg{width:20px;height:20px;transition:transform .3s ease}#theme-toggle:hover svg{transform:rotate(15deg)}body.dark{background-color:#121212!important;color:#e0e0e0!important}body.dark.bg-white{background:linear-gradient(135deg,#121212,#0f0f0f 25%,#121212 50%,#1a1a1a 75%,#121212)!important;background-attachment:fixed!important;min-height:100vh!important}header.bg-white.dark,header.dark{background:hsla(0,0%,7%,.95)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:#444!important}@media (min-width:768px){header.bg-white\/80.dark{background:hsla(0,0%,7%,.85)!important}}.dark .nav-link-apple{color:#e0e0e0}.dark .nav-link-apple:hover{color:#b0b0b0}.dark .nav-link-mobile-apple{color:#e0e0e0}.dark .nav-link-mobile-apple:hover{background-color:#444;color:#e0e0e0}.dark #mobile-menu-button{color:#e0e0e0}.dark #mobile-menu-button:hover{color:#b0b0b0}.dark section{background-color:transparent}.dark section#home{background:linear-gradient(135deg,#1a1a1a,#121212 40%,#121212)}.dark section#about{background:linear-gradient(135deg,#121212,#1a1a1a 80%,#121212)}.dark section#skills{background:linear-gradient(135deg,#1a1a1a,#121212 80%,#121212)}.dark section#projects{background:linear-gradient(135deg,#121212,#1a1a1a 80%,#121212)}.dark section#contact{background:linear-gradient(135deg,#1a1a1a,#121212)}.dark .text-gray-900{color:#e0e0e0}.dark .text-gray-600{color:#b0b0b0}.dark .text-gray-700{color:#e0e0e0}.dark .text-blue-600,.dark .text-gray-400,.dark .text-gray-500{color:#888}.dark .text-blue-700{color:#b0b0b0}.dark .bg-blue-100{background-color:rgba(68,68,68,.2)}.dark .bg-purple-100{background-color:hsla(0,0%,53%,.2)}.dark .info-card-elegant,.dark .skill-card-elegant{background-color:#1a1a1a!important;background-image:none!important;border-color:#444!important;--tw-gradient-from:#1a1a1a!important;--tw-gradient-to:#1a1a1a!important;box-shadow:0 1px 3px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.05)!important}.dark .info-card-elegant:hover,.dark .skill-card-elegant:hover{border-color:#888!important;box-shadow:0 20px 60px rgba(0,0,0,.6),0 8px 24px rgba(0,0,0,.5)}.dark .contact-card-elegant{background:linear-gradient(135deg,rgba(26,26,26,.95),hsla(0,0%,7%,.98))!important;border-color:#444!important}.dark .contact-card-elegant:hover{border-color:#888!important}.dark .project-apple{border-color:#444!important}.dark .project-apple:hover{border-color:#888!important}.dark .link-apple{color:#e0e0e0}.dark .link-apple:hover{color:#b0b0b0}.dark .link-apple:after{background:linear-gradient(90deg,#888,#b0b0b0)}.dark .contact-link{color:#e0e0e0}.dark .contact-link:hover{color:#888}.dark .contact-link:after,.dark .scroll-progress{background:linear-gradient(90deg,hsla(0,0%,53%,.8),hsla(0,0%,69%,.8))}.dark footer{background:hsla(0,0%,7%,.9)!important}.dark #mobile-menu,.dark footer{border-top-color:#444!important}.dark #theme-toggle{background:transparent;border-color:#444!important;color:#e0e0e0}.dark #theme-toggle:hover{background-color:#444;color:#e0e0e0}@media (min-width:1024px){.dark .custom-cursor{background:hsla(0,0%,53%,.9)}.dark .custom-cursor.hover{background:hsla(0,0%,53%,.15);border-color:hsla(0,0%,53%,.5)}}.dark .profile-ring{border-color:hsla(0,0%,53%,.3)}.dark ::-webkit-scrollbar-track{background:#1a1a1a}.dark ::-webkit-scrollbar-thumb{background:#444}.dark ::-webkit-scrollbar-thumb:hover{background:#888}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body.preload *{transition:none!important}.timeline-container{padding-left:0}.timeline-line{background:linear-gradient(180deg,rgba(59,130,246,.4) 0,rgba(147,51,234,.2));transition:all .3s ease}.timeline-item{opacity:0;transform:translateX(-20px);animation:slideInTimeline .6s ease forwards}@keyframes slideInTimeline{to{opacity:1;transform:translateX(0)}}.timeline-item:first-child{animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.2s}.timeline-item:nth-child(3){animation-delay:.3s}.timeline-item:nth-child(4){animation-delay:.4s}.timeline-item:nth-child(5){animation-delay:.5s}.timeline-item:nth-child(6){animation-delay:.6s}.timeline-item:nth-child(7){animation-delay:.7s}.timeline-dot{transition:all .3s ease;z-index:1}.timeline-item:hover .timeline-dot{transform:scale(1.2);box-shadow:0 0 0 4px rgba(59,130,246,.1)}.timeline-content{transition:all .3s ease}.timeline-item:hover .timeline-content{transform:translateX(4px)}.timeline-content time{transition:color .3s ease}.timeline-item:hover .timeline-content time{color:rgba(59,130,246,.9)!important}.timeline-item.timeline-active{opacity:1}.timeline-item.timeline-active .timeline-content{transform:translateX(6px)}.timeline-dot-active{transform:scale(1.4)!important;box-shadow:0 0 0 6px rgba(59,130,246,.15)!important;background-color:#3b82f6!important}.timeline-item.timeline-active .timeline-content h4{color:#3b82f6;transition:color .3s ease}.timeline-item.timeline-active .timeline-content time{color:#3b82f6!important;font-weight:600}.timeline-item:not(.timeline-active){opacity:.5;transition:opacity .3s ease}@media (max-width:1023px){.timeline-container{margin-top:2rem}}@media (max-width:640px){.timeline-item{padding-left:1.5rem}.timeline-dot{width:12px;height:12px;left:-1px}.timeline-line{left:5px}}.dark .timeline-line{background:linear-gradient(180deg,hsla(0,0%,53%,.4) 0,hsla(0,0%,69%,.2))}.dark .timeline-dot{border-color:#1a1a1a!important}.dark .timeline-item:hover .timeline-dot{box-shadow:0 0 0 4px hsla(0,0%,53%,.1)}.dark .timeline-content time{color:#888!important}.dark .timeline-item:hover .timeline-content time{color:#b0b0b0!important}.dark .timeline-dot-active{box-shadow:0 0 0 6px hsla(0,0%,53%,.2)!important;background-color:#888!important}.dark .timeline-item.timeline-active .timeline-content h4{color:#b0b0b0}.dark .timeline-item.timeline-active .timeline-content time{color:#b0b0b0!important}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-lg:focus{border-radius:.5rem}.focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:font-semibold:focus{font-weight:600}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:translate-x-1{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-110{--tw-scale-x:1.1;--tw-scale-y:1.1}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:768px){.md\:order-1{order:1}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-12{gap:3rem}.md\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.md\:bg-white\/80{background-color:hsla(0,0%,100%,.8)}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:pb-40{padding-bottom:10rem}.md\:pt-32{padding-top:8rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}}@supports (backdrop-filter:var(--tw )){@media (min-width:768px){.supports-\[backdrop-filter\]\:md\:bg-white\/80{background-color:hsla(0,0%,100%,.8)}}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-24{top:6rem}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mb-6{margin-bottom:1.5rem}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-16{gap:4rem}.lg\:gap-8{gap:2rem}.lg\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem*var(--tw-space-y-reverse))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-left{text-align:left}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}}