@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c6e48ee1-module__JRO3KW__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c6e48ee1-module__JRO3KW__variable{--font-body:"Inter", "Inter Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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_510c0f43-module__9E5APG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_510c0f43-module__9E5APG__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.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.2sb9jzhmrh7ny.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.343obqi851wr5.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.40kcwrf1wub16.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.200l3jur7oygh.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.269kn9uafm0ti.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_dc177b0e-module__78ed6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dc177b0e-module__78ed6G__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--font-body:"Inter", system-ui, sans-serif;--font-display:"Space Grotesk", var(--font-body);--font-mono:"JetBrains Mono", ui-monospace, monospace;--max-w:1160px;--gutter:clamp(16px, 4vw, 40px);--radius:20px;--radius-sm:12px;--ease:cubic-bezier(.22, 1, .36, 1);--bg:#0a0a0f;--bg-2:#111118;--surface:#ffffff09;--surface-2:#ffffff0f;--border:#ffffff17;--border-strong:#ffffff2e;--text:#f2f2f5;--text-2:#b4b4c2;--text-3:#7c7c8f;--accent:#f5a623;--accent-2:#a78bfa;--accent-3:#34d399;--accent-contrast:#0a0a0f;--glow-1:#f5a62338;--glow-2:#a78bfa38;--grid:#ffffff0b;--shadow:0 30px 80px -30px #000000b3;--nav-bg:#0a0a0f99;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f7f5;--bg-2:#fff;--surface:#14141e09;--surface-2:#14141e0f;--border:#14141e1a;--border-strong:#14141e38;--text:#131320;--text-2:#4a4a5c;--text-3:#7b7b8c;--accent:#d97706;--accent-2:#7c3aed;--accent-3:#059669;--accent-contrast:#fff;--glow-1:#f5a62347;--glow-2:#7c3aed33;--grid:#14141e0f;--shadow:0 30px 80px -30px #14142840;--nav-bg:#f7f7f5b3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .35s var(--ease), color .35s var(--ease);margin:0;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.1}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg{display:block}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bg-canvas{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-canvas:before{content:"";background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 100%);mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 100%)}.bg-orb{will-change:transform;border-radius:50%;animation:22s ease-in-out infinite alternate drift;position:absolute}.bg-orb.one{background:radial-gradient(circle, var(--glow-1) 0%, transparent 62%);width:70vw;max-width:900px;height:70vw;max-height:900px;top:-28vw;right:-20vw}.bg-orb.two{background:radial-gradient(circle, var(--glow-2) 0%, transparent 62%);width:60vw;max-width:780px;height:60vw;max-height:780px;animation-delay:-8s;top:25vh;left:-26vw}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(4vw,6vh)scale(1.12)}}.spotlight{z-index:-1;pointer-events:none;background:radial-gradient(600px circle at var(--mx,-1000px) var(--my,-1000px), var(--glow-2), transparent 45%);opacity:.55;transition:opacity .4s;position:fixed;inset:0}@media (hover:none){.spotlight{display:none}}.container{width:min(100% - 2 * var(--gutter), var(--max-w));margin-inline:auto}.section{padding-block:clamp(56px,7vw,88px);scroll-margin-top:90px}.section+.section{padding-top:clamp(8px,2vw,24px)}.section-head{flex-direction:column;gap:14px;max-width:720px;margin-bottom:clamp(24px,4vw,40px);display:flex}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;font-size:12px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:24px;height:1px}.section-head h2{font-size:clamp(30px,4.6vw,48px);font-weight:600}.section-head p{color:var(--text-2);font-size:17px}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.bg-orb{animation:none}}.btn{border:1px solid var(--border-strong);background:var(--surface);transition:transform .25s var(--ease), background .25s, border-color .25s, box-shadow .25s;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--text-3);transform:translateY(-2px)}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:0 12px 30px -12px var(--accent)}.btn-icon{border-radius:12px;justify-content:center;width:42px;height:42px;padding:0}.chip{font-size:13px;font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;align-items:center;padding:6px 12px;transition:border-color .2s,color .2s,transform .2s;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);transition:border-color .3s, transform .3s var(--ease), box-shadow .3s}.card:hover{border-color:var(--border-strong)}.nav-wrap{z-index:50;padding-inline:var(--gutter);pointer-events:none;justify-content:center;display:flex;position:fixed;top:16px;left:0;right:0}.nav{pointer-events:auto;border:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(18px)saturate(160%);width:min(100%, var(--max-w));border-radius:999px;align-items:center;gap:4px;padding:6px 8px 6px 14px;display:flex;box-shadow:0 10px 40px -20px #0009}.brand{font-family:var(--font-display);align-items:center;gap:10px;margin-right:auto;font-size:15px;font-weight:700;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0a0a0f;letter-spacing:-.02em;border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.nav-links{align-items:center;gap:2px;display:flex}.nav-links a{color:var(--text-2);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;transition:color .2s,background .2s}.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--surface-2)}.nav-actions{align-items:center;gap:6px;margin-left:6px;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-2);transition:transform .4s var(--ease), color .2s, border-color .2s;border-radius:999px;place-items:center;display:grid}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-20deg)}.nav-cta{padding:9px 16px;font-size:14px}.menu-toggle{border:1px solid var(--border);border-radius:999px;place-items:center;width:38px;height:38px;display:none}.mobile-menu{display:none}@media (max-width:860px){.nav-links,.nav-cta{display:none}.menu-toggle{display:grid}.mobile-menu{pointer-events:auto;top:64px;left:var(--gutter);right:var(--gutter);border:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);transform-origin:top;animation:pop .25s var(--ease);border-radius:20px;flex-direction:column;gap:4px;padding:10px;display:flex;position:absolute}.mobile-menu a{border-radius:12px;padding:12px 14px;font-weight:500}.mobile-menu a:hover{background:var(--surface-2)}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(-6px)}}.hero{flex-direction:column;justify-content:center;min-height:100svh;padding-top:120px;padding-bottom:60px;display:flex;position:relative}.hero-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;align-items:center;gap:10px;width:fit-content;margin-bottom:28px;padding:7px 14px 7px 8px;font-size:13px;display:inline-flex}.hero-pill .dot{background:var(--surface-2);border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:relative}.hero-pill .dot:before{content:"";background:var(--accent-3);width:8px;height:8px;box-shadow:0 0 0 0 var(--accent-3);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #34d39999}70%{box-shadow:0 0 0 10px #34d39900}to{box-shadow:0 0 #34d39900}}.hero-pill strong{color:var(--text);font-weight:600}.hero h1{letter-spacing:-.04em;max-width:14ch;font-size:clamp(42px,6.2vw,78px);font-weight:700;line-height:.98}.hero h1 .muted{color:var(--text-3);font-weight:500}.hero-role{font-family:var(--font-display);color:var(--text-2);flex-wrap:wrap;align-items:baseline;gap:.35em;margin-top:22px;font-size:clamp(20px,2.8vw,30px);font-weight:500;display:flex}.rotator{color:var(--text);min-height:1.3em;display:inline-grid;position:relative}.rotator span{white-space:nowrap;background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);-webkit-background-clip:text;background-clip:text;grid-area:1/1;transform:translateY(12px)}.rotator span.on{opacity:1;transform:none}.hero-tagline{max-width:600px;color:var(--text-2);margin-top:26px;font-size:clamp(16px,1.5vw,19px)}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px;display:flex}.hero-socials{gap:8px;margin-left:6px;display:flex}.hero-meta{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px;display:grid}.stat{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:18px 20px}.stat strong{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(90deg, var(--text), var(--text-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700;display:block}.stat span{color:var(--text-3);font-size:13px}.scroll-hint{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-hint:after{content:"";background:linear-gradient(var(--text-3), transparent);width:1px;height:36px;animation:1.8s ease-in-out infinite scrollhint}@keyframes scrollhint{0%,to{transform-origin:top;opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@media (max-width:860px),(max-height:860px){.scroll-hint{display:none}}@media (max-width:860px){.hero-meta{grid-template-columns:repeat(2,1fr)}}.marquee{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{gap:40px;width:max-content;animation:40s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:40px;font-size:13px;display:inline-flex}.marquee-track span:after{content:"✦";color:var(--accent);font-size:10px}@keyframes marquee{to{transform:translate(-50%)}}.bento{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.bento>*{padding:28px;position:relative;overflow:hidden}.b-story{grid-column:span 7}.b-story p{color:var(--text-2);font-size:17px}.b-story p+p{margin-top:14px}.b-story .label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;margin-bottom:18px;font-size:11px;display:flex}.b-story p b{color:var(--text);font-weight:600}.b-now{flex-direction:column;grid-column:span 5;gap:16px;display:flex}.b-now .timeline-mini{margin-top:auto}.b-now .company{font-family:var(--font-display);letter-spacing:-.03em;font-size:28px;font-weight:700}.b-now .role{color:var(--text-2)}.b-now .timeline-mini{color:var(--text-3);flex-direction:column;gap:10px;margin-top:auto;font-size:14px;display:flex}.b-now .timeline-mini div{border-top:1px dashed var(--border);justify-content:space-between;gap:12px;padding-top:10px;display:flex}.b-now .timeline-mini b{color:var(--text-2);font-weight:500}.b-edu{background:linear-gradient(160deg, var(--surface-2), transparent), var(--surface);grid-column:span 4}.b-edu .school{font-family:var(--font-display);letter-spacing:-.02em;margin-top:28px;font-size:22px;font-weight:700}.b-edu .sub{color:var(--text-2);margin-top:4px;font-size:15px}.b-edu .badge{font-family:var(--font-mono);border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:5px 10px;font-size:11px;position:absolute;top:22px;right:22px}.b-clock{flex-direction:column;grid-column:span 4;justify-content:space-between;display:flex}.b-clock .time{font-family:var(--font-mono);letter-spacing:-.02em;font-size:40px;font-weight:500}.b-clock .place{color:var(--text-2)}.b-links{flex-direction:column;grid-column:span 4;gap:10px;display:flex}.b-links a{border:1px solid var(--border);background:var(--surface);transition:border-color .2s, transform .2s var(--ease), background .2s;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-weight:500;display:flex}.b-links a:hover{border-color:var(--accent);background:var(--surface-2);transform:translate(4px)}.b-links a svg:last-child{color:var(--text-3);margin-left:auto}.b-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:6px;font-size:11px;display:flex}@media (max-width:960px){.b-story,.b-now{grid-column:span 12}.b-edu,.b-clock,.b-links{grid-column:span 6}}@media (max-width:640px){.bento>*{padding:22px;grid-column:span 12!important}}.projects-featured{grid-template-columns:1fr;gap:16px;display:grid}.project{flex-direction:column;display:flex;position:relative;overflow:hidden}.project.featured{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.project:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.project-art{flex-direction:column;justify-content:flex-end;min-height:240px;padding:22px;display:flex;position:relative;overflow:hidden}.project-art:before{content:"";background:var(--art);opacity:.9;transition:transform .8s var(--ease);position:absolute;inset:0}.project:hover .project-art:before{transform:scale(1.04)}.project-art:after{content:"";background-image:radial-gradient(#ffffff38 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.project-art .art-index{font-family:var(--font-mono);color:#ffffffd9;letter-spacing:.2em;z-index:1;font-size:12px;position:absolute;top:18px;left:22px}.art-badge{z-index:2;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#00000073;border:1px solid #ffffff57;border-radius:999px;padding:6px 11px;font-size:11px;position:absolute;top:16px;right:18px}.art-badge.compact{padding:4px 9px;font-size:10px;position:static}.project-note{color:var(--text-3);align-self:center;font-size:13px}.project-art .art-icon{color:#ffffff47;filter:drop-shadow(0 20px 40px #00000040);z-index:1;width:clamp(110px,34%,180px);height:auto;transition:transform .8s var(--ease), color .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.project:hover .project-art .art-icon{color:#fff6;transform:translate(-50%,-50%)rotate(-2deg)scale(1.06)}.project-body{flex-direction:column;gap:12px;padding:24px;display:flex}.project-tag{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px}.project-body h3{font-size:22px;font-weight:600}.project-body p{color:var(--text-2);font-size:15px}.project-body ul{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.project-body li{gap:10px;display:flex}.project-body li:before{content:"→";color:var(--accent);flex:none}.project-stack{flex-wrap:wrap;gap:6px;display:flex}.project-stack .chip{padding:4px 10px;font-size:12px}.project-links{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px;display:flex}.project-toggle{color:var(--text-2);border-bottom:1px solid var(--border-strong);align-self:flex-start;align-items:center;gap:4px;padding:2px 0;font-size:13px;font-weight:600;transition:color .2s,border-color .2s;display:inline-flex}.project-toggle svg{transition:transform .25s var(--ease)}.project-toggle.open svg{transform:rotate(180deg)}.project-toggle:hover{color:var(--accent);border-color:var(--accent)}.chip-more{cursor:pointer;color:var(--text-3);border-style:dashed}.chip-more:hover{color:var(--accent);border-color:var(--accent)}.project-links .btn{padding:9px 14px;font-size:14px}.projects-more-head{margin:36px 0 16px}.projects-more{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project.compact .compact-head{justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:relative;overflow:hidden}.project.compact .compact-head:before{content:"";background:var(--art);opacity:.9;position:absolute;inset:0}.project.compact .compact-head .art-index{z-index:1;font-family:var(--font-mono);color:#ffffffd9;letter-spacing:.2em;font-size:12px;position:relative}.compact-icon{z-index:1;color:#fff;background:#00000040;border:1px solid #ffffff4d;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;position:relative}.project.compact .project-body{gap:10px;padding:20px}.project.compact h3{font-size:19px}.project.compact p{font-size:14px}.github-cta{justify-content:center;margin-top:24px;display:flex}@media (max-width:960px){.projects-more{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.project.featured{grid-template-columns:1fr}.project-art{min-height:190px;padding:18px}.project-art .art-icon{width:96px}}@media (max-width:640px){.projects-more{grid-template-columns:1fr}.project-body{padding:20px}}.timeline{flex-direction:column;gap:18px;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent), var(--border) 30%, var(--border) 70%, transparent);width:1px;position:absolute;top:8px;bottom:8px;left:15px}.job{grid-template-columns:32px 1fr;gap:22px;display:grid}.job-dot{border:1px solid var(--border-strong);background:var(--bg);z-index:1;width:32px;height:32px;font-family:var(--font-mono);color:var(--text-3);border-radius:50%;place-items:center;font-size:11px;display:grid;position:relative}.job:first-child .job-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 6px var(--glow-1)}.job-card{padding:26px 28px}.job-top{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:8px;display:flex}.job-top h3{font-size:22px;font-weight:600}.job-top .company{color:var(--accent);align-items:center;gap:4px;font-weight:600;display:inline-flex}.job-top .period{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.08em;margin-left:auto;font-size:12px}.job-summary{color:var(--text-2);margin-bottom:14px}.job-card ul{color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.job-card li{gap:10px;display:flex}.job-card li:before{content:"▹";color:var(--accent);flex:none}.job-stack{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}@media (max-width:640px){.timeline:before{display:none}.job{grid-template-columns:1fr}.job-dot{display:none}.job-top .period{width:100%;margin-left:0}}.edu-card{background:linear-gradient(120deg, var(--glow-1), transparent 40%), var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-top:40px;padding:28px;display:grid}.edu-logo{background:var(--text);width:64px;height:64px;color:var(--bg);font-family:var(--font-display);letter-spacing:-.03em;border-radius:16px;place-items:center;font-size:16px;font-weight:800;display:grid}.edu-card h3{font-size:22px;font-weight:600}.edu-card p{color:var(--text-2);margin-top:4px}.edu-card .period{font-family:var(--font-mono);color:var(--text-3);font-size:13px}@media (max-width:640px){.edu-card{grid-template-columns:auto 1fr}.edu-card .period{grid-column:2}}.skills-focus{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.skill-focus{flex-direction:column;gap:12px;padding:24px 24px 20px;display:flex;position:relative;overflow:hidden}.skill-focus:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));width:100%;height:3px;position:absolute;inset:0 auto auto 0}.skill-focus:nth-child(2):before{background:linear-gradient(90deg, var(--accent-3), var(--accent-2))}.skill-focus-top{align-items:center;gap:14px;display:flex}.skill-focus-icon{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}.skill-focus:nth-child(2) .skill-focus-icon{color:var(--accent-3);background:color-mix(in srgb, var(--accent-3) 14%, transparent);border-color:color-mix(in srgb, var(--accent-3) 30%, transparent)}.skill-focus-index{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:12px}.skill-focus:nth-child(2) .skill-focus-index{color:var(--accent-3)}.skill-focus h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:600}.skill-focus p{color:var(--text-2);margin:0;font-size:14.5px;line-height:1.55}.skill-focus .chips{flex-wrap:wrap;gap:6px;display:flex}.skill-focus-link{color:var(--text);border-bottom:1px solid var(--border-strong);align-self:flex-start;align-items:center;gap:4px;margin-top:auto;padding-bottom:2px;font-size:13px;font-weight:600;transition:color .2s,border-color .2s;display:inline-flex}.skill-focus-link:hover{color:var(--accent);border-color:var(--accent)}.skill-rows{padding:6px 24px}.skill-row{border-bottom:1px solid var(--border);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:16px;padding:11px 0;display:grid}.skill-row:last-child{border-bottom:0}.skill-row h3{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.skill-row h3 svg{color:var(--accent);flex:none}.skill-row .chips{flex-wrap:wrap;gap:6px;display:flex}.chip-sm{padding:4px 10px;font-size:12px}@media (max-width:860px){.skills-focus{grid-template-columns:1fr}.skill-row{grid-template-columns:1fr;align-items:start;gap:8px}}.contact-card{text-align:center;background:radial-gradient(60% 80% at 50% 100%, var(--glow-2), transparent), var(--surface);flex-direction:column;align-items:center;gap:22px;padding:clamp(32px,6vw,72px);display:flex;position:relative;overflow:hidden}.contact-card h2{letter-spacing:-.04em;max-width:16ch;font-size:clamp(34px,6vw,68px);font-weight:700}.contact-card>p{max-width:560px;color:var(--text-2);font-size:17px}.contact-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.copy-email{font-family:var(--font-mono);color:var(--text-2);border:1px dashed var(--border-strong);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;transition:border-color .2s,color .2s;display:inline-flex}.copy-email:hover{border-color:var(--accent);color:var(--text)}.copy-email.copied{border-color:var(--accent-3);color:var(--accent-3)}.footer{border-top:1px solid var(--border);color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:14px;padding:32px 0 40px;font-size:14px;display:flex}.footer a:hover{color:var(--text)}.footer .links{gap:18px;display:flex}.to-top{z-index:40;border:1px solid var(--border-strong);background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);opacity:0;width:44px;height:44px;transition:opacity .3s, transform .3s var(--ease);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(12px)}.to-top.show{opacity:1;pointer-events:auto;transform:none}.progress{transform-origin:0;width:100%;height:2px;transform:scaleX(var(--p,0));background:linear-gradient(90deg, var(--accent), var(--accent-2));z-index:60;position:fixed;top:0;left:0}.hero-grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(28px,5vw,64px);display:grid}.hero-media-col{position:relative}.hero-media{aspect-ratio:1/1.1;border-radius:28px;position:relative;overflow:hidden;-webkit-mask-image:radial-gradient(78% 78%,#000 55%,#0000 100%);mask-image:radial-gradient(78% 78%,#000 55%,#0000 100%)}.hero-sound{z-index:3;font-family:var(--font-mono);letter-spacing:.04em;color:#fff;-webkit-backdrop-filter:blur(8px);background:#0a0a0f8c;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;transition:background .2s,border-color .2s,transform .2s;display:inline-flex;position:absolute;bottom:16px;left:16px}.hero-sound:hover{border-color:var(--accent);background:#0a0a0fbf;transform:translateY(-1px)}.hero-video-frame{aspect-ratio:26/15;-webkit-mask-image:radial-gradient(94% 94%,#000 74%,#0000 100%);mask-image:radial-gradient(94% 94%,#000 74%,#0000 100%)}.hero-video{object-fit:cover;object-position:50% 50%;filter:saturate(1.05)contrast(1.02);width:100%;height:100%;display:block}.hero-media-vignette{pointer-events:none;background:radial-gradient(ellipse 70% 70% at 50% 50%, transparent 55%, var(--bg) 100%), linear-gradient(180deg, transparent 70%, var(--bg) 100%);opacity:.85;position:absolute;inset:0}@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.hero-media-col{order:-1}.hero-media{aspect-ratio:16/10;max-height:340px}}.project-image{object-fit:cover;object-position:top;z-index:1;width:100%;height:100%;transition:transform .8s var(--ease);position:absolute;inset:0}.project:hover .project-image{transform:scale(1.04)}.project.has-image .project-art:after{background:linear-gradient(#00041500 40%,#000415d9 100%)}.project.has-image .project-image{object-fit:cover;object-position:center}.project.has-image .project-art{background:#05070c}.project.has-image .art-icon{display:none}.project.has-image .art-play{width:46px;height:46px;top:16px;bottom:auto;right:16px}.project.has-image .project-art:before{opacity:1}.art-play{z-index:2;color:#0a0a0f;width:52px;height:52px;transition:transform .25s var(--ease), background .25s;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:20px;right:20px;box-shadow:0 10px 30px -8px #00000080}.art-play:hover{background:var(--accent);transform:scale(1.08)}.modal-backdrop{z-index:100;padding:var(--gutter);-webkit-backdrop-filter:blur(10px);background:#05050abf;place-items:center;animation:.2s fade;display:grid;position:fixed;inset:0}.video-modal{background:var(--bg-2);border:1px solid var(--border-strong);width:min(100%,1040px);box-shadow:var(--shadow);animation:pop .25s var(--ease);border-radius:20px;overflow:hidden}.video-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.video-modal-head h3{margin-top:4px;font-size:20px}.video-modal-player{background:#000;width:100%;max-height:72vh;display:block}@keyframes fade{0%{opacity:0}}.hero-photo-scene{perspective:1200px;position:relative}.hero-photo{aspect-ratio:4/3;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease);transform-style:preserve-3d}.hero-photo-img{object-fit:cover;object-position:66% 30%;will-change:transform;width:100%;height:100%;translate:var(--px,0) var(--py,0);transition:translate .6s var(--ease);filter:saturate(1.05)contrast(1.03);animation:24s ease-in-out infinite alternate kenburns;display:block}@keyframes kenburns{0%{transform:scale(1.08)translate(0)}to{transform:scale(1.22)translate(-2.5%,-3%)}}.hero-photo-sweep{pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(115deg,#0000 40%,#ffffff29 50%,#0000 60%);animation:9s ease-in-out infinite sweep;position:absolute;inset:-20%}@keyframes sweep{0%,35%{transform:translate(-60%)}65%,to{transform:translate(60%)}}.hero-badge{z-index:2;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text);background:var(--nav-bg);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:8px 14px;font-size:12px;animation:6s ease-in-out infinite float;position:absolute;box-shadow:0 10px 30px -12px #00000080}.hero-badge-a{top:26px;left:6px}.hero-badge-b{animation-delay:-3s;bottom:34px;right:6px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.hero-photo-img,.hero-photo-sweep,.hero-badge{animation:none}}
