@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/42b07301cbfb88de-s.d68c2a3c.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/674d141a92451548-s.6d749737.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8c4ded07fff55c-s.p.5c4452a7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:VT323 Fallback;src:local(Arial);ascent-override:89.16%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:89.73%}.vt323_93bceefc-module__UdgyFq__className{font-family:VT323,VT323 Fallback;font-style:normal;font-weight:400}.vt323_93bceefc-module__UdgyFq__variable{--font-vt323:"VT323","VT323 Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter","Inter Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}html.theme-dark{--nokia-screen:#92c47c;--nokia-screen-dark:#5a7a4d;--nokia-text:#000;--bg-dark:#0a0a0a;--grid-color:#92c47c2e;--scan-line-color:#92c47c1a;--grid-line-width:2px}html.theme-wood{--nokia-screen:#5d4037;--nokia-screen-dark:#3e2723;--nokia-text:#000;--bg-dark:#efebe9;--grid-color:#5d403738;--scan-line-color:#5d403724;--grid-line-width:2px}html.theme-orange{--nokia-screen:#ff9800;--nokia-screen-dark:#f57c00;--nokia-text:#000;--bg-dark:#1a1a1a;--grid-color:#ff98001f;--scan-line-color:#ff98000f;--grid-line-width:1px}html.theme-christmas{--nokia-screen:#c41e3a;--nokia-screen-dark:#8b1538;--nokia-text:#000;--bg-dark:#f5eceb;--grid-color:#c41e3a38;--scan-line-color:#c41e3a24;--grid-line-width:2px}:root{--nokia-screen:#ff9800;--nokia-screen-dark:#f57c00;--nokia-text:#000;--bg-dark:#1a1a1a;--grid-color:#ff98001f;--scan-line-color:#ff98000f;--grid-line-width:1px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;max-width:100vw;overflow-x:hidden}body{background:var(--bg-dark);color:var(--nokia-screen);width:100%;max-width:100vw;min-height:100vh;font-family:VT323,monospace;position:relative;overflow:hidden auto;cursor:none!important}@media (hover:hover) and (pointer:fine){*,:before,:after{cursor:none!important}}.cursor{pointer-events:none;z-index:10000;mix-blend-mode:difference;will-change:transform;width:24px;height:24px;position:fixed}@media (hover:none) and (pointer:coarse){.cursor,.cursor-dot{display:none!important}html,body,a,button,[role=button],input,textarea,select,.social-link,.project-card,.project-image-container,.info-btn,.close-btn,.theme-btn,.certification-link,.project-link-btn,.contact-link,.social-link:hover,.info-btn:hover,.close-btn:hover,.theme-btn:hover,a:hover,.certification-link:hover,.project-link-btn:hover,.project-card:hover,.project-image-container:hover{cursor:auto!important}a,button,[role=button],.social-link,.info-btn,.close-btn,.theme-btn,.project-link-btn,.contact-link{cursor:pointer!important}}@keyframes popGrow{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.cursor-default{width:100%;height:100%;filter:brightness(0)saturate(100%)invert(76%)sepia(15%)saturate(1200%)hue-rotate(75deg)brightness(115%)contrast(90%)drop-shadow(0 0 3px var(--nokia-screen));background-image:url(/images/aim.svg);background-position:50%;background-repeat:no-repeat;background-size:contain}.cursor-dot-wrapper{pointer-events:none;z-index:10001;will-change:transform;position:fixed}.cursor-dot{background:red;border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse;box-shadow:0 0 8px #f00c}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.social-link:hover,.info-btn:hover,.close-btn:hover,.theme-btn:hover,a:hover,.certification-link:hover,.project-link-btn:hover,.project-card:hover,.project-image-container:hover{cursor:none!important}.cursor-click{border:2px solid var(--nokia-screen);pointer-events:none;z-index:10002;border-radius:50%;width:4px;height:4px;animation:.6s ease-out forwards clickEffect;position:fixed}@keyframes clickEffect{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(20)}}.container{text-align:center;z-index:2;padding:2rem;position:relative}.profile-container{border:4px solid var(--nokia-screen);width:400px;height:400px;box-shadow:0 0 0 3px var(--nokia-screen-dark),0 0 20px #92c47c4d,inset 0 0 20px #0000004d;border-radius:50%;margin-bottom:2rem;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.landing-section{position:relative}.stagger-parent{display:inline-block}.stagger-item{display:block}.portfolio-section .about-intro{transition:transform .52s cubic-bezier(.2,.9,.3,1);transform:translateY(10px)}.portfolio-section.in-view .about-intro{transform:translateY(0)}.stagger-inner{will-change:transform,opacity;opacity:0;animation:.9s cubic-bezier(.16,.9,.3,1) both popGrow;animation-delay:var(--delay,0s);display:inline-block;transform:scale(.96)}.staggered-btn{will-change:transform,opacity;opacity:0;animation:.9s cubic-bezier(.16,.9,.3,1) both popGrow;animation-delay:var(--delay,0s);transform:scale(.92)}.profile-container:hover{box-shadow:0 0 0 4px var(--nokia-screen),0 0 30px var(--nokia-screen),0 0 50px var(--nokia-screen),inset 0 0 20px #0000004d;transform:scale(1.05)}.profile-pic{object-fit:cover;width:100%;height:100%;position:relative;transform:scale(1.1)}.profile-container:before{content:"";background:linear-gradient(45deg,var(--nokia-screen)0%,transparent 50%,var(--nokia-screen)100%);opacity:.5;z-index:-1;border-radius:50%;position:absolute;inset:-8px;animation:none!important;transform:rotate(0)!important}.profile-container:after{content:"";background:linear-gradient(-45deg,transparent 0%,var(--nokia-screen)50%,transparent 100%);opacity:.3;z-index:-1;border-radius:50%;position:absolute;inset:-12px;animation:none!important;transform:rotate(0)!important}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo{color:var(--nokia-screen);text-align:center;letter-spacing:-1px;text-shadow:2px 2px 0 var(--nokia-screen-dark);margin-bottom:.5rem;font-family:VT323,monospace;font-size:clamp(3.125rem,10vw,5rem);font-weight:400;line-height:1.2;animation:8s infinite glitch}.subtitle{color:var(--nokia-screen);text-align:center;opacity:.8;margin-bottom:2rem;font-family:VT323,monospace;font-size:1.75rem;font-weight:400}.social-links{justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.social-link{border:2px solid var(--nokia-screen);cursor:none;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:50px;height:50px;text-decoration:none;transition:all .3s;display:flex;position:relative}.social-link:hover{background:var(--nokia-screen);box-shadow:0 0 15px var(--nokia-screen);cursor:none;transform:scale(1.1)}.social-link:hover svg{color:var(--bg-dark);cursor:none;transform:scale(1.1)}.social-link svg{width:24px;height:24px;color:var(--nokia-screen);transition:all .3s}.info-btn{border:2px solid var(--nokia-screen);width:40px;height:40px;color:var(--nokia-screen);cursor:none;z-index:1001;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:VT323,monospace;font-size:1.2rem;text-decoration:none;transition:all .3s;display:flex;position:fixed;top:2rem;right:2rem}.info-btn.hidden{display:none}.info-btn:hover{background:var(--nokia-screen);color:var(--bg-dark)}.theme-btn-wrapper{z-index:1001;transition:all .3s;position:fixed;top:2rem;right:5rem}@media (max-width:900px){.theme-btn-wrapper{right:5.5rem}}@media (max-width:770px){.info-btn{top:1.5rem;right:1.5rem}.theme-btn-wrapper{top:1.5rem;right:5rem}}.theme-btn-wrapper.hidden{display:none}.theme-btn{border:3px solid var(--nokia-screen);width:44px;height:44px;color:var(--nokia-screen);cursor:none;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-family:VT323,monospace;font-size:1.2rem;text-decoration:none;transition:all .25s;animation:4s ease-in-out infinite themePulse;display:flex;position:relative}.theme-btn:before{content:"";border:2px solid var(--nokia-screen);opacity:0;border-radius:50%;animation:4s ease-in-out infinite themeGlow;position:absolute;inset:-4px}html.theme-dark .theme-btn{animation:4s ease-in-out infinite themePulseDark}html.theme-dark .theme-btn:before{animation:4s ease-in-out infinite themeGlowDark}html.theme-wood .theme-btn{animation:4s ease-in-out infinite themePulseWood}html.theme-wood .theme-btn:before{animation:4s ease-in-out infinite themeGlowWood}html.theme-orange .theme-btn{animation:4s ease-in-out infinite themePulseOrange}html.theme-orange .theme-btn:before{animation:4s ease-in-out infinite themeGlowOrange}html.theme-christmas .theme-btn{animation:4s ease-in-out infinite themePulseChristmas}html.theme-christmas .theme-btn:before{animation:4s ease-in-out infinite themeGlowChristmas}@keyframes themePulse{0%,to{box-shadow:0 0 0 0 var(--nokia-screen);transform:scale(1)}50%{box-shadow:0 0 15px 4px var(--nokia-screen),0 0 25px 6px var(--nokia-screen);transform:scale(1.02)}}@keyframes themeGlow{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}@keyframes themePulseDark{0%,to{transform:scale(1);box-shadow:0 0 #92c47c00}50%{transform:scale(1.02);box-shadow:0 0 20px 6px #92c47ca6,0 0 35px 10px #92c47c59}}@keyframes themeGlowDark{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}@keyframes themePulseWood{0%,to{transform:scale(1);box-shadow:0 0 #5d403700}50%{transform:scale(1.02);box-shadow:0 0 20px 6px #5d4037a6,0 0 35px 10px #5d403759}}@keyframes themeGlowWood{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}@keyframes themePulseOrange{0%,to{transform:scale(1);box-shadow:0 0 #ff980000}50%{transform:scale(1.02);box-shadow:0 0 15px 4px #ff980080,0 0 25px 6px #ff98004d}}@keyframes themeGlowOrange{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}@keyframes themePulseChristmas{0%,to{transform:scale(1);box-shadow:0 0 #c41e3a00}50%{transform:scale(1.02);box-shadow:0 0 20px 6px #c41e3aa6,0 0 35px 10px #c41e3a59}}@keyframes themeGlowChristmas{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}.theme-btn:hover{background:var(--nokia-screen);color:var(--bg-dark);animation:none;transform:scale(1.05)}.theme-btn:hover:before{opacity:0;animation:none}.info-panel{background:var(--nokia-screen);border:3px solid var(--nokia-screen-dark);color:var(--nokia-text);text-align:left;opacity:0;visibility:hidden;z-index:1000;border-radius:8px;width:90%;max-width:400px;padding:2rem;font-family:VT323,monospace;font-size:1.1rem;line-height:1.6;transition:all .3s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9);box-shadow:0 10px 30px #00000080}.info-panel.show{opacity:1;visibility:visible;transform:translate(-50%,-50%)scale(1)}.info-line{border-bottom:1px dotted var(--nokia-screen-dark);margin-bottom:.8rem;padding-bottom:.4rem}.info-line a{color:inherit;cursor:none;text-decoration:none}.info-line a:hover{color:inherit;text-decoration:none}.tag{color:#000;text-align:center;opacity:.6;letter-spacing:-.5px;font-family:VT323,monospace;font-size:1rem;font-weight:lighter}.close-btn{border:2px solid var(--nokia-text);width:30px;height:30px;color:var(--nokia-text);cursor:none;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem}.close-btn:hover{background:var(--nokia-text);color:var(--nokia-screen)}.overlay{opacity:0;visibility:hidden;z-index:999;background:#000c;width:100%;height:100%;transition:all .3s;position:fixed;top:0;left:0}.overlay.show{opacity:1;visibility:visible}@keyframes glitch{0%,to{text-shadow:2px 2px 0 var(--nokia-screen-dark);transform:translate(0)}97%{text-shadow:2px 2px 0 var(--nokia-screen-dark);transform:translate(0)}98%{text-shadow:4px 4px 0 var(--nokia-screen-dark);transform:translate(2px,-1px)}99%{text-shadow:-2px -2px 0 var(--nokia-screen-dark);transform:translate(-1px,1px)}}@keyframes navbarGlitch{0%,to{text-shadow:2px 2px #0000001a;transform:translate(0)}97%{text-shadow:2px 2px #0000001a;transform:translate(0)}98%{text-shadow:3px 3px #0000001a;transform:translate(1px,-1px)}99%{text-shadow:-1px -1px #0000001a;transform:translate(-1px,1px)}}@keyframes screenFlicker{0%,to{opacity:1}50%{opacity:.98}}.scan-lines.landing-only{background:linear-gradient(to bottom,transparent 50%,var(--scan-line-color)50%);pointer-events:none;z-index:1;background-size:100% 4px;width:100%;height:100vh;animation:3s infinite screenFlicker;position:fixed;top:0;left:0}.grid.landing-only{background-image:linear-gradient(var(--grid-color)var(--grid-line-width),transparent var(--grid-line-width)),linear-gradient(90deg,var(--grid-color)var(--grid-line-width),transparent var(--grid-line-width));pointer-events:none;z-index:0;background-size:50px 50px;width:100%;height:100vh;position:fixed;top:0;left:0}.landing-section .snowflakes-container{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.landing-section .custom-alert{z-index:100;max-width:400px;font-family:var(--font-inter),sans-serif;color:#1a1a1a;opacity:0;pointer-events:none;background:#faf7f794;border:1px solid #d0d0d0;border-radius:8px;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;transition:opacity .6s ease-out,transform .6s ease-out;display:flex;position:absolute;bottom:30px;right:30px;transform:translate(calc(100% + 60px));box-shadow:0 2px 8px #00000014}.landing-section .custom-alert.show{opacity:1;pointer-events:auto;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(0)}.landing-section .custom-alert:not(.show){transition:opacity .5s ease-in,transform .5s ease-in}.alert-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.5rem;line-height:1;display:flex}.alert-content{flex:1;min-width:0}.alert-title{color:#1a1a1a;letter-spacing:-.01em;margin-bottom:.25rem;font-size:.875rem;font-weight:600;line-height:1.3}.alert-message{color:#666;letter-spacing:-.01em;font-size:.875rem;line-height:1.4}.alert-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.alert-check,.alert-close{color:#666;cursor:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:4px;font-size:1rem;transition:background .3s,color .3s;display:flex}.alert-check:hover,.alert-close:hover{color:#1a1a1a;background:#0000000d}@media (max-width:768px){.landing-section .custom-alert{max-width:calc(100% - 3rem);padding:.875rem 1rem;bottom:1.5rem;left:1.5rem;right:1.5rem}.alert-icon{width:20px;height:20px;font-size:1.25rem}.alert-title,.alert-message{font-size:.8rem}}.snowflake{color:#fff;font-size:inherit;-webkit-user-select:none;user-select:none;text-shadow:0 0 5px #fffc;animation:linear infinite snowFall;position:absolute;top:-20px}@keyframes snowFall{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100vh)translate(20px)rotate(360deg)}}@media (max-width:768px){.cursor,.cursor-dot{display:none}body{cursor:auto}.profile-container:hover{box-shadow:0 0 0 3px var(--nokia-screen),0 0 20px #92c47c4d,inset 0 0 20px #0000004d;transform:scale(1)}.profile-container:active{box-shadow:0 0 0 4px var(--nokia-screen),0 0 30px var(--nokia-screen),0 0 50px var(--nokia-screen),inset 0 0 20px #0000004d;transform:scale(1.05)}.info-btn{width:46px;height:46px;font-size:1.3rem;top:1rem;right:1rem}.theme-btn-wrapper{top:1rem;right:4rem}.theme-btn{width:46px;height:46px;font-size:1.3rem}.social-links{gap:1rem}.social-link{width:45px;height:45px}.social-link svg{width:20px;height:20px}.info-panel{padding:1.5rem;font-size:1.15rem}.info-line{margin-bottom:.8rem;padding-bottom:.4rem;font-size:1.15rem}.tag{font-size:1.05rem}.close-btn{width:34px;height:34px;font-size:1.15rem}.logo{font-size:clamp(3.75rem,10vw,5.625rem)}.subtitle{font-size:1.5rem}.container{padding:1.5rem}}.navbar-blur-overlay{-webkit-backdrop-filter:blur(150px)saturate(200%);z-index:999;opacity:0;pointer-events:none;box-sizing:border-box;background:#ffffffd9;width:100vw;max-width:100vw;height:80px;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow:hidden;transform:translateY(-100%)}.navbar-blur-visible{opacity:1;transform:translateY(0)}.navbar{z-index:1000;opacity:0;box-sizing:border-box;background:#fffffffa;border-bottom:2px solid #e5e5e599;width:100%;max-width:100vw;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow-x:hidden;transform:translateY(-100%);box-shadow:0 8px 32px #0000001f}.navbar:before,.navbar:after{content:"";background:linear-gradient(to bottom,transparent,var(--nokia-screen),transparent);opacity:0;width:2px;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);position:absolute;top:0}.navbar:before{left:0;transform:translate(-100%)}.navbar:after{right:0;transform:translate(100%)}.navbar-visible{opacity:1;transform:translateY(0)}.navbar-visible:before,.navbar-visible:after{opacity:1;transform:translate(0)}.navbar-content{box-sizing:border-box;justify-content:center;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;position:relative}.navbar-content>*{opacity:0;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);transform:translateY(-20px)}.navbar-visible .navbar-content>*{opacity:1;transform:translateY(0)}.navbar-links{box-sizing:border-box;flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;width:100%;display:flex}.nav-link{font-family:var(--font-inter),sans-serif;letter-spacing:.05em;color:#666;cursor:none;text-transform:uppercase;background:0 0;border:none;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;position:relative}.nav-link:hover{color:#1a1a1a;text-shadow:0 0 20px var(--nokia-screen),0 0 30px var(--nokia-screen)}.landing-section{justify-content:center;align-items:center;min-height:100vh;padding:2rem;transition:all .5s;display:flex;position:relative;overflow:hidden}.scroll-indicator{color:var(--nokia-screen);cursor:default;pointer-events:none;z-index:10;opacity:0;background:0 0;padding:.5rem;animation-name:scrollPulse,scrollGlow;animation-duration:4s,4s;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite;animation-direction:normal,normal;animation-play-state:running,running;animation-delay:10s;animation-fill-mode:forwards;animation-timeline:auto,auto;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.scroll-indicator.hidden{display:none}.scroll-indicator svg{filter:drop-shadow(0 0 4px var(--nokia-screen));transition:filter .3s}@keyframes scrollPulse{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}@keyframes scrollGlow{0%,to{filter:drop-shadow(0 0 4px var(--nokia-screen));opacity:.7}50%{filter:drop-shadow(0 0 8px var(--nokia-screen));opacity:.9}}.landing-section:after{content:"";-webkit-backdrop-filter:blur(20px);pointer-events:none;z-index:999;background:linear-gradient(#ffffffe6,#fffffff2);height:0;transition:height .6s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;right:0}body.navbar-active .landing-section:after{height:80px}.portfolio-section{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem;transition:all .5s;display:flex;position:relative}.section-content{width:100%;max-width:1200px;margin:0 auto}.section-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;text-align:center;letter-spacing:-.02em;margin-bottom:4rem;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700}#about .section-title{text-shadow:2px 2px #0000001a;margin-bottom:1.5rem;font-family:VT323,monospace;font-size:clamp(2.5rem,6vw,3.5rem);position:relative}#about .section-title:after{content:"ABOUT ME";color:#0000001a;z-index:-1;position:absolute;top:2px;left:2px}#resume .section-title{text-shadow:2px 2px #0000001a;margin-bottom:0;font-family:VT323,monospace;font-size:clamp(2.5rem,6vw,3.5rem);position:relative}#resume .section-title:after{content:"RESUME";color:#0000001a;z-index:-1;position:absolute;top:2px;left:2px}#projects .section-title{text-shadow:2px 2px #0000001a;margin-bottom:4rem;font-family:VT323,monospace;font-size:clamp(2.5rem,6vw,3.5rem);position:relative}#projects .section-title:after{content:"PROJECTS";color:#0000001a;z-index:-1;position:absolute;top:2px;left:2px}#projects.portfolio-section{min-height:auto}@media (max-width:768px){#projects.portfolio-section{padding-top:4rem;padding-bottom:2rem}.projects-grid{gap:1.5rem;margin-top:1.25rem}}#contact .section-title{text-shadow:2px 2px #0000001a;margin-bottom:4rem;font-family:VT323,monospace;font-size:clamp(2.5rem,6vw,3.5rem);position:relative}#contact .section-title:after{content:"CONTACT";color:#0000001a;z-index:-1;position:absolute;top:2px;left:2px}.about-intro{font-family:var(--font-inter),sans-serif;color:#555;text-align:center;letter-spacing:-.01em;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;max-width:700px;margin:0 auto 3rem;padding:0 1rem;font-size:1rem;font-weight:400;line-height:1.7}.about-intro-word{white-space:normal;transition:opacity .4s cubic-bezier(.4,0,.2,1);display:inline}.about-intro-break{display:block}.about-intro-break-mobile{display:none}.about-content{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;display:grid}.about-section-card{z-index:1;background:#fff;border:1px solid #e8e8e8;border-radius:20px;width:100%;padding:1.75rem;transition:all .3s;position:relative}.about-section-card:hover{border-color:#d0d0d0;box-shadow:0 10px 40px #0000000f}.about-section-header{border-bottom:1px solid #f0f0f0;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.about-section-number{font-family:var(--font-inter),sans-serif;color:var(--nokia-screen);letter-spacing:-.03em;min-width:30px;font-size:1rem;font-weight:700}.about-section-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:600}.about-section-body{font-family:var(--font-inter),sans-serif}.about-section-text{color:#444;letter-spacing:-.01em;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.about-section-text:last-child{margin-bottom:0}.about-section-text strong{color:#1a1a1a;font-weight:600}.about-section-lines{margin-bottom:.75rem}.about-section-line{color:#444;letter-spacing:-.01em;margin-bottom:.5rem;font-size:.9rem;line-height:1.8}.about-section-line:last-child{margin-bottom:0}.about-section-line strong{color:#1a1a1a;font-weight:600}.availability-badge{background:#ffa5001a;border:1px solid #ffa5004d;border-radius:8px;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.5rem 1rem;font-size:.85rem;display:inline-flex}.availability-label{font-family:var(--font-inter),sans-serif;color:#666;font-weight:500}.availability-status{font-family:var(--font-inter),sans-serif;color:var(--nokia-screen);letter-spacing:.02em;font-weight:600}.university-orange{cursor:none;font-weight:600;text-decoration:none;transition:text-shadow .5s;color:var(--nokia-screen)!important}.university-orange:hover{cursor:none;text-shadow:0 0 1rem var(--nokia-screen)}.download-cv-link{border:1px solid var(--nokia-screen);font-family:var(--font-inter),sans-serif;color:var(--nokia-screen);cursor:none;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff2e1a6;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block;position:relative}.download-cv-link:hover{color:var(--nokia-screen);cursor:none;transform:scale(1.05)}html.theme-orange .download-cv-link{background:#fff2e1a6;box-shadow:0 0 15px #ff980033,0 0 30px #ff98001a}html.theme-orange .download-cv-link:hover{background:#fff2e1cc;box-shadow:0 0 20px #ff980066,0 0 40px #ff980033,0 10px 40px #0000001a}html.theme-dark .download-cv-link{background:#92c47c26;box-shadow:0 0 15px #92c47c33,0 0 30px #92c47c1a}html.theme-dark .download-cv-link:hover{background:#92c47c40;box-shadow:0 0 20px #92c47c66,0 0 40px #92c47c33,0 10px 40px #0000001a}html.theme-wood .download-cv-link{background:#5d403726;box-shadow:0 0 15px #5d403733,0 0 30px #5d40371a}html.theme-wood .download-cv-link:hover{background:#5d403740;box-shadow:0 0 20px #5d403766,0 0 40px #5d403733,0 10px 40px #0000001a}html.theme-christmas .download-cv-link{background:#c41e3a26;box-shadow:0 0 15px #c41e3a33,0 0 30px #c41e3a1a}html.theme-christmas .download-cv-link:hover{background:#c41e3a40;box-shadow:0 0 20px #c41e3a66,0 0 40px #c41e3a33,0 10px 40px #0000001a}.download-cv-link-small{padding:.5rem 1rem;font-size:.8rem}.download-cv-link-small:hover{transform:scale(1.03)}.download-cv-link-orange{border-color:var(--nokia-screen)!important;color:var(--nokia-screen)!important;background:#ffffffa6!important;box-shadow:0 0 15px,0 0 30px!important}.download-cv-link-orange:hover{color:var(--nokia-screen)!important;background:#fffc!important;box-shadow:0 0 20px,0 0 40px,0 10px 40px #0000001a!important}.services-paragraph{font-family:var(--font-inter),sans-serif;color:#444;letter-spacing:-.01em;margin:0;font-size:1rem;line-height:1.8}.services-paragraph strong{color:#1a1a1a;font-weight:600}.services-grid{flex-direction:column;gap:1rem;display:flex}.service-item{background:0 0;border:none;align-items:center;gap:1rem;min-height:4.1rem;padding:0;transition:none;display:flex}.service-item:hover{box-shadow:none;background:0 0;border:none;transform:none}.service-icon-wrapper{background:var(--nokia-screen);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:none;display:flex}.service-icon-wrapper svg{width:18px;height:18px}.service-item:hover .service-icon-wrapper{box-shadow:none;transform:none}.service-content{flex-direction:column;flex:1;justify-content:center;min-height:36px;display:flex}.service-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;letter-spacing:-.01em;margin:0 0 .25rem;font-size:.95rem;font-weight:600;line-height:1.3}.service-description{font-family:var(--font-inter),sans-serif;color:#666;letter-spacing:-.005em;min-height:2.55rem;margin:0;font-size:.85rem;line-height:1.5}.resume-header{z-index:10;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1rem;display:flex;position:relative}.experience-badge{font-family:var(--font-inter),sans-serif;color:#666;font-size:.95rem;font-weight:500}.resume-grid{z-index:10;grid-template-columns:2fr 1fr;gap:0;margin-top:2rem;display:grid;position:relative}.resume-left{z-index:10;flex-direction:column;gap:.5rem;padding-right:4rem;display:flex;position:relative}.resume-right{z-index:10;flex-direction:column;gap:.5rem;display:flex;position:relative}.resume-section-group{z-index:10;margin-bottom:3.5rem;position:relative}.resume-section-group:last-child{margin-bottom:0}.resume-group-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;text-decoration:underline;-webkit-text-decoration-color:var(--nokia-screen);-webkit-text-decoration-color:var(--nokia-screen);-webkit-text-decoration-color:var(--nokia-screen);text-decoration-color:var(--nokia-screen);text-underline-offset:.5rem;letter-spacing:-.02em;z-index:10;border-bottom:none;margin-bottom:1.5rem;padding-bottom:0;font-size:1.15rem;font-weight:600;text-decoration-thickness:2px;position:relative}.timeline{z-index:10;position:relative}.timeline-item{table-layout:fixed;z-index:10;width:100%;margin-bottom:0;padding-bottom:2rem;display:table;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-divider{z-index:5;background-color:#666;width:2px;position:absolute;top:0;bottom:0;left:18%}.timeline-divider:after{content:"";border:2px solid var(--nokia-screen);background-color:#fff;border-radius:50%;width:11px;height:11px;position:absolute;left:50%;transform:translate(-50%)}.timeline-left-part{text-align:right;vertical-align:top;z-index:10;width:18%;min-width:100px;min-height:100%;padding-left:0;padding-right:1.75rem;display:table-cell;position:relative}.timeline-right-part{vertical-align:top;z-index:10;width:85%;padding-left:1.75rem;padding-right:1rem;display:table-cell;position:relative}.timeline-year{font-family:var(--font-inter),sans-serif;color:#666;white-space:nowrap;z-index:10;margin:0;font-size:.85rem;font-weight:600;line-height:1.5;position:relative}.timeline-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;letter-spacing:-.01em;z-index:10;margin-bottom:.25rem;font-size:.95rem;font-weight:600;line-height:1.4;position:relative}.timeline-institution{font-family:var(--font-inter),sans-serif;color:#666;z-index:10;margin-bottom:.35rem;font-size:.85rem;font-weight:500;line-height:1.5;position:relative}.timeline-description{font-family:var(--font-inter),sans-serif;color:#666;letter-spacing:-.005em;z-index:10;margin-bottom:0;font-size:.8rem;line-height:1.6;position:relative}.experience-list{z-index:10;flex-direction:column;gap:2rem;display:flex;position:relative}.experience-entry{z-index:10;padding-bottom:2rem;position:relative}.experience-entry:not(:last-child):after{content:"";background:linear-gradient(90deg,#0000,#e0e0e0,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.experience-employer-row{z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem;display:flex;position:relative}.experience-employer{font-family:var(--font-inter),sans-serif;color:#1a1a1a;z-index:10;font-size:.95rem;font-weight:600;line-height:1.4;position:relative}.experience-address{color:#666;font-size:.8rem;font-weight:400}.experience-job-title{font-family:var(--font-inter),sans-serif;color:#666;letter-spacing:-.01em;z-index:10;margin-bottom:.75rem;font-size:.85rem;font-weight:500;position:relative}.experience-description{font-family:var(--font-inter),sans-serif;color:#555;letter-spacing:-.005em;z-index:10;margin-bottom:.75rem;font-size:.85rem;line-height:1.6;position:relative}.experience-achievement{font-family:var(--font-inter),sans-serif;color:var(--nokia-screen);border-left:3px solid var(--nokia-screen);z-index:1;background:#fffffff2;border-radius:4px;padding:.75rem 1rem;font-size:.85rem;line-height:1.6;position:relative}.experience-achievement strong{color:var(--nokia-screen);font-weight:600}.experience-duration{font-family:var(--font-inter),sans-serif;color:#000;letter-spacing:-.01em;font-size:.85rem;font-style:normal;font-weight:700}.achievement-badge{font-family:var(--font-inter),sans-serif;color:var(--nokia-screen);z-index:2;background:#fffffff2;border:1px solid #00000014;border-radius:6px;margin-top:.75rem;margin-bottom:.5rem;padding:.5rem .85rem;font-size:.8rem;font-weight:600;line-height:1.4;transition:box-shadow .3s;display:block;position:relative;box-shadow:0 2px 8px}.achievement-badge:hover{box-shadow:0 0 5px,0 0 15px}.achievement-badge:first-child{margin-top:.5rem}.achievement-badge-tooltip{position:relative}.achievement-badge-tooltip:after{content:attr(data-tooltip);color:#fff;font-family:var(--font-inter),sans-serif;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;background:#1a1a1a;border-radius:6px;margin-bottom:.5rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;transition:opacity .3s,transform .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-5px);box-shadow:0 4px 12px #00000026}.achievement-badge-tooltip:before{content:"";opacity:0;pointer-events:none;z-index:1001;border:5px solid #0000;border-top-color:#1a1a1a;margin-bottom:.25rem;transition:opacity .3s,transform .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-5px)}.achievement-badge-tooltip:hover:after,.achievement-badge-tooltip:hover:before{opacity:1;transition:opacity .3s 1.5s,transform .3s 1.5s;transform:translate(-50%)translateY(0)}.certifications-list{z-index:10;flex-direction:column;gap:1.5rem;display:flex;position:relative}.certification-item{z-index:10;margin-bottom:0;position:relative}.certification-header{z-index:10;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex;position:relative}.certification-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;letter-spacing:-.01em;z-index:10;align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:600;line-height:1.4;display:flex;position:relative}.certification-link{color:var(--nokia-screen);cursor:none;align-items:center;text-decoration:none;transition:color .3s,transform .2s;display:inline-flex}.certification-link:hover{color:red;transform:scale(1.1)}.certification-link svg{width:16px;height:16px}.certification-link-tooltip{z-index:100;position:relative}.certification-link-tooltip:after{content:attr(data-tooltip);color:#fff;font-family:var(--font-inter),sans-serif;white-space:nowrap;opacity:0;pointer-events:none;z-index:10000;background:#1a1a1a;border-radius:6px;margin-bottom:.5rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;transition:opacity .3s,transform .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-5px);box-shadow:0 4px 12px #00000026}.certification-link-tooltip:before{content:"";opacity:0;pointer-events:none;z-index:10001;border:5px solid #0000;border-top-color:#1a1a1a;margin-bottom:.25rem;transition:opacity .3s,transform .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-5px)}.certification-link-tooltip:hover:after,.certification-link-tooltip:hover:before{opacity:1;transition:opacity .3s 2s,transform .3s 2s;transform:translate(-50%)translateY(0)}.certification-institution{font-family:var(--font-inter),sans-serif;color:#666;z-index:10;margin:0 0 .25rem;padding-left:.9em;font-size:.85rem;font-weight:500;line-height:1.5;position:relative}.certification-date{font-family:var(--font-inter),sans-serif;color:#666;z-index:10;margin:0;padding-left:.9em;font-size:.8rem;font-weight:400;line-height:1.4;position:relative}.certification-skills{font-family:var(--font-inter),sans-serif;color:#666;z-index:10;margin:.25rem 0 0;padding-left:.9em;font-size:.8rem;font-weight:400;line-height:1.4;position:relative}.skill-item{z-index:10;margin-bottom:1.25rem;position:relative}.skill-item:last-child{margin-bottom:0}.skill-header{z-index:10;justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex;position:relative}.skill-name{font-family:var(--font-inter),sans-serif;color:#1a1a1a;letter-spacing:-.01em;z-index:10;font-size:.85rem;font-weight:500;position:relative}.skill-percentage{font-family:var(--font-inter),sans-serif;color:#666;z-index:10;font-size:.8rem;font-weight:600;position:relative}.skill-bar{z-index:10;background:#f0f0f0;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.skill-bar-fill{background:var(--nokia-screen);z-index:11;border-radius:4px;height:100%;transition:width .6s;position:relative}.project-filters{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;margin-bottom:3rem;display:flex;position:relative}.project-filter-btn{font-family:var(--font-inter),sans-serif;color:#666;cursor:none;text-transform:none;letter-spacing:-.01em;z-index:1;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:500;transition:all .3s;position:relative}.project-filter-btn:hover{color:#999}.project-filter-btn.active{color:var(--nokia-screen);text-shadow:0 0 10px var(--nokia-screen),0 0 20px var(--nokia-screen);font-weight:600}.project-filter-btn.active:hover{color:var(--nokia-screen);text-shadow:0 0 15px var(--nokia-screen),0 0 30px var(--nokia-screen)}.project-filter-separator{font-family:var(--font-inter),sans-serif;color:#ccc;-webkit-user-select:none;user-select:none;margin:0 .5rem;font-size:.95rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.projects-grid-single{grid-template-columns:1fr 1fr 1fr;justify-items:center}.projects-grid-single .project-card{grid-column:2;max-width:400px}@media (max-width:1024px){.projects-grid-single{grid-template-columns:1fr 1fr}.projects-grid-single .project-card{grid-column:2}}@media (max-width:768px){.projects-grid-single{grid-template-columns:1fr}.projects-grid-single .project-card{grid-column:1}}.project-card{cursor:none;z-index:1;background:#faf7f794;border:1px solid #d0d0d0;border-radius:12px;flex-direction:column;height:100%;transition:box-shadow .3s;display:flex;position:relative;overflow:hidden}.project-card-with-image{padding:0}.project-card:hover{box-shadow:0 10px 40px #0000001a}.project-image-container{background:#f5f5f5;border-bottom:1px solid #d0d0d0;width:100%;position:relative;overflow:hidden}.project-image-video{aspect-ratio:16/9}.project-image-square{aspect-ratio:1}.project-screenshot{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.project-card:hover .project-screenshot{transform:scale(1.05)}.project-card-content{flex-direction:column;flex-grow:1;gap:.35rem;padding:1rem;display:flex}.project-card-text{flex-grow:1}.project-title{font-family:var(--font-inter),sans-serif;color:#1a1a1a;border-bottom:none;margin-bottom:.35rem;padding-bottom:0;font-size:1.25rem;font-weight:600}.project-title.project-title-small{font-size:1.1rem}.project-description{font-family:var(--font-inter),sans-serif;color:#666;margin-bottom:0;font-size:.8rem;line-height:1.4}.project-description.project-description-small{font-size:.8rem;line-height:1.5}.project-tech{flex-wrap:wrap;gap:.4rem;margin-top:auto;margin-bottom:.2rem;display:flex}.tech-tag{font-family:var(--font-inter),sans-serif;color:#1a1a1a;background:0 0;border:1px solid #e5e5e5;border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:500;transition:box-shadow .2s}.tech-tag:hover{box-shadow:0 0 12px #b9b9b94d}.project-actions{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}.project-link-btn{font-family:var(--font-inter),sans-serif;color:#2a2a2a;cursor:none;background:0 0;border:1px solid #2a2a2a;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .3s,color .3s,box-shadow .3s;display:inline-flex;position:relative}.project-link-btn span{text-align:center;width:100%;display:inline-block}.project-link-btn:active{opacity:.9}.project-link-btn:hover{color:#fff;background:#2a2a2a;box-shadow:0 0 15px #2a2a2a66}.project-link-icon{color:currentColor;flex-shrink:0;width:16px;height:16px;transition:color .3s}.project-link-btn:hover .project-link-icon{color:var(--nokia-screen)}.contact-content{flex-direction:column;gap:2rem;max-width:800px;margin-top:2rem;margin-left:auto;margin-right:auto;display:flex}.contact-info{flex-direction:column;align-items:center;gap:2rem;display:flex}.contact-text{font-family:var(--font-inter),sans-serif;color:#666;text-align:center;font-size:1.1rem;line-height:1.8}.contact-links{z-index:1;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1rem;display:flex;position:relative}.contact-link{cursor:none;z-index:1;background:#faf7f794;border:1px solid #d0d0d0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:70px;padding:.75rem .5rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:visible}.contact-link:hover{cursor:none;background:#faf7f794;transform:scale(1.05);box-shadow:0 10px 40px #0000001a}.contact-link:hover svg{color:#1a1a1a;cursor:none;transform:scale(1.05)}.contact-link:hover span{color:#1a1a1a}.contact-link svg{color:#666;flex-shrink:0;width:24px;height:24px;transition:all .3s;overflow:visible}.contact-link span{font-family:var(--font-inter),sans-serif;color:#666;text-align:center;font-size:.75rem;font-weight:500;line-height:1.2;transition:all .3s}.contact-details{flex-direction:column;gap:1rem;display:flex}.contact-details p{font-family:var(--font-inter),sans-serif;color:#1a1a1a;font-size:1rem}.contact-details a{color:var(--nokia-screen);text-decoration:none;transition:all .3s}.contact-details a:hover{color:var(--nokia-screen-dark);text-decoration:underline}.portfolio-footer{z-index:1000;box-sizing:border-box;opacity:0;background:#fff;border-top:2px solid #e5e5e599;justify-content:center;align-items:center;width:100%;max-width:100vw;height:30px;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;overflow-x:hidden;transform:translateY(100%);box-shadow:0 -8px 32px #0000001f}.footer-visible{opacity:1;transform:translateY(0)}.footer-content{justify-content:center;align-items:center;width:100%;max-width:1200px;padding:0 2rem;display:flex}.footer-tag{color:#1a1a1a;text-align:center;opacity:.6;margin:0;font-family:VT323,monospace;font-size:.8rem;font-weight:lighter}.footer-tag u{opacity:1;text-decoration:underline}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{font-family:var(--font-inter),sans-serif;color:#1a1a1a;font-size:.95rem;font-weight:500}.form-group input,.form-group textarea{font-family:var(--font-inter),sans-serif;color:#1a1a1a;background:#fff;border:1px solid #e5e5e5;border-radius:4px;outline:none;padding:.75rem;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--nokia-screen);box-shadow:0 0 0 3px #0000001a}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{font-family:var(--font-inter),sans-serif;background:var(--nokia-screen);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:.875rem 2rem;font-size:1rem;font-weight:500;transition:all .3s}.submit-btn:hover{background:var(--nokia-screen-dark);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@media (max-width:768px){.navbar-blur-overlay{width:100vw;max-width:100vw;height:70px;overflow:hidden}.navbar-content{justify-content:center;padding:.875rem 1.5rem}.navbar-links{flex-wrap:wrap;justify-content:center;gap:1rem}.nav-link{letter-spacing:.03em;padding:.5rem .75rem;font-size:.75rem}.landing-section{min-height:100vh;padding:1.5rem}.scroll-indicator{bottom:2rem}.scroll-indicator svg{width:28px;height:28px}.portfolio-section{padding:4rem 1.5rem}#about{padding-top:5rem}.section-title{margin-bottom:2.5rem;font-size:clamp(1.75rem,5vw,2.25rem)}#about .section-title,#resume .section-title,#projects .section-title,#contact .section-title{font-size:clamp(2.5rem,7vw,3.5rem)}.about-intro{word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;margin-bottom:2.5rem;padding:0 clamp(1rem,4vw,2rem);font-size:clamp(.875rem,2.5vw,.95rem);line-height:1.6}.about-intro-word{white-space:normal}.about-intro-break{display:none}.about-content{grid-template-columns:1fr;gap:1.75rem}.about-section-card{padding:1.5rem}.about-section-title{font-size:1.1rem}.about-section-number{font-size:.95rem}.about-section-text{font-size:.85rem}.about-section-line{margin-bottom:.4rem;font-size:.85rem}.experience-list{gap:2rem}.experience-entry{padding-bottom:2rem}.experience-employer-row{gap:.75rem;margin-bottom:.25rem}.experience-employer{font-size:.9rem}.experience-address{font-size:.75rem}.experience-job-title,.experience-description{margin-bottom:.625rem;font-size:.8rem}.experience-achievement{margin-bottom:.375rem;padding:.625rem .875rem;font-size:.8rem}.experience-duration{font-size:.75rem}.availability-badge{margin-top:1.25rem;padding:.4rem .875rem;font-size:.8rem}.about-section-lines{margin-bottom:.625rem}.about-section-line{font-size:.85rem;line-height:1.7}.service-title{font-size:.9rem}.service-description{min-height:2.4rem;font-size:.8rem}.service-item,.services-grid{gap:.875rem}.contact-content{grid-template-columns:1fr;gap:2rem}.contact-text{font-size:1rem}.contact-links{gap:1.25rem}.contact-link{gap:.45rem;width:65px;padding:.65rem .45rem}.contact-link svg{width:22px;height:22px}.contact-link span{font-size:.7rem}.portfolio-footer{height:28px}.footer-content{padding:0 1.5rem}.footer-tag{font-size:.75rem}.contact-details p{font-size:.95rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card-content{gap:.5rem;padding:1.25rem}.project-title{font-size:1.3rem}.project-description{font-size:.9rem}.resume-grid{grid-template-columns:1fr;gap:2.5rem}.resume-header{text-align:center;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem}.resume-group-title{margin-bottom:1.25rem;font-size:1.25rem}.timeline-title{font-size:.9rem}.timeline-institution{font-size:.8rem}.timeline-description{font-size:.85rem}.achievement-badge{padding:.35rem .65rem;font-size:.75rem}.skill-name{font-size:.85rem}.skill-percentage{font-size:.75rem}.form-group label{font-size:.9rem}.form-group input,.form-group textarea{padding:.65rem;font-size:.95rem}.submit-btn{padding:.75rem 1.75rem;font-size:.95rem}}@media (max-width:480px){.container{padding:1rem}.info-btn{width:46px;height:46px;font-size:1.5rem;top:.75rem;right:.75rem}.theme-btn-wrapper{top:.75rem;right:4.5rem}.theme-btn{width:46px;height:46px;font-size:1.4rem}.logo{margin-bottom:.25rem;font-size:clamp(4.375rem,11.25vw,6.25rem)}.subtitle{margin-bottom:1.5rem;font-size:1.75rem}.profile-container{width:440px;height:440px;margin-bottom:1.5rem}.navbar-blur-overlay{box-sizing:border-box;width:100vw;max-width:100vw;height:48px;left:0;right:0;overflow:hidden}.navbar{box-sizing:border-box;max-width:100vw;overflow-x:hidden}.navbar-content{box-sizing:border-box;width:100%;max-width:100%;padding:1rem .15rem}.navbar-links{box-sizing:border-box;flex-wrap:wrap;justify-content:center;gap:1.15rem;width:100%;max-width:100%;margin:0;padding:0}.nav-link{letter-spacing:0;white-space:nowrap;box-sizing:border-box;flex-shrink:1;min-width:0;padding:.35rem .25rem;font-size:.8rem}.scroll-indicator{bottom:4rem}.scroll-indicator svg{width:34px;height:34px}.portfolio-section{padding:3rem 1rem}.section-title{margin-bottom:2rem;font-size:clamp(1.5rem,6vw,2rem)}#about .section-title,#resume .section-title,#projects .section-title,#contact .section-title{font-size:clamp(3rem,8vw,4rem)}.about-intro{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;white-space:normal;box-sizing:border-box;width:100%;max-width:100%;margin-bottom:2rem;padding:0 1rem;font-size:1rem;line-height:1.7;display:block}.about-intro-word{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;white-space:normal!important;font-size:1rem!important;display:inline!important}.about-intro-break,.about-intro-break-mobile{display:none}.about-content{grid-template-columns:1fr;gap:1.5rem}.about-section-card{padding:1.5rem}.about-section-header{gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem}.about-section-title{font-size:1.05rem}.about-section-number{min-width:32px;font-size:1.15rem}.about-section-text{margin-bottom:.875rem;font-size:.85rem}.about-section-line{margin-bottom:.35rem;font-size:.8rem}.availability-badge{margin-top:1rem;padding:.35rem .75rem;font-size:.75rem}.about-section-lines{margin-bottom:.5rem}.about-section-line{margin-bottom:.3rem;font-size:.85rem;line-height:1.6}.experience-list{gap:1.75rem}.experience-entry{padding-bottom:1.75rem}.experience-employer-row{gap:.5rem;margin-bottom:.25rem}.experience-employer{font-size:.85rem}.experience-address{font-size:.7rem}.experience-duration{font-size:.85rem}.experience-job-title{margin-bottom:.625rem;font-size:.85rem}.experience-description{margin-bottom:.625rem;font-size:.85rem;line-height:1.6}.experience-achievement{margin-bottom:.375rem;padding:.5rem .75rem;font-size:.85rem}.experience-duration{color:#000;font-size:.85rem}.service-title{font-size:.875rem}.service-description{min-height:2.4rem;font-size:.8rem}.service-icon-wrapper{width:32px;height:32px}.service-icon-wrapper svg{width:16px;height:16px}.service-item{gap:.875rem;min-height:3.85rem}.services-grid{gap:.875rem}.resume-group-title{font-size:1.2rem}.resume-left{padding-right:0}.timeline-year{margin:0;font-size:.85rem;font-weight:600;line-height:1.4em;display:inline-block}.timeline-title,.timeline-institution{font-size:.85rem}.timeline-description{font-size:.8rem}.timeline-item{display:block}.timeline-divider{width:2px;left:0}.timeline-divider:after{margin-left:0;left:50%;transform:translate(-50%)}.timeline-left-part{text-align:left;width:100%;padding-bottom:.75rem;padding-left:1.25rem;padding-right:0;display:block}.timeline-right-part{width:100%;padding-left:1.25rem;padding-right:0;display:block}.timeline-year{margin-bottom:0;font-weight:600;display:inline-block}.achievement-badge{padding:.3rem .6rem;font-size:.8rem}.skill-name{font-size:.85rem}.skill-percentage{font-size:.7rem}.project-filters{gap:.75rem;margin-top:.75rem;margin-bottom:2rem;padding:0 .5rem}.project-filter-btn{white-space:nowrap;padding:.5rem .75rem;font-size:.9rem}.project-filter-separator{margin:0 .25rem;font-size:.9rem}.project-card-content{gap:.3rem;padding:1.25rem}.project-title{margin-bottom:.3rem;font-size:1.2rem}.project-description{font-size:.85rem;line-height:1.4}.tech-tag{padding:.2rem .45rem;font-size:.75rem}.project-link-btn{padding:.4rem .75rem;font-size:.8rem}.project-link-icon{width:14px;height:14px}.contact-text{font-size:.95rem}.contact-links{gap:1rem}.contact-link{gap:.4rem;width:60px;padding:.6rem .4rem}.contact-link svg{width:20px;height:20px}.contact-link span{font-size:.65rem}.portfolio-footer{height:26px}.footer-content{padding:0 1rem}.footer-tag{font-size:.7rem}.contact-details p,.form-group input,.form-group textarea{font-size:.9rem}.submit-btn{padding:.7rem 1.5rem;font-size:.9rem}.info-panel{max-width:90%;padding:1.5rem;font-size:1.25rem}.info-line{margin-bottom:.9rem;padding-bottom:.45rem;font-size:1.1rem}.tag{font-size:1rem}.close-btn{width:36px;height:36px;font-size:1.25rem;top:1.25rem;right:1.25rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
