*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080c10;--bg2:#0d1117;--surface:#161d27;--surface2:#1c2430;--border:#1e2d3d;--border2:#253447;--accent:#00d4aa;--accent2:#0097ff;--text:#e2e8f0;--text2:#8896a6;--text3:#8496a6;--nav-bg:rgba(8,12,16,0.92);--grid-color:rgba(0,212,170,0.03);--btn-primary-text:#080c10;--tag-bg:rgba(0,212,170,0.08);--tag-border:rgba(0,212,170,0.15);--ai-badge-bg:rgba(124,58,237,0.1);--ai-badge-color:#a78bfa;--ai-badge-border:rgba(124,58,237,0.2);--mono:var(--font-mono),monospace;--sans:var(--font-sans),sans-serif}[data-theme=light]{--bg:#f0f4f8;--bg2:#e8edf3;--surface:#ffffff;--surface2:#f5f7fa;--border:#d1dae6;--border2:#b8c5d6;--accent:#008f73;--accent2:#0063cc;--text:#0f172a;--text2:#3d5068;--text3:#6b7d90;--nav-bg:rgba(240,244,248,0.92);--grid-color:rgba(0,143,115,0.04);--btn-primary-text:#ffffff;--tag-bg:rgba(0,143,115,0.08);--tag-border:rgba(0,143,115,0.2);--ai-badge-bg:rgba(91,33,182,0.08);--ai-badge-color:#5b21b6;--ai-badge-border:rgba(91,33,182,0.2)}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .3s,color .3s}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:60px 60px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes dotbounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.desktop-only{display:flex}.mobile-only{display:none}.mobile-menu{position:fixed;top:64px;left:0;right:0;background:var(--nav-bg);backdrop-filter:blur(16px);padding:1rem 5vw 1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:99;animation:fadeIn .2s ease}.mobile-menu,.mobile-menu a{border-bottom:1px solid var(--border)}.mobile-menu a{font-size:14px;font-weight:500;color:var(--text2);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 0}.mobile-menu a:last-child{border-bottom:none}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.hamburger span{display:block;width:22px;height:2px;background:var(--text2);border-radius:2px;transition:all .2s}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:center}.exp-item{display:grid;grid-template-columns:180px 1fr;gap:2.5rem;padding:2.5rem 0;border-bottom:1px solid var(--border)}.exp-item:first-child{border-top:1px solid var(--border)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;max-width:1100px;margin:0 auto}.stats-bar{grid-template-columns:repeat(3,1fr);max-width:1100px;width:100%;margin:4rem auto 0}.skills-grid,.stats-bar{display:grid;gap:1px;background:var(--border)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.nav-link{transition:color .15s}.nav-link:hover{color:var(--accent)!important}.btn-primary{transition:opacity .15s,transform .15s}.btn-primary:hover{opacity:.85;transform:translateY(-1px)}.btn-ghost{transition:color .15s,border-color .15s,transform .15s}.btn-ghost:hover{color:var(--accent)!important;border-color:var(--accent)!important;transform:translateY(-1px)}.mobile-menu a:hover{color:var(--accent)}.skill-card{transition:background .2s,transform .2s,box-shadow .2s}.skill-card:hover{background:var(--surface2)!important;transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.exp-item-inner{transition:color .15s}.contact-link{transition:background .15s,border-color .15s,transform .15s}.contact-link:hover{background:var(--surface2)!important;border-color:var(--accent)!important;transform:translateX(4px)}.sugg-btn{transition:background .15s,color .15s,border-color .15s}.sugg-btn:hover{background:var(--tag-bg)!important;color:var(--accent)!important;border-color:var(--tag-border)!important}.cert-card{transition:background .2s}.cert-card:hover{background:var(--surface)!important}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.terminal-card{display:none}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.desktop-only{display:none!important}.hamburger{display:flex}.stats-bar{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.exp-item{gap:.5rem}.cert-grid,.contact-grid,.exp-item,.skills-grid,.stats-bar{grid-template-columns:1fr}section{padding:72px 5vw!important}#hero{padding-top:100px!important}h1{font-size:clamp(32px,9vw,52px)!important}h2{font-size:clamp(22px,6vw,32px)!important}}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:300;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:109.69%}.__className_c22fe1{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_c22fe1{--font-sans:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ae822095a172cc5c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3c70c5716f1730b3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fc727f226c737876-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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 Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Mono Fallback;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_e8b655{font-family:Space Mono,Space Mono Fallback;font-style:normal}.__variable_e8b655{--font-mono:"Space Mono","Space Mono Fallback"}