@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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.1qq4vpdcun5oj.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.390ncx5urfkfu.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.21jp631_3pja2.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-20C4,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.0wgildi0cnwt9.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.31988l_ccedte.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.2tuy5pz7dlieh.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.2dbetqa9o8jxf.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.1uyisp29ctx0d.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.1rgnod-3esatf.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-20C4,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.0r6juujl39pe6.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"}
.visible{visibility:visible}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg:#06101c;--bg-deep:#030a12;--panel:#0a1a2b;--panel-light:#10263b;--green:#42e8a4;--green-bright:#72ffc1;--cyan:#42dfff;--text:#f5f9fc;--muted:#aab9c8;--dim:#687e93;--border:#aac3dc26;--mouse-x:50vw;--mouse-y:50vh}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:DM Sans,sans-serif}body,button,a{-webkit-font-smoothing:antialiased}button{font:inherit}a{color:inherit;text-decoration:none}::selection{background:#42e8a440}.site{background:radial-gradient(circle at 10% 10%,#42e8a417,#0000 28%),radial-gradient(circle at 90% 20%,#42dfff14,#0000 27%),linear-gradient(135deg,#06101c 0%,#081725 50%,#040d17 100%);min-height:100vh;position:relative;overflow:hidden}.scroll-progress{z-index:999;background:linear-gradient(90deg, var(--green), var(--cyan));height:3px;position:fixed;top:0;left:0;box-shadow:0 0 15px #42e8a4cc,0 0 30px #42dfff59}.mouse-glow{z-index:0;left:calc(var(--mouse-x) - 300px);top:calc(var(--mouse-y) - 300px);pointer-events:none;filter:blur(20px);background:radial-gradient(circle,#42e8a417,#0000 68%);border-radius:50%;width:600px;height:600px;transition:left .5s,top .5s;position:fixed}.grid-background{z-index:0;pointer-events:none;opacity:.3;background-image:linear-gradient(#96b4cd0e 1px,#0000 1px),linear-gradient(90deg,#96b4cd0e 1px,#0000 1px);background-size:55px 55px;animation:25s linear infinite gridMove;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.ambient-orb{z-index:0;pointer-events:none;filter:blur(70px);opacity:.12;border-radius:50%;position:fixed}.orb-a{background:var(--green);width:350px;height:350px;animation:12s ease-in-out infinite floatingOrb;top:20%;left:-150px}.orb-b{background:var(--cyan);width:300px;height:300px;animation:15s ease-in-out infinite floatingOrbReverse;top:55%;right:-100px}.navbar{z-index:100;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#040c16bf;border-bottom:1px solid #96b4cd17;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:18px 28px;display:flex}.logo{letter-spacing:.08em;font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:700}.logo span,footer span{color:var(--green)}.nav-links{align-items:center;gap:25px;display:flex}.nav-links a{color:#b3c0ce;font-size:13px;font-weight:500;transition:color .25s,transform .25s;position:relative}.nav-links a:after{content:"";background:var(--green);width:0;height:1px;transition:width .3s;position:absolute;bottom:-7px;left:0}.nav-links a:hover{color:#fff;transform:translateY(-2px)}.nav-links a:hover:after{width:100%}.nav-resume{background:#42e8a40f;border:1px solid #42e8a459;border-radius:7px;padding:10px 16px;box-shadow:inset 0 0 20px #42e8a408;color:var(--green)!important}.nav-resume:hover{box-shadow:0 0 20px #42e8a41f,inset 0 0 20px #42e8a40f}.hero{z-index:2;align-items:center;min-height:950px;padding:155px 28px 100px;display:flex;position:relative;overflow:hidden}.hero-grid-lines{pointer-events:none;opacity:.4;background:linear-gradient(90deg,#0000 49.8%,#42e8a414 50%,#0000 50.2%);position:absolute;inset:0}.hero-inner{grid-template-columns:.95fr 1.05fr;align-items:center;gap:70px;width:100%;max-width:1240px;margin:auto;display:grid}.availability{color:#7cebbb;letter-spacing:.1em;background:#42e8a40e;border:1px solid #42e8a440;border-radius:999px;align-items:center;gap:9px;padding:9px 14px;font-family:monospace;font-size:10px;animation:4s ease-in-out infinite badgeFloat;display:inline-flex}.availability span{background:var(--green);width:7px;height:7px;box-shadow:0 0 15px var(--green);border-radius:50%;animation:2s infinite pulse}.terminal-label{color:#8297ab;margin-top:32px;font-family:monospace;font-size:14px}.terminal-label span{color:var(--green)}.hero h1{letter-spacing:-.075em;margin:14px 0 0;font-family:Space Grotesk,sans-serif;font-size:clamp(72px,8vw,115px);line-height:.84;animation:1s both heroTextIn}.hero h1 em{color:#0000;-webkit-text-stroke:1px #f5f9fcb3;font-style:normal;transition:color .4s,-webkit-text-stroke .4s}.hero h1:hover em{color:var(--green);-webkit-text-stroke:0 transparent}.hero-role{color:#e1e9f0;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;font-family:Space Grotesk,sans-serif;font-size:27px;display:flex}.hero-role b{color:var(--green);font-weight:500;animation:5s linear infinite spinSlow}.hero-description{color:#b7c4d1;max-width:650px;margin-top:26px;font-size:19px;line-height:1.85}.hero-description strong{color:#f3f7fa}.hero-actions{gap:12px;margin-top:36px;display:flex}.button-primary,.button-secondary{border-radius:8px;align-items:center;gap:18px;padding:15px 20px;font-size:14px;font-weight:600;transition:transform .3s,box-shadow .3s,background .3s,border-color .3s;display:inline-flex}.button-primary{color:#04120d;background:var(--green)}.button-primary:hover{transform:translateY(-5px)scale(1.02);box-shadow:0 18px 45px #42e8a438,0 0 30px #42e8a41a}.button-primary span{transition:transform .3s}.button-primary:hover span{transform:translate(6px)}.button-secondary{border:1px solid var(--border);color:#dbe5ee;background:#0f1e2fb3}.button-secondary:hover{color:var(--green);border-color:#42e8a473;transform:translateY(-5px);box-shadow:0 15px 40px #0003}.hero-stats{border-top:1px solid #a0b9d21f;gap:35px;margin-top:55px;padding-top:22px;display:flex}.hero-stats div{align-items:center;gap:10px;display:flex}.hero-stats strong{color:var(--green);font-family:Space Grotesk,sans-serif;font-size:29px}.hero-stats span{color:#64798e;font-family:monospace;font-size:8px;line-height:1.4}.security-visual{height:620px;transform-style:preserve-3d;background:radial-gradient(circle,#42e8a414,#0000 35%),#051220b8;border:1px solid #96b9d229;border-radius:25px;transition:transform .5s,border-color .5s;position:relative;overflow:hidden;box-shadow:0 40px 100px #00000059,inset 0 1px #ffffff0d}.security-visual:hover{border-color:#42e8a459;transform:perspective(1000px)rotateX(2deg)rotateY(-2deg)}.visual-grid{opacity:.35;background-image:linear-gradient(#42e8a412 1px,#0000 1px),linear-gradient(90deg,#42e8a412 1px,#0000 1px);background-size:42px 42px;animation:15s linear infinite gridMove;position:absolute;inset:0}.orbit{pointer-events:none;border:1px solid #42e8a42e;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-large{width:490px;height:490px;animation:18s linear infinite orbitRotate}.orbit-medium{border-color:#42dfff33;width:360px;height:360px;animation:13s linear infinite orbitRotateReverse}.orbit-small{border-style:dashed;width:250px;height:250px;animation:9s linear infinite orbitRotate}.security-core{background:radial-gradient(circle,#42e8a42b,#051320f2 67%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:230px;height:230px;animation:5s ease-in-out infinite coreFloat;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 50px #42e8a41f,inset 0 0 40px #42e8a414}.core-ring{border:1px solid #42e8a426;border-radius:50%;position:absolute;inset:-15px}.ring-one{animation:2.5s ease-out infinite pulseRing}.ring-two{border-color:#42dfff1a;animation:2.5s ease-out 1.2s infinite pulseRing;inset:-30px}.core-shield{color:var(--green);text-shadow:0 0 30px #42e8a4a6;font-size:50px;line-height:1;animation:2.2s ease-in-out infinite shieldPulse}.security-core strong{color:#f4f9fc;letter-spacing:.05em;margin-top:14px;font-family:Space Grotesk,sans-serif;font-size:20px}.security-core>span{color:var(--green);letter-spacing:.15em;margin-top:2px;font-family:monospace;font-size:10px}.core-status{color:#6d8398;align-items:center;gap:6px;margin-top:16px;font-family:monospace;font-size:8px;display:flex}.core-status i{background:var(--green);width:5px;height:5px;box-shadow:0 0 10px var(--green);border-radius:50%}.visual-node{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071727d1;border:1px solid #96b9d229;border-radius:10px;align-items:center;gap:11px;padding:12px 14px;animation:5s ease-in-out infinite nodeFloat;display:flex;position:absolute;box-shadow:0 15px 30px #0000002e}.visual-node:hover{border-color:#42e8a473;box-shadow:0 0 25px #42e8a41f,0 15px 30px #00000040}.visual-node strong{color:#dce8ef;font-family:Space Grotesk,sans-serif;font-size:11px;display:block}.visual-node small{color:#60768b;margin-top:4px;font-family:monospace;font-size:7px;display:block}.node-icon{width:31px;height:31px;color:var(--green);background:#42e8a40d;border:1px solid #42e8a433;border-radius:7px;place-items:center;font-family:monospace;display:grid}.node-top{top:70px;left:50%;transform:translate(-50%)}.node-right{animation-delay:1s;top:43%;right:25px}.node-left{animation-delay:2s;top:43%;left:25px}.node-bottom{animation-delay:3s;bottom:70px;left:50%;transform:translate(-50%)}.visual-data{color:#60758a;font-family:monospace;font-size:8px;animation:3s infinite dataBlink;position:absolute}.visual-data span{display:block}.visual-data strong{color:var(--green);margin-top:5px;display:block}.data-one{top:20px;right:20px}.data-two{animation-delay:1.2s;bottom:20px;left:20px}.visual-scan{background:linear-gradient(90deg, transparent, var(--green), transparent);height:1px;box-shadow:0 0 15px var(--green);animation:5s linear infinite visualScan;position:absolute;left:0;right:0}.section-kicker{color:var(--green);letter-spacing:.14em;font-family:monospace;font-size:11px;font-weight:600}.about-section,.experience-section,.projects-section,.skills-section,.contact-section{z-index:2;position:relative}.about-section{grid-template-columns:.85fr 1.15fr;align-items:center;gap:100px;max-width:1240px;margin:auto;padding:170px 28px;display:grid}.about-left h2,.skills-heading h2{letter-spacing:-.06em;margin:25px 0 0;font-family:Space Grotesk,sans-serif;font-size:clamp(52px,5vw,74px);line-height:.98}.about-left h2 span,.skills-heading h2 span,.projects-header h2 span{color:#687d92}.about-left>p{color:#b2c0ce;max-width:560px;margin-top:30px;font-size:17px;line-height:1.9}.profile-panel{border:1px solid var(--border);background:linear-gradient(145deg,#10263cd6,#071321b8);border-radius:16px;padding:32px;transition:transform .5s,border-color .5s;position:relative;overflow:hidden}.profile-panel:hover{border-color:#42e8a44d;transform:translateY(-8px)}.profile-glow{filter:blur(45px);background:#42e8a41a;border-radius:50%;width:300px;height:300px;animation:7s ease-in-out infinite floatingOrb;position:absolute;top:-140px;right:-120px}.profile-panel-header,.profile-footer{z-index:2;color:#688097;justify-content:space-between;font-family:monospace;font-size:10px;display:flex;position:relative}.profile-grid{z-index:2;border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:1fr 1fr;margin-top:32px;display:grid;position:relative}.profile-stat{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:115px;padding:21px;transition:background .3s,transform .3s}.profile-stat:hover{background:#42e8a40b;transform:translateY(-3px)}.profile-stat span{color:#64798d;font-family:monospace;font-size:9px;display:block}.profile-stat strong{color:#e5edf3;margin-top:14px;font-family:Space Grotesk,sans-serif;font-size:13px;display:block}.profile-tags{z-index:2;flex-wrap:wrap;gap:8px;margin-top:22px;display:flex;position:relative}.profile-tags span,.tags span{color:#8297aa;background:#ffffff04;border:1px solid #a0b9d224;border-radius:5px;padding:7px 10px;font-family:monospace;font-size:9px;transition:color .25s,border-color .25s,background .25s}.profile-tags span:hover,.tags span:hover{color:var(--green);background:#42e8a40d;border-color:#42e8a459}.profile-scan{z-index:2;background:#a0b9d214;height:2px;margin-top:30px;position:relative;overflow:hidden}.profile-scan div{background:var(--green);width:35%;height:100%;box-shadow:0 0 15px var(--green);animation:2.8s ease-in-out infinite scan}.profile-footer{z-index:2;margin-top:18px;position:relative}.profile-footer b{color:var(--green)}.experience-section{max-width:1240px;margin:auto;padding:170px 28px}.experience-intro h2,.projects-header h2{letter-spacing:-.06em;margin-top:23px;font-family:Space Grotesk,sans-serif;font-size:clamp(48px,5vw,70px);line-height:.98}.experience-intro p{color:#8ca0b3;margin-top:22px;font-size:15px}.experience-layout{grid-template-columns:.85fr 1.15fr;gap:70px;margin-top:75px;display:grid}.timeline{position:relative}.timeline-line{background:linear-gradient(to bottom, var(--green), #42e8a40d);width:1px;position:absolute;top:12px;bottom:20px;left:5px}.timeline-item{z-index:2;width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:22px 1fr 20px;gap:18px;padding:17px 0 35px;transition:transform .3s;display:grid;position:relative}.timeline-item:hover{transform:translate(7px)}.timeline-dot{background:var(--bg);border:2px solid #30465b;border-radius:50%;width:11px;height:11px;margin-top:5px;transition:all .4s}.timeline-item.active .timeline-dot{border-color:var(--green);background:var(--green);box-shadow:0 0 17px #42e8a48c,0 0 30px #42e8a433}.timeline-content>span{color:#63798e;font-family:monospace;font-size:10px}.timeline-content h3{color:#e0e9f0;margin-top:9px;font-family:Space Grotesk,sans-serif;font-size:19px}.timeline-content p{color:#8095a9;margin-top:6px;font-size:13px;line-height:1.5}.timeline-item>b{color:#52677c;transition:all .3s}.timeline-item.active>b{color:var(--green);transform:translate(6px)}.experience-detail{border:1px solid var(--border);background:radial-gradient(circle at 90% 10%,#42e8a41a,#0000 30%),#091727b3;border-radius:16px;min-height:470px;padding:38px;animation:.45s detailIn;position:relative;overflow:hidden}.experience-detail:before{content:"";background:linear-gradient(90deg, transparent, var(--green), transparent);width:100%;height:1px;animation:4s linear infinite borderSweep;position:absolute;top:0;left:-100%}.detail-top{justify-content:space-between;align-items:center;display:flex}.detail-top>span{color:var(--green);font-family:monospace;font-size:12px}.status-badge{color:var(--green);background:#42e8a40f;border:1px solid #42e8a440;border-radius:5px;padding:7px 10px;font-family:monospace;font-size:9px}.experience-detail h3{color:#f2f7fa;letter-spacing:-.04em;margin-top:42px;font-family:Space Grotesk,sans-serif;font-size:34px;line-height:1.05}.detail-company{color:#8296a9;margin-top:12px;font-size:14px}.detail-summary{color:#b1bfcc;margin-top:30px;font-size:16px;line-height:1.8}.detail-divider{background:var(--border);height:1px;margin:30px 0}.detail-list{gap:15px;display:grid}.detail-list div{gap:13px;display:flex}.detail-list span{color:var(--green);font-family:monospace}.detail-list p{color:#9cafbf;margin:0;font-size:14px;line-height:1.65}.projects-section{max-width:1300px;margin:auto;padding:170px 28px}.projects-header{justify-content:space-between;align-items:end;display:flex}.project-counter{align-items:end;gap:12px;display:flex}.project-counter strong{color:var(--green);font-family:Space Grotesk,sans-serif;font-size:60px;line-height:.8}.project-counter span{color:#60758a;font-family:monospace;font-size:9px;line-height:1.5}.project-feature-grid{grid-template-rows:auto auto;grid-template-columns:1.15fr .85fr;gap:17px;margin-top:65px;display:grid}.project-feature{border:1px solid var(--border);background:#091829ad;border-radius:16px;transition:transform .45s,border-color .45s,background .45s,box-shadow .45s;position:relative;overflow:hidden}.project-feature:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#42e8a412,#0000);width:70%;height:100%;transition:left .7s;position:absolute;top:0;left:-120%;transform:skew(-18deg)}.project-feature:hover:after{left:150%}.project-feature:hover{background:#0c1f33d9;border-color:#42e8a459;transform:translateY(-7px);box-shadow:0 25px 60px #00000038}.project-1{grid-row:span 2}.project-main{z-index:2;width:100%;min-height:310px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:32px;position:relative}.project-1 .project-main{min-height:650px}.project-number-large{color:#42e8a40f;font-family:Space Grotesk,sans-serif;font-size:110px;font-weight:700;line-height:1;transition:color .4s,transform .4s;position:absolute;top:20px;right:25px}.project-feature:hover .project-number-large{color:#42e8a41c;transform:translateY(-5px)}.project-meta{color:#63788d;justify-content:space-between;font-family:monospace;font-size:9px;display:flex}.project-meta span:first-child{color:var(--green)}.project-icon{color:#42e8a499;margin-top:60px;font-size:46px;transition:transform .6s,color .3s}.project-feature:hover .project-icon{color:var(--green);transform:rotate(15deg)scale(1.25)}.project-title-row{justify-content:space-between;align-items:center;gap:20px;margin-top:20px;display:flex}.project-title-row h3{color:#edf4f8;letter-spacing:-.035em;margin:0;font-family:Space Grotesk,sans-serif;font-size:27px;line-height:1.1}.project-expand{color:#73889d;border:1px solid #a0b9d226;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;transition:all .3s;display:grid}.project-feature:hover .project-expand{color:var(--green);border-color:#42e8a466;transform:rotate(90deg)}.project-main>p{color:#a7b7c6;max-width:620px;margin-top:17px;font-size:15px;line-height:1.8}.project-bottom{justify-content:space-between;align-items:end;gap:20px;margin-top:32px;display:flex}.project-status{color:#71869a;white-space:nowrap;font-family:monospace;font-size:9px}.project-status:before{content:"● ";color:var(--green)}.project-details{z-index:3;grid-template-columns:1fr auto;gap:30px;padding:0 32px 32px;animation:.35s detailIn;display:grid;position:relative}.project-details>div:first-child{border-top:1px solid var(--border);padding-top:23px}.project-details span{color:var(--green);font-family:monospace;font-size:9px}.project-details p{color:#9cafbf;max-width:650px;margin-top:11px;font-size:14px;line-height:1.8}.project-detail-state{color:#61758a;white-space:nowrap;align-self:center;font-family:monospace;font-size:9px}.skills-section{max-width:1240px;margin:auto;padding:170px 28px}.skills-interface{border:1px solid var(--border);background:#081524b3;border-radius:16px;grid-template-columns:240px 1fr;margin-top:70px;display:grid;overflow:hidden;box-shadow:0 25px 70px #0000002e}.skill-tabs{border-right:1px solid var(--border);background:#050f1b80;padding:17px}.skill-tabs button{color:#788da1;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:30px 1fr;align-items:center;gap:10px;width:100%;padding:17px 13px;font-family:monospace;font-size:11px;transition:color .25s,background .25s,transform .25s;display:grid}.skill-tabs button span{color:#445b70}.skill-tabs button:hover,.skill-tabs button.active{color:var(--green);background:#42e8a412;transform:translate(4px)}.skill-tabs button.active span{color:var(--green)}.skill-display{min-height:480px}.skill-terminal-top{border-bottom:1px solid var(--border);color:#64798d;justify-content:space-between;padding:17px 22px;font-family:monospace;font-size:10px;display:flex}.skill-terminal-top span:last-child{color:var(--green);animation:2s infinite dataBlink}.skill-terminal-body{padding:40px}.terminal-command{color:#6f8499;font-family:monospace;font-size:11px}.terminal-command span{color:var(--green)}.skill-terminal-body h3{color:#f0f6fa;margin-top:32px;font-family:Space Grotesk,sans-serif;font-size:40px}.skill-list{margin-top:30px}.skill-row{border-bottom:1px solid #a0b9d214;grid-template-columns:30px 200px 1fr;align-items:center;gap:20px;padding:15px 0;animation:.5s both skillIn;display:grid}.skill-row>span{color:#4e657b;font-family:monospace;font-size:9px}.skill-row strong{color:#cdd9e3;font-family:Space Grotesk,sans-serif;font-size:14px}.skill-progress{background:#a0b9d214;border-radius:10px;height:4px;overflow:hidden}.skill-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--cyan));height:100%;animation:1s both progressIn;display:block;box-shadow:0 0 12px #42e8a44d}.terminal-bottom{color:#566b80;justify-content:space-between;margin-top:30px;font-family:monospace;font-size:9px;display:flex}.terminal-bottom i{background:var(--green);width:6px;height:11px;animation:1s infinite blink}.contact-section{max-width:1240px;margin:auto;padding:190px 28px 200px;overflow:hidden}.contact-section h2{letter-spacing:-.07em;margin-top:25px;font-family:Space Grotesk,sans-serif;font-size:clamp(62px,8vw,110px);line-height:.88;position:relative}.contact-section h2 span{color:#60758a}.contact-section>p{color:#a3b3c2;max-width:560px;margin-top:32px;font-size:17px;line-height:1.8;position:relative}.contact-actions{margin-top:48px;position:relative}.contact-email{color:#dce8ef;border-bottom:1px solid #42e8a44d;justify-content:space-between;align-items:center;max-width:720px;padding:20px 0;font-family:Space Grotesk,sans-serif;font-size:clamp(18px,2vw,26px);transition:color .3s,border-color .3s;display:flex}.contact-email:hover{color:var(--green);border-color:var(--green)}.contact-email b{font-size:27px;transition:transform .3s}.contact-email:hover b{transform:translate(8px)}.contact-links{gap:28px;margin-top:32px;display:flex}.contact-links a{color:#7b90a4;font-family:monospace;font-size:11px;transition:all .25s}.contact-links a:hover{color:var(--green);transform:translateY(-3px)}.contact-orbit{pointer-events:none;border:1px solid #42e8a414;border-radius:50%;position:absolute}.orbit-one{width:650px;height:650px;animation:18s linear infinite orbitRotate;top:30px;right:-240px}.orbit-two{border-color:#42dfff0f;width:430px;height:430px;animation:14s linear infinite orbitRotateReverse;top:140px;right:-110px}.contact-particle{background:var(--green);width:5px;height:5px;box-shadow:0 0 15px var(--green);border-radius:50%;animation:5s ease-in-out infinite particleFloat;position:absolute}.particle-one{top:30%;right:30%}.particle-two{animation-delay:1.5s;top:55%;right:15%}.particle-three{animation-delay:3s;top:75%;right:38%}footer{z-index:2;border-top:1px solid var(--border);color:#60758a;justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:30px 28px;font-family:monospace;font-size:10px;display:flex;position:relative}footer>div{color:#d5e0e9;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(45px)}.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.16s}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 12px #42e8a4a6}50%{opacity:.45;box-shadow:0 0 3px #42e8a426}}@keyframes blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes gridMove{0%{background-position:0 0}to{background-position:55px 55px}}@keyframes floatingOrb{0%,to{transform:translate(0)}50%{transform:translate(35px,-30px)}}@keyframes floatingOrbReverse{0%,to{transform:translate(0)}50%{transform:translate(-40px,25px)}}@keyframes badgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes heroTextIn{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitRotate{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes orbitRotateReverse{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes coreFloat{0%,to{transform:translate(-50%,-50%)translateY(0)}50%{transform:translate(-50%,-50%)translateY(-10px)}}@keyframes shieldPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes pulseRing{0%{opacity:.8;transform:scale(.92)}70%{opacity:0;transform:scale(1.08)}to{opacity:0}}@keyframes nodeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dataBlink{0%,to{opacity:.45}50%{opacity:1}}@keyframes visualScan{0%{opacity:0;top:0}15%{opacity:1}50%{opacity:1}to{opacity:0;top:100%}}@keyframes scan{0%{transform:translate(-100%)}50%{transform:translate(180%)}to{transform:translate(180%)}}@keyframes borderSweep{0%{left:-100%}to{left:100%}}@keyframes detailIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes skillIn{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}@keyframes progressIn{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes particleFloat{0%,to{transform:translate(0)}50%{transform:translate(25px,-35px)}}@keyframes scrollLine{0%{opacity:0;transform-origin:top;transform:scaleY(.2)}50%{opacity:1;transform:scaleY(1)}to{opacity:0;transform-origin:bottom;transform:scaleY(.2)}}@media (max-width:1100px){.hero-inner{grid-template-columns:1fr}.security-visual{width:100%;max-width:800px;margin:auto}.about-section,.experience-layout{grid-template-columns:1fr;gap:60px}}@media (max-width:950px){.nav-links{gap:15px}.nav-links a:nth-child(-n+4){display:none}.project-feature-grid{grid-template-columns:1fr 1fr}.project-1{grid-row:auto}.project-1 .project-main{min-height:400px}}@media (max-width:700px){.nav-inner{padding:16px 20px}.nav-links a:not(.nav-resume){display:none}.hero{min-height:auto;padding:125px 20px 110px}.hero h1{font-size:65px}.hero-role{font-size:20px}.hero-description{font-size:17px}.hero-actions{flex-direction:column}.button-primary,.button-secondary{justify-content:center}.hero-stats{gap:15px}.hero-stats strong{font-size:22px}.security-visual{height:520px}.orbit-large{width:390px;height:390px}.orbit-medium{width:290px;height:290px}.orbit-small{width:210px;height:210px}.security-core{width:180px;height:180px}.visual-node{padding:9px}.visual-node strong{font-size:8px}.visual-node small{font-size:6px}.node-right{right:10px}.node-left{left:10px}.about-section,.experience-section,.projects-section,.skills-section,.contact-section{padding:110px 20px}.about-left h2,.skills-heading h2{font-size:52px}.about-left>p{font-size:16px}.profile-grid{grid-template-columns:1fr}.experience-detail{min-height:auto;padding:27px}.experience-detail h3{font-size:27px}.detail-summary{font-size:15px}.projects-header{flex-direction:column;align-items:start}.project-counter{margin-top:28px}.project-feature-grid{grid-template-columns:1fr}.project-1 .project-main{min-height:420px}.project-main{min-height:350px}.project-title-row h3{font-size:23px}.project-details,.skills-interface{grid-template-columns:1fr}.skill-tabs{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.skill-row{grid-template-columns:25px 1fr;gap:10px}.skill-progress{grid-column:2}.skill-terminal-body{padding:25px}.contact-section h2{font-size:58px}.contact-section>p{font-size:16px}.contact-links{flex-wrap:wrap}footer{text-align:center;flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.symbol-background{z-index:0;pointer-events:none;opacity:.18;color:#3fe5aa;font-family:monospace;position:fixed;inset:0;overflow:hidden}.symbol-background span{filter:blur(.3px);font-size:clamp(45px,8vw,120px);font-weight:200;position:absolute}.symbol-background span:first-child{top:13%;left:5%}.symbol-background span:nth-child(2){top:26%;right:8%}.symbol-background span:nth-child(3){top:48%;left:12%}.symbol-background span:nth-child(4){top:67%;right:13%}.symbol-background span:nth-child(5){top:84%;left:35%}.symbol-background span:nth-child(6){top:91%;right:5%}.site>section,.site>nav,.site>footer,.resume-page>nav,.resume-page>section,.resume-page>footer{z-index:1;position:relative}.nav-links a{font-size:clamp(13px,1.05vw,16px)}.section-kicker,.project-meta,.project-status,.timeline-content span,.profile-panel-header,.profile-stat span,.detail-top,.skill-terminal-top,.terminal-command,.project-details span,.hero-scroll,.visual-node small{font-size:max(12px,.85rem)}.timeline-content p,.detail-summary,.project-main p,.project-details p,.about-left p,.experience-intro p,.contact-section>p{font-size:clamp(16px,1.25vw,19px);line-height:1.75}.tags span,.profile-tags span,.skill-tabs button,.contact-links a,.detail-list p{font-size:clamp(13px,1vw,16px)}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #50f5b6}.project-visit{color:#7df8ca;text-align:left;cursor:pointer;background:#29bf881a;border:1px solid #50e5b2;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.project-visit small{color:#b4c6c1;font-size:12px;font-weight:400}.project-visit:hover{background:#29bf883d}.work-notice{z-index:100;color:#e8fff6;background:#10251e;border:1px solid #48dda6;border-radius:10px;align-items:center;gap:24px;max-width:min(480px,100vw - 40px);padding:18px 20px;font-size:15px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 45px #0009}.work-notice button{color:#e8fff6;cursor:pointer;background:0 0;border:0;font-size:26px}.resume-page{color:#f1f9f6;background:#070e0c;min-height:100vh;position:relative;overflow:hidden}.resume-content{width:min(1100px,100% - 40px);margin:0 auto;padding:85px 0 100px}.resume-content h1{margin:24px 0;font-size:clamp(42px,6vw,80px);line-height:1.1}.resume-content h1 em{color:#59e9b1;font-style:normal}.resume-content>p{color:#b9cfc5;font-size:18px}.resume-actions{flex-wrap:wrap;gap:16px;margin:35px 0;display:flex}.resume-actions a{text-decoration:none}.resume-frame{background:#101b17;border:1px solid #315547;border-radius:14px;overflow:hidden;box-shadow:0 22px 70px #0008}.resume-frame-bar{color:#b2d5c5;border-bottom:1px solid #315547;justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;font-family:monospace;font-size:13px;display:flex}.resume-dots{color:#59e9b1;letter-spacing:4px}.resume-frame iframe{background:#fff;border:0;width:100%;height:78vh;min-height:540px}.resume-return{color:#76f3c0;margin-top:30px;font-size:16px;text-decoration:none;display:inline-block}.resume-return:hover{text-decoration:underline}@media (max-width:700px){.symbol-background{opacity:.1}.resume-content{padding:55px 0 70px}.resume-frame iframe{height:65vh;min-height:400px}.resume-frame-bar span:last-child{display:none}}.project-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-github{color:#e5f0fb;background:#aac3dc14;border-color:#aac3dc59}.project-pending{color:#c4d4e2;letter-spacing:.03em;border:1px solid #aac3dc47;border-radius:8px;padding:13px 18px;font-size:15px;display:inline-flex}.project-visit:focus-visible,.navbar a:focus-visible,.project-main:focus-visible,button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #72ffc1}.resume-page{background:var(--bg);color:var(--text)}.resume-frame{background:var(--panel);border-color:var(--border)}.resume-frame-bar{border-color:var(--border);color:var(--muted)}.resume-content>p{color:var(--muted)}.resume-page .nav-links a{font-size:clamp(14px,1vw,16px)}@media (max-width:700px){.project-actions{flex-direction:column;align-items:stretch}.project-visit{justify-content:center}.resume-frame iframe{min-height:450px}}
