@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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.3i9rha7jpxn0q.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.2o7ko1d-5m1xu.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.1ee5w62fj497l.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.1way2z9fj6cig.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.0szrwpqb9mkwe.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.45535valc9rzk.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_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--background-deep:#020203;--background-base:#050506;--background-elevated:#0a0a0c;--surface:#ffffff0d;--surface-hover:#ffffff14;--foreground:#ededef;--foreground-muted:#8a8f98;--foreground-subtle:#fff9;--accent:#5e6ad2;--accent-bright:#6872d9;--accent-glow:#5e6ad24d;--border-default:#ffffff0f;--border-hover:#ffffff1a;--border-accent:#5e6ad24d;--page:var(--background-base);--page-deep:var(--background-deep);--surface-soft:var(--background-elevated);--surface-glass:var(--surface);--text:var(--foreground);--text-soft:var(--foreground-subtle);--text-muted:var(--foreground-muted);--purple:var(--accent);--purple-bright:var(--accent-bright);--purple-deep:var(--background-elevated);--line:var(--border-default);--card-line:var(--border-default);--ease:cubic-bezier(.16, 1, .3, 1);--max-width:1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--background-deep)}body{min-width:320px;color:var(--foreground);font-family:var(--font-inter), var(--font-geist-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(at top,#0a0a0f 0%,#050506 50%,#020203 100%);line-height:1.5;overflow-x:hidden}body:before{z-index:-3;pointer-events:none;content:"";background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}body:after{z-index:-2;pointer-events:none;opacity:.015;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--purple-bright);outline-offset:3px}ul{list-style:none}::selection{background:var(--purple);color:var(--page)}.ambient-scene{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-scene:before{content:"";background:radial-gradient(at 50% -4%,#5e6ad21f,#0000 42%),radial-gradient(at 12% 42%,#5e6ad20a,#0000 28%),radial-gradient(at 92% 55%,#6872d909,#0000 25%);position:absolute;inset:0}.ambient-blob{filter:blur(150px);opacity:1;border-radius:50%;animation:10s ease-in-out infinite ambient-float;position:absolute}.ambient-blob-primary{background:radial-gradient(#5e6ad238 0%,#5e6ad214 42%,#0000 72%);width:900px;height:1400px;top:-780px;left:18%}.ambient-blob-secondary{filter:blur(120px);background:radial-gradient(#5e6ad21f,#0000 68%);width:600px;height:800px;animation-delay:-3s;top:18%;left:-330px}.ambient-blob-tertiary{filter:blur(100px);background:radial-gradient(#6872d91a,#0000 68%);width:500px;height:700px;animation-delay:-6s;top:42%;right:-300px}.ambient-blob-bottom{filter:blur(140px);background:radial-gradient(#5e6ad214,#0000 68%);width:780px;height:700px;animation-delay:-2s;bottom:-580px;right:25%}@keyframes ambient-float{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translateY(-20px)rotate(1deg)}}.skip-link{z-index:200;background:var(--accent);color:var(--page);transition:transform .22s var(--ease);border-radius:6px;padding:9px 14px;font-size:.8rem;font-weight:700;position:fixed;top:15px;left:15px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.floating-nav{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0a0cd1;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:4px;padding:8px 10px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.nav-group{position:relative}.nav-item{min-width:42px;min-height:42px;color:var(--foreground-muted);transition:background .28s var(--ease), color .28s var(--ease), transform .28s var(--ease);border-radius:999px;justify-content:center;align-items:center;display:flex}.nav-item:hover,.nav-item:focus-visible,.nav-item.active{color:var(--accent-bright);background:#5e6ad238;outline:none;transform:translateY(-2px)}.nav-tooltip{background:var(--purple-deep);color:var(--foreground);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .22s var(--ease), transform .22s var(--ease);border:1px solid #ffffff14;border-radius:5px;padding:6px 11px;font-size:.68rem;position:absolute;bottom:calc(100% + 11px);left:50%;transform:translate(-50%,5px);box-shadow:0 8px 24px #00000059}.nav-tooltip:after{background:var(--purple-deep);content:"";border-bottom:1px solid #ffffff14;border-right:1px solid #ffffff14;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.nav-group:hover .nav-tooltip,.nav-group:focus-within .nav-tooltip{opacity:1;transform:translate(-50%)}.main-content{z-index:1;width:min(calc(100% - 48px), var(--max-width));color:var(--foreground);margin:0 auto;position:relative}.hero-portfolio{grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);align-items:center;gap:55px;min-height:680px;padding:100px 0 95px;display:grid}.hero-portfolio-copy{transform:translate3d(0, var(--hero-translate), 0) scale(var(--hero-scale));opacity:var(--hero-opacity);transition:transform .12s linear,opacity .12s linear}.hero-kicker{color:var(--text-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:24px;font-size:.75rem;display:inline-flex}.status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #5e6ad21f,0 0 15px #5e6ad266}.hero-portfolio h1{overflow-wrap:anywhere;background:linear-gradient(to bottom, var(--foreground), #fffffff2, #ffffffb3);color:#0000;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;max-width:720px;font-size:clamp(3rem,5.6vw,4.75rem);font-weight:600;line-height:1}.hero-name{overflow-wrap:anywhere;background:linear-gradient(90deg, var(--accent), var(--accent-bright), var(--accent));color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite accent-shimmer}.hero-role{overflow-wrap:anywhere;background:linear-gradient(90deg, var(--accent), var(--accent-bright), var(--accent));color:#0000;text-shadow:0 0 28px #5e6ad226;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite accent-shimmer}@keyframes accent-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.social-row{align-items:center;gap:14px;display:flex}.hero-socials{margin:38px 0 30px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-socials a{width:44px;height:44px;color:var(--accent);transition:color .25s var(--ease), transform .25s var(--ease), background .25s var(--ease);border-radius:8px;place-items:center;display:grid}.hero-socials a:hover{color:var(--accent-bright);background:#5e6ad21f;transform:translateY(-3px)scale(1.08)}.download-button{background:var(--surface);min-height:44px;color:var(--foreground);transition:gap .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease);border:1px solid #5e6ad23d;border-radius:8px;align-items:center;gap:10px;padding:11px 18px;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff1a}.download-button:hover{border-color:var(--border-accent);background:var(--surface-hover);gap:15px;transform:translateY(-2px)}.resume-button{background:var(--accent);border-color:#5e6ad280;box-shadow:0 0 0 1px #5e6ad280,0 4px 12px #5e6ad24d,inset 0 1px #fff3}.resume-button:hover{background:var(--accent-bright);box-shadow:0 0 0 1px #6872d9a6,0 8px 24px #5e6ad261,inset 0 1px #fff3}.hero-portfolio-art{min-height:410px;transform:translate3d(0, var(--hero-translate), 0) scale(var(--hero-scale));opacity:var(--hero-opacity);place-items:center;transition:transform .12s linear,opacity .12s linear;display:grid;position:relative}.hero-terminal{z-index:2;background:linear-gradient(145deg,#ffffff0b,#ffffff04);border:1px solid #5e6ad285;border-radius:16px;width:min(100%,470px);height:320px;padding:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff08,0 8px 22px #0000004d,0 0 48px #5e6ad229,inset 0 1px #ffffff1f}.terminal-dots,.project-preview-dots,.illustration-window-bar{gap:7px;display:flex}.terminal-header{border-bottom:1px solid var(--border-default);background:#ffffff06;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.terminal-file{color:var(--foreground-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:.75rem}.terminal-dots i,.project-preview-dots i,.illustration-window-bar i{background:#ff5f57;border-radius:50%;width:9px;height:9px}.terminal-dots i:nth-child(2),.project-preview-dots i:nth-child(2),.illustration-window-bar i:nth-child(2){background:#febc2e}.terminal-dots i:nth-child(3),.project-preview-dots i:nth-child(3),.illustration-window-bar i:nth-child(3){background:#28c840}.terminal-lines{color:var(--foreground-muted);font-family:var(--font-geist-mono), monospace;flex-direction:column;gap:11px;margin:42px 28px 0;font-size:.875rem;line-height:1.4;display:flex}.terminal-lines b{color:var(--purple);font-weight:500}.terminal-lines em{color:var(--accent-bright);font-style:normal}.terminal-lines .indent{padding-left:20px}.code-line{opacity:0;animation:code-line-reveal 8s var(--ease) infinite;transform:translateY(5px)}.code-line-1{animation-delay:.2s}.code-line-2{animation-delay:.38s}.code-line-3{animation-delay:.56s}.code-line-4{animation-delay:.74s}.code-line-5{animation-delay:.92s}.code-line-6{animation-delay:1.1s}@keyframes code-line-reveal{0%,5%{opacity:0;transform:translateY(5px)}13%,76%{opacity:1;transform:translateY(0)}88%,to{opacity:0;transform:translateY(-3px)}}.terminal-cursor{background:var(--accent-bright);width:7px;height:17px;animation:1s steps(2,start) infinite blink;position:absolute;bottom:39px;left:47px}@keyframes blink{50%{opacity:0}}.art-caption{color:var(--text-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;position:absolute;bottom:5px;right:0}.section-title-wrap{justify-content:center;align-items:center;gap:0;margin:20px 0 32px;padding-top:22px;scroll-margin-top:22px;display:flex;position:relative}.section-title-wrap:before{width:75%;height:1px;transition:box-shadow .76s var(--ease);content:"";background:linear-gradient(90deg,#0000,#5e6ad26b 18%,#ffffff14 50%,#5e6ad26b 82%,#0000);position:absolute;top:0;left:12.5%;box-shadow:0 0 #5e6ad200}.section-title-wrap:after{z-index:0;filter:blur(28px);opacity:0;pointer-events:none;will-change:opacity, transform;width:min(360px,58vw);height:92px;transition:opacity .76s var(--ease), transform .76s var(--ease);content:"";background:radial-gradient(#5e6ad229,#6872d909 42%,#0000 72%);border-radius:50%;position:absolute;top:3px;left:50%;transform:translate(-50%,-5px)scale(.86)}.section-title-wrap:hover:before{box-shadow:0 0 18px #5e6ad23d}.section-title-wrap:hover:after{opacity:1;transform:translate(-50%,-5px)scale(1.04)}.section-title-line{background:linear-gradient(to right, var(--purple-deep), transparent);width:min(9vw,96px);height:2px}.section-title-line:first-child{background:linear-gradient(to left, var(--purple-deep), transparent)}.section-title-line:last-child{background:linear-gradient(to right, var(--purple-deep), transparent)}.section-title-number{display:none}.section-title-bar,.card-main h3,.skills-group-info h3,.project-card-body h3{font-family:var(--font-inter), var(--font-geist-sans), system-ui, sans-serif}.section-title-bar{z-index:1;background:var(--purple-deep);color:var(--foreground);letter-spacing:-.02em;transition:box-shadow .68s var(--ease), background-color .68s var(--ease);border-radius:8px;padding:8px 20px;font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:600;line-height:1.2;display:inline-block;position:relative}.section-title-bar:after{background:linear-gradient(90deg, var(--accent-bright), var(--accent));opacity:0;width:0;height:2px;transition:width .42s var(--ease), opacity .42s var(--ease);content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);box-shadow:0 0 12px #5e6ad25c}.section-title-wrap:hover .section-title-bar{background:#5e6ad238;box-shadow:0 0 22px #5e6ad233}.section-title-wrap:hover .section-title-bar:after{opacity:1;width:80%}.portfolio-section{z-index:2;content-visibility:auto;contain-intrinsic-size:auto 700px;margin:0 0 92px;padding:0 20px 25px;position:relative}.about-section,.experience-section,.contact-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:60px;display:grid}.about-section{grid-template-columns:minmax(0,1.15fr) minmax(230px,.65fr) minmax(210px,.55fr);align-items:start;padding-top:20px}.education-section{display:block}.about-facts{border-left:1px solid var(--line);padding-left:24px}.about-facts dl{flex-direction:column;display:flex}.about-facts dl>div{border-top:1px solid var(--line);gap:6px;padding:14px 0;display:grid}.about-facts dt{color:var(--text-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.about-facts dd{color:var(--text-soft);font-size:.84rem;line-height:1.45}.section-accent-label{color:var(--accent-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:13px;font-size:.75rem;font-weight:500}.about-lead{color:var(--text-soft);font-size:1.125rem;line-height:1.75}.about-body,.contact-intro{color:var(--text-muted);margin-top:17px;font-size:1rem;line-height:1.75}.stats-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;display:grid}.stat-item{border:1px solid var(--line);background:var(--surface-soft);text-align:center;min-height:92px;transition:border-color .25s var(--ease), transform .25s var(--ease);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex}.stat-item:hover{border-color:#5e6ad28c;transform:translateY(-3px)}.stat-item strong{color:var(--accent-bright);font-size:1.875rem}.stat-item span{color:var(--text-muted);margin-top:3px;font-size:.68rem;line-height:1.3}.profile-placeholder{flex-direction:column;align-items:center;gap:12px;display:flex}.profile-placeholder-inner{width:280px;height:280px;color:var(--accent-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:-.1em;transition:filter .6s var(--ease), transform .6s var(--ease);background:#fff;border-radius:16px;place-items:center;font-size:3.7rem;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 12px 30px #0006,0 0 55px #5e6ad229,inset 0 1px #ffffff1f}.profile-placeholder-inner:after{z-index:2;border-radius:inherit;box-sizing:border-box;pointer-events:none;content:"";border:1px solid #5e6ad273;position:absolute;inset:0}.profile-placeholder-inner img{z-index:1;object-fit:contain;object-position:center;width:100%;height:100%;display:block}.profile-placeholder-inner:hover{filter:grayscale(.25);transform:scale(1.03)}.profile-placeholder p{color:var(--text-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.75rem}.experience-section,.education-section{align-items:start;padding-top:20px}.section-illustration{justify-content:center;align-items:center;min-height:420px;display:flex;position:relative}.illustration-window{z-index:1;background:#0a0a0c;border:1px solid #5e6ad26b;border-radius:16px;width:80%;height:245px;position:relative;overflow:hidden;transform:rotate(-4deg);box-shadow:0 14px 28px #00000052,0 0 44px #5e6ad224}.illustration-window-bar{background:#ffffff06;border-bottom:1px solid #ffffff14;padding:14px 15px}.illustration-code{flex-direction:column;gap:16px;padding:33px 28px;display:flex}.illustration-code span{background:linear-gradient(to right, var(--purple-bright), #6872d91a);border-radius:5px;height:8px;display:block}.illustration-code span:first-child{width:42%}.illustration-code span:nth-child(2){background:linear-gradient(to right, var(--accent-bright), #6872d91a);width:80%}.illustration-code span:nth-child(3){width:62%}.illustration-code span:nth-child(4){background:linear-gradient(to right, var(--purple-bright), #6872d91a);width:75%}.illustration-code span:nth-child(5){width:35%}.experience-cards,.education-cards{flex-direction:column;gap:18px;display:flex}.glow-container{--gap:32;--active:0;--start:0deg;--blur:12;--spread:80;--direction:row;width:100%;position:relative}.glow-card{--active:0;--start:0;border:1px solid var(--card-line);isolation:isolate;color:var(--text-soft);transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);background:linear-gradient(#ffffff14,#ffffff05);border-radius:16px;position:relative;box-shadow:0 0 0 1px #ffffff0f,0 2px 20px #0006,0 0 40px #0003}.glow-card:is(:hover,:focus-within){z-index:2;border-color:var(--border-hover);box-shadow:0 0 0 1px var(--border-hover), 0 8px 40px #00000080, 0 0 80px #5e6ad21a;transform:translateY(-4px)}.glows{pointer-events:none;filter:blur(calc(var(--blur) * 1px));position:absolute;inset:0}.glows:before,.glows:after{--alpha:0;background:conic-gradient(from 180deg at 50% 70%, var(--purple) 0deg, var(--accent) 90deg, var(--accent) 180deg, var(--accent) 270deg, var(--accent) 360deg) fixed;content:"";opacity:var(--active);pointer-events:none;-webkit-mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - var(--spread) * .5) * 1deg), #000 0deg, #fff, #0000 calc(var(--spread) * 1deg));-webkit-mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - var(--spread) * .5) * 1deg), #000 0deg, #fff, #0000 calc(var(--spread) * 1deg));mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - var(--spread) * .5) * 1deg), #000 0deg, #fff, #0000 calc(var(--spread) * 1deg));-webkit-mask-composite:source-in, xor;border:8px solid #0000;border-radius:16px;transition:opacity 1s;position:absolute;inset:-5px;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect}.glow-card:before{content:"";opacity:var(--active);pointer-events:none;-webkit-mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) + var(--spread) * .25 - var(--spread) * 1.5) * 1deg), #ffffff26 0deg, white, #ffffff26 calc(var(--spread) * 2.5deg));-webkit-mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) + var(--spread) * .25 - var(--spread) * 1.5) * 1deg), #ffffff26 0deg, white, #ffffff26 calc(var(--spread) * 2.5deg));mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) + var(--spread) * .25 - var(--spread) * 1.5) * 1deg), #ffffff26 0deg, white, #ffffff26 calc(var(--spread) * 2.5deg));-webkit-mask-composite:source-in, xor;background:#ffffff3d fixed;border:2px solid #0000;border-radius:16px;transition:opacity 1s;position:absolute;inset:0;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect}.glow-card:after{background:conic-gradient(from 180deg at 50% 70%, var(--purple) 0deg, var(--accent) 90deg, var(--accent) 180deg, var(--accent) 270deg, var(--accent) 360deg) fixed;content:"";opacity:var(--active,0);filter:brightness(1.5);pointer-events:none;-webkit-mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) + var(--spread) * .25 - var(--spread) * .5) * 1deg), #0000 0deg, #fff, #0000 calc(var(--spread) * .5deg));-webkit-mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) + var(--spread) * .25 - var(--spread) * .5) * 1deg), #0000 0deg, #fff, #0000 calc(var(--spread) * .5deg));mask:linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) + var(--spread) * .25 - var(--spread) * .5) * 1deg), #0000 0deg, #fff, #0000 calc(var(--spread) * .5deg));-webkit-mask-composite:source-in, xor;border:2px solid #0000;border-radius:16px;transition:opacity 1s;position:absolute;inset:0;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect}.experience-lottie-shell,.experience-lottie{z-index:1;width:min(100%,390px);position:relative}.experience-lottie-shell{place-items:center;min-height:390px;display:grid}.experience-lottie{filter:drop-shadow(0 18px 28px #00000059)drop-shadow(0 0 35px #5e6ad238)}.experience-lottie>div{width:100%!important}.portfolio-card{gap:16px;width:100%;padding:16px;display:flex}.resume-card{padding:22px 26px 24px;display:block;overflow:visible}.resume-card-header{z-index:1;gap:16px;min-width:0;display:flex;position:relative}.details-toggle{z-index:1;color:var(--purple-bright);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;margin:22px 0 0 70px;font-size:.87rem;font-weight:600;display:inline-flex;position:relative}.details-toggle svg{transition:transform .25s var(--ease);transform:rotate(90deg)}.is-open .details-toggle svg{transform:rotate(-90deg)}.resume-card-details{z-index:1;border-left:3px solid #5e6ad247;width:auto;margin:18px 0 0 70px;padding-left:22px;position:relative}.resume-card-details ul{flex-direction:column;gap:20px;display:flex}.resume-card-details li{color:var(--text-soft);overflow-wrap:anywhere;font-size:.93rem;line-height:1.65;position:relative}.resume-card-details li:before{border:2px solid var(--purple-bright);background:var(--accent);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:.65em;left:-31px;box-shadow:0 0 12px #5e6ad28c}.card-icon{width:54px;height:54px;color:var(--purple);background:#5e6ad21c;border-radius:12px;flex:0 0 54px;place-items:center;display:grid;overflow:hidden}.card-logo{object-fit:contain;filter:drop-shadow(0 3px 8px #00000038);width:100%;height:100%}.card-main{z-index:1;min-width:0;position:relative}.date-pill{color:var(--accent);background:#5e6ad214;border:1px solid #5e6ad233;border-radius:999px;margin-bottom:8px;padding:2px 11px;font-size:.68rem;display:inline-block}.card-main h3{color:var(--text);letter-spacing:-.02em;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:600}.card-main h3 small{color:var(--purple-bright);letter-spacing:0;text-transform:none;font-size:.68rem;font-weight:400}.company-link{color:var(--accent-bright);align-items:center;gap:5px;margin-top:4px;font-size:.82rem;display:inline-flex}.card-description{color:var(--text-soft);margin-top:12px;padding-bottom:2px;font-size:.875rem;line-height:1.65}.skills-section{padding-top:18px}.skills-groups{flex-direction:column;gap:24px;display:flex}.skills-group{border:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:210px;transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);background:#0a0a0c9e;border-radius:16px;grid-template-columns:288px minmax(0,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 2px 20px #0006,0 0 40px #0003}.skills-group:hover{border-color:var(--border-hover);box-shadow:0 0 0 1px var(--border-hover), 0 8px 40px #00000080, 0 0 80px #5e6ad21a;transform:translateY(-4px)}.skills-group-ambient{z-index:0;opacity:0;filter:blur(42px);pointer-events:none;transition:opacity .7s var(--ease);position:absolute;inset:0;transform:scale(1.04)}.skills-group-tone-0 .skills-group-ambient{background:radial-gradient(circle at 10%,#5e6ad21c,#0000 60%)}.skills-group-tone-1 .skills-group-ambient{background:radial-gradient(circle at 10%,#6872d917,#0000 60%)}.skills-group-tone-2 .skills-group-ambient{background:radial-gradient(circle at 10%,#5e6ad214,#0000 60%)}.skills-group-tone-3 .skills-group-ambient{background:radial-gradient(circle at 10%,#5e6ad20f,#0000 60%)}.skills-group:hover .skills-group-ambient{opacity:1}.skills-group-info{z-index:1;transition:background-color .5s var(--ease);background:#ffffff06;border-right:1px solid #ffffff12;flex-direction:column;gap:18px;padding:32px;display:flex;position:relative}.skills-group-icon{background:var(--page);width:56px;height:56px;color:var(--purple-bright);transition:transform .5s var(--ease);border:1px solid #ffffff1f;border-radius:12px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff14}.skills-group:hover .skills-group-icon{transform:scale(1.1)}.skills-tone-1 .skills-group-icon,.skills-tone-2 .skills-group-icon,.skills-tone-3 .skills-group-icon{color:var(--accent)}.skills-group-info h3{color:var(--foreground);letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.skills-group-info p{max-width:205px;color:var(--text-muted);margin-top:8px;font-size:.78rem;line-height:1.5}.skills-group-items{z-index:1;background:linear-gradient(135deg,#0000,#00000029);flex-wrap:wrap;align-content:center;gap:12px;padding:32px;display:flex;position:relative}.skill-chip{width:100px;min-height:114px;color:var(--text-muted);text-align:center;transition:border-color .3s var(--ease), background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);background:#ffffff0b;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px 8px;font-size:.73rem;font-weight:500;display:flex}.skill-chip-icon{min-height:34px;color:var(--purple-bright);transition:transform .3s var(--ease), color .3s var(--ease);place-items:center;display:grid}.skill-logo{object-fit:contain;filter:drop-shadow(0 3px 8px #00000038);width:34px;height:34px}.skill-tone-1,.skill-tone-2,.skill-tone-3{color:var(--accent)}.skill-chip:hover{border-color:var(--border-hover);background:var(--surface-hover);color:var(--foreground);transform:translateY(-4px);box-shadow:0 4px 20px #ffffff0d}.skill-chip:hover .skill-chip-icon{transform:scale(1.1)}.skill-traits{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:46px;display:grid}.skill-trait{background:#0a0a0c85;border:1px solid #ffffff12;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:16px 18px;display:flex}.skill-trait-icon{width:28px;height:28px;color:var(--accent);flex:0 0 28px;place-items:center;display:grid}.skill-trait:nth-child(2) .skill-trait-icon,.skill-trait:nth-child(3) .skill-trait-icon,.skill-trait:nth-child(4) .skill-trait-icon{color:var(--purple)}.skill-trait span:last-child{flex-direction:column;min-width:0;display:flex}.skill-trait strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.skill-trait small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.68rem;overflow:hidden}.projects-section{padding-top:18px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.project-card{border:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:0;transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);background:linear-gradient(#ffffff14,#ffffff05);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 2px 20px #0006,0 0 40px #0003}.project-card:hover{border-color:var(--border-hover);box-shadow:0 0 0 1px var(--border-hover), 0 8px 40px #00000080, 0 0 80px #5e6ad21a;transform:translateY(-4px)}.project-preview{background:#0a0a0c;justify-content:center;align-items:center;min-height:190px;display:flex;position:relative;overflow:hidden}.project-preview-image{z-index:0;object-fit:cover;object-position:center;opacity:.9;transition:transform .5s var(--ease), opacity .3s var(--ease)}.preview-1 .project-preview-image{object-fit:contain;object-position:center;opacity:1;padding:28px}.preview-1{background:#f4f4f5}.preview-1:before{background:radial-gradient(circle at 50% 0,#5e6ad20f,#0000 62%)}.project-card:hover .project-preview-image{opacity:1;transform:scale(1.04)}.project-preview:before{content:"";background:radial-gradient(circle at 50% 0,#5e6ad22b,#0000 62%);position:absolute;inset:0}.preview-2:before{background:radial-gradient(circle at 70% 20%,#5e6ad224,#0000 62%)}.preview-3:before{background:radial-gradient(circle at 35% 30%,#6872d933,#0000 62%)}.project-preview-dots{z-index:2;position:absolute;top:13px;left:15px}.project-preview-dots i{width:8px;height:8px}.preview-content{z-index:1;flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.preview-content span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:.74rem}.preview-content strong{color:var(--foreground);letter-spacing:-.03em;font-size:1.18rem}.project-overlay{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .4s var(--ease);background:#050506c7;place-items:center;display:grid;position:absolute;inset:0}.project-overlay a{background:var(--accent);color:var(--foreground);transition:box-shadow .3s var(--ease);border:1px solid #ffffff29;border-radius:8px;padding:10px 20px;font-size:.76rem;font-weight:600;box-shadow:0 0 0 1px #5e6ad280,0 4px 12px #5e6ad24d,inset 0 1px #fff3}.project-overlay a:hover{background:var(--accent-bright);box-shadow:0 0 0 1px #6872d9a6,0 8px 24px #5e6ad261,inset 0 1px #fff3}.project-card:hover .project-overlay{opacity:1}.project-card-body{flex-direction:column;flex:1;padding:20px 19px 22px;display:flex}.project-card-body h3{color:var(--foreground);letter-spacing:-.02em;text-align:center;margin-bottom:10px;font-size:1.05rem;font-weight:600}.project-type{color:var(--accent-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-bottom:8px;font-size:.64rem}.project-card-body p{color:var(--text-muted);text-align:center;flex:1;font-size:.78rem;line-height:1.7}.project-tools{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:20px;display:flex}.project-tools span{color:var(--text-muted);font-family:var(--font-geist-mono), monospace;background:#ffffff0b;border:1px solid #ffffff12;border-radius:6px;padding:5px 8px;font-size:.61rem}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:28px;display:flex}.pagination button{background:var(--page);color:var(--foreground);border:1px solid #5e6ad266;border-radius:999px;padding:8px 17px;font-size:.75rem}.pagination button:disabled{cursor:not-allowed;opacity:.4}.pagination span{color:var(--text-soft);font-size:.8rem}.education-cap{z-index:1;width:180px;height:180px;color:var(--purple-bright);background:radial-gradient(circle at 35% 25%,#5e6ad252,#0a0a0ce6 62%);border:1px solid #5e6ad266;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 0 60px #5e6ad238}.education-support{grid-template-columns:1fr;gap:24px;margin-top:32px;display:grid}.certification-list .section-accent-label{margin-bottom:14px}.certification-list{border:1px solid var(--border-default);background:#0a0a0c94;border-radius:8px;align-self:start;height:100%;padding:22px}.certification-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.certification-list li{border-top:1px solid var(--border-default);flex-direction:column;gap:5px;min-width:0;padding:15px 0 4px;display:flex}.certification-list strong{color:var(--foreground);font-size:.84rem;line-height:1.45}.certification-list a{flex-direction:column;gap:5px;min-width:0;text-decoration:none;display:flex}.certification-list a:hover strong,.certification-list a:focus-visible strong{color:var(--accent-bright)}.certification-list span{color:var(--text-muted);font-size:.75rem}.contact-section{align-items:start;padding-top:26px}.contact-copy{min-width:0}.contact-detail{color:var(--text-soft);align-items:center;gap:12px;margin-top:15px;font-size:.85rem;display:flex}.contact-detail svg{color:var(--purple-bright)}.contact-detail a{color:var(--text-soft);transition:color .2s var(--ease)}.contact-detail a:hover{color:var(--accent)}.contact-socials{margin-top:28px}.contact-socials a{background:var(--foreground-subtle);width:40px;height:40px;color:var(--page-deep);transition:background .25s var(--ease), transform .25s var(--ease);border-radius:999px;place-items:center;display:grid}.contact-socials a:hover{background:var(--purple-bright);transform:scale(1.08)}.contact-form{background:#0a0a0cb8;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:8px;padding:20px;display:flex;box-shadow:0 0 0 1px #ffffff0f,0 2px 20px #0006,0 0 40px #0003}.form-note{color:var(--text-muted);font-family:var(--font-geist-mono), monospace;margin-bottom:7px;font-size:.63rem}.contact-form label{color:var(--text);margin-top:7px;font-size:.82rem}.contact-form input,.contact-form textarea{width:100%;color:var(--text);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);background:#0f0f12;border:1px solid #ffffff1a;border-radius:8px;outline:none;padding:9px 11px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5e6ad233,0 0 18px #5e6ad21f}.contact-form button{background:var(--accent);min-height:44px;color:var(--foreground);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:gap .22s var(--ease), box-shadow .22s var(--ease);border:0;border-radius:8px;justify-content:center;align-self:center;align-items:center;gap:8px;margin-top:12px;padding:10px 24px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 0 0 1px #5e6ad280,0 4px 12px #5e6ad24d,inset 0 1px #fff3}.contact-form button:hover{background:var(--accent-bright);gap:13px;box-shadow:0 0 0 1px #6872d9a6,0 8px 24px #5e6ad261,inset 0 1px #fff3}.portfolio-footer{z-index:1;background:var(--page-deep);color:var(--foreground);border-top:1px solid #ffffff14;position:relative}.footer-inner{width:min(calc(100% - 48px), var(--max-width));justify-content:space-between;align-items:center;margin:0 auto;padding:25px 0 105px;font-size:.8rem;display:flex}.footer-inner strong{color:var(--purple-bright)}.footer-inner>div{color:var(--text-muted);gap:17px;display:flex}.footer-inner a:hover{color:var(--purple-bright)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.main-content{width:min(calc(100% - 40px), var(--max-width))}.hero-portfolio{grid-template-columns:1fr;gap:45px;padding-top:90px}.hero-portfolio-art{min-height:340px}.hero-portfolio-copy{order:1}.hero-portfolio-art{order:2}.about-section,.experience-section,.education-section,.contact-section{gap:38px}.about-section{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr)}.about-section .profile-placeholder{grid-column:1/-1}.skills-group{grid-template-columns:220px minmax(0,1fr)}.skills-group-items{padding:22px}}@media (max-width:680px){.main-content{width:min(calc(100% - 30px), var(--max-width))}.floating-nav{justify-content:space-between;width:calc(100% - 22px);padding:6px;bottom:11px}.nav-item{min-width:40px;min-height:40px}.nav-tooltip{display:none}.hero-portfolio{min-height:auto;padding:82px 0 70px;overflow:hidden}.hero-portfolio-copy,.hero-portfolio-art{width:100%;min-width:0}.hero-portfolio h1{max-width:100%;font-size:clamp(2.5rem,10vw,4rem)}.hero-portfolio-art{min-height:300px}.hero-terminal{width:100%;max-width:100%;height:285px}.terminal-header{padding:12px 14px}.terminal-lines{overflow-wrap:anywhere;gap:7px;max-width:calc(100% - 36px);margin:29px 18px 0;font-size:.75rem}.terminal-lines .indent{padding-left:12px}.terminal-cursor{bottom:26px;left:31px}.section-title-wrap{margin:13px 0 27px}.section-title-bar{padding:7px 16px;font-size:clamp(1.15rem,5vw,1.4rem)}.portfolio-section{margin-bottom:70px;padding:0 5px 15px}.about-section,.experience-section,.education-section,.contact-section{flex-direction:column;align-items:stretch;gap:36px;display:flex}.about-facts{border-left:0;padding-left:0}.profile-placeholder-inner{width:min(280px,72vw);height:min(280px,72vw)}.stats-row{gap:7px}.stat-item{min-height:84px}.stat-item strong{font-size:1.5rem}.stat-item span{font-size:.75rem}.section-illustration{order:1;min-height:275px}.experience-lottie-shell,.experience-lottie{width:min(100%,290px)}.experience-lottie-shell{min-height:290px}.experience-section{grid-template-columns:1fr;gap:0}.experience-section .experience-art{min-height:0;display:none}.experience-cards,.education-cards{order:2}.resume-card-header{gap:12px}.details-toggle,.resume-card-details{margin-left:0}.details-toggle{margin-top:18px}.resume-card-details{padding-left:18px}.illustration-window{width:82%;height:190px}.illustration-code{gap:11px;padding:24px 20px}.skills-group{min-height:0;display:block}.skills-group-info{border-bottom:1px solid #ffffff12;border-right:0;flex-direction:row;align-items:center;width:auto;padding:20px;display:flex}.skills-group-info p{max-width:none}.skills-group-items{grid-template-columns:repeat(3,1fr);padding:17px;display:grid}.skill-chip{width:auto;min-width:0;min-height:102px;padding:11px 5px;font-size:.75rem}.skill-traits{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:30px}.skill-trait{padding:13px 10px}.projects-grid{grid-template-columns:1fr}.education-support{grid-template-columns:1fr;margin-top:26px}.certification-list ul{grid-template-columns:1fr;gap:18px}.project-preview{min-height:175px}.contact-form{padding:16px}.footer-inner{padding-bottom:92px;display:block}.footer-inner>div{margin-top:16px}}@media (max-width:420px){.floating-nav{gap:0;padding:4px}.nav-item{min-width:36px;min-height:38px}.terminal-lines{font-size:.7rem}.skills-group-items{grid-template-columns:repeat(2,1fr)}}@media (hover:none),(pointer:coarse){body:after,.ambient-blob,.ambient-blob-secondary,.ambient-blob-bottom{display:none}.skills-group,.project-card,.floating-nav{-webkit-backdrop-filter:none;backdrop-filter:none}.experience-section{grid-template-columns:1fr;gap:0}.experience-section .experience-art{min-height:0;display:none}.hero-name,.hero-role,.code-line,.terminal-cursor{animation:none}.code-line{opacity:1;transform:none}}@supports (-webkit-touch-callout:none){.ambient-blob{filter:none;animation:none}.ambient-blob-secondary,.ambient-blob-tertiary,.ambient-blob-bottom{display:none}.skills-group,.project-card,.floating-nav,.project-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.hero-portfolio-copy,.hero-portfolio-art{transition:none}.hero-name,.hero-role,.code-line,.terminal-cursor{animation:none}.code-line{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-portfolio-copy,.hero-portfolio-art{opacity:1;transform:none}.ambient-blob,.terminal-cursor{animation:none}}
