@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_48b81b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_48b81b{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,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:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,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:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--accent);color:#fff}:root{color-scheme:light;--bg:#F7F9FC;--bg-2:#FFFFFF;--bg-card:#FFFFFF;--nav-bg:rgba(247,249,252,0.88);--border:rgba(15,23,42,0.10);--border-hover:rgba(37,99,235,0.28);--text:#111827;--text-muted:#566174;--text-subtle:#98A2B3;--accent:#2F6FED;--accent-2:#14A79D;--accent-3:#F06A3D;--accent-dim:rgba(47,111,237,0.09);--accent-hover:#265ECC;--accent-ring:rgba(47,111,237,0.14);--accent-border:rgba(47,111,237,0.26);--accent-border-strong:rgba(47,111,237,0.46);--accent-2-dim:rgba(20,167,157,0.10);--accent-2-border:rgba(20,167,157,0.24);--accent-3-dim:rgba(240,106,61,0.10);--accent-3-border:rgba(240,106,61,0.24);--shadow-soft:0 18px 48px rgba(15,23,42,0.08);--shadow-card:0 16px 40px rgba(15,23,42,0.09)}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 52%,var(--bg) 100%);background-attachment:fixed;color:var(--text);overflow-x:hidden;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}nav{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:var(--nav-bg);border-bottom:1px solid var(--border)}.nav-inner{max-width:1200px;margin:0 auto;padding:1rem 2rem;justify-content:space-between}.nav-inner,.nav-logo{display:flex;align-items:center}.nav-logo{font-family:var(--font-mono),monospace;font-size:.85rem;color:var(--text);text-decoration:none;font-weight:500}.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center}.nav-links a{font-family:var(--font-mono),monospace;font-size:.75rem;color:var(--text-muted);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-cta{padding:.5rem 1.1rem!important;background:var(--accent)!important;color:#fff!important;border-radius:6px}.nav-cta:hover{opacity:.9}.hero{display:flex;align-items:flex-start;padding:6rem 0 3.5rem;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:1.25rem;gap:1.25rem;align-items:stretch}.hero-copy{animation:introFade .8s ease both;display:flex;flex-direction:column;gap:.85rem}.hero h1{font-size:clamp(2rem,4.7vw,4.35rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--text);margin-bottom:1.5rem}.intro-title{max-width:none;text-align:center;margin-bottom:2.75rem}.name-accent,.role-line{color:var(--accent)}.role-line{display:block;font-size:.58em;min-height:1.4em;line-height:1.2}.typed-role{color:var(--accent);display:inline-block;font-weight:700;min-width:20ch;white-space:nowrap}.typed-role:after{content:"";display:inline-block;width:.08em;height:.78em;margin-left:.08em;background:var(--accent);animation:caretBlink .85s step-end infinite;vertical-align:-.04em}.typed-role.typing-done:after{display:none}.hero-sub{font-size:1.05rem;color:var(--text-muted);line-height:1.75;max-width:none;margin:0 auto 3rem;text-align:center}.hero-sub-line{display:block;white-space:nowrap}@media (max-width:900px){.hero-sub-line{white-space:normal}}.hero-sub strong{color:var(--text);font-weight:500}.hero-links{display:flex;gap:.75rem;flex-wrap:wrap}.hero-link{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border:1px solid var(--border-hover);border-radius:999px;font-family:var(--font-mono),monospace;font-size:.78rem;color:var(--text-muted);text-decoration:none;transition:all .2s;background:var(--bg-card)}.hero-link:hover{color:var(--text);border-color:var(--accent);background:var(--accent-dim)}.hero-status{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .9rem;border:1px solid rgba(34,197,94,.3);border-radius:999px;background:rgba(34,197,94,.1);color:#15803d;font-family:var(--font-mono),monospace;font-size:.78rem;font-weight:700;cursor:default;pointer-events:none}.hero-status-switch{width:30px;height:16px;border-radius:999px;background:#22c55e;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);flex:0 0 auto}.hero-status-switch:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:2px;right:2px;box-shadow:0 1px 4px rgba(15,23,42,.22)}.hero-link.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.hero-link.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.hero-link svg{width:14px;height:14px}.hero-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.85rem;box-shadow:var(--shadow-soft);animation:introFade .9s ease .12s both;display:flex;align-items:stretch}.hero-photo{width:100%;flex:1 1;border-radius:8px;overflow:hidden;border:2px solid var(--border-hover);box-shadow:0 0 0 6px var(--accent-ring);position:relative;min-height:280px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 10%}.hero-info{margin-top:0;max-width:none;flex:1 1;display:flex;flex-direction:column}.hero-info .info-row{padding:.75rem 1.25rem;flex:1 1}.hero-info .info-val{font-size:.88rem}.hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.hero-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);text-decoration:none;font-size:.82rem;font-weight:600;transition:border-color .2s,color .2s,background .2s,transform .2s;box-shadow:var(--shadow-soft)}.hero-action:hover{border-color:var(--accent-border-strong);background:var(--accent-dim);color:var(--accent);transform:translateY(-1px)}.hero-action svg{width:16px;height:16px;flex:0 0 auto}section{padding:7rem 0}.section-header{max-width:760px;margin:0 auto;text-align:center}.section-header .section-eyebrow{justify-content:center}.section-header .section-eyebrow:before{display:none}.section-eyebrow{font-family:var(--font-mono),monospace;font-size:.72rem;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.section-eyebrow:before{content:"";width:1.5rem;height:1px;background:var(--accent)}.section-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.section-title .dim{color:var(--text-muted);font-weight:400}.section-title .accent{color:var(--accent)}.section-copy{margin-top:1rem;color:var(--text-muted);font-size:1rem;line-height:1.75;max-width:620px;margin-left:auto;margin-right:auto}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:5rem;gap:5rem;align-items:start;margin-top:3.5rem}.about-text{font-size:1.05rem;line-height:1.8;color:var(--text-muted)}.about-text p{margin-bottom:1.25rem}.about-text strong{color:var(--text);font-weight:500}.about-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem}.tag{font-family:var(--font-mono),monospace;font-size:.7rem;padding:.35rem .8rem;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);background:var(--bg-card)}.tag.accent{border-color:var(--accent-border);color:var(--accent);background:var(--accent-dim)}.info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none}.info-key{font-family:var(--font-mono),monospace;font-size:.7rem;color:var(--text-subtle);letter-spacing:.04em}.info-val{color:var(--text);font-weight:500;text-align:right;font-size:.875rem}.info-val .accent{color:var(--accent)}.projects-intro{text-align:center;max-width:860px;margin:0 auto}.project-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:2.75rem}.project-filter{border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);font:inherit;font-size:.88rem;font-weight:600;padding:.65rem 1rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s,transform .2s}.project-filter.active,.project-filter:hover{color:var(--text);border-color:var(--accent-border-strong);background:var(--accent-dim);transform:translateY(-1px)}.projects-grid{display:grid;grid-template-columns:1fr;grid-gap:1.2rem;gap:1.2rem;margin-top:3.5rem}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.35fr);transition:border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.project-card:hover{border-color:var(--border-hover);transform:translateY(-6px);box-shadow:0 22px 54px rgba(15,23,42,.13)}.project-card.hidden{display:none}.project-cover{min-height:260px;height:100%;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,var(--accent-dim),transparent 62%),var(--bg-2);border-right:1px solid var(--border)}.project-cover.teal{background:linear-gradient(135deg,rgba(20,167,157,.22),transparent 58%),var(--bg-2)}.project-cover.orange{background:linear-gradient(135deg,rgba(240,106,61,.18),transparent 58%),var(--bg-2)}.project-cover.dual{background:linear-gradient(135deg,rgba(240,106,61,.2),transparent 42%),linear-gradient(215deg,rgba(20,167,157,.15),transparent 58%),var(--bg-2)}.project-cover.teal .project-cover-title{color:var(--accent-2)}.project-cover.dual .project-cover-title,.project-cover.orange .project-cover-title{color:var(--accent-3)}.project-cover-bottom,.project-cover-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.project-num,.project-year{color:var(--text-subtle)}.project-category,.project-num,.project-year{font-family:var(--font-mono),monospace;font-size:.68rem}.project-category{color:var(--text-muted);padding:.2rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card)}.project-cover-title{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;color:var(--accent);letter-spacing:0;line-height:1;opacity:.9}.project-card-body{padding:1.75rem;display:flex;flex:1 1;flex-direction:column}.project-title{font-size:clamp(1.45rem,2.4vw,2.1rem);font-weight:700;color:var(--text);letter-spacing:0;line-height:1.2;margin-bottom:.75rem}.project-summary{color:var(--text-muted);line-height:1.7;margin-bottom:1.2rem;max-width:720px}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.project-tag{font-size:.75rem;font-weight:600;color:var(--text-subtle);padding:.24rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-2)}.project-actions{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;margin-top:1.25rem}.project-action{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.82rem;font-weight:700;color:var(--text);text-decoration:none;background:none;border:none;cursor:pointer;padding:.5rem .78rem;border-radius:999px;transition:color .2s,border-color .2s,background .2s,transform .2s}.project-action:hover{color:var(--accent)}.project-live{color:#15803d;border:1px solid rgba(34,197,94,.3);border-radius:999px;background:rgba(34,197,94,.1)}.project-live,.project-published{font-family:var(--font-mono),monospace;font-size:.68rem;font-weight:700;padding:.42rem .7rem}.project-published{color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-dim)}.project-action.github{margin-left:auto;border:1px solid var(--border);background:var(--bg-2);color:var(--text-muted)}.project-action.github:hover{color:var(--text);border-color:var(--accent-border-strong);background:var(--accent-dim);transform:translateY(-1px)}.project-action.github svg{width:15px;height:15px}.research-row{background:linear-gradient(180deg,transparent 0,var(--accent-dim) 50%,transparent 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:6rem 0}.research-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;align-items:stretch}.lab-band-col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.lab-panel,.lab-profile{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft)}.lab-profile{padding:1.5rem 1.25rem;display:flex;align-items:center;justify-content:center;min-height:4.5rem}.lab-kicker{font-family:var(--font-mono),monospace;font-size:.68rem;color:var(--accent-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}.lab-mark{width:112px;height:112px;border-radius:50%;border:3px solid var(--bg-card);box-shadow:0 0 0 1px var(--border),0 12px 32px rgba(15,23,42,.14);overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;font-family:var(--font-inter),sans-serif}.lab-mark,.lab-title{font-weight:800;letter-spacing:-.02em}.lab-title{font-size:clamp(1.05rem,1.85vw,1.4rem);line-height:1.2;color:var(--text);margin:0;white-space:nowrap;text-align:center}.lab-copy{color:var(--text-muted);line-height:1.75;font-size:.95rem}.lab-account-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent);text-decoration:none;transition:background .2s,border-color .2s}.lab-account-link svg{width:18px;height:18px}.lab-account-link:hover{background:var(--bg-card);border-color:var(--accent-border-strong)}.lab-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.lab-metric{padding:.95rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-2)}.lab-metric strong{display:block;color:var(--text);font-size:1.25rem;line-height:1.1;margin-bottom:.25rem}.lab-metric span{display:block;color:var(--text-subtle);font-size:.76rem;line-height:1.45}.lab-panel{padding:1.2rem;flex:1 1}.lab-panel,.lab-works{display:flex;flex-direction:column}.lab-works{gap:.85rem;flex:1 1}.lab-works>.lab-work{flex:1 1;min-height:0}.lab-work{text-align:left;cursor:pointer;width:100%;border:1px solid var(--border);border-radius:10px;background:var(--bg-2);padding:0;display:grid;grid-template-columns:180px 1fr;grid-gap:1rem;gap:1rem;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s;font:inherit;color:inherit}.lab-work:hover{border-color:var(--accent-border-strong);transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,23,42,.1)}.lab-work-thumb{position:relative;background:linear-gradient(135deg,var(--accent-dim),transparent 62%),var(--bg-card);border-right:1px solid var(--border);overflow:hidden;min-height:100%}.lab-work-thumb img{width:100%;height:100%;object-fit:cover}.lab-work.teal .lab-work-thumb{background:linear-gradient(135deg,var(--accent-2-dim),transparent 60%),var(--bg-card)}.lab-work.orange .lab-work-thumb{background:linear-gradient(135deg,var(--accent-3-dim),transparent 60%),var(--bg-card)}.lab-work-thumb-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800;letter-spacing:-.01em;color:var(--accent);text-align:center;padding:.35rem}.lab-work.teal .lab-work-thumb-text{color:var(--accent-2)}.lab-work.orange .lab-work-thumb-text{color:var(--accent-3)}.lab-work-body{padding:.95rem 1.1rem .95rem .4rem;display:flex;flex-direction:column;gap:.4rem}.lab-work-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lab-work-tag{font-size:.62rem;color:var(--text-muted);padding:.2rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);letter-spacing:.04em;text-transform:uppercase}.lab-work-tag,.lab-work-year{font-family:var(--font-mono),monospace}.lab-work-year{font-size:.65rem;color:var(--text-subtle)}.lab-work-title{font-size:1.02rem;font-weight:800;color:var(--text);letter-spacing:-.01em;line-height:1.25}.lab-work-desc{color:var(--text-muted);font-size:.82rem;line-height:1.55}.lab-work-cta{margin-top:.2rem;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono),monospace;font-size:.65rem;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.lab-work-cta svg{width:12px;height:12px}.insight-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.insight-card{padding:1rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-2)}.insight-card b{display:block;color:var(--text);font-size:.9rem;margin-bottom:.35rem}.insight-card span{color:var(--text-muted);font-size:.8rem;line-height:1.5}.modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:5.5rem 1.5rem 1.5rem;animation:fadeBackdrop .25s ease both;overflow-y:auto}.modal-card{border:1px solid var(--border);border-radius:14px;width:100%;max-width:1240px;max-height:calc(100vh - 7rem);overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:introFade .3s ease both;position:relative}.modal-card,.modal-close{background:var(--bg-card)}.modal-close{position:absolute;top:1rem;right:1rem;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s,background .2s}.modal-close:hover{color:var(--text);border-color:var(--accent-border-strong);background:var(--accent-dim)}.modal-close svg{width:16px;height:16px}.modal-head{padding:1.75rem 1.75rem .5rem;border-bottom:1px solid var(--border)}.modal-kicker{font-family:var(--font-mono),monospace;font-size:.68rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}.modal-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.2;margin-bottom:.75rem}.modal-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}.modal-meta .project-tag{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.modal-body{padding:1.5rem 1.75rem 1.75rem}.modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.55rem;gap:.55rem;margin-bottom:1.5rem}.modal-thumb{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-2)}.modal-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.modal-thumb:hover img{transform:scale(1.06)}.modal-section{margin-bottom:1.5rem}.modal-section:last-child{margin-bottom:0}.modal-section h4{font-family:var(--font-mono),monospace;font-size:.68rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem}.modal-section p{color:var(--text-muted);line-height:1.7;font-size:.92rem;margin-bottom:.6rem}.modal-section p:last-child{margin-bottom:0}.modal-section strong{color:var(--text);font-weight:600}.modal-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.modal-list li{font-size:.92rem;color:var(--text-muted);line-height:1.6;padding-left:1.25rem;position:relative}.modal-list li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:.65rem;top:.32rem}.modal-steps{display:flex;flex-direction:column;gap:1.5rem;margin:1.75rem 0 .5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.modal-step{display:grid;grid-template-columns:460px 1fr;grid-gap:1.75rem;gap:1.75rem;align-items:start}.modal-step-media{display:flex;flex-direction:column;gap:.6rem}.modal-step-image{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-2)}.modal-step-image img{object-fit:contain;transition:transform .4s ease}.modal-step-image:not(.modal-step-video):hover img{transform:scale(1.04)}.modal-step-video{background:#000}.modal-step-video video{display:block;width:100%;height:100%;object-fit:contain}.modal-step-text h5{font-size:1.02rem;font-weight:700;color:var(--text);letter-spacing:0;line-height:1.3;margin:0 0 .6rem}.modal-step-text p{color:var(--text-muted);line-height:1.7;font-size:.92rem;margin:0}.modal-step-text strong{color:var(--text);font-weight:600}@media (max-width:720px){.modal-step{grid-template-columns:1fr;gap:.85rem}.modal-step-image{max-width:100%}}.modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:.55rem;gap:.55rem;margin:1rem 0 1.25rem}.modal-stat{padding:.7rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-2)}.modal-stat strong{display:block;color:var(--text);font-size:1rem;line-height:1.1}.modal-stat span{display:block;font-family:var(--font-mono),monospace;font-size:.65rem;color:var(--text-subtle);margin-top:.25rem;letter-spacing:.04em;text-transform:uppercase}.exp-list{display:flex;flex-direction:column;gap:1rem;margin-top:3.5rem}.exp-item{display:grid;grid-template-columns:220px 1fr;grid-gap:3rem;gap:3rem;padding:1.6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-soft);transition:border-color .2s,transform .2s}.exp-item:hover{border-color:var(--border-hover);transform:translateY(-3px)}.exp-period{font-family:var(--font-mono),monospace;font-size:.78rem;color:var(--text-muted);line-height:1.5}.exp-period .loc{display:block;color:var(--text-subtle);font-size:.7rem;margin-top:.3rem}.exp-role{font-size:1.3rem;font-weight:600;color:var(--text);letter-spacing:-.02em;margin-bottom:.25rem}.exp-company{font-family:var(--font-mono),monospace;font-size:.73rem;color:var(--accent);margin-bottom:1rem}.exp-bullets{list-style:none;display:flex;flex-direction:column;gap:.45rem}.exp-bullets li{font-size:.9rem;color:var(--text-muted);line-height:1.6;padding-left:1.25rem;position:relative}.exp-bullets li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:.65rem;top:.25rem}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-top:3.5rem}.skill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.75rem;box-shadow:var(--shadow-soft);transition:border-color .2s,transform .2s}.skill-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}.skill-card-title{font-family:var(--font-mono),monospace;font-size:.7rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.skill-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}.skill-list li{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.6rem}.skill-list li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0}.cert-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-top:2.5rem}.cert-item{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft);transition:border-color .2s,transform .2s}.cert-item:hover{border-color:var(--border-hover);transform:translateY(-3px)}.cert-name{font-size:.9rem;font-weight:500;color:var(--text)}.cert-issuer{font-size:.65rem;color:var(--text-muted);margin-top:.15rem}.cert-issuer,.cert-year{font-family:var(--font-mono),monospace}.cert-year{font-size:.78rem;color:var(--accent)}.education-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:3.5rem}.education-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.6rem;box-shadow:var(--shadow-soft);transition:border-color .2s,transform .2s}.education-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}.education-label{font-family:var(--font-mono),monospace;font-size:.66rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}.education-title{font-size:1.08rem;font-weight:700;color:var(--text);line-height:1.3;letter-spacing:-.02em;margin-bottom:.65rem}.education-detail{font-size:.9rem;color:var(--text-muted);line-height:1.65}.education-meta{display:inline-flex;margin-top:1rem;padding:.28rem .65rem;border:1px solid var(--accent-border);border-radius:999px;color:var(--accent);background:var(--accent-dim);font-family:var(--font-mono),monospace;font-size:.65rem}.contact{padding:8rem 0;text-align:center;position:relative}.contact .section-eyebrow{justify-content:center}.contact-title{font-size:clamp(2.5rem,8vw,7rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--text);margin-bottom:1.5rem}.contact-title .accent{color:var(--accent)}.contact-sub{font-size:1rem;color:var(--text-muted);max-width:460px;margin:0 auto 2.5rem;line-height:1.7}.contact-sub strong{color:var(--text);font-weight:500}.contact-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.contact-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:6px;font-family:var(--font-mono),monospace;font-size:.8rem;text-decoration:none;transition:all .2s;font-weight:500}.contact-btn.primary{background:var(--accent);color:#fff}.contact-btn.primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.contact-btn.secondary{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-hover)}.contact-btn.secondary:hover{color:var(--text);border-color:var(--text-subtle)}footer{padding:1.75rem 0;border-top:1px solid var(--border)}.footer-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono),monospace;font-size:.7rem;color:var(--text-subtle)}@keyframes introFade{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes caretBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeBackdrop{0%{opacity:0}to{opacity:1}}.fade-up{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.fade-up.visible{opacity:1;transform:translateY(0)}@media (max-width:900px){.container,.footer-inner,.nav-inner{padding:0 1.25rem}.nav-links li:not(:last-child){display:none}.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-panel{max-width:320px;order:-1;margin:0 auto}.about-grid{gap:2.5rem}.about-grid,.research-grid{grid-template-columns:1fr}.lab-profile{position:static}.lab-works{grid-template-columns:1fr}.lab-work{grid-template-columns:120px 1fr}.insight-strip,.project-card{grid-template-columns:1fr}.project-cover{border-right:none;border-bottom:1px solid var(--border)}.exp-item,.projects-grid{grid-template-columns:1fr}.exp-item{gap:1rem}.cert-row,.education-grid,.skills-grid{grid-template-columns:1fr}section{padding:5rem 0}.footer-inner{flex-direction:column;gap:.5rem;text-align:center}.modal-head{padding:2.75rem 1.25rem .5rem}.modal-body{padding:1.25rem 1.25rem 1.5rem}}@media (max-width:520px){.hero h1{font-size:clamp(1.65rem,8vw,2.25rem)}.lab-metrics{grid-template-columns:1fr}.typed-role{min-width:18ch}}@media (min-width:901px) and (max-width:1120px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}