@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_32dfc0ee-module__kJDCNG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_32dfc0ee-module__kJDCNG__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_d948fcda-module__6b_2yG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_d948fcda-module__6b_2yG__variable{--font-display:"Space Grotesk","Space Grotesk Fallback"}
:root{--color-bg:#0a0a0a;--color-bg-secondary:#0d0d0d;--color-bg-tertiary:#141414;--color-terminal:#4ade80;--color-terminal-dim:#4ade8055;--color-terminal-glow:#4ade8014;--color-cyan:#60a5fa;--color-cyan-dim:#60a5fa55;--color-text:#e0e0e0;--color-text-secondary:#888;--color-text-muted:#555;--color-border:#0f83;--color-border-dim:#ffffff14;--font-mono:var(--font-mono),"JetBrains Mono","Fira Code","Consolas",monospace;--font-display:var(--font-display),"Space Grotesk",system-ui,sans-serif;--ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-glitch:cubic-bezier(.25,.46,.45,.94);--navbar-height:80px;--section-padding:clamp(100px,20vh,180px);--hub-size:60px;--hub-peek:35px;--hub-icon-raise:15px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-mono);background:var(--color-bg);color:var(--color-text);padding-bottom:200px;line-height:1.7;position:relative;overflow-x:hidden}.desktop-notice{background:var(--color-bg);z-index:99999;text-align:center;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.desktop-notice-content{max-width:500px}.desktop-notice-icon{margin-bottom:24px;font-size:3rem}.desktop-notice-title{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:16px;font-size:1.5rem;font-weight:600}.desktop-notice-text{color:var(--color-text-secondary);margin-bottom:24px;font-size:.9375rem;line-height:1.7}.desktop-notice-dimensions{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);margin-bottom:32px;padding:12px 20px;font-size:.8rem;display:inline-block}.desktop-notice-btn{border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:12px 24px;font-size:.8rem;transition:all .2s;display:inline-flex}.desktop-notice-btn:hover{border-color:var(--color-terminal);color:var(--color-terminal)}@media (max-width:1024px){.desktop-notice{display:flex}.desktop-notice.dismissed{display:none}}a{color:inherit;text-decoration:none}::selection{background:var(--color-terminal);color:var(--color-bg)}.main-content{opacity:0;transition:opacity .8s var(--ease-out-expo)}.main-content.visible{opacity:1}.loader{background:var(--color-bg);z-index:10000;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.loader-exit{opacity:0;visibility:hidden}.loader-content{text-align:center;color:var(--color-terminal)}.loader-logo{font-family:var(--font-mono);justify-content:center;gap:4px;margin-bottom:24px;display:flex}.loader-letter{letter-spacing:.1em;font-size:3rem;font-weight:700}.loader-text{letter-spacing:.3em;text-transform:uppercase;opacity:.7;margin-bottom:32px;font-size:.75rem;font-weight:400}.loader-progress{background:var(--color-border-dim);width:300px;height:2px;margin:0 auto 16px;position:relative;overflow:hidden}.loader-progress:before{content:"";background:var(--color-terminal);box-shadow:0 0 10px var(--color-terminal);position:absolute;inset:0}.loader-progress-bar{background:var(--color-terminal);z-index:1;height:100%;position:relative}.loader-percentage{font-variant-numeric:tabular-nums;text-shadow:0 0 20px var(--color-terminal-glow);font-size:2rem;font-weight:700}.navbar{height:var(--navbar-height);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-dim);background:#0a0a0acc;position:fixed;top:0;left:0;right:0}.navbar-scrolled{border-bottom-color:var(--color-border)}.navbar-container{justify-content:space-between;align-items:center;max-width:1400px;height:100%;margin:0 auto;padding:0 clamp(20px,5vw,60px);display:flex}.navbar-logo{align-items:center;display:flex}.logo-text{font-family:var(--font-mono);color:var(--color-terminal);letter-spacing:.05em;font-size:1.25rem;font-weight:700}.navbar-links{gap:2rem;display:flex}.nav-link{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;padding:8px 0;font-size:.8rem;font-weight:500;transition:color .2s;position:relative}.nav-link:hover{color:var(--color-terminal)}.navbar-right{align-items:center;gap:1.5rem;display:flex}.navbar-cta{color:var(--color-bg);background:var(--color-terminal);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;padding:10px 20px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.navbar-cta:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.navbar-toggle span{background:var(--color-terminal);width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.navbar-toggle.active span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggle.active span:last-child{transform:translateY(-7px)rotate(-45deg)}@media (max-width:768px){.navbar-links{top:var(--navbar-height);background:var(--color-bg);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:opacity .3s,visibility .3s;position:fixed;bottom:0;left:0;right:0}.navbar-links.active{opacity:1;visibility:visible}.navbar-toggle{display:flex}.navbar-cta{display:none}}.hero{min-height:100vh;padding:calc(var(--navbar-height) + 60px)clamp(20px,5vw,60px)80px;align-items:center;display:flex;position:relative;overflow:hidden}.hero-blobs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.blob{filter:blur(120px);opacity:.08;border-radius:50%;position:absolute}.blob-1{background:var(--color-terminal);width:800px;height:800px;top:-400px;right:-200px}.hero:before{content:"";background-image:linear-gradient(var(--color-border-dim)1px,transparent 1px),linear-gradient(90deg,var(--color-border-dim)1px,transparent 1px);opacity:.5;background-size:60px 60px;position:absolute;inset:0}.hero-content{z-index:2;text-align:left;max-width:900px;margin-left:clamp(20px,5vw,60px);position:relative}.hero-terminal{font-family:var(--font-mono);color:var(--color-terminal);opacity:.6;align-items:center;gap:12px;margin-bottom:24px;font-size:.875rem;display:flex}.terminal-prompt{color:var(--color-cyan)}.terminal-text{letter-spacing:.05em}.hero-badge{border:1px solid var(--color-border);color:var(--color-terminal);text-transform:uppercase;letter-spacing:.15em;background:0 0;align-items:center;gap:10px;margin-bottom:32px;margin-left:0;padding:8px 16px;font-size:.75rem;display:inline-flex}.badge-dot{background:var(--color-terminal);border-radius:50%;width:8px;height:8px}.hero-title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:32px;font-size:clamp(3rem,10vw,6rem);font-weight:700;line-height:1}.title-line{display:block}.title-name{color:var(--color-terminal);position:relative}.hero-subtitle{color:var(--color-text-secondary);max-width:600px;margin-bottom:40px;font-size:1.125rem;line-height:1.8}.subtitle-highlight{color:var(--color-cyan)}.hero-cta{flex-wrap:wrap;gap:16px;margin-bottom:60px;display:flex}.cta-primary{color:var(--color-bg);background:var(--color-terminal);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;padding:16px 32px;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.cta-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.cta-secondary{color:var(--color-terminal);border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.1em;background:0 0;align-items:center;gap:12px;padding:16px 32px;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.cta-secondary:hover{border-color:var(--color-terminal)}.hero-stats{border-top:1px solid var(--color-border-dim);gap:60px;padding-top:40px;display:flex}.stat{flex-direction:column;gap:8px;display:flex}.stat-number{font-family:var(--font-display);color:var(--color-terminal);text-shadow:0 0 20px var(--color-terminal-glow);font-size:2.5rem;font-weight:700}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.hero-side-info{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.15em;gap:16px;font-size:.7rem;display:flex;position:absolute;bottom:40px;right:clamp(20px,5vw,60px)}.hero-side-info:before{content:"// ";color:var(--color-terminal)}@media (max-width:1024px){.hero-content{max-width:100%}}@media (max-width:640px){.hero-stats{flex-wrap:wrap;gap:32px}.hero-side-info{display:none}}.section-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-terminal);margin-bottom:16px;font-size:.7rem;font-weight:600;display:inline-block}.section-title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:24px;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.section-description{color:var(--color-text-secondary);max-width:600px;font-size:1rem;line-height:1.8}.projects{padding:clamp(120px,15vh,200px) clamp(20px,5vw,60px);position:relative}.projects:before{content:"";background-image:linear-gradient(var(--color-border-dim)1px,transparent 1px),linear-gradient(90deg,var(--color-border-dim)1px,transparent 1px);opacity:.3;background-size:60px 60px;position:absolute;inset:0}.projects-container{z-index:1;max-width:1400px;margin:0 auto;position:relative}.projects-header{text-align:left;max-width:700px;margin-bottom:80px}.projects-grid{gap:32px;display:grid}.project-card:nth-child(odd){margin-left:0}.project-card:nth-child(2n){margin-left:clamp(20px,5vw,60px)}.project-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.project-card:before{content:"";background:var(--accent,var(--color-terminal));transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.project-card:hover{border-color:var(--accent,var(--color-terminal))}.project-card-inner{padding:40px;position:relative}.project-number{font-family:var(--font-mono);color:var(--color-bg-tertiary);font-size:4rem;font-weight:700;line-height:1;position:absolute;top:40px;right:40px}.project-subtitle{font-family:var(--font-mono);color:var(--accent,var(--color-terminal));text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px;font-size:.75rem;font-weight:500}.project-title{font-family:var(--font-display);margin-bottom:16px;font-size:1.75rem;font-weight:600}.project-description{color:var(--color-text-secondary);margin-bottom:24px;font-size:.9375rem;line-height:1.7}.project-tech{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tech-tag{font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;font-size:.7rem;font-weight:500}.project-metrics{flex-wrap:wrap;gap:16px;display:flex}.metric{font-family:var(--font-mono);color:var(--accent,var(--color-terminal));font-size:.8rem;font-weight:600}.project-link{font-family:var(--font-mono);color:var(--color-terminal);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;margin-top:24px;font-size:.8rem;font-weight:500;transition:opacity .2s;display:inline-flex}.project-link:hover{opacity:.7}@media (max-width:900px){.project-card-inner{padding:24px}.project-number{font-size:3rem;top:24px;right:24px}}.experience{background:var(--color-bg-secondary);padding:clamp(100px,18vh,180px) clamp(20px,5vw,60px)}.experience-container{max-width:1200px;margin:0 auto}.experience-header{text-align:left;margin-bottom:60px}.experience-content{display:block}.subsection-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-secondary);margin-bottom:32px;font-size:.8rem;font-weight:600}.current-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:60px;display:grid}.current-card{background:var(--color-bg);border:1px solid var(--color-border-dim);padding:28px}.current-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}.experience-education{margin-top:80px}.timeline{position:relative}.timeline-item{gap:24px;padding-bottom:48px;display:flex;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.marker-dot{background:var(--color-bg-tertiary);border:2px solid var(--color-border-dim);width:12px;height:12px}.marker-dot.active{background:var(--color-terminal);border-color:var(--color-terminal)}.marker-line{background:var(--color-border-dim);flex:1;width:1px;margin-top:8px}.timeline-item:last-child .marker-line{display:none}.timeline-content{flex:1}.timeline-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.timeline-role{font-family:var(--font-display);margin-bottom:4px;font-size:1.125rem;font-weight:600}.timeline-company{color:var(--color-text-secondary);font-size:.875rem}.timeline-period{font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;font-size:.7rem;font-weight:500}.timeline-period.current{color:var(--color-terminal);border-color:var(--color-border)}.timeline-description{margin-bottom:16px;list-style:none}.timeline-description li{color:var(--color-text-secondary);margin-bottom:8px;padding-left:20px;font-size:.9375rem;line-height:1.6;position:relative}.timeline-description li:before{content:">";color:var(--color-terminal);font-family:var(--font-mono);position:absolute;left:0}.timeline-tech{flex-wrap:wrap;gap:8px;display:flex}.tech-pill{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border-dim);text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;font-size:.65rem;font-weight:500}.education-grid{flex-direction:column;gap:20px;display:flex}.education-card{background:var(--color-bg);border:1px solid var(--color-border-dim);padding:24px;transition:border-color .2s}.education-icon{background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);width:40px;height:40px;color:var(--color-terminal);justify-content:center;align-items:center;margin-bottom:16px;display:flex}.education-degree{font-family:var(--font-display);margin-bottom:8px;font-size:1rem;font-weight:600}.education-institution{color:var(--color-cyan);margin-bottom:4px;font-size:.875rem}.education-location{color:var(--color-text-muted);margin-bottom:12px;font-size:.8rem}.education-period{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;font-size:.7rem;font-weight:500}.education-period.current{color:var(--color-terminal);border-color:var(--color-border)}@media (max-width:900px){.experience-content{grid-template-columns:1fr;gap:60px}.current-grid{grid-template-columns:1fr}.timeline-header{flex-direction:column}}.skills{padding:clamp(110px,16vh,190px) clamp(20px,5vw,60px);position:relative}.skills:before{content:"";background-image:linear-gradient(var(--color-border-dim)1px,transparent 1px),linear-gradient(90deg,var(--color-border-dim)1px,transparent 1px);opacity:.3;background-size:60px 60px;position:absolute;inset:0}.skills-container{z-index:1;max-width:1200px;margin:0 auto;position:relative}.skills-header{text-align:left;max-width:600px;margin-bottom:60px}.skills-highlights{flex-wrap:wrap;gap:12px;margin-bottom:60px;display:flex}.highlight-item{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);align-items:center;gap:10px;padding:12px 20px;font-size:.875rem;transition:border-color .2s;display:flex}.highlight-icon{font-size:1.25rem}.highlight-label{font-size:.8rem;font-weight:500}.skills-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skill-category{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:32px}.category-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--color-terminal);margin-bottom:24px;font-size:.75rem;font-weight:600}.skills-list{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border-dim);padding:6px 12px;font-size:.8rem;font-weight:400;transition:border-color .2s,color .2s;display:inline-block}.skill-tag:hover{border-color:var(--color-terminal);color:var(--color-terminal)}@media (max-width:900px){.skills-grid{grid-template-columns:1fr}}.contact{background:var(--color-bg-secondary);padding:clamp(100px,17vh,170px) clamp(20px,5vw,60px) 0}.contact-container{max-width:1200px;margin:0 auto}.contact-header{text-align:left;max-width:600px;margin-bottom:60px}.contact-content{grid-template-columns:1.2fr 1fr;gap:48px;margin-bottom:100px;display:grid}.contact-card{background:var(--color-bg);border:1px solid var(--color-border-dim);padding:40px}.contact-info{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.info-item{flex-direction:column;gap:4px;display:flex}.info-label{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:500}.info-value{font-size:1rem;font-weight:500}.info-link{color:var(--color-cyan);transition:opacity .2s}.info-link:hover{opacity:.7}.social-links{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.social-link{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;padding:12px 20px;font-size:.8rem;font-weight:500;transition:border-color .2s,color .2s;display:flex}.social-link:hover{border-color:var(--color-terminal);color:var(--color-terminal)}.social-link svg{width:18px;height:18px}.contact-cta{color:var(--color-bg);background:var(--color-terminal);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;padding:16px 32px;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.contact-cta:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.contact-activities{background:var(--color-bg);border:1px solid var(--color-border-dim);height:fit-content;padding:32px}.activities-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-secondary);margin-bottom:24px;font-size:.8rem;font-weight:600}.activities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.activity-item{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);flex-direction:column;gap:10px;padding:16px;display:flex}.activity-item h4{font-family:var(--font-display);margin-bottom:4px;font-size:.9375rem;font-weight:600}.activity-lines{flex-direction:column;gap:6px;display:flex}.activity-line{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.75rem;line-height:1.4}.activity-item.is-wide{grid-column:1/-1}.activity-item.is-tall{grid-row:span 2}@media (max-width:900px){.activities-grid{grid-template-columns:1fr}.activity-item.is-wide{grid-column:auto}.contact-content{grid-template-columns:1fr}.contact-card{padding:24px}}.footer{border-top:1px solid var(--color-border-dim);padding:60px 0 40px}.footer-content{text-align:center;flex-direction:column;align-items:center;gap:32px;display:flex}.footer-brand{flex-direction:column;align-items:center;gap:8px;display:flex}.footer-logo{font-family:var(--font-mono);color:var(--color-terminal);font-size:1.5rem;font-weight:700}.footer-tagline{color:var(--color-text-muted);font-size:.875rem}.footer-links{gap:32px;display:flex}.footer-links a{font-family:var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;transition:color .2s}.footer-links a:hover{color:var(--color-terminal)}.footer-copyright{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.75rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim)}::-webkit-scrollbar-thumb:hover{background:var(--color-terminal)}.hub{z-index:2000;bottom:calc(-1*var(--hub-peek));z-index:2000;position:fixed;left:50%;overflow:visible;transform:translate(-50%)}.hub-trigger{width:var(--hub-size);height:var(--hub-size);background:var(--color-bg);border:2px solid var(--color-terminal);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative}.hub-trigger.active{pointer-events:none}.hub-trigger-inner{z-index:1;position:relative}.hamburger-icon{transform:translateY(calc(-1*var(--hub-icon-raise)));flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.hamburger-line{background:var(--color-terminal);border-radius:1px;width:16px;height:2px;transition:all .3s}.hub-trigger-ring{fill:none;width:calc(100% + 16px);height:calc(100% + 16px);stroke:var(--color-terminal);stroke-width:1px;opacity:.3;animation:20s linear infinite hubTriggerSpin;position:absolute;inset:-8px}.hub-trigger-ring-2{opacity:.15;width:calc(100% + 28px);height:calc(100% + 28px);animation-duration:30s;animation-direction:reverse;inset:-14px}@keyframes hubTriggerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hub-menu{pointer-events:none;z-index:9998;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease-out-expo),visibility .5s;background:#000000e6;justify-content:center;align-items:center;display:flex;width:100vw!important;height:100vh!important;position:fixed!important;inset:0!important}.hub-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}.hub-menu-inner{border:1px solid var(--color-terminal-dim);width:350px;height:350px;box-shadow:0 0 50px #00000080,0 0 20px var(--color-terminal-glow);background:#0a0a0afa;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.hub-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hub-line{stroke:var(--color-terminal);stroke-width:1px;opacity:.2;transition:all .2s}.hub-line.active{opacity:.8;stroke-width:2px;filter:drop-shadow(0 0 4px var(--color-terminal))}.hub-ring-svg{fill:none;stroke:var(--color-terminal);stroke-width:1px;opacity:.1;stroke-dasharray:4 4}.hub-ring-svg-2{opacity:.15;stroke-dasharray:8 4}.hub-ring-svg-3{opacity:.08;stroke-dasharray:2 6}.hub-center{background:var(--color-bg);border:2px solid var(--color-terminal);cursor:pointer;pointer-events:auto;z-index:25;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub-center:hover{background:#00ff881a}.hub-center-text{font-family:var(--font-mono);color:var(--color-terminal);font-size:1.25rem;font-weight:400}.hub-segment{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y)));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-dim);cursor:pointer;pointer-events:auto;z-index:20;background:#0a0a0af2;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:65px;height:45px;transition:all .2s;display:flex;position:absolute;top:50%;left:50%}.hub-segment:hover,.hub-segment.active{border-color:var(--color-terminal);background:#00ff8826}.hub-segment-number{font-family:var(--font-mono);color:var(--color-terminal);opacity:.6;font-size:.55rem;font-weight:600}.hub-segment-label{font-family:var(--font-mono);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem;font-weight:600}.hub-segment.active .hub-segment-label,.hub-segment:hover .hub-segment-label{color:var(--color-terminal)}.hub-label{font-family:var(--font-mono);white-space:nowrap;text-align:center;z-index:10000;color:var(--color-text);text-transform:uppercase;letter-spacing:.1em;pointer-events:none;font-size:.875rem;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.hub-label-active{color:var(--color-terminal);text-shadow:0 0 15px var(--color-terminal),0 0 5px var(--color-terminal-dim);font-weight:600}.hub-label-prefix{opacity:.6}.hub-label-hint{color:var(--color-text-secondary);letter-spacing:.1em;margin-top:12px;font-size:.75rem}@media (max-width:768px){:root{--hub-size:50px;--hub-peek:28px;--hub-icon-raise:12px}.hub{bottom:calc(-1*var(--hub-peek))}.hub-menu{width:200px;height:200px}.hub-segment{width:55px;height:38px}.hub-segment-label{font-size:.5rem}}@keyframes hubRingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.c4i-page{background:var(--color-bg);min-height:100vh;padding:120px 0 80px}.c4i-container{max-width:1200px;margin:0 auto;padding:0 40px}.back-link{font-family:var(--font-mono);color:var(--color-terminal);align-items:center;gap:8px;margin-bottom:40px;font-size:.875rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.back-link:hover{opacity:.7}.c4i-header{margin-bottom:60px}.c4i-title{font-family:var(--font-display);margin:16px 0 8px;font-size:3rem;font-weight:700;line-height:1.2}.c4i-subtitle{font-family:var(--font-mono);color:var(--color-terminal);text-transform:uppercase;letter-spacing:.1em;font-size:1rem}.c4i-content{flex-direction:column;gap:60px;display:flex}.c4i-section{flex-direction:column;gap:24px;display:flex}.c4i-section h2{font-family:var(--font-display);margin-bottom:8px;font-size:2rem;font-weight:600}.c4i-section p{color:var(--color-text-secondary);font-size:1rem;line-height:1.8}.c4i-visual-diagram{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);flex-direction:column;align-items:center;gap:24px;margin:40px 0;padding:60px 40px;display:flex}.diagram-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:32px;display:flex}.diagram-node{flex-direction:column;align-items:center;gap:12px;min-width:120px;display:flex}.diagram-icon{background:var(--color-bg-tertiary);border:2px solid var(--color-terminal);width:80px;height:80px;color:var(--color-terminal);border-radius:12px;justify-content:center;align-items:center;display:flex}.diagram-icon svg{width:32px;height:32px}.diagram-label{font-family:var(--font-mono);color:var(--color-terminal);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.diagram-arrow,.diagram-flow-down{font-family:var(--font-mono);color:var(--color-terminal);opacity:.6;font-size:1.5rem}.diagram-process{background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);flex-direction:column;align-items:center;gap:8px;min-width:200px;padding:20px 32px;display:flex}.diagram-process-title{font-family:var(--font-mono);color:var(--color-terminal);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.diagram-process-desc{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:.75rem}.diagram-divider{font-family:var(--font-mono);color:var(--color-terminal);opacity:.3;font-size:2rem}.diagram-dashboard{background:linear-gradient(135deg,var(--color-bg-tertiary)0%,var(--color-bg-secondary)100%);border:2px solid var(--color-terminal);border-radius:8px;flex-direction:column;align-items:center;gap:16px;min-width:400px;padding:32px 48px;display:flex}.diagram-dashboard-title{font-family:var(--font-display);color:var(--color-terminal);font-size:1.25rem;font-weight:600}.diagram-dashboard-features{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.diagram-dashboard-features span{font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border-dim);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;display:flex}.card-header-icon{align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-header-icon h3{margin-bottom:0!important}.tech-tags{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.tech-tag{font-family:var(--font-mono);background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:10px 20px;font-size:.875rem;transition:all .2s}.tech-tag:hover{border-color:var(--color-terminal);color:var(--color-terminal)}.c4i-metric{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);text-align:center;padding:32px 24px}.metric-value{font-family:var(--font-mono);color:var(--color-terminal);margin-bottom:8px;font-size:2.5rem;font-weight:700}.metric-label{font-family:var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.c4i-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px;display:grid}.c4i-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:24px;transition:border-color .2s}.c4i-card:hover{border-color:var(--color-terminal)}.c4i-card h3{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:12px;font-size:1.25rem;font-weight:600}.c4i-card p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.tech-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-top:24px;display:grid}.tech-category h3{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:16px;font-size:1.125rem;font-weight:600}.tech-category ul{padding:0;list-style:none}.tech-category li{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-dim);padding:8px 0;font-size:.9375rem}.tech-category li:last-child{border-bottom:none}.feature-list{flex-direction:column;gap:20px;padding:0;list-style:none;display:flex}.feature-list li{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);color:var(--color-text-secondary);padding:20px;font-size:.9375rem;line-height:1.7}.feature-list li strong{color:var(--color-terminal);font-weight:600}.feature-list li ul{color:var(--color-text-muted);margin-top:12px;margin-left:24px;list-style:outside}.architecture-info{margin-top:24px}.architecture-info h3{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:16px;font-size:1.25rem;font-weight:600}.code-block{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);font-family:var(--font-mono);color:var(--color-text-secondary);white-space:pre;padding:24px;font-size:.875rem;line-height:1.8;overflow-x:auto}.status-info{flex-direction:column;gap:24px;display:flex}.status-info p{font-size:.9375rem;line-height:1.7}.status-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:24px;display:grid}.status-item h4{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:16px;font-size:1.125rem;font-weight:600}.status-item ul{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.status-item li{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);color:var(--color-text-secondary);padding:12px;font-size:.875rem}.challenges-list{flex-direction:column;gap:24px;margin-top:24px;display:flex}.challenge-item{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:24px}.challenge-item h3{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:12px;font-size:1.125rem;font-weight:600}.challenge-item p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.roadmap-list{counter-reset:roadmap-counter;flex-direction:column;gap:24px;margin-top:24px;list-style:none;display:flex}.roadmap-list li{counter-increment:roadmap-counter;background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:24px 24px 24px 60px;position:relative}.roadmap-list li:before{content:counter(roadmap-counter);font-family:var(--font-mono);color:var(--color-terminal);opacity:.5;font-size:1.5rem;font-weight:700;position:absolute;top:24px;left:24px}.roadmap-list li strong{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:8px;font-size:1.125rem;font-weight:600;display:block}.roadmap-list li{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}@media (max-width:900px){.c4i-container{padding:0 24px}.c4i-title{font-size:2rem}.c4i-section h2{font-size:1.5rem}.c4i-grid,.tech-list,.status-grid{grid-template-columns:1fr}.c4i-visual-diagram{padding:40px 20px}.diagram-row{gap:16px}.diagram-node{min-width:100px}.diagram-icon{width:60px;height:60px;font-size:2rem}.diagram-process{min-width:150px;padding:16px 24px}.diagram-dashboard{min-width:100%;padding:24px 32px}.diagram-arrow,.diagram-flow-down{font-size:1.2rem}.metric-value{font-size:2rem}}.cost-progression{padding:var(--section-padding)0;background:var(--color-bg);position:relative}.cost-progression:before{content:"";background:linear-gradient(90deg,transparent,var(--color-terminal),transparent);opacity:.3;height:1px;position:absolute;top:0;left:0;right:0}.cost-progression-container{max-width:1200px;margin:0 auto;padding:0 40px}.cost-progression-header{text-align:left;margin-bottom:60px}.cost-pdf-link{font-family:var(--font-mono);color:var(--color-terminal);background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);align-items:center;gap:8px;margin-top:24px;padding:12px 20px;font-size:.875rem;text-decoration:none;transition:all .2s;display:inline-flex}.cost-pdf-link:hover{border-color:var(--color-terminal);background:var(--color-bg-tertiary);opacity:.9}.cost-progression-content{flex-direction:column;gap:60px;display:flex}.cost-section{flex-direction:column;gap:24px;display:flex}.cost-section h3{font-family:var(--font-display);margin-bottom:8px;font-size:1.75rem;font-weight:600}.cost-section p{color:var(--color-text-secondary);font-size:1rem;line-height:1.8}.cost-highlight{background:var(--color-bg-secondary);border:1px solid var(--color-terminal);border-left:4px solid var(--color-terminal);margin:24px 0;padding:24px}.cost-highlight-title{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:12px;font-size:1.25rem;font-weight:600}.cost-highlight p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.cost-methodology{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px;display:grid}.cost-method-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:24px}.cost-method-card h4{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:12px;font-size:1.125rem;font-weight:600}.cost-method-card p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.cost-findings{flex-direction:column;gap:32px;display:flex}.cost-finding{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:32px}.cost-finding-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.cost-finding-number{font-family:var(--font-mono);color:var(--color-terminal);opacity:.6;font-size:2rem;font-weight:700}.cost-finding-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600}.cost-finding p{color:var(--color-text-secondary);margin-bottom:16px;font-size:.9375rem;line-height:1.8}.cost-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px;display:grid}.cost-stat{background:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);text-align:center;padding:16px}.cost-stat-value{font-family:var(--font-mono);color:var(--color-terminal);margin-bottom:4px;font-size:1.5rem;font-weight:700}.cost-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.cost-recommendations{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:24px;display:grid}.cost-recommendation{background:var(--color-bg-secondary);border:1px solid var(--color-border-dim);padding:24px}.cost-recommendation h4{font-family:var(--font-display);color:var(--color-terminal);margin-bottom:12px;font-size:1.125rem;font-weight:600}.cost-recommendation p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}@media (max-width:900px){.cost-progression-container{padding:0 24px}.cost-methodology,.cost-stats,.cost-recommendations{grid-template-columns:1fr}}
