:root{--bg:#0a0a0a;--bg2:#111;--bg3:#161616;--surface:#1a1a1a;--border:#ffffff14;--green:#2f80ff;--green-dim:#2f80ff1f;--green-glow:#2f80ff66;--white:#fff;--white-dim:#ffffff80;--white-faint:#ffffff12;--font:"Space Grotesk", Arial, sans-serif;--font-disp:"Bebas Neue", Arial, sans-serif;--nav-h:80px;--radius:16px;--ease:cubic-bezier(.65,.05,0,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;max-width:100%;overflow-x:clip}body{background:var(--bg);color:var(--white);font-family:var(--font);cursor:none;max-width:100%;overflow-x:clip}a{color:inherit;text-decoration:none}ul{list-style:none}img,svg{display:block}button{cursor:none;background:0 0;border:none;font-family:inherit}.loader{z-index:9999;background:radial-gradient(circle at 50% 42%,#080e1c80 0%,#0a101e1a 34%,#0a101e00 62%);flex-direction:column;justify-content:center;align-items:center;gap:40px;display:flex;position:fixed;inset:0}.loader-logo{justify-content:center;align-items:center;display:flex}.loader-logo-svg{filter:drop-shadow(0 0 20px #2f80ff59);width:120px;height:120px;animation:3.8s ease-in-out infinite smlFloat}.loader-bar{background:var(--white-faint);border-radius:2px;width:160px;height:2px;overflow:hidden}.loader-fill{background:var(--green);width:0%;height:100%;box-shadow:0 0 12px var(--green-glow);transition:width .8s var(--ease);border-radius:2px}.cursor{z-index:9998;background:var(--green);pointer-events:none;mix-blend-mode:difference;border-radius:50%;width:8px;height:8px;transition:width .2s,height .2s,background .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-follower{z-index:9997;border:1.5px solid var(--green);pointer-events:none;opacity:.45;border-radius:50%;width:40px;height:40px;transition:width .3s,height .3s,opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}body:has(a:hover) .cursor,body:has(button:hover) .cursor{width:14px;height:14px}body:has(a:hover) .cursor-follower,body:has(button:hover) .cursor-follower{opacity:.2;width:60px;height:60px}.nav{z-index:200;height:var(--nav-h);pointer-events:none;opacity:0;transition:background .4s,backdrop-filter .4s,border-color .4s;position:fixed;top:0;left:0;right:0}.nav-inner{pointer-events:auto;justify-content:space-between;align-items:center;max-width:100%;height:100%;padding:0 2rem;display:flex}.nav-right{align-items:center;gap:12px;display:flex}.nav-logo-mark{opacity:0;align-items:center;display:flex}.nlm-svg{filter:drop-shadow(0 1px 5px #0006);width:38px;height:38px;transition:filter .55s}.nlm-svg g,.nlm-svg text{fill:var(--hdr);transition:fill .55s}.nav-wordmark{font-family:var(--font);letter-spacing:-.02em;align-items:baseline;gap:1px;font-size:1.18rem;font-weight:700;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.nw-name,.nw-accent{color:var(--hdr);transition:color .55s}.nw-c{display:inline-block}.nav-pill{-webkit-backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:100px;justify-self:center;padding:5px;transition:background .4s,border-color .4s,box-shadow .4s}.np-track{align-items:center;gap:2px;display:flex;position:relative}.np-indicator{pointer-events:none;z-index:0;background:#ffffff1a;border-radius:100px;height:100%;position:absolute;top:0;left:0}.np-link{z-index:1;letter-spacing:.1em;text-transform:uppercase;color:#ffffff6b;white-space:nowrap;border-radius:100px;padding:7px 15px;font-size:.7rem;font-weight:600;transition:color .25s;position:relative}.np-link:hover{color:#ffffffd9}.np-link.np-active{color:var(--white)}.nav-right{justify-self:end;align-items:center;gap:10px;display:flex}.nav-hire{background:var(--hdr);color:#0a1020;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:100px;align-items:center;height:38px;padding:0 20px;font-size:.7rem;font-weight:800;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s,background .5s,color .5s;display:inline-flex;overflow:hidden}.nav-hire:hover{filter:brightness(1.07);transform:translateY(-2px)scale(1.04);box-shadow:0 8px 28px #00000047}.nh-char{vertical-align:middle;display:inline-block;position:relative;overflow:hidden}.nh-l{white-space:pre;display:inline-block}.nh-ls{white-space:pre;pointer-events:none;display:inline-block;position:absolute;top:-110%;left:0}.nav-ham{cursor:pointer;background:#ffffff14;border:1.5px solid #ffffff6b;border-radius:100px;flex-shrink:0;align-items:center;gap:10px;padding:10px 18px;transition:border-color .4s,background .4s;display:flex}body.dim-active .nav-ham{background:#2f80ff1f;border-color:#2f80ff99}.nav-ham:hover{background:#ffffff1f;border-color:#ffffffb3}.ham-icon{flex-direction:column;align-items:flex-start;gap:5px;width:20px;display:flex}.ham-line{background:var(--white);transform-origin:50%;border-radius:2px;height:2px;transition:transform .52s cubic-bezier(.77,0,.175,1),width .35s cubic-bezier(.77,0,.175,1),opacity .3s;display:block}.ham-top{width:20px}.ham-bot{width:13px}.nav-ham:hover .ham-bot{width:20px}.nav-ham.open .ham-top{width:20px;transform:translateY(3.25px)rotate(45deg)}.nav-ham.open .ham-bot{width:20px;transform:translateY(-3.25px)rotate(-45deg)}.nav-ham.open{border-color:#ffffff80}.ham-label{letter-spacing:.12em;text-transform:uppercase;color:var(--white);white-space:nowrap;font-size:.66rem;font-weight:700;transition:opacity .3s}.nav-ham.open .ham-label{opacity:.5}@media (width<=900px){.nav-pill{display:none}}@media (width<=640px){.ham-label{display:none}}.fm{z-index:190;-webkit-backdrop-filter:blur(22px)saturate(1.3);clip-path:ellipse(150% 0% at 50% 0);transition:clip-path .85s var(--ease);pointer-events:none;background:#0a112ac7;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.fm.open{clip-path:ellipse(150% 200% at 50% 0);pointer-events:auto}.fm-inner{padding:calc(var(--nav-h) + 40px) 1.5rem 40px;flex:1;align-items:center;gap:40px;width:100%;max-width:1400px;margin:0 auto;display:flex}.fm-left{flex:1}.fm-links{flex-direction:column;gap:0;display:flex}.fm-item{line-height:1;position:relative;overflow:hidden}.fm-link{font-family:var(--font-disp);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(4rem,8vw,7rem);line-height:1;display:block;position:relative;overflow:hidden}.fml-t1{color:#dde1d273;pointer-events:none;line-height:1;display:block}.fml-t2{color:#2f80fff2;pointer-events:none;line-height:1;display:block;position:absolute;top:0;left:0}.fm-link.active-link .fml-t1{color:#2f80fff2}.fm-item:has(.active-link){box-shadow:inset 3px 0 #2f80ffcc}.fm-item:has(.active-link) .fm-num{color:var(--green);opacity:.9}.fm-num{font-family:var(--font);color:#ffffff26;letter-spacing:.12em;pointer-events:none;font-size:.75rem;font-weight:500;position:absolute;top:50%;right:0;transform:translateY(-50%)}.fm-right{flex-shrink:0;align-self:stretch;align-items:center;width:520px;display:flex}.fm-preview{grid-template-rows:152px 152px 148px;grid-template-columns:55% 1fr;gap:9px;width:100%;display:grid}.fm-panel[data-panel=home]{grid-area:1/1/3}.fm-panel[data-panel=stack]{grid-area:1/2}.fm-panel[data-panel=about]{grid-area:2/2}.fm-panel[data-panel=work]{grid-area:3/1}.fm-panel[data-panel=contact]{grid-area:3/2}.fm-panel{opacity:0;pointer-events:none;will-change:transform,opacity;border-radius:11px;flex-direction:column;transition:box-shadow .3s;display:flex;overflow:hidden}.fm-panel.fm-focused{box-shadow:0 0 0 1px #2f80ff59,0 16px 48px #0009,0 0 28px #2873eb14}.fm-panel.fm-dimmed .fmt-wrap{filter:brightness(.45)}.fmt-wrap{background:#0d1117;border:1px solid #ffffff14;border-radius:11px;flex-direction:column;flex:1;transition:filter .3s,box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009,0 0 0 1px #2f80ff0f}.fmt-bar{background:#161b22;flex-shrink:0;align-items:center;gap:6px;padding:7px 10px;display:flex}.fmt-bar span:not(.fmt-title){border-radius:50%;width:8px;height:8px}.fmt-bar span:first-child{background:#ff5f57}.fmt-bar span:nth-child(2){background:#febc2e}.fmt-bar span:nth-child(3){background:#28c840}.fmt-title{color:#ffffff47;letter-spacing:.06em;margin-left:auto;margin-right:auto;font-size:.63rem}.fmt-body{flex:1;padding:10px 12px;font-family:Courier New,monospace;font-size:.67rem;line-height:1.72;overflow:hidden}.fmt-line{color:#ffffff61}.fmt-line.green{color:var(--green)}.fmt-line.muted{color:#ffffff24}.fmt-line.fti{color:#ffffff85}.fc{color:var(--green)}.cursor-blink{animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.fmp-card{background:#ffffff0a;border:1px solid #ffffff17;border-radius:16px;flex-direction:column;gap:14px;width:100%;padding:28px 28px 24px;display:flex;box-shadow:0 24px 60px #00000080,inset 0 1px #ffffff0f}.fmp-hl{letter-spacing:-.03em;color:var(--white);font-size:2.2rem;font-weight:800;line-height:1}.fmp-role{color:var(--white-dim);font-size:.95rem;line-height:1.5}.fmp-meta{color:var(--green);align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.fmp-divider{background:#ffffff12;height:1px;margin:2px 0}.fmp-foot{letter-spacing:.1em;color:#fff3;text-transform:uppercase;font-size:.68rem}.fmp-panel-label{letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:4px;font-size:.68rem;font-weight:700}.fmp-proj-list{flex-direction:column;gap:0;display:flex}.fmp-proj{color:#ffffffa6;border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:10px 0;font-size:.88rem;display:flex}.fmp-proj:last-child{border-bottom:none;padding-bottom:0}.fpp-num{color:#fff3;min-width:18px;font-size:.65rem;font-weight:500}.fpp-tag{background:var(--green-dim);letter-spacing:.06em;color:var(--green);text-transform:uppercase;border:1px solid #2f80ff33;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:.62rem;font-weight:700}.fmp-about-card{align-items:flex-start}.fmp-avatar-lg{background:var(--green);color:#000;border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.6rem;font-weight:800;display:flex}.fmp-name-lg{letter-spacing:-.03em;font-size:1.5rem;font-weight:800}.fmp-detail{color:var(--white-dim);font-size:.82rem}.fmp-tags-sm{flex-wrap:wrap;gap:7px;display:flex}.fmp-tags-sm span{color:var(--white-dim);border:1px solid #ffffff17;border-radius:100px;padding:4px 11px;font-size:.7rem;font-weight:500}.fmp-skill-list{flex-direction:column;gap:12px;display:flex}.fmp-sl-row{flex-direction:column;gap:5px;display:flex}.fmp-sl-row span{color:#ffffff8c;font-size:.78rem;font-weight:500}.fmp-sl-bar{background:#ffffff12;border-radius:3px;height:3px;overflow:hidden}.fmp-sl-fill{background:linear-gradient(90deg,var(--green),#2f80ff80);border-radius:3px;height:100%}.fmp-contact-card{gap:12px}.fmp-email-lg{color:var(--green);word-break:break-all;font-size:.92rem;font-weight:700;line-height:1.4}.fmp-avail{color:var(--green);align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.fmp-social-list{flex-wrap:wrap;gap:14px;display:flex}.fmp-social-list span{letter-spacing:.1em;text-transform:uppercase;color:#ffffff40;font-size:.68rem;font-weight:700}.fm-footer{border-top:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding:32px 1.5rem 40px;display:flex}.fm-email{color:#ffffff80;font-size:.9rem;font-weight:600;transition:color .3s}.fm-email:hover{color:var(--green)}.fm-socials{gap:28px;display:flex}.fm-social{letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;font-size:.8rem;font-weight:700;transition:color .3s}.fm-social:hover{color:var(--white)}.container{max-width:1320px;margin:0 auto;padding:0 32px}.btn-primary{background:var(--green);color:#000;border-radius:100px;align-items:center;gap:10px;padding:14px 32px;font-size:.875rem;font-weight:700;transition:transform .35s,box-shadow .35s;display:inline-flex}.btn-primary:hover{box-shadow:0 12px 40px var(--green-glow);transform:translateY(-2px)}.btn-primary.large{padding:18px 44px;font-size:1rem}.btn-arrow{font-size:1.1rem}.email-reveal-btn{perspective:900px;outline:none;flex-shrink:0;width:clamp(220px,26vw,268px);height:56px;text-decoration:none;display:block}.erb-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:14px;transition:transform .65s cubic-bezier(.23,1,.32,1);position:relative}.email-reveal-btn:hover .erb-inner,.email-reveal-btn:focus-visible .erb-inner{transform:rotateY(180deg)}.erb-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;letter-spacing:.03em;border-radius:14px;justify-content:center;align-items:center;gap:10px;font-size:.875rem;font-weight:700;display:flex;position:absolute;inset:0;overflow:hidden}.erb-face--front{background:var(--green);color:#fff;box-shadow:0 4px 24px #2873eb40}.erb-face--front:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff2e 0%,#0000 55%);border-radius:14px;position:absolute;inset:0}.erb-face--back{border:1.5px solid var(--green);color:#fff;background:#0e0e0e;transform:rotateY(180deg);box-shadow:0 0 28px #2873eb2e,inset 0 0 24px #2873eb0f}.erb-face--back:after{content:"";pointer-events:none;background:linear-gradient(135deg,#2873eb12 0%,#0000 60%);border-radius:12px;position:absolute;inset:0}.erb-envelope-icon{align-items:center;font-size:1.15rem;display:flex}.erb-front-text{letter-spacing:.04em;font-size:.82rem}.erb-back-icon{align-items:center;font-size:1.05rem;display:flex}.erb-back-label{letter-spacing:.06em;text-transform:uppercase;font-size:.88rem}.btn-ghost{border:1.5px solid var(--border);color:var(--white-dim);border-radius:100px;align-items:center;gap:8px;padding:14px 28px;font-size:.875rem;font-weight:500;transition:border-color .35s,color .35s,background .35s;display:inline-flex}.btn-ghost:hover{border-color:var(--green);color:var(--green);background:var(--green-dim)}.section-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--green);align-items:center;gap:10px;margin-bottom:18px;font-size:.72rem;font-weight:600;display:inline-flex}.section-tag:before{content:"";background:var(--green);width:24px;height:1px}.section-tag.light{color:var(--green)}.section-header.centered .section-tag{justify-content:center}.section-header.centered .section-tag:before{display:none}.section-line{background:linear-gradient(90deg,var(--green),transparent);width:0;height:1px;margin-bottom:24px}.centered-line{margin:0 auto 24px}.section-title{letter-spacing:-.04em;margin-bottom:20px;font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.05}.section-title .accent{color:var(--green)}.section-desc{color:var(--white-dim);max-width:480px;font-size:1rem;line-height:1.7}.section-header{margin-bottom:64px}.section-header.centered{text-align:center}.section-header.centered .section-desc{margin:0 auto}.title-mask{vertical-align:bottom;margin-bottom:-.22em;margin-right:.25em;padding-bottom:.22em;display:inline-block;overflow:hidden}.title-word{display:inline-block}.title-line{line-height:1;display:block}.stack-section{transform-origin:50% 60%;will-change:transform;background:0 0;align-items:stretch;height:100vh;display:flex;position:relative;overflow:hidden}.stack-section:before,.stack-section:after{content:"";pointer-events:none;z-index:10;position:absolute;left:0;right:0}.stack-section:before{background:linear-gradient(#0000 0% 100%);height:180px;top:0}.stack-section:after{background:linear-gradient(#0000 0% 100%);height:180px;bottom:0}#heroCanvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-noise{z-index:1;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:2;width:100%;max-width:1320px;margin:0 auto;padding:80px 32px 160px;position:relative}.hero-tag{border:1px solid var(--border);color:var(--white-dim);backdrop-filter:blur(10px);opacity:0;background:#ffffff08;border-radius:100px;align-items:center;gap:10px;margin-bottom:36px;padding:8px 18px;font-size:.78rem;font-weight:500;display:inline-flex}.tag-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.hero-title{letter-spacing:-.05em;margin-bottom:32px;font-size:clamp(3rem,9vw,8rem);font-weight:900;line-height:1.05}.hero-title .accent{color:var(--green)}.hero-sub{color:var(--white-dim);opacity:0;max-width:540px;margin-bottom:44px;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.hero-actions{opacity:0;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:80px;display:flex}.hero-stats{border-top:1px solid var(--border);opacity:0;align-items:center;gap:32px;width:fit-content;padding-top:32px;display:flex}.stat{flex-direction:column;gap:4px;display:flex}.stat-num{letter-spacing:-.05em;font-size:2.5rem;font-weight:800;line-height:1}.stat-plus{color:var(--green);font-size:1.5rem}.stat-label{color:var(--white-dim);font-size:.78rem;font-weight:500}.stat-divider{background:var(--border);width:1px;height:48px}.hero-scroll{z-index:4;opacity:0;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom,var(--green),transparent);width:1px;height:50px;animation:2s ease-in-out infinite scrollDrop}@keyframes scrollDrop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.hero-scroll span{letter-spacing:.15em;text-transform:uppercase;color:var(--white-dim);white-space:nowrap;font-size:.68rem;transform:rotate(90deg)}.hero-badge{z-index:2;opacity:0;width:120px;height:120px;animation:12s linear infinite rotateBadge;position:absolute;bottom:60px;right:80px}@keyframes rotateBadge{to{transform:rotate(360deg)}}.badge-ring text{fill:var(--white-dim);font-size:10.5px;font-family:var(--font);letter-spacing:3px}.badge-center{justify-content:center;align-items:center;animation:12s linear infinite reverse rotateBadge;display:flex;position:absolute;inset:0}.badge-center span{color:var(--green);font-size:1.4rem;font-weight:800}.stack-content{z-index:11;width:100%;padding:calc(var(--nav-h) + 36px) 0 0;box-sizing:border-box;will-change:transform,opacity;transform-origin:50% 40%;flex-direction:column;height:100%;display:flex;position:relative}.cs-header{box-sizing:border-box;text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:100%;max-width:1400px;margin:0 auto 28px;padding:0 40px;display:flex}.stack-heading{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,6vw,5rem);font-weight:900;line-height:1.05}.stack-heading .accent{color:var(--green)}.stack-sub{color:var(--white-dim);max-width:580px;margin-bottom:60px;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.75}.cs-outer{flex:1;align-items:center;min-height:0;padding-bottom:24px;display:flex;position:relative;overflow:hidden}.cs-track{will-change:transform;flex-shrink:0;gap:18px;width:max-content;display:flex}.cs-card{cursor:default;background:#0d1428f2;border:1px solid #ffffff12;border-radius:18px;flex-direction:column;flex-shrink:0;gap:0;width:clamp(300px,30vw,360px);height:clamp(220px,29vh,295px);padding:16px 18px 14px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),border-color .35s,box-shadow .35s,background .35s;display:flex;position:relative;overflow:hidden}.cs-card:before{content:"";background:var(--tc,var(--green));opacity:.85;height:2px;transition:height .3s,opacity .3s;position:absolute;top:0;left:0;right:0}.cs-card:hover:before{opacity:1;height:3px}.cs-card:after{content:"";border:1px solid var(--tc,var(--green));opacity:0;pointer-events:none;border-radius:18px;transition:opacity .4s;position:absolute;inset:0}.cs-card:hover:after{opacity:.95}.cs-card:hover{border-color:color-mix(in srgb, var(--tc) 75%, transparent);box-shadow:0 0 26px color-mix(in srgb, var(--tc) 55%, transparent);background:#141d34f5;transform:translateY(-5px)}.cs-bg-letter{letter-spacing:-.06em;color:var(--tc,white);opacity:.06;user-select:none;pointer-events:none;font-size:clamp(4rem,7vw,6rem);font-weight:900;line-height:1;transition:opacity .35s;position:absolute;bottom:-10px;right:8px}.cs-card:hover .cs-bg-letter{opacity:.12}.cs-term-bar{flex-shrink:0;align-items:center;gap:7px;margin-bottom:10px;display:flex}.cs-term-dots{flex-shrink:0;align-items:center;gap:4px;display:flex}.cs-term-dots i{background:#ffffff1a;border-radius:50%;width:8px;height:8px;font-style:normal;transition:background .35s,box-shadow .35s;display:block}.cs-card:hover .cs-term-dots i:first-child{background:var(--tc,var(--green));box-shadow:0 0 7px var(--tc,var(--green))}.cs-card:hover .cs-term-dots i:nth-child(2){background:#ffffff42;transition-delay:50ms}.cs-card:hover .cs-term-dots i:nth-child(3){background:#ffffff29;transition-delay:.1s}.cs-term-file{color:#fff3;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:Courier New,monospace;font-size:.63rem;transition:color .35s;overflow:hidden}.cs-card:hover .cs-term-file{color:#ffffff6b}.cs-badge{letter-spacing:.06em;color:#ffffff38;border:1px solid #ffffff14;border-radius:100px;flex-shrink:0;padding:2px 7px;font-size:.55rem;font-weight:600;transition:border-color .35s,color .35s}.cs-card:hover .cs-badge{color:#ffffff6b;border-color:#ffffff2e}.cs-snippet{color:#ffffff5c;white-space:pre;background:#0000006b;border:1px solid #ffffff0d;border-radius:7px;flex:1;padding:8px 11px;font-family:Courier New,monospace;font-size:.64rem;line-height:1.75;transition:border-color .35s,background .35s;overflow:hidden}.cs-card:hover .cs-snippet{background:#00000085;border-color:#ffffff1c}.cs-foot{border-top:1px solid #ffffff0d;flex-shrink:0;margin-top:9px;padding-top:8px;transition:border-color .35s}.cs-card:hover .cs-foot{border-top-color:#ffffff1a}.cs-lang{letter-spacing:.01em;color:var(--tc,var(--white));margin-bottom:2px;font-size:.77rem;font-weight:700;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:block}.cs-card:hover .cs-lang{transform:translate(5px)}.cs-desc{color:#ffffff47;margin:0;font-size:.65rem;line-height:1.5}.cs-shine{pointer-events:none;border-radius:inherit;z-index:2;position:absolute;inset:0}.ts-kw{color:#ff79c6}.ts-fn{color:#8be9fd}.ts-s{color:#f1fa8c}.ts-n{color:#bd93f9}.ts-k{color:#ffffffa6}.ts-attr{color:#50fa7b}.ts-op{color:#fff6}@media (width<=880px){.stack-section{height:auto;min-height:0;display:block;overflow:visible}.stack-content{height:auto}.cs-outer{flex:none;padding-bottom:0;display:block;overflow:visible}.cs-track{flex-direction:column;gap:16px;width:auto;display:flex;overflow:visible;transform:none!important}.cs-card{width:100%;max-width:520px;height:auto;min-height:170px;margin:0 auto;transition:opacity .6s ease-out,border-color .35s,background .35s,box-shadow .35s}.cs-card.cs-mobile-from-l,.cs-card.cs-mobile-from-r{opacity:0}.cs-card.cs-mobile-from-l.cs-mobile-in,.cs-card.cs-mobile-from-r.cs-mobile-in{animation:.7s cubic-bezier(.16,.84,.32,1) forwards csCardFadeUp}@keyframes csCardFadeUp{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.cs-card.cs-card-active{border-color:var(--tc,var(--green));box-shadow:0 14px 32px #00000073, 0 0 12px var(--tc,var(--green));background:#ffffff09}.cs-card.cs-card-active:before{opacity:1;height:4px}.cs-card.cs-card-active:after{opacity:.45}.cs-card.cs-card-active .cs-bg-letter{opacity:.22;color:var(--tc,var(--green))}.cs-card.cs-card-active .cs-term-dots i:first-child{background:var(--tc,var(--green))}.cs-card.cs-card-active .cs-term-file{color:#ffffff8c}.cs-card.cs-card-active .cs-snippet{background:#00000094;border-color:#ffffff29}.cs-card.cs-card-active .cs-lang{transform:translate(6px)}}@media (width<=480px){.cs-card{min-height:160px;padding:14px 16px 12px}.cs-snippet{font-size:.62rem;line-height:1.65}.cs-bg-letter{font-size:clamp(3.4rem,18vw,5rem)}.cs-lang{font-size:.74rem}.cs-desc{font-size:.62rem}}.sig-section{transform-origin:50%;will-change:transform;background:0 0;justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.sig-bg-radial{pointer-events:none;background:radial-gradient(70% 60% at 50% 45%,#2f80ff1a 0%,#0000 70%);position:absolute;inset:0}.sig-inner{z-index:3;flex-direction:column;align-items:center;gap:22px;display:flex;position:relative}.sig-portrait-wrap{aspect-ratio:1;pointer-events:none;z-index:2;opacity:0;height:min(96vh,920px);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.sig-portrait{object-fit:contain;object-position:bottom center;filter:saturate(.55)brightness(.78)contrast(1.05)drop-shadow(0 18px 40px #00000080);width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#00000073 12%,#000000f2 32% 72%,#0000008c 92%,#0000 100%);mask-image:linear-gradient(#0000 0%,#00000073 12%,#000000f2 32% 72%,#0000008c 92%,#0000 100%)}.sig-portrait-glow{filter:blur(20px);pointer-events:none;background:radial-gradient(circle,#2f80ff1a 0%,#2f80ff0a 35%,#0000 70%);width:60%;height:60%;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.sig-section:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(#0000 0%,#0000002e 50%,#0000008c 100%);height:36%;position:absolute;bottom:0;left:0;right:0}.sig-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:#ffffffe6;text-shadow:0 2px 14px #00000073;font-size:.72rem;font-family:var(--font-body)}.sig-canvas{filter:drop-shadow(0 0 36px #2f80ff99)drop-shadow(0 0 10px #2f80ff4d);width:min(560px,82vw);height:auto;display:block}.sig-domain{font-family:var(--font-disp);letter-spacing:.08em;color:#fffffff0;text-shadow:0 2px 16px #00000080;text-transform:uppercase;font-size:clamp(1.6rem,4vw,2.8rem)}.sig-scroll{z-index:10;opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.ss-text{letter-spacing:.18em;text-transform:uppercase;color:#ffffff4d;font-size:.64rem}.ss-arrows{flex-direction:column;align-items:center;gap:2px;display:flex}.ss-arrow{border-right:2px solid var(--green);border-bottom:2px solid var(--green);opacity:0;width:18px;height:18px;display:block;transform:rotate(45deg)}.ss-a1{animation:1.6s ease-in-out infinite arrowPulse}.ss-a2{animation:1.6s ease-in-out .2s infinite arrowPulse}.ss-a3{animation:1.6s ease-in-out .4s infinite arrowPulse}@keyframes arrowPulse{0%{opacity:0;transform:rotate(45deg)translate(-4px,-4px)}40%{opacity:1}70%{opacity:.15;transform:rotate(45deg)translate(4px,4px)}to{opacity:0;transform:rotate(45deg)translate(-4px,-4px)}}.sig-mobile-logo{z-index:4;pointer-events:none;display:none;position:absolute;top:22px;left:50%;transform:translate(-50%)}.sml-inner{width:54px;height:54px;animation:3.8s ease-in-out infinite smlFloat}.sml-svg{width:100%;height:100%}.sml-tl,.sml-tr,.sml-br,.sml-bl{opacity:.18}.sml-c{opacity:.55}@keyframes smlCorner{0%,to{opacity:.18}12%{opacity:1}26%,98%{opacity:.18}}@keyframes smlCLetter{0%,to{opacity:.55}50%{opacity:1}}@keyframes smlFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.sml-tl{animation:3.6s ease-in-out infinite smlCorner}.sml-tr{animation:3.6s ease-in-out .9s infinite smlCorner}.sml-br{animation:3.6s ease-in-out 1.8s infinite smlCorner}.sml-bl{animation:3.6s ease-in-out 2.7s infinite smlCorner}.sml-c{animation:1.8s ease-in-out infinite smlCLetter}@media (width<=880px){.sig-mobile-logo{display:block}}.sig-orb-bg .fin-orb-1{background:radial-gradient(circle,#2873eb52 0%,#0000 65%);margin:0 auto;top:-60px;left:0;right:0}.sig-orb-bg .fin-orb-2{background:radial-gradient(circle,#2f80ff38 0%,#0000 70%);inset:auto auto 8% -8%}.sig-orb-bg .fin-orb-3{background:radial-gradient(circle,#5096ff38 0%,#0000 70%);top:28%;bottom:auto;right:-6%}.sig-orb-bg .sig-orb-4{background:radial-gradient(circle,#2f80ff2e 0%,#0000 68%);width:380px;height:380px;margin:0 auto;animation:20s ease-in-out infinite alternate orbDrift2;inset:auto 0 2%}.marquee-strip{background:var(--green);z-index:10;clip-path:inset(0);margin-top:0;padding:clamp(7px,1.4vh,12px) 0;position:relative;overflow:hidden}.marquee-track{white-space:nowrap;align-items:center;gap:32px;width:max-content;animation:60s linear infinite marquee;display:flex}.marquee-track span{letter-spacing:.08em;text-transform:uppercase;color:#fff;font-size:.95rem;font-weight:700}.marquee-track .sep{opacity:.5;font-size:.55rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.work{z-index:11;isolation:isolate;background:0 0;padding:0;position:relative;overflow:hidden}.proj-stage{--card-w:clamp(340px, 42vw, 680px);--card-h:clamp(380px, 58vh, 580px);--side-pad:max(16px, calc((100vw - var(--card-w)) / 2));will-change:transform;background:0 0;flex-direction:column;justify-content:center;gap:clamp(14px,2.4vh,36px);width:100%;height:100vh;padding:clamp(16px,4vh,56px) 0;display:flex;position:relative;overflow:hidden}.proj-stage-bg{pointer-events:none;z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.proj-bgnum{letter-spacing:-.085em;color:#2f80ff0b;-webkit-text-stroke:1px #2f80ff0d;text-align:center;user-select:none;font-feature-settings:"tnum";font-size:clamp(20rem,60vw,70rem);font-weight:900;line-height:.78}.work-sig-bg{opacity:.12;filter:blur(4px)brightness(1.1);pointer-events:none;user-select:none;width:clamp(220px,40vw,520px);height:auto;display:block;position:absolute;top:clamp(-30px,-2vh,10px);left:clamp(12px,3vw,48px);transform:rotate(-3deg)}.proj-stage-header{z-index:5;text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:880px;margin:0 auto;padding:0 clamp(28px,5vw,72px);display:flex;position:relative}.proj-stage-header .section-tag{margin-bottom:0}.proj-stage-header .section-title{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,6vw,5rem);font-weight:700;line-height:1}.proj-stage-sub{color:var(--white-dim);letter-spacing:.01em;margin:0;font-size:.88rem}.proj-track-wrap{z-index:3;height:var(--card-h);padding-left:var(--side-pad);padding-right:var(--side-pad);align-items:center;display:flex;position:relative;overflow:visible}.proj-track{will-change:transform;align-items:center;gap:clamp(28px,3.4vw,56px);height:100%;display:flex}.proj-track .project-card{width:var(--card-w);height:var(--card-h);cursor:pointer;transform-origin:50%;background:#0d1428f2;border:1px solid #ffffff14;border-radius:22px;flex-direction:column;flex-shrink:0;transition:border-color .4s,box-shadow .4s;display:flex;position:relative;overflow:hidden}.proj-track .project-card.is-active{border-color:#2f80ff66;box-shadow:0 0 26px #2f80ff47,0 0 60px #2f80ff1f}.proj-card-num{z-index:6;letter-spacing:.16em;color:#2f80fff2;font-size:.72rem;font-weight:700;font-family:var(--font);backdrop-filter:blur(10px);background:#0000008c;border:1px solid #2f80ff38;border-radius:100px;padding:6px 12px;position:absolute;top:18px;right:20px}.proj-track .proj-browser-thumb{background:#0a0a0d;border-bottom:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;height:60%;display:flex;position:relative;overflow:hidden}.proj-card-meta{flex-direction:column;flex:1;justify-content:center;gap:10px;min-height:0;padding:22px clamp(20px,2vw,28px) 24px;display:flex}.proj-card-meta .project-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.3rem,1.6vw,1.7rem);font-weight:700;line-height:1.1}.proj-card-meta .project-desc{color:var(--white-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.proj-card-meta .project-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.proj-card-meta .project-tags span{border:1px solid var(--border);color:var(--white-dim);background:#ffffff05;border-radius:100px;padding:4px 11px;font-size:.66rem;font-weight:500}.proj-card-meta .proj-link{margin-top:6px;font-size:.82rem}.proj-stage-progress{z-index:5;font-family:var(--font);color:#ffffff73;letter-spacing:.08em;align-items:center;gap:20px;font-size:.74rem;font-weight:600;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.psp-track{gap:10px;display:flex}.psp-dot{background:#ffffff24;border-radius:2px;width:30px;height:3px;transition:background .45s,width .45s,box-shadow .45s}.psp-dot.active{background:var(--green);width:46px;box-shadow:0 0 14px #2f80ff8c}.psp-count #pspCur{color:var(--green)}.psp-sep{opacity:.5;margin:0 4px}@media (width<=880px){.proj-stage{height:auto;padding:60px 0 40px;display:block;overflow:visible}.proj-stage-bg,.proj-stage-progress{display:none}.proj-stage-header{padding:0 20px 24px}.proj-track-wrap{flex:none;height:auto;padding:0 20px;display:block}.proj-track{will-change:auto;flex-direction:column;gap:24px;height:auto;transform:none!important}.proj-track .project-card{width:100%;height:auto;min-height:380px}.proj-track .proj-browser-thumb{aspect-ratio:16/10;height:auto}.project-card.pj-mobile-from-l,.project-card.pj-mobile-from-r{opacity:0}.project-card.pj-mobile-from-l.pj-mobile-in{animation:.95s cubic-bezier(.16,.84,.32,1) forwards pjCardSlideInL}.project-card.pj-mobile-from-r.pj-mobile-in{animation:.95s cubic-bezier(.16,.84,.32,1) forwards pjCardSlideInR}@keyframes pjCardSlideInL{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pjCardSlideInR{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.proj-browser-thumb{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff12}.pbt-bar{background:#2c2c2e;border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:6px;height:34px;padding:0 12px;display:flex}.pbt-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.pbt-dot:first-child{background:#ff5f57}.pbt-dot:nth-child(2){background:#febc2e}.pbt-dot:nth-child(3){background:#28c840}.pbt-url{color:#ffffff61;height:20px;font-size:.6rem;font-family:var(--font);letter-spacing:.02em;background:#00000059;border-radius:5px;flex:1;justify-content:center;align-items:center;margin:0 6px;display:flex}.pbt-img{object-fit:cover;object-position:top center;width:100%;transition:transform .7s var(--ease);flex:1;display:block}.project-card:hover .pbt-img{transform:scale(1.04)}.code-window{background:#0d1117;border:1px solid #ffffff1a;border-radius:10px;width:280px;overflow:hidden;box-shadow:0 20px 60px #0009}.cw-bar{background:#161b22;align-items:center;gap:7px;padding:10px 14px;display:flex}.cw-bar span{border-radius:50%;width:10px;height:10px}.cw-bar span:first-child{background:#ff5f57}.cw-bar span:nth-child(2){background:#febc2e}.cw-bar span:nth-child(3){background:#28c840}.cw-body{padding:16px;font-family:Courier New,monospace;font-size:.78rem}.cw-line{padding:2px 0}.kw{color:#ff79c6}.var{color:#8be9fd}.op{color:#ff79c6}.fn{color:#50fa7b}.str{color:#f1fa8c}.num{color:#bd93f9}.comment{color:#6272a4}.phone-mock{background:#1a1a1a;border:2px solid #ffffff26;border-radius:20px;width:120px;height:200px;padding:16px 12px;box-shadow:0 20px 60px #0009}.pm-screen{flex-direction:column;gap:10px;display:flex}.pm-bar{background:#ffffff26;border-radius:4px;width:100%;height:8px}.pm-bar.short{width:60%}.pm-bar.green{background:var(--green);box-shadow:0 0 10px var(--green-glow)}.api-visual{align-items:center;gap:16px;display:flex}.api-node{background:var(--green);color:#000;width:64px;height:64px;box-shadow:0 0 30px var(--green-glow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.api-lines{flex-direction:column;gap:10px;display:flex}.api-line{background:var(--green);opacity:.6;border-radius:2px;width:20px;height:2px}.api-endpoints{flex-direction:column;gap:8px;display:flex}.api-endpoints span{color:var(--green);background:#2f80ff1a;border:1px solid #2f80ff33;border-radius:6px;padding:4px 12px;font-family:monospace;font-size:.7rem}.dashboard-mock{background:#0d1117;border:1px solid #ffffff1a;border-radius:10px;width:280px;padding:16px;box-shadow:0 20px 60px #0009}.dm-header{color:var(--white-dim);margin-bottom:12px;font-size:.75rem;font-weight:600}.dm-bar-wrap{align-items:flex-end;gap:6px;height:80px;display:flex}.dm-bar{background:var(--green);opacity:.8;box-shadow:0 0 12px var(--green-glow);border-radius:4px 4px 0 0;flex:1}.project-info{flex-direction:column;flex:1;justify-content:center;gap:12px;padding:32px;display:flex}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tags span{border:1px solid var(--border);color:var(--white-dim);border-radius:100px;padding:4px 12px;font-size:.72rem;font-weight:500}.project-title{letter-spacing:-.03em;font-size:1.5rem;font-weight:700}.project-card.featured .project-title{font-size:2rem}.project-desc{color:var(--white-dim);font-size:.9rem;line-height:1.65}.project-links{gap:16px;margin-top:8px;display:flex}.proj-link{color:var(--green);align-items:center;gap:4px;font-size:.85rem;font-weight:600;transition:opacity .3s;display:flex}.proj-link.ghost{color:var(--white-dim)}.proj-link:hover{opacity:.7}.proj-preview{letter-spacing:.01em;gap:0}.work-footer{justify-content:center;margin-top:64px;display:flex}.wf-hint{letter-spacing:-.02em;color:#ffffff2e;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .42em;font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:600;line-height:1.5;display:flex}.wf-word{opacity:0;display:inline-block;transform:translateY(40px)}.wf-accent{color:var(--green);opacity:0;transform:translateY(40px)}.wf-cursor{color:var(--green);opacity:0;margin-left:.1em;font-weight:300;animation:1s step-end infinite wfBlink;display:inline-block}@keyframes wfBlink{0%,to{opacity:1}50%{opacity:0}}.section-about-logo{z-index:13;will-change:transform;background:0 0;height:100vh;margin-top:-100vh;position:relative;overflow:hidden}.section-about{z-index:13;min-height:100vh;padding:var(--nav-h) 0 var(--nav-h);perspective:1600px;background:0 0;align-items:center;display:flex;position:relative;overflow:hidden}.section-about:before{content:"";z-index:5;pointer-events:none;background:linear-gradient(#0000,#0000);height:clamp(80px,16vh,200px);position:absolute;top:0;left:0;right:0}.section-about:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(#0000,#0000);height:clamp(100px,18vh,240px);position:absolute;bottom:0;left:0;right:0}.abt-logo-overlay{z-index:10;pointer-events:none;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.abt-sec-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.abt-sec-orb{filter:blur(40px);border-radius:50%;position:absolute}.abt-sec-orb-1{background:radial-gradient(circle,#2f80ff38 0%,#0000 70%);width:520px;height:520px;top:-80px;right:-60px}.abt-sec-orb-2{background:radial-gradient(circle,#2f80ff1f 0%,#0000 70%);width:380px;height:380px;bottom:-40px;left:-40px}.abt-bg-num{letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px #ffffff0a;pointer-events:none;user-select:none;z-index:0;opacity:0;font-size:clamp(220px,28vw,420px);font-weight:900;line-height:1;position:absolute;top:50%;right:clamp(-30px,1vw,10px);transform:translateY(-50%)}.section-about>.container{z-index:2;width:100%;position:relative}#finCanvas{z-index:0;opacity:.4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#heroParticleCanvas{z-index:1;opacity:.45;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ct-wrapper{display:none}.ct-anim-wrap{background:var(--bg);height:100vh;position:sticky;top:0;overflow:hidden}.ct-anim-wrap:before{content:"";z-index:16;pointer-events:none;background:linear-gradient(#0000 0% 100%);height:220px;position:absolute;top:0;left:0;right:0}.ct-intro-overlay{background:var(--bg);z-index:15;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ct-intro-logo{transform-origin:50%;will-change:transform}.ci-svg{filter:drop-shadow(0 0 28px #2f80ffd9)drop-shadow(0 0 80px #2f80ff4d);width:clamp(80px,10vw,130px);height:clamp(80px,10vw,130px)}.ct-stage{perspective:1400px;perspective-origin:50%;position:absolute;inset:0}.ct-panel{transform-style:preserve-3d;will-change:transform,opacity;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ct-panel-inner{text-align:center;z-index:2;flex-direction:column;align-items:center;gap:10px;max-width:920px;padding:0 clamp(24px,5vw,60px);display:flex;position:relative}.ct-headline{letter-spacing:-.05em;font-size:clamp(3.4rem,7.5vw,7.5rem);font-weight:900;line-height:.94}.ct-label-sig{filter:drop-shadow(0 0 14px #2f80ffa6)drop-shadow(0 0 50px #2f80ff33);pointer-events:none;width:clamp(200px,34vw,420px);height:auto;display:block}.ct-sub{color:var(--white-dim);max-width:500px;font-size:1rem;line-height:1.75}.ct-cta-btn{margin-top:6px}.ct-bar{color:#fff3;z-index:10;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 clamp(20px,4vw,60px);font-size:.72rem;display:flex;position:absolute;bottom:28px;left:0;right:0}.fin-sig{opacity:0;width:200px;max-width:60%;height:auto;margin:0 auto;display:block}.ln-footer-section{z-index:14;background:linear-gradient(#0000 0 clamp(120px,18vh,240px));height:100vh;margin-top:clamp(-160px,-20vh,-100px);position:relative;overflow:hidden}.ln-footer-bg{pointer-events:none;z-index:0;position:absolute;inset:0}.ln-footer-section .fin-orb{opacity:.55}.ln-footer-inner{width:100%;height:100%;position:relative;overflow:hidden}.ln-tint{z-index:1;pointer-events:none;background:0 0;position:absolute;inset:0}.ln-bg-name{opacity:.3;pointer-events:none;z-index:2;user-select:none;width:clamp(300px,72vw,780px);height:auto;display:block;position:absolute;bottom:clamp(20px,6vh,80px);left:50%;transform:translate(-50%)}.ln-portrait-wrap{pointer-events:none;z-index:4;justify-content:center;align-items:flex-end;height:65%;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.ln-portrait{object-fit:contain;object-position:bottom;opacity:0;filter:drop-shadow(0 0 60px #2f80ff14);width:auto;max-width:520px;height:100%;display:block;-webkit-mask-image:linear-gradient(#000 96%,#0000 100%);mask-image:linear-gradient(#000 96%,#0000 100%)}.ln-headline-wrap{z-index:2;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:clamp(28px,4vh,52px);left:0;right:0}.ln-sig-canvas{opacity:0;width:clamp(160px,24vw,320px);height:auto}.ln-headline{z-index:2;pointer-events:none;letter-spacing:-.04em;text-align:center;text-transform:uppercase;color:var(--fg);font-size:clamp(3rem,6.5vw,7rem);font-weight:900;line-height:.9;position:absolute;top:clamp(140px,26vh,260px);left:0;right:0}.ln-hl-accent{color:var(--green)}.ln-col{z-index:4;flex-direction:column;gap:0;display:flex;position:absolute;bottom:clamp(72px,17vh,160px)}.ln-col-pages{left:clamp(28px,5vw,80px)}.ln-col-social{text-align:right;align-items:flex-end;right:clamp(28px,5vw,80px)}.ln-col-contact{text-align:center;align-items:center;display:none;left:50%;transform:translate(-50%)}.ln-col-label{letter-spacing:.22em;text-transform:uppercase;color:#ffffff52;margin-bottom:14px;font-size:.58rem;font-weight:600;display:block}.ln-nav{flex-direction:column;gap:0;display:flex}.ln-nav-link{text-transform:uppercase;letter-spacing:-.01em;color:var(--fg);font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:900;line-height:1.2;text-decoration:none;display:block;position:relative;overflow:hidden}.ln-t1{pointer-events:none;display:block}.ln-t2{width:100%;color:var(--green);pointer-events:none;visibility:hidden;display:block;position:absolute;top:0;left:0}.ln-contact-link{margin-top:14px;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:800}.ln-contact-link .ln-t1{color:var(--green)}.ln-contact-link .ln-t2{color:var(--fg)}.ln-cta-wrap{z-index:5;justify-content:center;display:flex;position:absolute;bottom:clamp(48px,10vh,96px);left:0;right:0}.ln-cta-btn{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.14em;border-radius:60px;align-items:center;gap:10px;padding:14px 34px;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .22s,box-shadow .22s;display:inline-flex;position:relative;overflow:hidden}.ln-cta-btn:hover{transform:translateY(-3px);box-shadow:0 10px 36px #2f80ff66}.ln-cta-label{height:1.1em;display:block;position:relative;overflow:hidden}.ln-cta-t1,.ln-cta-t2{white-space:nowrap;line-height:1.1;display:block}.ln-cta-t1-mobile{white-space:nowrap;line-height:1.1;display:none}.ln-cta-t2{text-transform:lowercase;letter-spacing:.06em;width:100%;position:absolute;top:0;left:0}.ln-cta-t3{white-space:nowrap;letter-spacing:.1em;width:100%;line-height:1.1;display:block;position:absolute;top:0;left:0}.ln-cta-ghost{visibility:hidden;white-space:nowrap;text-transform:lowercase;letter-spacing:.06em;pointer-events:none;user-select:none;height:0;display:block;overflow:hidden}.ln-cta-ripple{pointer-events:none;background:#ffffff61;border-radius:50%;position:absolute;transform:scale(0)}.ln-cta-arrow{font-size:1rem}.ln-marquee-outer{z-index:2;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;padding:11px 0;position:absolute;bottom:clamp(28px,3.5vh,38px);left:0;right:0;overflow:hidden}@keyframes ln-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ln-marquee-track{white-space:nowrap;align-items:center;gap:22px;width:max-content;animation:24s linear infinite ln-marquee-scroll;display:flex}.ln-mq-item{text-transform:uppercase;letter-spacing:.14em;color:#ffffff61;font-size:.78rem;font-weight:700}.ln-mq-dot{color:#ffffff1f;font-size:.55rem}.ln-footer-bar{z-index:6;letter-spacing:.1em;text-transform:uppercase;color:#ffffff38;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:clamp(26px,3.2vh,36px);padding:0 clamp(24px,4vw,60px);font-size:.65rem;display:flex;position:absolute;bottom:0;left:0;right:0}.ln-bar-links{gap:28px;display:flex}.ln-tip-wrap{position:relative}.ln-bar-link{cursor:pointer;color:#ffffff38;font-weight:700;font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;padding:0;text-decoration:none;transition:color .2s}.ln-bar-link:hover{color:var(--fg)}.ln-tip{letter-spacing:.02em;text-transform:none;color:#ffffffc7;z-index:20;pointer-events:none;opacity:0;white-space:normal;background:#141a0e;border:1px solid #2873eb2e;border-radius:12px;width:210px;padding:10px 13px;font-size:.68rem;font-weight:400;line-height:1.5;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)translateY(4px)}.ln-tip.is-open,.ln-tip-wrap:hover .ln-tip{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.ln-tip:after{content:"";background:#141a0e;border-bottom:1px solid #2873eb2e;border-right:1px solid #2873eb2e;width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.fin-bg{pointer-events:none;z-index:0;position:absolute;inset:0}.fin-orb{filter:blur(40px);opacity:0;will-change:transform,opacity;border-radius:50%;position:absolute}.fin-orb-1{background:radial-gradient(circle,#2f80ff12 0%,#0000 70%);width:700px;height:700px;animation:18s ease-in-out infinite alternate orbDrift1;top:-120px;right:-120px}.fin-orb-2{background:radial-gradient(circle,#2f80ff0d 0%,#0000 70%);width:500px;height:500px;animation:22s ease-in-out infinite alternate orbDrift2;bottom:300px;left:-100px}.fin-orb-3{background:radial-gradient(circle,#6496ff0a 0%,#0000 70%);width:400px;height:400px;animation:26s ease-in-out infinite alternate-reverse orbDrift1;bottom:0;right:30%}@keyframes orbDrift1{0%{transform:translate(0)}to{transform:translate(30px,-40px)}}@keyframes orbDrift2{0%{transform:translate(0)}to{transform:translate(-20px,30px)}}.fin-about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.fin-about-left{flex-direction:column;display:flex}.fin-tag{letter-spacing:-.04em;text-transform:none;color:var(--white);margin-bottom:24px;font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.05}.fin-tag:before{background:var(--white);flex-shrink:0;width:36px;height:2px}.fin-about-h{letter-spacing:-.04em;margin:10px 0 16px;font-size:clamp(2rem,3.6vw,3.4rem);font-weight:900;line-height:1.1}.fin-p{color:var(--white-dim);opacity:0;margin-bottom:10px;font-size:.95rem;line-height:1.7}.fin-p em{color:var(--white);font-style:normal;font-weight:600}.fin-about-socials{flex-wrap:wrap;gap:10px;margin:4px 0 16px;display:flex}.fab-pill{border:1.5px solid var(--border);color:#fffffff2;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:.78rem;font-weight:600;transition:border-color .3s,color .3s,background .3s,transform .3s,box-shadow .3s;display:inline-flex}.fab-pill:hover{color:#fff;background:#ffffff12;border-color:#ffffffbf;transform:translateY(-2px);box-shadow:0 0 20px #ffffff52}.fab-icon{color:#ffffffd1;align-items:center;font-size:.8rem;font-style:normal;transition:color .3s;display:inline-flex}.fab-icon svg{display:block}.fab-pill:hover .fab-icon{color:#fff}.fin-about-cta{opacity:0;flex-flow:wrap;align-items:center;gap:24px;display:flex}.contact-sig-canvas{opacity:0;filter:drop-shadow(0 0 6px #ffffff47)drop-shadow(0 0 16px #ffffff17);transform-origin:0;pointer-events:none;flex-shrink:0;width:clamp(110px,14vw,170px);height:clamp(110px,14vw,170px);margin-top:0;display:block}.fin-about-right{justify-content:center;align-items:center;display:flex;position:relative}.astat{flex-direction:column;gap:2px;display:flex}.astat-n{letter-spacing:-.05em;color:var(--white);font-size:2rem;font-weight:800;line-height:1}.astat-suf{color:var(--green);font-size:1.2rem;font-weight:800}.astat-l{color:var(--white-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500}.ac3-scene{perspective:900px;opacity:0;width:320px}.ac3-card{transform-style:preserve-3d;background:linear-gradient(145deg,#ffffff12,#ffffff05);border:1px solid #ffffff21;border-radius:20px;flex-direction:column;gap:10px;padding:20px;transition:box-shadow .4s;display:flex;position:relative;box-shadow:0 24px 60px #0000008c,0 0 0 1px #2f80ff12}.ac3-card:hover{box-shadow:0 36px 80px #000000a6,0 0 0 1px #2f80ff2e,0 0 60px #2f80ff0a}.ac3-glow{opacity:0;pointer-events:none;z-index:0;background:linear-gradient(120deg,#2f80ff40,#0000 50%,#2f80ff1a);border-radius:21px;transition:opacity .4s;position:absolute;inset:-1px}.ac3-card:hover .ac3-glow{opacity:1}.ac3-shine{pointer-events:none;z-index:1;background:radial-gradient(circle,#0000,#0000);border-radius:20px;transition:background .1s;position:absolute;inset:0}.ac3-top{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.ac3-avatar{background:var(--green);color:#000;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;font-weight:800;display:flex;box-shadow:0 8px 24px #2f80ff59}.ac3-badge{color:var(--green);background:#2f80ff1a;border:1px solid #2f80ff40;border-radius:100px;align-items:center;gap:6px;padding:5px 12px;font-size:.72rem;font-weight:700;display:flex}.status-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse}.ac3-name{letter-spacing:-.04em;z-index:2;font-size:1.7rem;font-weight:800;line-height:1;position:relative}.ac3-role{color:var(--white-dim);z-index:2;font-size:.88rem;position:relative}.ac3-loc{color:var(--white-dim);z-index:2;align-items:center;gap:6px;font-size:.8rem;display:flex;position:relative}.ac3-loc svg{width:12px;height:12px;color:var(--green);flex-shrink:0}.ac3-divider{z-index:2;background:#ffffff14;height:1px;position:relative}.ac3-chips{z-index:2;flex-wrap:wrap;gap:7px;display:flex;position:relative}.chip{color:var(--white-dim);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:100px;padding:4px 11px;font-size:.7rem;font-weight:600;transition:border-color .3s,color .3s,background .3s}.chip:hover{color:var(--green);background:#2f80ff14;border-color:#2f80ff66}.ac3-bars{z-index:2;flex-direction:column;gap:10px;display:flex;position:relative}.ac3-bar-row{align-items:center;gap:10px;display:flex}.ac3-bar-row>span:first-child{color:var(--white-dim);min-width:90px;font-size:.72rem;font-weight:500}.ac3-bar{background:#ffffff14;border-radius:3px;flex:1;height:3px;overflow:hidden}.ac3-fill{background:linear-gradient(90deg,var(--green),#2f80ff80);border-radius:3px;width:0;height:100%;transition:width 1.2s cubic-bezier(.25,.46,.45,.94)}.ac3-pct{color:var(--green);text-align:right;min-width:28px;font-size:.65rem;font-weight:700}.af{white-space:nowrap;opacity:0;backdrop-filter:blur(12px);background:#0a0a0aeb;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:600;display:flex;position:absolute;box-shadow:0 8px 24px #00000080}.af-1{top:10px;right:-90px}.af-2{top:110px;right:-110px}.af-3{bottom:110px;right:-95px}.af-4{bottom:20px;right:-80px}.fin-contact-inner{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex;position:relative}.fin-contact-h{letter-spacing:-.05em;opacity:0;font-size:clamp(2.6rem,5.5vw,5rem);font-weight:900;line-height:1}.fin-contact-sub{color:var(--white-dim);opacity:0;max-width:480px;font-size:.95rem;line-height:1.7}.fin-contact-btn{opacity:0;margin-top:4px}.fin-socials{opacity:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.social-link{color:var(--white-dim);font-size:.85rem;font-weight:600;transition:color .3s}.social-link:hover{color:var(--green)}.social-dot{color:var(--border)}.about-sig-bg{opacity:.13;filter:blur(4px)brightness(1.15);z-index:1;pointer-events:none;user-select:none;width:clamp(300px,52vw,720px);height:auto;display:block;position:absolute;top:clamp(70px,17vh,180px);left:clamp(12px,4vw,64px);transform:rotate(-3deg)}.term-card{opacity:0;background:#0d1117;border:1px solid #ffffff1a;border-radius:14px;width:100%;max-width:440px;position:relative;overflow:hidden}.term-header{background:#161b22;border-bottom:1px solid #ffffff12;align-items:center;gap:12px;padding:12px 16px;display:flex}.term-dots{align-items:center;gap:6px;display:flex}.term-dot{border-radius:50%;width:12px;height:12px}.td-red{background:#ff5f57}.td-yellow{background:#febc2e}.td-green{background:#28c840}.term-title{color:#ffffff59;letter-spacing:.04em;font-family:Courier New,monospace;font-size:.72rem}.term-body{padding:20px 22px 24px;font-family:Courier New,monospace;font-size:.82rem;line-height:1.8}.term-line{align-items:baseline;gap:6px;display:flex}.term-prompt{color:var(--green);flex-shrink:0;font-weight:700}.term-cmd{color:#ffffffbf}.term-output{color:var(--green);margin-bottom:2px;padding-left:14px}.term-gap{height:10px}.term-block{background:#0000004d;border:1px solid #ffffff0f;border-radius:8px;margin:2px 0;padding:10px 14px;font-size:.78rem;line-height:1.9}.tb-brace{color:#ffffff80}.tb-key{color:#79c0ff}.tb-col{color:#fff6}.tb-str{color:#a5d6ff}.tb-num{color:#bd93f9}.tb-avail{color:var(--green)}.term-tags{flex-wrap:wrap;gap:7px;margin:2px 0;padding-left:14px;display:flex}.term-tags span{color:var(--green);letter-spacing:.04em;background:#2f80ff14;border:1px solid #2f80ff33;border-radius:4px;padding:3px 10px;font-size:.7rem;font-weight:600}.term-cursor{color:var(--green);font-size:1rem;animation:1.1s step-end infinite termBlink}@keyframes termBlink{0%,to{opacity:1}50%{opacity:0}}@media (width<=1100px){.fb-1,.fb-2,.fb-3{display:none}.hero-badge{bottom:100px;right:24px}}@media (width<=1024px){.fin-about-grid{grid-template-columns:1fr;gap:60px}.skills-grid{grid-template-columns:1fr 1fr}.fm-right{display:none}}@media (width<=768px){:root{--nav-h:64px}.skills-grid{grid-template-columns:1fr}.hero-content{padding:60px 20px 120px}.hero-title{font-size:clamp(2.5rem,12vw,4rem)}.container{padding:0 20px}.hero-stats{flex-direction:column;align-items:flex-start}.stat-divider,.hero-badge{display:none}}@media (width<=480px){.hero-actions{flex-direction:column;align-items:flex-start}.fin-contact-h{font-size:2.5rem}.fm-link{font-size:3.2rem}.nav-hire{display:none}}#workPreviewShell{z-index:20;pointer-events:none;visibility:hidden;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#wpBgCanvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.wp-orb{pointer-events:none;z-index:1;opacity:0;border-radius:50%;position:absolute}.wp-orb-1{filter:blur(clamp(40px,7vw,50px));background:radial-gradient(circle,#2873eb38 0%,#0000 68%);width:clamp(260px,38vw,580px);height:clamp(260px,38vw,580px);top:-18%;left:-6%}.wp-orb-2{filter:blur(clamp(40px,8vw,50px));background:radial-gradient(circle,#3c8cff21 0%,#0000 68%);width:clamp(300px,44vw,660px);height:clamp(300px,44vw,660px);bottom:-22%;right:-10%}.wp-orb-3{filter:blur(clamp(40px,6vw,50px));background:radial-gradient(circle,#2873eb1a 0%,#0000 68%);width:clamp(180px,28vw,460px);height:clamp(180px,28vw,460px);top:40%;right:4%}#workPreviewWin{z-index:2;will-change:transform;background:#1e1e1e;border-radius:14px;flex-direction:column;width:min(88vw,1080px);height:min(82vh,740px);display:flex;position:relative;overflow:hidden;box-shadow:0 48px 60px #000000f2,0 0 0 1px #ffffff17}#workChrome{-webkit-user-select:none;user-select:none;pointer-events:none;background:#2c2c2e;border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:10px;height:50px;padding:0 14px;display:flex}#workVp{pointer-events:none;background:#fff;flex:1;min-height:0;overflow:hidden}#workVp iframe{border:none;width:100%;height:100%;display:block}#workVp .bw-blocked{background:#1c1c1e;flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;inset:0}#workVp .bw-blocked.visible{display:flex}#workVp .bw-loader{z-index:10;background:linear-gradient(90deg,transparent,var(--green) 50%,transparent);opacity:0;pointer-events:none;background-size:200% 100%;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}#workVp.loading .bw-loader{opacity:1;animation:1.1s linear infinite bwLoad}@keyframes bwLoad{0%{background-position:100% 0}to{background-position:-100% 0}}#workEsc{color:#ffffff4d;pointer-events:none;z-index:21;white-space:nowrap;opacity:0;background:#0000008c;border:1px solid #ffffff1a;border-radius:100px;padding:4px 14px;font-size:.68rem;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.bw-dots{flex-shrink:0;align-items:center;gap:8px;display:flex}.bw-dot{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:12px;height:12px;padding:0;transition:filter .15s;position:relative}.bw-dot:hover{filter:brightness(1.2)}.bw-dot-r{background:#ff5f57}.bw-dot-y{background:#febc2e}.bw-dot-g{background:#28c840}.bw-dot:after{content:"";color:#00000080;justify-content:center;align-items:center;font-size:8px;font-weight:900;line-height:1;display:none;position:absolute;inset:0}.bw-dots:hover .bw-dot:after{display:flex}.bw-dot-r:after{content:"×"}.bw-dot-y:after{content:"−"}.bw-dot-g:after{content:"+"}.bw-navbtns{flex-shrink:0;gap:2px;display:flex}.bw-navbtn{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;transition:background .2s,color .2s;display:flex}.bw-navbtn:hover{color:#ffffffbf;background:#ffffff14}.bw-urlbar{background:#0000006b;border-radius:7px;flex:1;align-items:center;gap:6px;min-width:0;height:28px;padding:0 10px;display:flex}.bw-lock-svg{color:#ffffff45;flex-shrink:0;width:10px;height:11px}#workUrlTxt{color:#ffffff73;font-size:.75rem;font-family:var(--font);white-space:nowrap;text-overflow:ellipsis;text-align:center;flex:1;overflow:hidden}.bw-actions{flex-shrink:0;gap:2px;display:flex}.bw-action-btn{color:#ffffff52;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;text-decoration:none;transition:background .2s,color .2s;display:flex}.bw-action-btn:hover{color:#fffc;background:#ffffff14}.bwb-inner{text-align:center;max-width:340px;padding:24px}.bwb-icon{opacity:.45;margin-bottom:14px;font-size:2.2rem;line-height:1}.bwb-msg{color:var(--white-dim);margin-bottom:22px;font-size:.88rem;line-height:1.65}.bwb-btn{background:var(--green);color:#000;border-radius:100px;align-items:center;gap:6px;padding:10px 24px;font-size:.85rem;font-weight:700;transition:opacity .2s;display:inline-flex}.bwb-btn:hover{opacity:.8}@media (width<=768px){#workChrome{gap:8px;height:44px;padding:0 10px}.bw-navbtns{display:none}}.sec-space-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.abt-orbs{pointer-events:none;position:absolute;inset:0}.abt-orb{opacity:0;border-radius:50%;position:absolute}.abt-orb-1{background:radial-gradient(circle,#2f80ff1c 0%,#0000 65%);width:700px;height:700px;top:-200px;right:-150px}.abt-orb-2{background:radial-gradient(circle,#2f80ff12 0%,#0000 65%);width:600px;height:600px;bottom:-150px;left:-150px}.abt-logo-wrap{z-index:2;transform-origin:50%;justify-content:center;align-items:center;display:flex;position:relative}.abt-logo-canvas{filter:drop-shadow(0 0 22px #2f80ff99)drop-shadow(0 0 70px #2f80ff33);width:100%;max-width:min(78vw,700px);height:auto;display:block}@media (hover:none) and (pointer:coarse){.cursor,.cursor-follower{display:none!important}body{cursor:auto}button{cursor:pointer}}@media (width<=480px){.nav-inner{padding:0 .875rem}.nav-wordmark{font-size:1rem}.nav-hire{display:none}}@media (width<=768px){.fm-inner{padding:calc(var(--nav-h) + 18px) 1.25rem 20px;-webkit-overflow-scrolling:touch;gap:16px;overflow-y:auto}.fm-footer{flex-direction:column;align-items:flex-start;gap:14px;padding:18px 1.25rem 28px}.fm-socials{flex-wrap:wrap;gap:18px}}@media (width<=480px){.fm-link{font-size:clamp(2.4rem,11vw,3.5rem)}.fm-num{font-size:.62rem}.sig-eyebrow{letter-spacing:.13em;font-size:.58rem}}@media (width<=640px){.stack-content{padding-left:20px;padding-right:20px}.stack-heading{margin:14px 0 18px}}@media (width<=460px){.stack-content{padding-left:14px;padding-right:14px}}@media (width<=880px){.marquee-strip,.section-about-logo{margin-top:0}.stack-section{height:auto}.stack-content{height:auto;padding-bottom:40px}.cs-outer{flex:none;height:auto;overflow:visible}.cs-col{height:auto;overflow:visible}}@media (width<=1024px){.fin-about-grid{gap:40px}}@media (width<=880px){.section-about{min-height:0;padding:calc(var(--nav-h) + 28px) 0 60px;align-items:flex-start;overflow:visible}.abt-logo-overlay{z-index:50}.ct-wrapper{margin-top:0}}@media (width<=768px){.fin-about-grid{gap:28px}.abt-bg-num{font-size:clamp(130px,34vw,220px)}.term-card{max-width:100%}.fin-about-cta{flex-flow:row;justify-content:center;align-items:center;gap:16px}.email-reveal-btn{width:clamp(160px,50vw,210px);height:50px}.contact-sig-canvas{flex-shrink:0;width:clamp(90px,22vw,120px);height:clamp(90px,22vw,120px);margin-top:0}.fin-p{font-size:.88rem}.fin-about-socials{gap:8px}.fab-pill{padding:9px 16px;font-size:.74rem}}@media (width<=480px){.abt-bg-num{display:none}.fin-tag{margin-bottom:16px;font-size:clamp(1.6rem,7vw,2.2rem)}.container{padding:0 16px}.fin-p{font-size:.85rem}.fab-pill{gap:6px;padding:8px 14px;font-size:.7rem}.fab-icon{font-size:.72rem}}@media (width<=768px){.ct-wrapper{height:280vh}.ct-sub{padding:0 8px;font-size:.88rem}.ct-label-sig{width:clamp(140px,58vw,250px)}.fin-socials{gap:10px}.btn-primary.large{padding:14px 28px;font-size:.9rem}}@media (width<=480px){.ct-headline{font-size:clamp(2.2rem,9vw,3.8rem);line-height:.96}.ct-sub{font-size:.82rem}.fin-socials{flex-direction:column;align-items:center;gap:10px}.social-dot{display:none}.ct-bar{letter-spacing:.06em;font-size:.6rem}.ct-bar-name,.ct-bar-copy{font-size:.6rem}}@media (width<=768px){.ln-headline{font-size:clamp(2rem,8vw,3.5rem)}.ln-portrait{max-width:280px}.ln-portrait-wrap{height:60%}.ln-col{bottom:clamp(56px,12vh,100px)}.ln-col-pages{left:16px}.ln-col-social{right:16px}.ln-nav-link{font-size:clamp(1.2rem,3.5vw,1.8rem)}.ln-cta-wrap{bottom:clamp(76px,10vh,94px)}}@media (width<=480px){.ln-footer-section{background:0 0;height:100svh;min-height:580px;margin-top:0}.section-about:after{height:60px}.ln-sig-canvas{width:clamp(120px,36vw,165px)}.ln-headline{font-size:clamp(1.65rem,7.2vw,2.5rem);line-height:.92;top:clamp(185px,24vh,220px)}.ln-portrait-wrap{z-index:3;align-items:flex-start;width:85vw;height:clamp(240px,36vh,305px);top:auto;bottom:calc(100% - clamp(460px,61vh,548px) - clamp(30px,4vh,45px));left:50%;transform:translate(-50%)}.ln-portrait{object-fit:contain;object-position:top center;width:auto;max-width:none;height:100%;-webkit-mask-image:none;mask-image:none}.ln-cta-wrap{z-index:5;top:clamp(460px,61vh,548px);bottom:auto}.ln-cta-btn{justify-content:center;width:85vw;padding:18px 34px}.ln-cta-t1{display:none}.ln-cta-t1-mobile{display:block}.ln-col{bottom:clamp(100px,13vh,135px)}.ln-col-label{margin-bottom:8px;font-size:.62rem}.ln-nav-link{font-size:clamp(1.05rem,4.5vw,1.35rem);line-height:1.35}.ln-contact-link{font-size:clamp(.95rem,4vw,1.2rem)}.ln-col-pages .ln-contact-link{display:none}.ln-col-contact{display:flex}.ln-marquee-outer{bottom:54px}.ln-bg-name{opacity:.22;width:clamp(200px,65vw,280px);top:auto;bottom:calc(100% - clamp(460px,61vh,548px) + clamp(100px,15vh,150px))}.ln-footer-bar{flex-direction:column;align-items:center;gap:4px;height:auto;padding:6px 16px}.ln-bar-links{gap:14px}}body.preview-open{overflow:hidden}@media (width<=880px){body.preview-open{width:100%;position:fixed;left:0;right:0}body.preview-open .work{z-index:350}body.preview-open .nav{opacity:0;pointer-events:none;visibility:hidden}body.preview-open #work,body.preview-open #projStage{will-change:auto}#workPreviewShell{z-index:300;background:#000000eb;position:fixed;inset:0}#workPreviewWin{width:100%;max-width:100vw;height:100%;max-height:100dvh;box-shadow:none;border-radius:0}#workChrome{background:#1c1c1f;border-bottom:1px solid #ffffff14;gap:10px;height:52px;padding:0 12px}.bw-dot-y,.bw-dot-g{display:none}.bw-dots{gap:0}.bw-dot-r{background:#ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.bw-dot-r:after{color:#ffffffd9;font-size:22px;font-weight:400;line-height:1;content:"×"!important;display:flex!important;position:relative!important;inset:auto!important}.bw-dot-r:active{background:#ffffff29}.bw-urlbar{height:34px;padding:0 12px}#workUrlTxt{font-size:.74rem}.bw-action-btn{border-radius:10px;width:34px;height:34px}.bw-action-btn svg{width:13px;height:13px}#workVp .bw-loader{height:3px}#workEsc{display:none!important}.bwb-inner{max-width:300px;padding:20px}.bwb-icon{margin-bottom:12px;font-size:1.8rem}.bwb-msg{margin-bottom:18px;font-size:.82rem}.bwb-btn{padding:10px 22px;font-size:.82rem}}@media (width<=640px){.marquee-strip{padding:11px 0}.marquee-track{gap:20px}.marquee-track span{font-size:.82rem}}@media (width<=480px){.proj-stage-header .section-title{font-size:clamp(1.4rem,6vw,2rem)}.proj-stage-sub{font-size:.76rem}.proj-stage-header{padding:0 16px 20px}.proj-card-meta{gap:8px;padding:14px 16px 18px}.proj-card-meta .project-title{font-size:1.15rem}.proj-card-meta .project-desc{font-size:.78rem}.proj-card-num{padding:4px 10px;font-size:.62rem;top:10px;right:12px}.abt-logo-canvas{max-width:min(90vw,380px)}}@media (width<=380px){.term-body{padding:14px 14px 18px;font-size:.74rem}.term-block{font-size:.7rem}.term-tags span{font-size:.64rem}}@media (width<=768px){.sig-canvas{width:min(500px,84vw)}.sig-domain{font-size:clamp(1.4rem,5.5vw,2.4rem)}.sig-scroll{bottom:28px}.sig-portrait-wrap{opacity:0;height:min(72vh,620px)}.sig-portrait{filter:drop-shadow(0 16px 40px #00000080)saturate(1.02)}}@media (width<=480px){.sig-canvas{width:min(420px,86vw)}.sig-domain{letter-spacing:.06em;font-size:clamp(1.2rem,5vw,1.8rem)}.sig-inner{gap:16px}.sig-scroll{gap:6px;bottom:22px}.ss-text{letter-spacing:.14em;font-size:.58rem}.ss-arrow{border-width:1.5px;width:14px;height:14px}.sig-portrait-wrap{opacity:0;height:min(64vh,520px)}}@media (width<=880px){.stack-section{padding:calc(var(--nav-h) + 8px) 0 0}.stack-content{padding-top:24px;padding-bottom:56px}.cs-header{margin-bottom:18px}}@media (width<=480px){.stack-heading{margin:10px 0 14px;font-size:clamp(2rem,10vw,3.4rem)}.stack-section .section-tag{margin-bottom:10px;font-size:.66rem}.cs-header{margin-bottom:14px}}@media (width<=768px){.fin-orb-1{filter:blur(28px);width:420px;height:420px}.fin-orb-2{filter:blur(28px);width:340px;height:340px}.fin-orb-3{filter:blur(28px);width:260px;height:260px}.abt-sec-orb-1{filter:blur(28px);width:340px;height:340px}.abt-sec-orb-2{filter:blur(28px);width:260px;height:260px}.wp-orb-1,.wp-orb-2,.wp-orb-3{filter:blur(28px)}}@media (width<=880px){.proj-stage{padding:40px 0 60px}.proj-track{gap:48px}.proj-track .project-card{min-height:420px}.proj-track .proj-browser-thumb{aspect-ratio:16/10;height:auto}.hero-noise{display:none}}@media (width<=480px){.proj-track{gap:40px}.proj-track .project-card{min-height:380px}.proj-track .proj-browser-thumb{aspect-ratio:16/11}.proj-card-meta .project-tags span{padding:3px 9px;font-size:.6rem}.proj-card-meta .proj-link{font-size:.74rem}.term-body{padding:16px 18px 20px;font-size:.78rem;line-height:1.75}.term-block{padding:8px 12px;font-size:.72rem;line-height:1.9}.term-tags{gap:6px;padding-left:10px}.term-tags span{padding:3px 9px;font-size:.66rem}}@media (width<=768px){.abt-logo-canvas{max-width:min(82vw,480px)}}@media (width<=480px){.fin-sig{width:160px}.ct-label-sig{width:clamp(120px,52vw,210px)}.ct-headline br{display:none}}@media (width<=768px){#workEsc{padding:3px 12px;font-size:.6rem;bottom:12px}}@media (width<=480px){.fin-about-cta .email-reveal-btn{width:clamp(155px,48vw,195px);height:46px}.erb-front-text{letter-spacing:.01em;font-size:.62rem}.erb-envelope-icon svg{width:.95em;height:.95em}.erb-back-label{font-size:.8rem}}@media (width<=380px){.container{padding:0 14px}.stack-content{padding-left:14px;padding-right:14px}.proj-stage-header{padding:0 14px 16px}.proj-track-wrap{padding:0 14px}}.ecm-overlay{-webkit-backdrop-filter:blur(10px);z-index:300;opacity:0;background:#060604d1;justify-content:center;align-items:center;padding:20px;transition:opacity .22s;display:flex;position:fixed;inset:0}.ecm-overlay:not([hidden]){opacity:1}.ecm-overlay[hidden]{display:none}.ecm-card{background:#13160f;border:1px solid #2f80ff2e;border-radius:22px;width:min(92vw,400px);padding:28px 24px 24px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:relative;transform:translateY(18px)scale(.96);box-shadow:0 24px 60px #0009}.ecm-overlay:not([hidden]) .ecm-card{transform:translateY(0)scale(1)}.ecm-close{color:#ffffff8c;cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:flex;position:absolute;top:14px;right:14px}.ecm-close:hover{color:#fff;background:#ffffff1f}.ecm-close svg{width:15px;height:15px}.ecm-header{align-items:center;gap:14px;margin-bottom:22px;display:flex}.ecm-header-icon{width:44px;height:44px;color:var(--green);background:#2f80ff1f;border:1px solid #2f80ff40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ecm-header-icon svg{width:20px;height:20px}.ecm-title{color:#fff;letter-spacing:-.01em;margin:0 0 3px;font-size:1.15rem;font-weight:700}.ecm-subtitle{color:#ffffff73;margin:0;font-size:.78rem;line-height:1.4}.ecm-apps{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.ecm-app{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:4px 6px;text-decoration:none;transition:transform .18s;display:flex}.ecm-app:hover .ecm-app-icon{transform:translateY(-3px)scale(1.06)}.ecm-app:active .ecm-app-icon{transform:scale(.95)}.ecm-app-icon{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .18s;display:flex}.ecm-app-icon svg{width:22px;height:22px}.ecm-app-icon--gmail{background:#fff;border:1px solid #e0e0e0}.ecm-app-icon--outlook{background:#1565c0}.ecm-app-icon--yahoo{background:#720e9e}.ecm-app-icon--apple{background:linear-gradient(145deg,#2196f3,#1565c0)}.ecm-app-label{color:#fff9;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:600}.ecm-divider{color:#ffffff40;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:14px;font-size:.72rem;display:flex}.ecm-divider:before,.ecm-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.ecm-copy-row+.ecm-divider{margin-top:22px}.ecm-copy-row{align-items:center;gap:8px;display:flex}.ecm-email-input{color:#ffffffd9;letter-spacing:.01em;cursor:text;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;outline:none;flex:1;min-width:0;padding:10px 14px;font-family:SF Mono,Fira Code,monospace;font-size:.82rem}.ecm-email-input:focus{border-color:#2f80ff66}.ecm-copy-btn{background:var(--green);color:#060604;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:.78rem;font-weight:800;transition:opacity .15s,transform .15s;display:flex}.ecm-copy-btn:hover{opacity:.88}.ecm-copy-btn:active{transform:scale(.96)}.ecm-copy-btn.copied{background:#3ddc84}.ecm-copy-icon{width:14px;height:14px}.ecm-socials{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.ecm-social-link{background:0 0;border:none;flex-direction:column;align-items:center;gap:7px;padding:4px 6px;text-decoration:none;transition:transform .18s;display:flex}.ecm-social-link:hover .ecm-social-icon{transform:translateY(-3px)scale(1.06)}.ecm-social-link:active .ecm-social-icon{transform:scale(.95)}.ecm-social-icon{border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .18s;display:flex}.ecm-social-icon svg{width:20px;height:20px}.ecm-social-icon--fb{background:#1877f2}.ecm-social-icon--li{background:#0a66c2}.ecm-social-icon--x{background:#000}.ecm-social-icon--ig{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%)}.ecm-social-name{color:#ffffff8c;text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:.62rem;font-weight:600}@media (width<=380px){.ecm-apps{grid-template-columns:repeat(2,1fr)}.ecm-app-icon{width:40px;height:40px}.ecm-socials{grid-template-columns:repeat(2,1fr)}}@media (width<=880px){@keyframes smlCorner{0%,26%,to{opacity:.18}12%{opacity:1}}@keyframes smlCLetter{0%,to{opacity:.55}50%{opacity:1}}.loader-logo-svg{animation:none}.fin-orb,.abt-orb,.abt-sec-orb,.sig-orb-bg .sig-orb-4{animation:none!important}.fm-panel,.stack-content,.sig-inner,.sig-portrait-wrap{will-change:transform,opacity}@keyframes pulse{0%,to{opacity:.7;box-shadow:none}50%{opacity:1;box-shadow:none}}@keyframes csCardSlideInL{0%{opacity:0;transform:translate(-110vw)}to{opacity:1;transform:translate(0)}}@keyframes csCardSlideInR{0%{opacity:0;transform:translate(110vw)}to{opacity:1;transform:translate(0)}}@keyframes pjCardSlideInL{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pjCardSlideInR{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.section-line{transform-origin:0;transition:transform .7s cubic-bezier(.16,.84,.32,1);transform:scaleX(0)}.section-line.mob-vis{transform:scaleX(1)}.work .section-tag,.split-title,.section-desc{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(14px)}.work .section-tag.mob-vis,.split-title.mob-vis,.section-desc.mob-vis{opacity:1;transform:none}.nav-pill{-webkit-backdrop-filter:none;background:#0e0e0ce6}.hero-tag{-webkit-backdrop-filter:none;background:#0e0e0cb3}.proj-card-num,.af{-webkit-backdrop-filter:none}.stack-section,#work{will-change:transform}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}#vanta-bg{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}@media (width<=880px){#vanta-bg{background:#0d1117 url(trunk-mobile.webp) 50%/cover no-repeat}}.work-bg{opacity:0;z-index:0;pointer-events:none;background:#0a112a80;transition:opacity .55s;position:fixed;inset:0}.work-bg.on{opacity:1}.abt-bg,.stack-bg{opacity:0;z-index:0;pointer-events:none;background:#0a112a80;position:fixed;inset:0}#sw-dim{opacity:0;z-index:0;pointer-events:none;background:#0a112a80;transition:opacity .5s;position:fixed;inset:0}#sw-dim.on{opacity:1}.cs-card:nth-child(odd){transform:translateY(-80px)}.cs-card:nth-child(2n){transform:translateY(80px)}@media (width<=880px){.cs-card:nth-child(odd){transform:translateY(-40px)}.cs-card:nth-child(2n){transform:translateY(40px)}}@property --laser-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.proj-track .project-card:before{content:"";border-radius:inherit;background:conic-gradient(from var(--laser-angle), transparent 0deg, transparent 270deg, #2f80ff 320deg, #9bd6ff 340deg, #2f80ff 358deg, transparent 360deg);-webkit-mask-composite:xor;pointer-events:none;z-index:4;opacity:.85;padding:2px;animation:3.5s linear infinite laser-trace;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}@keyframes laser-trace{to{--laser-angle:360deg}}.proj-track .project-card:hover{border-color:#2f80ff80;box-shadow:0 0 30px #2f80ff80,0 0 70px #2f80ff40}.proj-track .project-card:hover:before{opacity:1;padding:2.5px;animation-duration:1.5s}@media (prefers-reduced-motion:reduce){.proj-track .project-card:before{animation:none}}.term-card:before{content:"";border-radius:inherit;background:conic-gradient(from var(--laser-angle), transparent 0deg, transparent 270deg, #2f80ff 320deg, #9bd6ff 340deg, #2f80ff 358deg, transparent 360deg);-webkit-mask-composite:xor;pointer-events:none;z-index:4;opacity:.85;padding:2px;animation:3.5s linear infinite laser-trace;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.term-card:hover{border-color:#2f80ff80;box-shadow:0 0 30px #2f80ff80,0 0 70px #2f80ff40}.nav{--hdr:#fff}body.dim-active .nav{--hdr:#2f80ff}body.dim-active .nav-hire{color:#fff}#sigInner,#sigPortrait,.sig-eyebrow,.sig-domain,#sigScroll{opacity:0}