@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_efc253b3-module__w1i8Da__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_efc253b3-module__w1i8Da__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_9b24f49e-module__hJlnFq__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_9b24f49e-module__hJlnFq__variable{--font-manrope:"Manrope", "Manrope Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_28411002-module__cjC0Ca__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_28411002-module__cjC0Ca__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#090c12;--surface:#101114;--fg:#e9ebef;--muted:#8b8f95;--accent:#66c9ff;--border:#23262b;--mono:var(--font-plex-mono),monospace;--mouse-x:70vw;--mouse-y:30vh;--scroll:0%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--fg);font-family:var(--font-dm-sans),sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(1280px,100% - 112px);margin:auto}.mouse-glow{pointer-events:none;background:radial-gradient(430px circle at var(--mouse-x) var(--mouse-y),#77caf404,transparent 100%);z-index:10;position:fixed;inset:0}.header{border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;width:min(1280px,100% - 112px);height:100px;margin:auto;display:flex;position:relative}.logo{font-family:var(--mono);letter-spacing:-1.5px;align-items:center;font-size:24px;font-weight:500;display:flex}.logo>span{color:var(--accent)}.logo i{background:var(--accent);border-radius:50%;width:5px;height:5px;margin:11px 0 0 7px}.nav{color:#a9adb4;gap:36px;font-size:14px;display:flex}.nav a:hover,.text-link:hover{color:var(--accent)}.header-contact{border:1px solid #323944;border-radius:5px;align-items:center;gap:23px;padding:12px 18px;font-size:13px;display:flex}.header-contact:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle{background:0 0;display:none}.hero{grid-template-columns:1.12fr 1fr;align-items:center;min-height:756px;padding-top:66px;padding-bottom:100px;display:grid;position:relative}.eyebrow,.section-label,.art-coordinate,.hero-caption,.hero-bottom,.strip-inner>span,.project-type,.demo-note,.mini-bottom{font-family:var(--mono);letter-spacing:1.3px;font-size:11px}.eyebrow{color:var(--accent);letter-spacing:1.2px;align-items:center;gap:12px;margin-bottom:27px;font-size:11px;display:flex}.short-line{background:var(--accent);width:23px;height:1px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-manrope),sans-serif}h1{letter-spacing:-3.4px;font-size:clamp(44px,4.9vw,70px);font-weight:600;line-height:1.12}h1>span{color:var(--accent)}.hero-content>p{color:var(--muted);margin-top:25px;font-size:15px;line-height:1.85}.hero-actions{align-items:center;gap:30px;margin-top:31px;display:flex}.button{border-radius:4px;justify-content:center;align-items:center;gap:24px;padding:15px 20px;font-size:13px;font-weight:650;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:#0f151e}.primary:hover{background:#9fdcfa}.text-link{align-items:center;gap:13px;font-size:13px;display:inline-flex}.hero-caption{color:#6a6f77;letter-spacing:1px;align-items:center;gap:8px;margin-top:35px;font-size:9px;display:flex}.hero-caption i{background:#4f5560;border-radius:50%;width:3px;height:3px;margin:0 5px}.hero-art{isolation:isolate;height:540px;margin-left:-12px;margin-right:-15px;position:relative}.orbit-canvas{width:100%;height:100%;position:absolute;inset:0}.hero-bottom{color:#5f6570;letter-spacing:1.2px;justify-content:space-between;align-items:center;width:100%;font-size:9px;display:flex;position:absolute;bottom:26px}.hero-bottom a{color:#939aa6;align-items:center;gap:10px;display:flex}.hero-bottom a svg{animation:2s ease-in-out infinite down}.stack-strip{border-block:1px solid var(--border);background:#0e0f12}.strip-inner{justify-content:space-between;align-items:center;gap:25px;height:90px;display:flex}.strip-inner>span{color:#707783;max-width:120px;font-size:9px;line-height:1.8}.strip-inner b{font-family:var(--font-manrope),sans-serif;color:#9aa0a9;letter-spacing:-.5px;font-size:19px;font-weight:650}.strip-inner .strip-plus{color:var(--accent);font-size:23px}.section{border-bottom:1px solid var(--border);padding:108px 0}.section-label{letter-spacing:1.6px;color:#aab0b9;align-items:center;gap:12px;margin-bottom:25px;font-size:10px;display:flex}.section-label>span{color:var(--accent)}h2{letter-spacing:-1.6px;font-size:37px;font-weight:500;line-height:1.35}h2>span{color:#858d9b}.about{grid-template-columns:1fr 1fr;gap:80px;display:grid}.about h2{font-size:33px}.about-copy{padding-top:37px}.about-copy>p{color:var(--muted);font-size:15px;line-height:1.95}.about-copy>p:first-child{color:#bfc5ce;margin-bottom:17px}.about-copy strong{color:var(--fg);font-weight:500}.edit-label{font-size:8px;font-family:var(--mono);border:1px solid var(--border);color:#6e7889;letter-spacing:1px;white-space:nowrap;margin-left:8px;padding:4px 6px}.about-bottom{gap:25px;margin-top:27px;display:flex}.about-bottom span{color:#98a1b0;align-items:center;gap:8px;font-size:11px;display:flex}.about-bottom svg{color:var(--accent)}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;display:flex}.section-heading .section-label{margin-bottom:16px}.filters{background:#101317;border:1px solid #20252d;border-radius:5px;gap:5px;margin-bottom:3px;padding:4px;display:flex}.filters button{color:#848b97;background:0 0;border-radius:3px;padding:9px 14px;font-size:12px}.filters button.active{color:#b8ccef;background:#222832}.filters button span{font-family:var(--mono);color:var(--accent);margin-left:8px;font-size:9px}.project-grid{grid-template-columns:repeat(3,1fr);gap:23px;display:grid}.project-card{text-align:left;border:1px solid var(--border);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));background:#0f1013;border-radius:8px;flex-direction:column;padding:0;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.project-card:hover{border-color:#4c778d}.project-preview{border-bottom:1px solid var(--border);background:radial-gradient(at 50% 100%,#25355055,#0000 80%),#11151b;justify-content:center;align-items:flex-end;height:238px;padding:36px 26px 0;display:flex;position:relative;overflow:hidden}.project-preview.workspace{background:radial-gradient(at 50% 100%,#41424566,#0000 80%),#181a19}.project-preview.terminal{background:radial-gradient(at 50% 100%,#1a2a4655,#0000 80%),#10141b}.mini-window{transform-origin:bottom;background:#0d0f13;border:1px solid #303845;border-radius:6px 6px 0 0;width:100%;height:193px;transition:transform .4s;overflow:hidden;transform:perspective(700px)rotateY(-7deg)rotateX(5deg);box-shadow:0 0 30px #0004}.project-card:hover .mini-window{transform:perspective(700px)rotateY(0)rotateX(0)translateY(-5px)}.workspace .mini-window{background:#151716;border-color:#404245;transform:perspective(700px)rotateY(7deg)rotateX(5deg)}.terminal .mini-window{background:#0c0f14;border-color:#2b3649;transform:perspective(700px)rotateY(-5deg)rotateX(5deg)}.window-bar{border-bottom:1px solid #ffffff0c;align-items:center;gap:4px;height:27px;padding:0 9px;display:flex}.window-bar>span{background:#3d4451;border-radius:100%;width:4px;height:4px}.window-bar b{font-family:var(--mono);letter-spacing:.5px;color:#7e8592;margin:auto;font-size:6px;font-weight:400}.security-ui{height:165px;display:flex}.mini-side{width:32px;color:var(--accent);border-right:1px solid #ffffff0a;flex-direction:column;align-items:center;gap:16px;padding-top:12px;display:flex}.mini-side>i{background:#374050;border-radius:1px;width:8px;height:5px}.mini-main{flex:1;min-width:0;padding:14px 12px}.mini-title{color:#c6cdd9;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:9px;display:flex}.mini-title>span{color:var(--accent);background:#1b2434;padding:2px 4px;font-size:5px}.mini-stats{gap:6px;display:flex}.mini-stats>div{color:#7c8491;border:1px solid #ffffff0d;border-radius:3px;flex:1;padding:5px;font-size:5px}.mini-stats b{color:#c2c9d6;margin-top:3px;font-size:13px;font-weight:500;display:block}.mini-stats .accent{color:var(--accent)}.chart{background:repeating-linear-gradient(0deg,#0000,#0000 15px,#ffffff06 15px 16px);border-bottom:1px solid #ffffff0a;align-items:flex-end;gap:3px;height:54px;padding-top:12px;display:flex}.chart i{background:linear-gradient(#70b6d988,#2a5e7822);border-top:1px solid #77caf4;flex:1}.mini-bottom{letter-spacing:.5px;color:#737c8c;justify-content:space-between;margin-top:7px;font-size:4px;display:flex}.workspace-ui{padding:14px 12px}.kanban{gap:7px;display:flex}.kanban>div{flex:1;min-width:0}.kanban label{color:#b0b3b9;align-items:center;gap:4px;margin-bottom:7px;font-size:5px;display:flex}.kanban label i{background:#989faa;border-radius:50%;width:3px;height:3px}.kanban>div:nth-child(2) label i{background:#75b1cf}.kanban>div:nth-child(3) label i{background:var(--accent)}.kanban-card{background:#202327;border:1px solid #ffffff07;border-radius:3px;margin-bottom:5px;padding:7px 5px}.kanban-card>em{background:#738198;border-radius:1px;width:17px;height:3px;margin-bottom:5px;display:block}.kanban-card>span{background:#606671;width:85%;height:2px;margin:3px 0;display:block}.kanban-card>span+span{background:#3d434d;width:56%}.kanban-card>div{justify-content:space-between;margin-top:6px;display:flex}.kanban-card b{background:#6a768b;border-radius:100%;width:7px;height:7px}.kanban-card small{color:#818b9c;font-size:4px}.terminal-ui{font-family:var(--mono);color:#a1a8b4;padding:14px 12px;font-size:6px;line-height:1.9}.terminal-ui p{gap:5px;display:flex}.terminal-ui p>span{color:#87bad3}.terminal-ui p>b{color:#d4d8de;font-weight:400}.terminal-ui .muted{color:#626a77}.terminal-columns{color:#536076}.terminal-ui p:nth-child(n+6)>span{width:39px;margin-left:auto}.terminal-ui strong{color:#869abd;width:45px;font-weight:400}.terminal-ui .prompt{color:#77caf4;margin-top:8px}.prompt i{background:var(--accent);width:4px;height:8px}.project-info{flex:1;padding:24px}.project-type{letter-spacing:1px;color:#7f899a;justify-content:space-between;font-size:8px;display:flex}.project-type>span{color:#535c6b}.project-name{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.project-name h3{letter-spacing:-.7px;font-size:24px;font-weight:550}.project-name>span{color:#95a2b9;transition:transform .2s}.project-card:hover .project-name>span{color:var(--accent);transform:translate(2px,-2px)}.project-info>p{color:#858c99;min-height:70px;font-size:13px;line-height:1.8}.tags{flex-wrap:wrap;gap:7px;margin-top:21px;display:flex}.tags>span{font-size:9px;font-family:var(--mono);color:#96a0b1;background:#13171d;border:1px solid #272c35;border-radius:3px;padding:5px 8px}.demo-note{color:#636a77;letter-spacing:.3px;justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:9px;display:flex}.demo-note>span{background:#576276;border-radius:50%;width:4px;height:4px}.skills-section{grid-template-columns:1fr 1.12fr;gap:85px;display:grid}.skills-intro>p{color:#858c99;margin-top:23px;font-size:14px;line-height:1.9}.code-note{font-family:var(--mono);color:#99a3b4;margin-top:31px;font-size:11px;line-height:1.9}.code-note span{color:#4b5566}.code-note b{color:var(--accent);font-weight:400}.skill{border-bottom:1px solid var(--border)}.skill:first-child{border-top:1px solid var(--border)}.skill>button{text-align:left;background:0 0;align-items:center;gap:19px;width:100%;padding:26px 0;display:flex}.skill-number{color:#5b6371;font-family:var(--mono);font-size:10px}.skill>button>svg{color:#93a2bc}.skill>button>svg:last-child{color:#758094;flex-shrink:0;margin-left:auto}.skill h3{letter-spacing:-.5px;font-size:19px;font-weight:500}.skill button p{color:#767e8d;margin-top:7px;font-size:12px}.skill-detail{padding:0 32px 28px 60px}.skill-detail>p{color:#848c99;font-size:13px;line-height:1.8}.skill-detail .tags{margin-top:16px}.expanded h3{color:var(--accent)}.contact-section{border-bottom:1px solid var(--border);background:radial-gradient(at 85% 80%,#4297c10a,#0000 70%);padding:90px 0 78px}.contact-layout{justify-content:space-between;align-items:center;display:flex}.contact-layout h2{letter-spacing:-2.5px;font-size:clamp(35px,4.4vw,61px);line-height:1.2}.contact-layout h2>span{color:var(--accent)}.contact-arrow{width:100px;height:100px;color:var(--accent);border:1px solid #35435c;border-radius:50%;place-items:center;transition:background .3s,transform .3s;display:grid}.contact-arrow svg{stroke-width:1px;width:44px;height:44px}.contact-arrow:hover{color:#090c12;background:#77caf4;transform:rotate(10deg)}.contact-bottom{justify-content:space-between;align-items:center;gap:30px;margin-top:32px;scroll-margin-top:40px;display:flex}.contact-bottom>p{color:#848c9b;font-size:13px;line-height:1.9}.contact-placeholder{color:#b4bdcd;align-items:center;gap:14px;font-size:13px;display:flex}.contact-placeholder svg{color:var(--accent)}.contact-placeholder small{color:#626c7e;margin-top:6px;font-size:11px;display:block}.email-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.email-group>a{border-bottom:1px solid var(--accent);padding:8px 0}.email-group>button{color:var(--accent);background:0 0}.email-group>span{font-size:12px}.footer{justify-content:space-between;align-items:center;gap:20px;padding-top:30px;padding-bottom:30px;display:flex}.footer .logo{font-size:20px}.footer>span{color:#656e7e;font-size:11px}.socials{align-items:center;gap:20px;display:flex}.socials>a{font-family:var(--mono);letter-spacing:.7px;color:#808a9b;align-items:center;gap:10px;font-size:9px;display:flex}.socials>a:hover{color:var(--accent)}.reveal{opacity:1;animation:.7s both reveal-in;animation-timeline:view();animation-range:entry entry 22%;transform:none}.project-dialog{width:min(650px,100% - 32px);max-height:85vh;color:var(--fg);background:#0e1116;border:1px solid #364153;border-radius:12px;padding:0}.project-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000b}.project-dialog .project-preview{height:240px;padding-inline:100px}.project-dialog .mini-window{max-width:350px}.dialog-close{z-index:1;background:#0d1117ec;border-radius:50%;place-items:center;width:35px;height:35px;display:grid;position:absolute;top:12px;right:12px}.dialog-content{padding:32px}.dialog-content .section-label{margin-bottom:12px}.dialog-content h2{margin-bottom:16px}.dialog-content>p{color:#949dad;margin-top:14px;font-size:14px;line-height:1.8}.dialog-content>a{color:var(--accent);gap:7px;margin:24px 20px 0 0;font-size:14px;display:inline-flex}.skip-link{background:var(--accent);color:var(--bg);z-index:100;padding:12px;position:fixed;top:-70px;left:16px}.skip-link:focus{top:12px}@keyframes down{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes reveal-in{0%{opacity:.25;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1500px){.hero{min-height:830px}.hero-art{height:600px}h1{font-size:76px}}@media (max-width:1100px){.container,.header{width:calc(100% - 64px)}.hero{min-height:690px}.hero-art{height:450px}h1{font-size:55px}.hero-caption{gap:5px;font-size:8px}.about{gap:40px}.about h2{font-size:28px}.project-grid{gap:15px}.project-preview{height:210px;padding:30px 15px 0}.project-info{padding:20px}.project-info>p{min-height:85px;font-size:12px}.tags{gap:5px}.tags>span{padding:5px 6px;font-size:8px}.skills-section{gap:50px}.strip-inner{gap:18px}.strip-inner b{font-size:16px}.section{padding:85px 0}.hero-actions{gap:20px}}@media (max-width:800px){.container,.header{width:calc(100% - 40px)}.header{height:80px}.nav{gap:24px}.hero{grid-template-columns:1.2fr 1fr;min-height:640px;padding-top:50px}.eyebrow{letter-spacing:.6px;gap:8px;font-size:8px}h1{letter-spacing:-2px;font-size:46px}.hero-content>p{font-size:13px}.hero-art{height:370px;margin-left:-40px;margin-right:-8px}.hero-caption{letter-spacing:0;font-size:7px}.hero-actions{gap:18px}.button{gap:14px;padding:13px 14px;font-size:11px}.text-link{gap:7px;font-size:11px}.hero-bottom{font-size:8px}.hero-bottom>span:nth-child(2){display:none}.strip-inner{flex-wrap:wrap;justify-content:center;gap:22px;height:auto;padding:23px 0}.strip-inner>span:first-child{text-align:center;width:100%;max-width:none}.strip-inner .strip-plus{display:none}.about{grid-template-columns:1fr;gap:22px}.about-copy{padding-top:0}.about h2{font-size:32px}.section-heading{flex-direction:column;align-items:flex-start;gap:24px}.project-grid{grid-template-columns:repeat(2,1fr)}.project-preview{height:220px}.project-info>p{min-height:75px;font-size:13px}.project-card:last-child{grid-column:1/-1;width:calc(50% - 8px)}.skills-section{grid-template-columns:1fr 1.3fr;gap:30px}.skills-intro h2{font-size:29px}.skill>button{gap:12px}.skill h3{font-size:17px}.skill button p{font-size:11px}.skill-detail{padding-left:35px;padding-right:0}.contact-arrow{width:75px;height:75px}.contact-bottom{align-items:flex-start}.contact-placeholder{font-size:11px}.contact-placeholder small,.footer>span{font-size:10px}.socials>a{font-size:8px}}@media (max-width:560px){html{scroll-padding-top:30px}.header{height:76px}.header-contact{border:0;gap:9px;margin-left:auto;margin-right:18px;padding:0;font-size:11px}.logo{font-size:23px}.menu-toggle{padding:4px;display:block}.menu-toggle svg{width:20px}.nav{display:none}.nav.open{border:1px solid var(--border);background:#0f1218;border-radius:0 0 6px 6px;flex-direction:column;gap:23px;padding:22px;display:flex;position:absolute;top:76px;left:0;right:0}.hero{flex-direction:column;align-items:stretch;min-height:0;padding-top:42px;padding-bottom:66px;display:flex}.eyebrow{margin-bottom:23px;font-size:8px}h1{letter-spacing:-2.5px;font-size:clamp(43px,11.3vw,64px);line-height:1.12}.hero-content>p{margin-top:22px;font-size:14px}.hero-actions{gap:24px;margin-top:25px}.button{gap:18px;padding:15px 18px;font-size:12px}.text-link{font-size:12px}.hero-caption{gap:7px;margin-top:26px;font-size:8px}.hero-art{height:345px;margin:20px 0 0}.hero-bottom{letter-spacing:.7px;font-size:7px;bottom:21px}.strip-inner{gap:21px;padding:21px 0}.strip-inner b{font-size:14px}.strip-inner>span:first-child{font-size:8px}.section{padding:63px 0}.section-label{margin-bottom:20px;font-size:9px}.about h2{letter-spacing:-1px;font-size:28px}.about-copy>p{font-size:14px}.about-bottom{flex-wrap:wrap;gap:18px}.about-bottom span{font-size:10px}.section-heading{margin-bottom:25px}.section-heading h2{letter-spacing:-1.2px;font-size:29px}.filters button{padding:8px 13px}.project-grid{grid-template-columns:1fr;gap:24px}.project-card:last-child{grid-column:auto;width:100%}.project-preview{height:246px;padding:34px 35px 0}.mini-window{height:203px}.project-info{padding:24px}.project-type{font-size:9px}.project-info>p{min-height:0;font-size:14px}.project-name h3{font-size:25px}.tags>span{padding:6px 8px;font-size:10px}.demo-note{text-align:center;align-items:baseline;font-size:8px;line-height:1.8}.demo-note>span{flex-shrink:0}.skills-section{grid-template-columns:1fr;gap:32px}.skills-intro h2{font-size:35px}.skills-intro>p{font-size:14px}.code-note{display:none}.skill>button{gap:17px;padding:24px 0}.skill h3{font-size:20px}.skill button p{font-size:12px}.skill-detail{padding-left:52px}.contact-section{padding:63px 0}.contact-layout{gap:18px}.contact-layout h2{letter-spacing:-1.5px;font-size:33px}.contact-arrow{flex-shrink:0;width:54px;height:54px}.contact-arrow svg{width:27px;height:27px}.contact-bottom{flex-direction:column;gap:25px;margin-top:25px}.contact-bottom>p{font-size:12px}.contact-placeholder{font-size:13px}.contact-placeholder small{font-size:11px}.footer{flex-wrap:wrap;gap:20px;padding-block:26px}.footer>span{text-align:center;order:3;width:100%;font-size:10px}.socials{margin-left:auto}.socials>a{font-size:8px}.project-dialog .project-preview{padding-inline:36px}.dialog-content{padding:25px}.mouse-glow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.project-card{transform:none!important}.mouse-glow{display:none}.reveal{opacity:1;transform:none}}.projects-story{border-bottom:1px solid var(--border);padding-top:104px}.story-heading{margin-bottom:44px}.project-chapter{min-height:145svh;scroll-margin-top:24px;position:relative}.project-chapter:last-child{min-height:110svh}.chapter-pin{flex-direction:column;justify-content:center;min-height:calc(100svh - 60px);padding:25px 0 20px;display:flex;position:sticky;top:30px}.chapter-meta,.chapter-bottom,.visual-caption,.chapter-category,.chapter-stack>span{font-family:var(--mono);letter-spacing:1.2px;font-size:11px}.chapter-meta{color:#8291a9;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.chapter-meta>span:first-child{color:var(--accent)}.chapter-meta>span:last-child{color:#d6e3f5;font-size:14px}.chapter-meta i{color:#59697e;font-style:normal}.chapter-layout{flex:1;grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(40px,6vw,94px);min-height:0;padding:38px 0;display:grid}.chapter-visual{min-width:0;transform:translateX(var(--chapter-shift,0px)) scale(var(--chapter-scale,1));opacity:var(--chapter-opacity,1);will-change:transform,opacity}.chapter-visual>.project-preview{background:radial-gradient(at 50% 100%,#167bc331,#0000 75%),#0d141e;border:1px solid #29384a;border-radius:12px;align-items:center;height:clamp(300px,42vh,440px);padding:42px 30px 0;box-shadow:0 25px 70px #0003}.chapter-visual .mini-window{border-radius:7px;max-width:500px;height:290px;transform:perspective(1000px)rotateY(-6deg)rotateX(5deg);box-shadow:0 20px 45px #0006}.chapter-visual .window-bar{gap:6px;height:35px;padding:0 15px}.chapter-visual .window-bar>span{width:6px;height:6px}.chapter-visual .window-bar b{font-size:9px}.chapter-visual .security-ui{height:250px}.chapter-visual .mini-side{gap:23px;width:46px;padding-top:20px}.chapter-visual .mini-main{padding:22px 18px}.chapter-visual .mini-title{margin-bottom:17px;font-size:14px}.chapter-visual .mini-title>span{font-size:8px}.chapter-visual .mini-stats{gap:10px}.chapter-visual .mini-stats>div{padding:10px;font-size:9px}.chapter-visual .mini-stats b{font-size:21px}.chapter-visual .chart{gap:5px;height:88px}.chapter-visual .mini-bottom{margin-top:10px;font-size:7px}.chapter-visual .workspace-ui{padding:22px 18px}.chapter-visual .kanban{gap:12px}.chapter-visual .kanban label{margin-bottom:12px;font-size:9px}.chapter-visual .kanban-card{margin-bottom:9px;padding:11px 8px}.chapter-visual .kanban-card>em{width:28px;height:4px;margin-bottom:9px}.chapter-visual .kanban-card>span{height:3px;margin:4px 0}.chapter-visual .kanban-card small{font-size:7px}.chapter-visual .kanban-card b{width:10px;height:10px}.chapter-visual .terminal-ui{padding:22px 20px;font-size:10px;line-height:1.9}.chapter-visual .terminal-ui strong,.chapter-visual .terminal-ui p:nth-child(n+6)>span{width:70px}.visual-caption{color:#6e819c;justify-content:space-between;margin-top:17px;font-size:9px;display:flex}.visual-caption>span:last-child{color:#97a5b9}.chapter-copy{opacity:var(--chapter-opacity,1);transform:translateX(calc(var(--chapter-shift,0px) * -.45));min-width:0;padding:10px 0}.chapter-category{color:var(--accent);letter-spacing:1.5px;font-size:10px}.chapter-copy h3{letter-spacing:-2.7px;margin:18px 0 22px;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.15}.chapter-copy h3>span{color:var(--accent)}.chapter-description{color:#a1aec1;max-width:430px;font-size:17px;line-height:1.85}.chapter-stack{margin-top:28px}.chapter-stack>span{color:#61738c;font-size:9px}.chapter-stack .tags{gap:8px;margin-top:12px}.chapter-stack .tags>span{color:#b5cce6;background:#101c2a;border-color:#253952;padding:8px 11px;font-size:11px}.chapter-action{color:#e3efff;text-align:left;background:0 0;border-bottom:1px solid #526d8b;justify-content:space-between;align-items:center;gap:40px;min-width:200px;margin-top:23px;padding:16px 0;font-size:14px;display:flex}.chapter-action:hover{color:var(--accent);border-color:var(--accent)}.chapter-copy>.text-link{margin:18px 16px 0 0}.chapter-bottom{color:#5f7189;justify-content:space-between;align-items:center;padding:20px 0;font-size:9px;display:flex}.chapter-bottom a{color:#98acc6;align-items:center;gap:12px;display:flex}.chapter-bottom a:hover{color:var(--accent)}.chapter-progress{background:#202c3e;height:1px}.chapter-progress>span{width:var(--chapter-progress,0%);background:var(--accent);height:100%;display:block}.chapter-reverse .chapter-layout{grid-template-columns:1fr 1.25fr}.chapter-reverse .chapter-visual{order:2}.chapter-reverse .chapter-copy{order:1}.chapter-reverse .mini-window{transform:perspective(1000px)rotateY(6deg)rotateX(5deg)}@media (max-width:1100px){.chapter-layout,.chapter-reverse .chapter-layout{grid-template-columns:1fr 1fr;gap:35px}.chapter-visual>.project-preview{padding:20px 16px 0}.chapter-visual .mini-window{height:265px}.chapter-visual .mini-main{padding:16px 10px}.chapter-visual .mini-stats>div{padding:7px}.chapter-visual .terminal-ui{font-size:8px}.chapter-copy h3{font-size:48px}.chapter-description{font-size:15px}}@media (max-width:900px),(max-height:699px){.project-chapter,.project-chapter:last-child{min-height:0}.chapter-pin{min-height:0;padding-block:35px;position:relative;top:auto}.chapter-layout,.chapter-reverse .chapter-layout{padding:30px 0}.chapter-visual,.chapter-copy{opacity:1;will-change:auto;transform:none}.chapter-progress{display:none}}@media (max-width:650px){.projects-story{padding-top:63px}.story-heading{margin-bottom:12px}.chapter-meta{gap:15px;font-size:9px}.chapter-meta>span:nth-child(2){display:none}.chapter-layout,.chapter-reverse .chapter-layout{grid-template-columns:1fr;gap:27px;padding:27px 0 20px}.chapter-reverse .chapter-visual,.chapter-reverse .chapter-copy{order:initial}.chapter-visual>.project-preview{height:290px;padding:20px 18px 0}.chapter-visual .mini-window{height:240px}.chapter-visual .mini-title{font-size:11px}.chapter-visual .mini-stats>div{font-size:7px}.chapter-visual .mini-stats b{font-size:17px}.chapter-visual .chart{height:67px}.chapter-visual .terminal-ui{padding:18px 12px;font-size:8px}.chapter-copy h3{margin:13px 0 16px;font-size:45px}.chapter-description{font-size:16px}.chapter-stack{margin-top:21px}.chapter-action{margin-top:18px}.chapter-bottom{gap:15px;font-size:8px}.chapter-pin{border-bottom:1px solid var(--border)}.chapter-category{font-size:9px}.visual-caption{font-size:8px}}@media (prefers-reduced-motion:reduce){.project-chapter,.project-chapter:last-child{min-height:0}.chapter-pin{min-height:0;position:relative;top:auto}.chapter-visual,.chapter-copy{will-change:auto;opacity:1!important;transform:none!important}.chapter-progress{display:none}}.project-chapter{scroll-margin-top:-70px}@media (max-width:560px){.project-chapter{scroll-margin-top:0}}.chapter-visual .kanban-card{padding-top:7px;padding-bottom:7px}.chapter-steps{display:none}.chapter-phases{position:relative}.chapter-phase{padding-top:22px}.phase-intro{display:none}.phase-kicker{font-family:var(--mono);letter-spacing:1.4px;color:var(--accent);margin-bottom:18px;font-size:10px;display:block}.intro-prompt{color:#b3c2d6;font-size:21px;line-height:1.6}.phase-scroll{font-family:var(--mono);letter-spacing:1.4px;color:#677f9b;align-items:center;gap:10px;margin-top:28px;font-size:9px;display:flex}.phase-scroll svg{animation:1.8s ease-in-out infinite down}.phase-technologies .chapter-stack,.phase-technologies .tags{margin-top:0}@media (min-width:901px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.project-chapter,.project-chapter:last-child{min-height:calc(290svh + var(--reading-extra,0px))}.chapter-steps{border-bottom:1px solid #24354a;gap:18px;margin:24px 0 10px;display:flex}.chapter-steps button{color:#71849e;background:0 0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:12px 0;font-size:11px;transition:color .35s,border-color .35s;display:flex}.chapter-steps button>span{font-family:var(--mono);font-size:9px}.chapter-steps button[aria-current=step]{color:var(--accent);border-color:var(--accent)}.chapter-copy h3{margin-bottom:12px;transition:font-size .6s cubic-bezier(.22,1,.36,1),letter-spacing .6s}.chapter-phases{height:220px}.chapter-phase{opacity:0;visibility:hidden;filter:blur(6px);pointer-events:none;transition:opacity .45s,transform .65s cubic-bezier(.22,1,.36,1),filter .5s,visibility .45s;display:block;position:absolute;inset:0;transform:translateY(22px)}.project-chapter:not([data-stage]) .phase-intro,.project-chapter[data-stage="0"] .phase-intro,.project-chapter[data-stage="1"] .phase-description,.project-chapter[data-stage="2"] .phase-technologies{opacity:1;visibility:visible;filter:blur();pointer-events:auto;transform:translateY(0)}.project-chapter[data-stage="0"] .chapter-copy h3{letter-spacing:-3px;font-size:clamp(54px,6vw,85px)}.chapter-visual .mini-window{transition:transform 1s cubic-bezier(.22,1,.36,1),box-shadow 1s;animation:5s ease-in-out infinite preview-breathe}.project-chapter[data-stage="1"] .mini-window{transform:perspective(1000px)rotateY(0)rotateX(0)scale(1.04);box-shadow:0 18px 70px #237fdb30}.project-chapter[data-stage="2"] .mini-window{transform:perspective(1000px)rotateY(5deg)rotateX(2deg)scale(.96)}.chapter-reverse[data-stage="2"] .mini-window{transform:perspective(1000px)rotateY(-5deg)rotateX(2deg)scale(.96)}.project-chapter[data-stage="2"] .phase-technologies .tags>span{animation:.6s cubic-bezier(.22,1,.36,1) both tech-arrive}.project-chapter[data-stage="1"] .phase-description p{animation:.7s both copy-arrive}.project-chapter[data-stage="0"] .chapter-bottom>a,.project-chapter[data-stage="1"] .chapter-bottom>a{opacity:0;visibility:hidden;pointer-events:none}.chapter-bottom>a{transition:opacity .4s,visibility .4s}.chapter-visual>.project-preview{transition:box-shadow .8s,border-color .8s}.project-chapter[data-stage="2"] .chapter-visual>.project-preview{border-color:#3b6892;box-shadow:0 0 60px #157bd514}}@keyframes tech-arrive{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes copy-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes preview-breathe{0%,to{translate:0}50%{translate:0 -7px}}@media (prefers-reduced-motion:reduce){.chapter-phase{opacity:1;visibility:visible;filter:none;transform:none}.phase-intro{display:none}}.toolkit-story{border-bottom:1px solid var(--border);--tool-color:#66c9ff;padding-top:108px}.toolkit-heading{justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:34px;display:flex}.toolkit-heading h2>span{color:#0000;background:linear-gradient(90deg,#e9ebef calc(var(--fill,110%) - 10%),#4a586b calc(var(--fill,110%) + 10%));-webkit-background-clip:text;background-clip:text}.toolkit-heading>p{color:#8394ac;padding-bottom:5px;font-size:14px;line-height:1.9}.toolkit-pin{flex-direction:column;padding:0 0 70px;display:flex}.toolkit-meta{font-family:var(--mono);letter-spacing:1.2px;color:#71849f;border-bottom:1px solid #202c3e;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;font-size:10px;display:flex}.toolkit-meta>span{align-items:center;gap:9px;display:flex}.toolkit-meta>span:first-child{color:#b2c4dc}.toolkit-meta svg,.toolkit-meta b{color:var(--tool-color);font-weight:500;transition:color .5s}.meta-hint{display:none!important}.meta-hint svg{animation:1.8s ease-in-out infinite down}.toolkit-steps{grid-template-columns:repeat(var(--count,4),minmax(0,1fr));gap:22px;display:grid}.toolkit-steps button{--fill:0;color:#6f829d;text-align:left;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:10px;min-width:0;padding:17px 0 15px;font-size:13px;font-weight:500;transition:color .35s;display:flex;position:relative}.toolkit-steps button[aria-selected=true]{--fill:1;color:var(--tool-color)}.toolkit-steps button:hover{color:#c7d6e8}.toolkit-steps button[aria-selected=true]:hover{color:var(--tool-color)}.step-index{font-family:var(--mono);opacity:.6;font-size:9px}.step-bar{background:#1c283a;border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.step-bar>span{transform-origin:0;height:100%;transform:scaleX(var(--fill));background:var(--tool-color);box-shadow:0 0 12px var(--tool-color);transition:transform .5s cubic-bezier(.22,1,.36,1),background .5s;display:block}.toolkit-stage{flex:1;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(30px,5vw,80px);min-height:0;padding-top:20px;display:grid}.stack-scene{--size:280px;--gap:74px;perspective:1500px;perspective-origin:50% 30%;background:radial-gradient(ellipse at 50% 62%,color-mix(in srgb,var(--tool-color) 11%,transparent),transparent 60%),#0a0f18;cursor:default;border:1px solid #1a2637;border-radius:14px;height:560px;transition:background .6s;position:relative;overflow:hidden}.stack-scene:before{content:"";background:radial-gradient(#3a516350 1px,#0000 1px) 0 0/22px 22px;position:absolute;inset:0;-webkit-mask:radial-gradient(#000 30%,#0000 75%);mask:radial-gradient(#000 30%,#0000 75%)}.scene-caption,.scene-footer{font-family:var(--mono);letter-spacing:1.2px;color:#566c89;z-index:2;pointer-events:none;justify-content:space-between;gap:12px;font-size:9px;display:flex;position:absolute;left:22px;right:22px}.scene-caption{top:20px}.scene-caption>span:last-child{color:var(--tool-color)}.scene-footer{bottom:18px}.scene-footer>span:first-child{color:#8aa3c2}.stack-world{--explode:1;width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);transform-style:preserve-3d;will-change:transform;position:absolute;top:60%;left:50%;transform:rotateX(58deg)rotate(-40deg)}.stack-world>span{pointer-events:none;position:absolute}.stack-floor{background:radial-gradient(closest-side,color-mix(in srgb,var(--tool-color) 22%,transparent),color-mix(in srgb,var(--tool-color) 8%,transparent) 55%,transparent);transition:background .6s;inset:-40%;transform:translateZ(-46px)}.stack-orbit{border:1px dashed #2a4360;border-radius:50%;animation:40s linear infinite stack-orbit;inset:-18%;transform:translateZ(-44px)}.stack-pillar{width:1px;height:calc(var(--gap) * var(--levels,3) * var(--explode) + 34px);transform-origin:top;background:repeating-linear-gradient(#35557a 0 4px,#0000 4px 9px);transform:rotateX(90deg)}.pillar-0{top:16px;left:16px}.pillar-1{top:16px;left:calc(100% - 16px)}.pillar-2{top:calc(100% - 16px);left:16px}.pillar-3{top:calc(100% - 16px);left:calc(100% - 16px)}.stack-beam{width:3px;height:calc(var(--gap) * var(--levels,3) * var(--explode) + 34px);transform-origin:top;background:linear-gradient(to bottom,transparent 0 42%,#fff 45% 55%,transparent 58%) 0 0/100% 70px,linear-gradient(to bottom,color-mix(in srgb,var(--tool-color) 70%,transparent),color-mix(in srgb,var(--tool-color) 20%,transparent));box-shadow:0 0 14px var(--tool-color);margin-left:-1.5px;animation:1.4s linear infinite beam-flow;top:50%;left:50%;transform:rotateX(90deg)}.stack-beam.beam-cross{transform:rotate(90deg)rotateX(90deg)}.stack-scanner{opacity:0;background:linear-gradient(135deg,#72dded1c,#0000 70%);border:1px solid #72dded;border-radius:24px;inset:-16px;box-shadow:0 0 34px #72dded66,inset 0 0 34px #72dded2a}.is-shielded .stack-scanner{animation:2.8s cubic-bezier(.45,0,.55,1) infinite stack-scan}.stack-layer{transform-style:preserve-3d;transform:translateZ(calc(var(--i) * var(--gap) * var(--explode)));cursor:pointer;position:absolute;inset:0}.layer-plate{transform-style:preserve-3d;border:1px solid color-mix(in srgb,var(--c) 26%,#25354a);background:linear-gradient(135deg,#132136d9,#0a1321e6);border-radius:18px;padding:20px;transition:transform .9s cubic-bezier(.22,1,.36,1),border-color .5s,background .5s,box-shadow .6s;position:absolute;inset:0}.layer-plate:before{content:"";border-radius:inherit;background:linear-gradient(color-mix(in srgb,var(--c) 9%,transparent) 1px,transparent 1px) 0 0/100% 28px,linear-gradient(90deg,color-mix(in srgb,var(--c) 9%,transparent) 1px,transparent 1px) 0 0/28px 100%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle at 30% 20%,#000,#0000 80%);mask:radial-gradient(circle at 30% 20%,#000,#0000 80%)}.layer-plate:after{content:"";opacity:0;border:1px dashed #72dded;border-radius:24px;transition:opacity .5s;position:absolute;inset:-9px}.layer-edge{border-radius:inherit;border:1px solid color-mix(in srgb,var(--c) 22%,#162232);background:#050a12;position:absolute;inset:0;transform:translateZ(-8px)}.layer-head{color:#7f94b0;align-items:center;gap:9px;font-size:13px;transition:color .5s;display:flex;position:relative}.layer-head b{font-weight:500}.layer-head small{font-family:var(--mono);color:#4f6784;margin-left:auto;font-size:10px}.layer-blocks{transform-style:preserve-3d;grid-template-columns:1fr 1fr;gap:12px;display:grid;position:absolute;inset:60px 20px 20px}.layer-blocks>span{font-family:var(--mono);color:#566f8e;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.22,1,.36,1) calc(var(--t) * 70ms + 80ms),background .45s,border-color .45s,color .45s,box-shadow .6s;background:#0e1828;border:1px solid #243449;border-radius:10px;place-items:center;font-size:15px;display:grid;position:relative}.layer-blocks>span:before{content:"";border-radius:inherit;background:color-mix(in srgb,var(--c) 38%,#050a12);opacity:0;transition:opacity .5s;position:absolute;inset:0;transform:translateZ(-9px)}.layer-lock{color:#72dded;opacity:0;background:#0a1420;border:1px solid #72dded;border-radius:50%;place-items:center;width:24px;height:24px;transition:opacity .4s,transform .6s cubic-bezier(.34,1.56,.64,1);display:grid;position:absolute;top:-11px;right:-11px;transform:translateZ(3px)scale(.4)}.stack-layer:hover .layer-plate{border-color:color-mix(in srgb,var(--c) 60%,#25354a)}.stack-layer.is-active .layer-plate{border-color:var(--c);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 24%,#0f1b2c),#0a1422f0);box-shadow:0 0 60px color-mix(in srgb,var(--c) 32%,transparent),inset 0 0 36px color-mix(in srgb,var(--c) 12%,transparent);transform:translateZ(36px)}.stack-layer.is-above .layer-plate{border-color:color-mix(in srgb,var(--c) 35%,#25354a);background:linear-gradient(135deg,#13213680,#0a132199);transform:translateZ(92px)}.is-active .layer-head{color:var(--c)}.is-active .layer-blocks>span{border-color:color-mix(in srgb,var(--c) 65%,transparent);background:color-mix(in srgb,var(--c) 16%,#0e1828);color:var(--c);box-shadow:0 0 20px color-mix(in srgb,var(--c) 26%,transparent);transform:translateZ(18px)}.is-active .layer-blocks>span:before{opacity:1}.is-shielded .layer-plate{border-color:#72dded80}.is-shielded .layer-plate:after{opacity:.55}.is-shielded .layer-lock{opacity:1;transition-delay:calc(var(--i) * 90ms);transform:translateZ(3px)scale(1)}.toolkit-detail{outline-offset:8px;min-width:0}.detail-eyebrow{color:#6d819c;font-family:var(--mono);letter-spacing:1.6px;perspective:500px;align-items:baseline;gap:12px;margin-bottom:14px;font-size:10px;display:flex}.detail-count{letter-spacing:-2px;color:var(--tool-color);text-shadow:0 0 30px color-mix(in srgb,var(--tool-color) 45%,transparent);transform-origin:50% 100%;font-size:46px;line-height:1;animation:.8s cubic-bezier(.22,1,.36,1) both count-flip;display:inline-block}.detail-eyebrow>svg{color:var(--tool-color);align-self:center;margin-left:auto}.toolkit-detail h3{letter-spacing:-1.5px;perspective:700px;font-size:clamp(28px,2.7vw,40px);font-weight:500;line-height:1.18}.toolkit-detail h3>span{transform-origin:50% 100%;animation:.8s cubic-bezier(.22,1,.36,1) backwards word-in;animation-delay:calc(var(--w) * 60ms + 60ms);margin-right:.26em;display:inline-block}.toolkit-detail>p{color:#869ab4;max-width:480px;margin-top:14px;font-size:14.5px;line-height:1.8;animation:.7s .25s backwards copy-arrive}.tool-tiles{perspective:900px;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.tool-tile{--rx:0deg;--ry:0deg;min-width:0;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-origin:50% 0;animation:.75s cubic-bezier(.22,1,.36,1) backwards tile-in;animation-delay:calc(var(--t) * 80ms + .28s);background:#0e1725;border:1px solid #223247;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:transform .25s ease-out,border-color .3s;display:flex;position:relative;overflow:hidden}.tool-tile:before{content:"";background:radial-gradient(180px circle at var(--gx,50%) var(--gy,50%),color-mix(in srgb,var(--tool-color) 16%,transparent),transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.tool-tile:hover{border-color:color-mix(in srgb,var(--tool-color) 50%,transparent)}.tool-tile:hover:before{opacity:1}.tool-mark{width:35px;height:35px;font-family:var(--mono);color:var(--tool-color);background:#172840;border:1px solid #2b425f;border-radius:6px;flex-shrink:0;place-items:center;font-size:12px;font-weight:500;display:grid}.tool-tile>div{min-width:0}.tool-tile h4{margin:0 0 4px;font-size:13px;font-weight:500}.tool-tile p{color:#7086a3;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tool-tile-number{font-family:var(--mono);color:#425a79;margin-left:auto;font-size:9px}.tool-code{background:#080d16;border:1px solid #1d2b3e;border-radius:8px;margin-top:16px;animation:.6s .5s backwards copy-arrive;overflow:hidden}.code-bar{font-family:var(--mono);color:#8ea5c2;border-bottom:1px solid #182436;align-items:center;gap:6px;padding:9px 13px;font-size:10px;display:flex}.code-bar>i{background:#26364b;border-radius:50%;width:6px;height:6px}.code-bar>span{margin-left:8px}.code-bar>small{letter-spacing:1.3px;color:#48617d;margin-left:auto;font-size:8px}.tool-code pre{margin:0;padding:10px 14px;overflow:auto}.tool-code code{font-family:var(--mono);color:var(--tool-color);font-size:11px;line-height:1.85}.tool-code code>span{white-space:pre;animation:.55s steps(24,end) backwards type-in;animation-delay:calc(var(--l) * .15s + .65s);display:block}.tool-code code i{color:#354b64;-webkit-user-select:none;user-select:none;width:26px;font-style:normal;display:inline-block}.tool-code code>span:last-child:after{content:"_";margin-left:3px;animation:1s step-end infinite caret-pulse}@keyframes beam-flow{to{background-position:0 70px,0 0}}@keyframes stack-scan{0%{opacity:0;transform:translateZ(-20px)}15%,80%{opacity:1}to{transform:translateZ(calc(var(--gap) * var(--levels,3) + 70px));opacity:0}}@keyframes stack-orbit{to{transform:translateZ(-44px)rotate(360deg)}}@keyframes count-flip{0%{opacity:0;transform:rotateX(90deg)translateY(10px)}}@keyframes word-in{0%{opacity:0;transform:translateY(55%)rotateX(-85deg)}}@keyframes tile-in{0%{opacity:0;transform:rotateX(-80deg)translateY(12px)}}@keyframes type-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes caret-pulse{50%{opacity:0}}@media (min-width:901px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.toolkit-track{height:calc(var(--count,4) * 95svh + 50svh)}.toolkit-pin{height:100svh;padding:34px 0 30px;position:sticky;top:0}.meta-hint{color:#8aa3c2;display:flex!important}.step-bar>span{transition:transform .18s linear,background .5s}.toolkit-stage{align-items:stretch}.stack-scene{height:auto}.toolkit-detail{align-self:center}}@media (min-width:901px) and (max-height:790px){.tool-code{display:none}.toolkit-detail>p{font-size:14px}}@media (max-width:1100px){.stack-scene{--size:230px;--gap:62px}.toolkit-steps{gap:14px}.toolkit-steps button{gap:8px;font-size:12px}.step-index{display:none}.tool-tiles{grid-template-columns:1fr}.layer-blocks{gap:10px;top:54px}}@media (max-width:900px){.toolkit-stage{grid-template-columns:1fr;gap:34px}.stack-scene{height:460px}.tool-tiles{grid-template-columns:1fr 1fr}}@media (max-width:800px){.toolkit-heading{flex-direction:column;align-items:flex-start;gap:20px}.toolkit-story{padding-top:85px}}@media (max-width:560px){.toolkit-story{padding-top:63px}.toolkit-meta>span:last-child{display:none}.toolkit-steps{grid-template-columns:1fr 1fr;gap:0 16px}.toolkit-steps button{padding:15px 0 13px;font-size:11px}.stack-scene{--size:168px;--gap:44px;height:350px}.stack-world{top:64%}.scene-caption,.scene-footer{font-size:7px;left:15px;right:15px}.scene-hint{display:none}.layer-plate{border-radius:12px;padding:12px}.layer-head{gap:6px;font-size:10px}.layer-head svg{width:12px}.layer-head small{font-size:8px}.layer-blocks{gap:7px;inset:38px 12px 12px}.layer-blocks>span{border-radius:7px;font-size:11px}.detail-count{font-size:38px}.toolkit-detail h3{font-size:27px}.tool-tiles{grid-template-columns:1fr}.tool-code code{font-size:10px}.toolkit-pin{padding-bottom:56px}}@media (prefers-reduced-motion:reduce){.stack-scanner{display:none}}::-webkit-scrollbar{width:11px;height:8px}::-webkit-scrollbar-track{background:#07090d;border-left:1px solid #131a24}::-webkit-scrollbar-thumb{background:linear-gradient(#1d3a58,#2b5f8f) padding-box padding-box;border:3px solid #0000;border-radius:10px;min-height:48px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3a86c8,#66c9ff) padding-box padding-box}::-webkit-scrollbar-thumb:active{background:#8fd8ff padding-box padding-box}::-webkit-scrollbar-corner{background:0 0}pre::-webkit-scrollbar-track{background:0 0;border:0}.admin-scroll::-webkit-scrollbar-track{background:0 0;border:0}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:#2b5f8f #07090d}}.stack-strip .strip-inner{flex-wrap:nowrap;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:30px;height:96px;padding:0;display:grid}.stack-strip .strip-label{font-family:var(--mono);letter-spacing:1.3px;color:#707783;text-transform:uppercase;text-align:left;width:auto;max-width:130px;font-size:9px;line-height:1.8}.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{width:max-content;animation:marquee var(--duration,30s) linear infinite;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-row{align-items:center;display:flex}.marquee-row>span{font-family:var(--font-manrope),sans-serif;letter-spacing:-.5px;color:#8d95a2;white-space:nowrap;align-items:baseline;gap:9px;padding:0 34px;font-size:19px;font-weight:650;transition:color .3s,text-shadow .3s;display:flex}.marquee-row>span:after{content:"/";color:#2a3a4f;margin-left:34px;font-weight:400}.marquee-row>span:hover{color:#f1f5fa;text-shadow:0 0 22px #66c9ff66}.marquee-row i{font-family:var(--mono);color:var(--accent);letter-spacing:1px;font-size:9px;font-style:normal;font-weight:500}@keyframes marquee{to{transform:translate(-50%)}}@media (max-width:560px){.stack-strip .strip-inner{grid-template-columns:1fr;gap:12px;height:auto;padding:22px 0}.stack-strip .strip-label{max-width:none}.marquee-row>span{padding:0 22px;font-size:15px}.marquee-row>span:after{margin-left:22px}.about-stats{gap:12px}.about-stats span{font-size:8px}}@media (prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;animation:none}.marquee-row[aria-hidden]{display:none}.marquee{-webkit-mask:none;mask:none}.about .about-bottom span,.about-stats>div{opacity:1;transform:none}}.about-story{border-bottom:1px solid var(--border);position:relative;overflow:clip}.about-pin{padding:108px 0 90px;position:relative}.about-giant{pointer-events:none;z-index:0;position:absolute;top:50%;left:0;right:0;overflow:hidden;transform:translateY(-50%);-webkit-mask:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.about-giant>div{white-space:nowrap;width:max-content;font-family:var(--font-manrope),sans-serif;letter-spacing:-.045em;color:#0000;-webkit-text-stroke:1px #1c2837;will-change:transform;padding-left:6vw;font-size:clamp(120px,17vw,280px);font-weight:800;line-height:1}.about-stage{z-index:1;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(40px,6vw,100px);display:grid;position:relative}.about-main{min-width:0}.about-hello{color:#aeb8c6;flex-wrap:wrap;align-items:center;gap:7px;margin-top:26px;font-size:14px;display:flex}.about-hello strong{color:var(--fg);font-weight:500}.status-dot{background:#4ade80;border-radius:50%;width:7px;height:7px;margin-right:4px;animation:2s infinite status-pulse}.about-cipher{max-width:640px;font-family:var(--font-manrope),sans-serif;letter-spacing:-.4px;color:#eef3f9;margin-top:18px;font-size:clamp(20px,1.85vw,27px);font-weight:500;line-height:1.55}.about-cipher>span{white-space:nowrap;margin-right:.27em;display:inline-block;position:relative}.about-cipher>span:after{content:attr(data-s);width:100%;font-family:var(--mono);letter-spacing:0;color:#263447;pointer-events:none;font-size:.78em;font-weight:400;line-height:1;position:absolute;top:50%;left:0;overflow:hidden;transform:translateY(-50%)}.about-cipher>span[data-state=idle],.about-cipher>span[data-state=active]{color:#0000}.about-cipher>span[data-state=active]:after{color:var(--accent);text-shadow:0 0 12px #66c9ff99}.about-cipher>span[data-state=done]:after{content:none}.about-cipher>span[data-state=done]{animation:.9s both word-resolve}.about-traits{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.about-traits>span{color:#a6b4c6;opacity:0;transition:opacity .6s,transform .7s cubic-bezier(.22,1,.36,1),border-color .3s;transition-delay:calc(var(--d) * .12s + .3s);background:#0e1623cc;border:1px solid #223247;border-radius:999px;align-items:center;gap:9px;padding:9px 15px;font-size:12px;display:flex;transform:translateY(12px)}.about-traits>span.in{opacity:1;transform:none}.about-traits>span:hover{border-color:#66c9ff66}.about-traits svg{color:var(--accent)}.about-deck-wrap{perspective:1300px;position:relative}.deck-caption{font-family:var(--mono);letter-spacing:1.2px;color:#56708f;justify-content:space-between;margin-bottom:22px;font-size:10px;display:flex}.deck-caption>span:first-child{color:var(--accent)}.about-deck{--rx:0deg;--ry:0deg;height:430px;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));margin-top:70px;position:relative}.deck-card{transform-origin:50% 100%;transform:translate3d(calc(var(--leave,0) * -18%),calc(var(--depth,0) * -58px + var(--leave,0) * -70%),calc(var(--depth,0) * -50px + var(--leave,0) * 120px)) rotateX(calc(var(--leave,0) * 38deg)) rotateZ(calc(var(--leave,0) * -12deg)) scale(calc(1 - var(--depth,0) * .07));opacity:calc(1 - var(--leave,0) * 2.2);filter:brightness(calc(1 - var(--depth,0) * .32)) blur(calc(var(--leave,0) * 8px));background:linear-gradient(155deg,#132035,#0b1220 55%,#0a0f19);border:1px solid #243650;border-radius:20px;flex-direction:column;padding:30px;transition:border-color .5s;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 40px 80px -30px #000d,inset 0 1px #ffffff10}.deck-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 88% 0,#66c9ff26,#0000 55%),linear-gradient(#66c9ff08 1px,#0000 1px) 0 0/100% 26px;position:absolute;inset:0}.deck-card[data-front=true]{border-color:#3a6a96}.deck-card>*{position:relative}.deck-card-top{justify-content:space-between;align-items:center;display:flex}.deck-icon{width:46px;height:46px;color:var(--accent);background:#66c9ff12;border:1px solid #2b4a6a;border-radius:13px;place-items:center;display:grid}.deck-meta{font-family:var(--mono);letter-spacing:.8px;color:#4f6784;font-size:10px}.deck-number{font-family:var(--font-manrope),sans-serif;letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px #66c9ff30;font-size:170px;font-weight:800;line-height:1;position:absolute;top:78px;right:18px}.deck-card h3{font-family:var(--font-manrope),sans-serif;letter-spacing:-1px;color:var(--fg);margin-top:auto;font-size:clamp(24px,2.2vw,31px);font-weight:600;line-height:1.15}.deck-card p{color:#8fa0b5;margin-top:12px;font-size:14.5px;line-height:1.7}.deck-card-foot{align-items:center;gap:14px;margin-top:26px;display:flex}.deck-card-foot i{background:linear-gradient(90deg,var(--accent),transparent);flex:1;height:1px}.deck-card-foot span{font-family:var(--mono);color:#56708f;font-size:10px}.about-stats-row{z-index:1;border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:60px;display:grid;position:relative}.about-stats-row>div{opacity:0;transition:opacity .7s,transform .8s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--d) * .14s + .2s);padding:24px 0 0;transform:translateY(16px)}.about-stats-row>div+div{border-left:1px solid var(--border);padding-left:28px}.about-stats-row>div.in{opacity:1;transform:none}.about-stats-row b{font-family:var(--font-manrope),sans-serif;letter-spacing:-2px;background:linear-gradient(#f1f6fb,#66c9ff);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:clamp(32px,3.2vw,46px);font-weight:600;line-height:1;display:block}.about-stats-row span{font-family:var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:#6d819c;margin-top:10px;font-size:9px;display:block}@keyframes word-resolve{0%{color:var(--accent);text-shadow:0 0 18px #66c9ffaa}to{color:#eef3f9;text-shadow:none}}@keyframes status-pulse{0%{box-shadow:0 0 #4ade8088}70%{box-shadow:0 0 0 7px #4ade8000}to{box-shadow:0 0 #4ade8000}}@media (min-width:901px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.about-track{height:300svh}.about-pin{flex-direction:column;justify-content:center;height:100svh;padding:0;display:flex;position:sticky;top:0}.about-stats-row{margin-top:clamp(26px,5vh,56px)}}@media (min-width:901px) and (max-height:840px){.about-main h2{font-size:clamp(30px,3.3vw,46px)}.about-hello{margin-top:18px}.about-cipher{font-size:clamp(18px,1.6vw,23px)}.about-traits{margin-top:20px}.about-deck{height:340px;margin-top:60px}.deck-number{font-size:130px}.deck-card{padding:24px}.about-stats-row b{font-size:34px}}@media (max-width:900px),(max-height:699px),(prefers-reduced-motion:reduce){.about-deck{gap:14px;height:auto;margin-top:0;display:grid;transform:none}.deck-card{min-height:250px;position:relative;inset:auto;opacity:1!important;filter:none!important;transform:none!important}.deck-number{font-size:120px;top:60px}}@media (max-width:900px){.about-stage{grid-template-columns:1fr;gap:50px}.about-pin{padding:85px 0 70px}}@media (max-width:560px){.about-pin{padding:63px 0 56px}.about-giant>div{font-size:110px}.deck-card{min-height:230px;padding:22px}.about-stats-row{margin-top:40px}.about-stats-row>div+div{padding-left:14px}.about-stats-row span{font-size:8px}}@media (prefers-reduced-motion:reduce){.about-traits>span,.about-stats-row>div{opacity:1;transform:none}}.portfolio-site{--bg:#0d0e11;--fg:#e9e9e7;--muted:#92959c;--accent:#8abde0;--border:#292b30;background:var(--bg);font-family:var(--font-dm-sans),sans-serif}.portfolio-site .container,.portfolio-site .header{max-width:1180px}.portfolio-site .mouse-glow{display:none}.portfolio-site .header{height:86px}.portfolio-site .logo{letter-spacing:-1.7px;color:#eeeeec;font-size:26px;font-weight:500}.portfolio-site .logo>span{margin-left:2px}.portfolio-site .nav{font-family:var(--mono);gap:30px;font-size:12px}.portfolio-site .header-contact{border:0;gap:10px;padding:10px 0;font-size:13px}.portfolio-site .hero{grid-template-columns:1.15fr 1fr;gap:15px;min-height:740px;padding-top:65px}.portfolio-site .eyebrow{letter-spacing:0;text-transform:none;flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:31px;display:flex}.hero-person{font-family:var(--font-dm-sans),sans-serif;color:#d5d6d9;font-size:19px;font-weight:500}.hero-role{color:#818892;font-size:12px}.portfolio-site h1{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-3px;font-size:clamp(45px,5.4vw,75px);font-weight:500;line-height:1.07}.portfolio-site h1>span{color:#9ebcd0}.portfolio-site .hero-content>p{color:#999ca3;max-width:470px;margin-top:28px;font-size:16px;line-height:1.75}.portfolio-site .button{border-radius:2px;padding:14px 19px;font-size:13px}.portfolio-site .primary{color:#101318;background:#e1e5e7}.portfolio-site .primary:hover{background:#fff}.portfolio-site .hero-actions{gap:25px}.portfolio-site .hero-caption{color:#71767e;letter-spacing:0;text-transform:none;gap:18px;margin-top:32px;font-size:11px}.portfolio-site .hero-caption>span+span:before{content:"/";color:#3b424b;margin-right:18px}.portfolio-site .hero-art{filter:saturate(.72);height:490px}.globe-footnote{color:#596674;font-family:var(--mono);letter-spacing:0;font-size:10px;position:absolute;bottom:0;right:20px}.portfolio-site .hero-bottom{letter-spacing:0;color:#646a74;font-size:10px}.portfolio-site .hero-bottom a{color:#9299a2}.portfolio-site .section-label{letter-spacing:.7px;color:#989ca3;gap:18px;font-size:11px}.portfolio-site .section-label>span{color:#657383}.portfolio-site h2{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-1.4px;font-size:40px;font-weight:500;line-height:1.18}.portfolio-site h2>span{color:#81858c}.portfolio-site .stack-strip{background:#101114;border-color:#25272c}.portfolio-site .stack-strip .strip-inner{grid-template-columns:125px 1fr;height:74px}.portfolio-site .stack-strip .strip-label{text-transform:none;letter-spacing:0;color:#777d87;font-size:11px}.portfolio-site .marquee-row>span{color:#969ba4;letter-spacing:0;font-size:16px;font-weight:450}.portfolio-site .marquee-row i{display:none}.portfolio-site .marquee-row>span:hover{text-shadow:none;color:#e4e7eb}.portfolio-site .about-giant{opacity:.25;top:86%}.portfolio-site .about-giant>div{font-family:var(--mono);-webkit-text-stroke:1px #383b43;letter-spacing:-6px;font-size:130px;font-weight:400}.portfolio-site .about-hello{margin-top:32px;font-size:15px}.portfolio-site .about-cipher{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-.25px;max-width:560px;font-size:21px;line-height:1.65}.portfolio-site .about-traits:empty{display:none}.portfolio-site .deck-caption{letter-spacing:0;color:#6e737c;font-size:10px}.portfolio-site .deck-caption>span:first-child{color:#aaaeb5}.portfolio-site .deck-card{background:#14171d;border:1px solid #373b43;border-radius:3px;padding:32px;box-shadow:0 25px 45px #0004}.portfolio-site .deck-card:before{background:repeating-linear-gradient(0deg,#0000,#0000 27px,#ffffff03 27px 28px)}.portfolio-site .deck-card[data-front=true]{border-color:#5c6672}.portfolio-site .deck-icon{color:#8b9caa;background:0 0;border:0;border-radius:0;width:25px;height:25px}.portfolio-site .deck-number{font-family:var(--mono);-webkit-text-stroke:0;color:#252b34;font-size:90px;font-weight:400;top:80px;right:30px}.portfolio-site .deck-meta{color:#7c8591;letter-spacing:0;font-size:11px}.portfolio-site .deck-card h3{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-.8px;font-size:28px;font-weight:500}.portfolio-site .deck-card p{color:#989fa9;font-size:15px;line-height:1.65}.portfolio-site .deck-card-foot i{background:#3f4854}.portfolio-site .deck-card-foot span{color:#8994a1}.portfolio-site .projects-story{padding-top:90px}.portfolio-site .filters{background:0 0;border-color:#33373e;border-radius:2px}.portfolio-site .filters button{color:#828a96;border-radius:1px}.portfolio-site .filters button.active{color:#d8dfe7;background:#22272f}.portfolio-site .chapter-meta,.portfolio-site .chapter-bottom{letter-spacing:.4px;font-size:10px}.portfolio-site .chapter-meta>span:first-child{color:#a1aab6}.portfolio-site .chapter-category{color:#8e9fb1;letter-spacing:0;text-transform:none;font-size:12px}.portfolio-site .chapter-copy h3{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-2px;font-size:clamp(37px,4vw,57px);font-weight:500}.portfolio-site .chapter-copy h3>span{display:none}.portfolio-site .chapter-description{color:#a4aab4;font-size:17px;line-height:1.75}.portfolio-site .chapter-steps button{font-size:12px}.portfolio-site .chapter-steps button[aria-current=step]{color:#c0d3e4;border-color:#839aaf}.portfolio-site .phase-kicker{letter-spacing:.5px;color:#8e9cae;font-size:10px}.portfolio-site .intro-prompt{color:#919eae;font-size:16px;font-family:var(--mono)}.portfolio-site .phase-scroll{letter-spacing:0;text-transform:none;font-size:11px}.portfolio-site .chapter-stack .tags>span{color:#b2bfd0;background:#1a2029;border:0;border-left:2px solid #4a6077;border-radius:0;padding:8px 13px;font-size:12px}.portfolio-site .chapter-action{color:#c4cbd4;border-color:#495460;font-size:14px}.portfolio-site .chapter-visual>.project-preview{box-shadow:none;background:#12161d;border-color:#3b414a;border-radius:3px}.portfolio-site .visual-caption{letter-spacing:0;color:#6f7c8d;font-size:10px}.source-placeholder{flex-direction:column;height:360px;justify-content:space-between!important;align-items:stretch!important;padding:0!important;display:flex!important;transform:none!important}.source-preview-bar,.source-preview-footer{font-family:var(--mono);color:#7c8797;flex-shrink:0;justify-content:space-between;align-items:center;padding:15px 20px;font-size:10px;display:flex}.source-preview-bar{border-bottom:1px solid #303741}.source-preview-footer{color:#586675;border-top:1px solid #303741}.source-preview-body{text-align:center;background:repeating-linear-gradient(135deg,#0000,#0000 9px,#ffffff02 9px 10px);border:1px dashed #313b49;flex:1;place-content:center;min-height:130px;margin:22px;display:grid;position:relative}.source-corner{font-family:var(--mono);color:#536375;font-size:10px;position:absolute;top:12px;left:12px}.preview-crosshair{font-family:var(--mono);color:#53677d;margin-bottom:12px;font-size:35px;font-weight:400}.source-preview-body p{font-family:var(--mono);color:#a3afbd;font-size:13px}.source-preview-body small{font-family:var(--font-dm-sans),sans-serif;color:#687688;margin-top:9px;font-size:12px;display:block}.portfolio-site .toolkit-heading h2>span{color:#81858c;background:0 0}.portfolio-site .toolkit-heading>p{color:#89929e;font-size:14px}.portfolio-site .toolkit-meta{letter-spacing:0;color:#84909f;font-size:11px}.portfolio-site .toolkit-steps button{font-size:13px}.portfolio-site .stack-scene{filter:saturate(.6)}.portfolio-site .scene-caption,.portfolio-site .scene-footer{letter-spacing:0;color:#6c7a8c;font-size:10px}.portfolio-site .detail-count{color:#8c9caf;font-size:30px;font-weight:400}.portfolio-site .detail-eyebrow{letter-spacing:0}.portfolio-site .toolkit-detail h3{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-1px;font-size:32px;font-weight:500}.portfolio-site .toolkit-detail>p{color:#96a0ad;font-size:15px;line-height:1.8}.portfolio-site .tool-tile{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #303640;border-radius:0;padding:13px 0}.portfolio-site .tool-tile:before{display:none}.portfolio-site .tool-mark{color:#bbc9d8;background:#1c2530;border-color:#354252;border-radius:2px;font-size:11px}.portfolio-site .tool-tile h4{font-size:14px}.portfolio-site .tool-tile p{font-size:12px}.portfolio-site .tool-code{background:#0f141c;border-color:#323b47;border-radius:2px}.portfolio-site .tool-code code{color:#b4c8db}.portfolio-site .contact-section{background:0 0;padding:90px 0}.portfolio-site .contact-layout h2{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-1.8px;font-size:clamp(34px,4vw,56px)}.portfolio-site .contact-layout h2>span{color:#9db5cb}.portfolio-site .contact-arrow{color:#b3c5d9;border-color:#3a4858;border-radius:3px;width:72px;height:72px}.portfolio-site .contact-arrow:hover{background:#b8cadd}.portfolio-site .contact-bottom>p{color:#969eaa;font-size:15px}.portfolio-site .contact-placeholder{color:#a4b2c2;font-family:var(--mono);font-size:14px}.portfolio-site .contact-placeholder small{color:#6b7889;font-family:var(--font-dm-sans),sans-serif;font-size:12px}.portfolio-site .footer>span,.portfolio-site .socials>a{letter-spacing:0;color:#727b88;font-size:11px}.portfolio-site .project-dialog{background:#151a22;border-color:#424e5e;border-radius:4px}@media (min-width:901px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.portfolio-site .project-chapter[data-stage="0"] .chapter-copy h3{letter-spacing:-2px;font-size:clamp(42px,4.8vw,68px)}.portfolio-site .about-track{height:245svh}.portfolio-site .chapter-visual>.source-placeholder{box-shadow:none}}@media (max-width:900px){.portfolio-site .hero{min-height:650px}.portfolio-site .hero-art{height:370px}.portfolio-site h1{font-size:49px}.portfolio-site h2{font-size:34px}.portfolio-site .toolkit-detail h3{font-size:30px}}@media (max-width:560px){.portfolio-site .header{height:76px}.portfolio-site .hero{gap:15px;min-height:0;padding-top:40px}.portfolio-site h1{letter-spacing:-1.8px;font-size:clamp(38px,10.7vw,56px)}.hero-person{font-size:17px}.hero-role{font-size:11px}.portfolio-site .eyebrow{margin-bottom:25px}.portfolio-site .hero-content>p{font-size:15px}.portfolio-site .hero-art{height:325px;margin:5px 0 20px}.globe-footnote{font-size:9px;bottom:1px;right:0}.portfolio-site .hero-bottom{font-size:8px}.portfolio-site .hero-caption{gap:12px;font-size:10px}.portfolio-site .hero-caption>span+span:before{margin-right:12px}.portfolio-site .hero-actions{gap:20px}.portfolio-site .button{font-size:12px}.portfolio-site .stack-strip .strip-inner{grid-template-columns:1fr;gap:10px;height:auto;padding:19px 0}.portfolio-site .marquee-row>span{font-size:14px}.portfolio-site h2{font-size:31px}.portfolio-site .about-cipher{font-size:18px}.portfolio-site .deck-card{min-height:260px;padding:24px}.portfolio-site .deck-card h3{font-size:25px}.portfolio-site .chapter-copy h3{font-size:38px}.portfolio-site .projects-story{padding-top:63px}.portfolio-site .chapter-meta{font-size:9px}.portfolio-site .chapter-description{font-size:16px}.source-preview-body{margin:15px}.source-preview-bar,.source-preview-footer{padding:12px 15px;font-size:9px}.source-preview-body p{font-size:11px}.source-preview-body small{font-size:10px}.portfolio-site .contact-section{padding:63px 0}.portfolio-site .contact-arrow{width:48px;height:48px}.portfolio-site .contact-layout h2{font-size:31px}.portfolio-site .contact-bottom>p{font-size:14px}.portfolio-site .nav.open{background:#171b22}.portfolio-site .toolkit-detail h3{font-size:28px}.portfolio-site .toolkit-meta{font-size:9px}}.portfolio-site .chapter-bottom{justify-content:flex-end}.portfolio-site .project-skeleton{background:#111419;border:1px solid #30343b;border-radius:6px;width:85%;height:70%;min-height:230px;margin:auto;display:flex;transform:perspective(900px)rotateY(-8deg)rotateX(4deg)}.portfolio-site .source-placeholder{justify-content:center;align-items:center;display:flex}.portfolio-site .skeleton-sidebar{border-right:1px solid #252a31;flex-direction:column;gap:20px;width:15%;padding:24px 12px;display:flex}.portfolio-site .skeleton-sidebar i{background:#343b46;border-radius:2px;height:7px}.portfolio-site .skeleton-content{flex:1;padding:28px}.portfolio-site .skeleton-content>span{background:#687b8c;width:45%;height:10px;margin-bottom:30px;display:block}.portfolio-site .skeleton-grid{gap:12px;display:flex}.portfolio-site .skeleton-grid i{background:#19212a;border:1px solid #303943;flex:1;height:65px}.portfolio-site .skeleton-lines{gap:12px;margin-top:25px;display:grid}.portfolio-site .skeleton-lines i{background:#303944;height:5px}.portfolio-site .skeleton-lines i:last-child{width:60%}[data-offscreen] *,[data-offscreen] :before,[data-offscreen] :after{animation-play-state:paused!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}
