@font-face{font-family:__Syne_c1a642;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-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:__Syne_c1a642;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-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:__Syne_c1a642;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-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:__Syne_c1a642;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-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:__Syne_c1a642;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-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:__Syne_c1a642;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-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:__Syne_c1a642;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-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:__Syne_c1a642;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-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:__Syne_c1a642;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-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:__Syne_c1a642;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-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:__Syne_c1a642;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-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:__Syne_c1a642;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-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:__Syne_c1a642;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-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:__Syne_c1a642;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-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:__Syne_c1a642;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-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:__Syne_Fallback_c1a642;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_c1a642{font-family:__Syne_c1a642,__Syne_Fallback_c1a642;font-style:normal}.__variable_c1a642{--font-syne:"__Syne_c1a642","__Syne_Fallback_c1a642"}@font-face{font-family:__DM_Mono_b647d8;font-style:normal;font-weight:300;font-display:optional;src:url(/_next/static/media/8d0a1832fd3be0c8-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:__DM_Mono_b647d8;font-style:normal;font-weight:300;font-display:optional;src:url(/_next/static/media/d7df244fe7b07b95-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:__DM_Mono_b647d8;font-style:normal;font-weight:400;font-display:optional;src:url(/_next/static/media/64418ffc17e50301-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:__DM_Mono_b647d8;font-style:normal;font-weight:400;font-display:optional;src:url(/_next/static/media/0e96d314a90a6138-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:__DM_Mono_b647d8;font-style:normal;font-weight:500;font-display:optional;src:url(/_next/static/media/ba43ea3467e29870-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:__DM_Mono_b647d8;font-style:normal;font-weight:500;font-display:optional;src:url(/_next/static/media/b7ea2ab4a8ad1f81-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:__DM_Mono_Fallback_b647d8;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b647d8{font-family:__DM_Mono_b647d8,__DM_Mono_Fallback_b647d8;font-style:normal}.__variable_b647d8{--font-dm-mono:"__DM_Mono_b647d8","__DM_Mono_Fallback_b647d8"}@font-face{font-family:__DM_Sans_dea962;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_dea962;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_dea962;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_dea962;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_dea962;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_dea962;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_dea962;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_dea962;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_Fallback_dea962;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_dea962{font-family:__DM_Sans_dea962,__DM_Sans_Fallback_dea962;font-style:normal}.__variable_dea962{--font-dm-sans:"__DM_Sans_dea962","__DM_Sans_Fallback_dea962"}:root{--bg-primary:#090c10;--bg-secondary:#0a0e14;--bg-card:#12141a;--bg-elevated:#1a1d24;--border-subtle:hsla(0,0%,100%,.06);--border-strong:hsla(0,0%,100%,.12);--text-primary:#edeef0;--text-secondary:#a0a4ab;--text-muted:#8b8f96;--accent:#3b9eff;--accent-hover:#6bb5ff;--accent-glow:rgba(59,158,255,.15);--accent-teal:#0a8a6a;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--color-architecture:#5dcaa5;--color-data:#60a5fa;--color-constraint:#f59e0b;--font-heading:"DM Mono",monospace;--font-body:"DM Sans",sans-serif;--font-mono:"DM Mono",monospace;--section-pad:clamp(4rem,8vw,8rem);--content-max:1200px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;line-height:1.6;background-color:var(--bg-primary)}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:1.15;letter-spacing:-.02em}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;letter-spacing:-.04em}h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400}h3{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500}p{font-size:clamp(.95rem,1.1vw,1.05rem);color:var(--text-secondary);line-height:1.7}a{color:var(--text-primary);text-decoration:none;transition:opacity .15s ease}a:hover{opacity:.7}::selection{background-color:hsla(0,0%,100%,.15);color:var(--text-primary)}.container{max-width:var(--content-max);margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem)}.section{padding:var(--section-pad) 0}.section-header{text-align:center;margin-bottom:3rem}.section-header--compact{margin-top:clamp(4rem,7vw,6rem);margin-bottom:2rem}.section-header h2{margin-bottom:.75rem;position:relative;display:inline-block}.section-header h2:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:40px;height:2px;background:var(--accent);border-radius:1px}.section-header p{max-width:600px;margin:0 auto}.hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;padding-top:72px;overflow:hidden}@keyframes pulse-glow{0%,to{opacity:.4;box-shadow:0 0 0 0 rgba(59,158,255,.2)}50%{opacity:1;box-shadow:0 0 8px 2px rgba(59,158,255,.15)}}.stack-graph{margin-top:1rem;width:100%;max-width:560px;aspect-ratio:100/85}.stack-graph-svg{width:100%;height:100%;overflow:visible}.stack-edge{stroke:var(--border-subtle);stroke-width:.25;stroke-dasharray:1.5 1;opacity:.4}.stack-node-circle{fill:var(--bg-card);stroke:var(--border-strong);stroke-width:.3;transition:all .2s ease}.stack-node[data-tier="1"] .stack-node-circle{stroke:var(--accent);stroke-width:.4;filter:drop-shadow(0 0 1.5px var(--accent-glow))}.stack-node[data-tier="2"] .stack-node-circle{stroke:var(--border-strong)}.stack-node[data-tier="3"] .stack-node-circle{stroke:var(--border-subtle);opacity:.5}.stack-node:hover .stack-node-circle{stroke-width:.6;fill:var(--bg-elevated)}.stack-node-label{font-family:var(--font-mono);font-size:2.8px;fill:var(--text-muted);letter-spacing:.04em;pointer-events:none}.stack-node[data-tier="1"] .stack-node-label{fill:var(--text-secondary);font-weight:500;font-size:3px}.stack-node[data-tier="3"] .stack-node-label{opacity:.5}.currently-building{margin-top:.5rem;padding:1.25rem;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.skill-item.featured{border-color:var(--border-strong);background:linear-gradient(135deg,var(--bg-card) 0,var(--bg-elevated) 100%)}.skill-item.featured .skill-icon{background:var(--accent);color:var(--bg-primary);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.skill-subskills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.skill-code-examples{margin-top:.5rem}.code-example-content .token-keyword{color:var(--text-primary);font-weight:500}.work-section{position:relative;z-index:2}.work-card{background:color-mix(in srgb,var(--bg-card) 88%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.work-card h3{font-size:1.05rem;font-weight:500;margin-bottom:.7rem;color:var(--text-primary)}.work-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.65}.work-card--current{min-height:100%;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.work-card--current p{flex:1 1}.work-card--past{padding:1.25rem;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:1.25rem;gap:1.25rem;align-items:start}.work-card__meta{display:inline-flex;align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);padding:.28rem .55rem;border:1px solid var(--border-subtle)}.work-card__meta,.work-card__next{border-radius:var(--radius-sm);background:var(--bg-elevated)}.work-card__next{padding:.85rem;border-left:2px solid var(--accent);font-size:.82rem;color:var(--text-secondary);line-height:1.55}.work-card__next span{display:block;margin-bottom:.3rem;font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.work-card__focus{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.9rem;padding-left:1rem;color:var(--text-secondary);font-size:.84rem;line-height:1.55}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.project-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.project-visual{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-visual img{transform:scale(1.03)}.project-visual .placeholder{width:100%;height:100%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:2.5rem;color:var(--text-muted)}.project-body{padding:1.5rem;flex:1 1;display:flex;flex-direction:column}.project-body h3{font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.project-body p{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem;flex:1 1}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.tech-tag{font-family:var(--font-mono);font-size:.65rem;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-subtle)}.project-links{display:flex;gap:1rem}.project-link{font-family:var(--font-heading);font-size:.75rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;transition:color .15s ease}.project-link:hover{color:var(--accent-hover);opacity:1}.contact-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:start}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all .15s ease}.contact-link:hover{border-color:var(--border-strong);background:var(--bg-card);opacity:1}.contact-link .icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-subtle)}.contact-link .text{display:flex;flex-direction:column}.contact-link .label{font-family:var(--font-heading);font-size:.8rem;font-weight:500;color:var(--text-primary)}.contact-section{padding-bottom:clamp(6rem,10vw,10rem)}.contact-link .value{font-size:.75rem;color:var(--text-muted)}.contact-intro{max-width:600px;margin:0 auto 2rem;text-align:center;font-size:1rem;line-height:1.7;color:var(--text-secondary)}.contact-intro strong{color:var(--text-primary)}.contact-availability{text-align:center;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-top:1.5rem;letter-spacing:.02em}.footer{border-top:1px solid var(--border-subtle);padding:2rem 0}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer .copyright{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:.75rem;color:var(--text-muted);transition:color .15s ease}.footer-links a:hover{color:var(--text-secondary);opacity:1}.benchmark-table-wrapper{overflow-x:auto;margin-top:1.5rem}.blog-grid{display:flex;flex-direction:column;gap:1.5rem}.about-content{max-width:700px;margin:0 auto}@media (max-width:768px){.contact-layout,.projects-grid,.work-card--past{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:1rem;text-align:center}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}body.light-mode{--bg-primary:#f8f9fa;--bg-secondary:#f0f1f3;--bg-card:#fff;--bg-elevated:#e8e9eb;--border-subtle:rgba(0,0,0,.06);--border-strong:rgba(0,0,0,.12);--text-primary:#1a1d24;--text-secondary:#5a5e66;--text-muted:#8b8f96;--accent:#3b9eff;--accent-hover:#1a7feb;--accent-glow:rgba(59,158,255,.15);--warning:#d97706;--color-architecture:#4a9e7f;--color-data:#3b82f6;--color-constraint:#d97706;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.1)}body.light-mode .hero-gradient{background:radial-gradient(ellipse 60% 50% at 50% 0,rgba(0,0,0,.02) 0,transparent 70%),radial-gradient(ellipse 40% 40% at 80% 100%,rgba(0,0,0,.01) 0,transparent 70%)}body.light-mode ::selection{background-color:rgba(0,0,0,.1)}body.light-mode .currently-building,body.light-mode .skill-item{background:var(--bg-card);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}body.light-mode .skill-item:hover{border-color:var(--border-strong);background:var(--bg-elevated);box-shadow:var(--shadow-md)}body.light-mode .skill-item.featured{background:linear-gradient(135deg,var(--bg-card) 0,var(--bg-elevated) 100%);box-shadow:var(--shadow-sm)}body.light-mode .project-card{background:var(--bg-card);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}body.light-mode .project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}body.light-mode .contact-link{border-color:var(--border-subtle)}body.light-mode .contact-link:hover{border-color:var(--border-strong);background:var(--bg-card)}body.light-mode .blog-card{background:var(--bg-card);border-color:var(--border-subtle)}body.light-mode .blog-card:hover{border-color:var(--border-strong)}body.light-mode .highlight-card{background:var(--bg-card);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}body.light-mode .code-example-content{background:var(--bg-elevated);border-color:var(--border-subtle)}body.light-mode ::-webkit-scrollbar-track{background:var(--bg-primary)}body.light-mode ::-webkit-scrollbar-thumb{background:var(--border-strong)}body.light-mode ::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body.light-mode .footer{border-top-color:var(--border-subtle)}body.light-mode .hero-v2{background:#f8f9fa}body.light-mode .hero-v2__veil{background:linear-gradient(108deg,rgba(248,249,250,.98) 28%,rgba(248,249,250,.72) 58%,rgba(248,249,250,.04))}body.light-mode .hero-v2__scanlines{opacity:.3}body.light-mode .hero-v2__title{color:#1a1d24}body.light-mode .hero-v2__title span{color:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__description{color:var(--text-secondary,#5a5e66)}body.light-mode .hero-v2__description em{color:var(--accent,#3b9eff)}body.light-mode .hero-v2__eyebrow{color:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__eyebrow-dot{background:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__btn-primary{background:var(--accent,#3b9eff);color:#fff}body.light-mode .hero-v2__btn-primary:hover{background:var(--accent-hover,#1a7feb)}body.light-mode .hero-v2__btn-ghost{color:var(--accent,#3b9eff);border-color:var(--accent,#3b9eff)}body.light-mode .hero-v2__btn-ghost:hover{border-color:var(--accent,#3b9eff);color:var(--accent-hover,#1a7feb)}body.light-mode .hero-v2__stat-card{background:hsla(0,0%,100%,.9);border-color:var(--border-subtle,rgba(0,0,0,.06));box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.06))}body.light-mode .hero-v2__stat-card:before{background:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__stat-label{color:var(--text-muted,#8b8f96)}body.light-mode .hero-v2__stat-value{color:var(--text-primary,#1a1d24)}body.light-mode .hero-v2__stat-sub{color:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__stat-bar{background:rgba(0,0,0,.06)}body.light-mode .hero-v2__stat-fill{background:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__hint{color:var(--text-muted,#8b8f96)}body.light-mode .hero-v2__contact{border-top-color:var(--border-subtle,rgba(0,0,0,.06))}body.light-mode .hero-v2__contact-label{color:var(--accent-teal,#0a8a6a)}body.light-mode .hero-v2__contact-link{color:var(--text-secondary,#5a5e66)}body.light-mode .hero-v2__contact-link:hover{color:var(--accent,#3b9eff)}body.light-mode .hero-v2__contact-phone{color:var(--text-muted,#8b8f96)}body.light-mode .hero-v2__cursor{border-color:rgba(59,158,255,.4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 24px;transition:all .4s cubic-bezier(.16,1,.3,1)}.header--scrolled{padding:10px 24px}.header__inner{max-width:1280px;margin:0 auto;height:56px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 24px;border-radius:16px;background:var(--bg-card,hsla(0,0%,4%,.7));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-subtle,hsla(0,0%,100%,.06));box-shadow:0 8px 32px rgba(0,0,0,.3);transition:all .4s cubic-bezier(.16,1,.3,1)}.header--scrolled .header__inner{height:48px;background:var(--bg-elevated,hsla(0,0%,4%,.85));border-color:var(--border-subtle,hsla(0,0%,100%,.08));box-shadow:0 8px 40px rgba(0,0,0,.4)}.header__logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);flex-shrink:0}.header__logo-text{font-family:var(--font-mono);font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary,hsla(0,0%,100%,.9))}.header__logo-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.7;box-shadow:0 0 0 0 rgba(0,212,255,.4)}50%{opacity:1;box-shadow:0 0 12px 4px rgba(0,212,255,.15)}}.header__nav{display:flex;align-items:center;gap:4px}.header__nav-link{position:relative;padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-secondary,hsla(0,0%,100%,.6));text-decoration:none;transition:color .2s ease;letter-spacing:.02em;border-radius:8px}.header__nav-link:hover{color:var(--text-primary,hsla(0,0%,100%,.95));background:hsla(0,0%,100%,.04)}.header__nav-underline{position:absolute;bottom:4px;left:50%;transform:translateX(-50%) scaleX(0);width:16px;height:1.5px;background:var(--accent);border-radius:2px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.header__nav-link:hover .header__nav-underline{transform:translateX(-50%) scaleX(1)}.header__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.header__availability{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.15)}.header__availability-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:availabilityPulse 2s ease-in-out infinite}.header__availability-text{font-size:11px;font-weight:500;color:#10b981;letter-spacing:.02em}.header__availability:hover{opacity:1;background:rgba(16,185,129,.12)}@keyframes availabilityPulse{0%,to{opacity:1;box-shadow:0 0 6px 2px rgba(16,185,129,.25)}50%{opacity:.25;box-shadow:0 0 0 0 rgba(16,185,129,0)}}.header__theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border-subtle,hsla(0,0%,100%,.08));background:var(--bg-elevated,hsla(0,0%,100%,.04));color:var(--text-secondary,hsla(0,0%,100%,.6));cursor:pointer;transition:all .2s ease;flex-shrink:0}.header__theme-toggle:hover{color:var(--text-primary,hsla(0,0%,100%,.9));background:var(--bg-elevated,hsla(0,0%,100%,.08));border-color:var(--border-strong,hsla(0,0%,100%,.15))}.header__toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;background:none;border:none;cursor:pointer;padding:0}.header__toggle span{display:block;width:18px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}.header__toggle--active span:first-child{transform:translateY(6px) rotate(45deg)}.header__toggle--active span:nth-child(2){opacity:0}.header__toggle--active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.header__mobile{display:none;position:fixed;top:80px;left:24px;right:24px;background:var(--bg-card,hsla(0,0%,4%,.95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle,hsla(0,0%,100%,.06));border-radius:16px;padding:24px;opacity:0;transform:translateY(-12px);pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.header__mobile--open{opacity:1;transform:translateY(0);pointer-events:auto}.header__mobile-nav{display:flex;flex-direction:column;gap:8px}.header__mobile-link{display:block;padding:12px 16px;font-size:16px;font-weight:500;color:var(--text-secondary,hsla(0,0%,100%,.8));text-decoration:none;border-radius:8px;transition:all .2s ease}.header__mobile-link:hover{color:var(--text-primary,#fff);background:hsla(0,0%,100%,.04)}.header__mobile-divider{height:1px;background:var(--border-subtle);margin:8px 0}.header__mobile-status{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:13px;color:#10b981}.header__mobile-status .header__availability-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:availabilityPulse 2s ease-in-out infinite}@media (max-width:768px){.header{padding:12px 16px}.header--scrolled{padding:8px 16px}.header__inner{height:48px;padding:0 16px}.header--scrolled .header__inner{height:44px}.header__availability,.header__nav{display:none}.header__toggle{display:flex}.header__mobile{display:block;top:68px;left:16px;right:16px}}body.light-mode .header__inner{box-shadow:0 4px 16px rgba(0,0,0,.06)}body.light-mode .header--scrolled .header__inner{box-shadow:0 4px 20px rgba(0,0,0,.08)}body.light-mode .header__availability{background:rgba(0,137,123,.06);border-color:rgba(0,137,123,.15)}body.light-mode .header__availability-dot{background:#00897b}body.light-mode .header__availability-text{color:#00897b}body.light-mode .header__availability:hover{background:rgba(0,137,123,.1)}body.light-mode .header__theme-toggle:hover{background:rgba(0,0,0,.04)}body.light-mode .header__mobile{background:hsla(0,0%,100%,.95);border-color:rgba(0,0,0,.06)}body.light-mode .header__mobile-link{color:var(--text-secondary)}body.light-mode .header__mobile-link:hover{color:var(--text-primary);background:rgba(0,0,0,.04)}body.light-mode .header__mobile-status{color:#00897b}body.light-mode .header__mobile-status .header__availability-dot{background:#00897b}