:root{--accent:#4f9eff;--accent-2:#7b6cf6;--accent-rgb:79, 158, 255;--accent-glow:#4f9eff4d;--bg:#080810;--bg-2:#0d0d18;--bg-3:#12121f;--bg-4:#1a1a2e;--surface:#ffffff0a;--surface-h:#ffffff12;--border:#ffffff13;--border-a:#4f9eff4d;--text:#ededf5;--text-2:#9294af;--text-3:#4a4d6a;--font-head:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--ease:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--fast:.15s;--med:.3s;--slow:.6s;--nav-h:68px;--max-w:1200px;--r:12px;--r-lg:20px;--r-pill:999px}[data-accent=violet]{--accent:#9b6dff;--accent-2:#4f9eff;--accent-rgb:155,109,255;--accent-glow:#9b6dff47}[data-accent=teal]{--accent:#00d4aa;--accent-2:#09f;--accent-rgb:0,212,170;--accent-glow:#00d4aa47}[data-accent=rose]{--accent:#ff5f8f;--accent-2:#a855f7;--accent-rgb:255,95,143;--accent-glow:#ff5f8f47}[data-accent=amber]{--accent:#ffb340;--accent-2:#ff6030;--accent-rgb:255,179,64;--accent-glow:#ffb34047}[data-accent=emerald]{--accent:#34d399;--accent-2:#0ea5e9;--accent-rgb:52,211,153;--accent-glow:#34d39947}[data-theme=light]{--bg:#f7f7fb;--bg-2:#fff;--bg-3:#eeeef6;--bg-4:#e4e4f0;--surface:#0000000a;--surface-h:#00000012;--border:#00000014;--border-a:#4f9eff40;--text:#0e0e18;--text-2:#52526e;--text-3:#9494b0}[data-font=cabinet]{--font-head:"DM Serif Display", serif}[data-font=dm]{--font-head:"DM Sans", sans-serif}[data-font=outfit]{--font-head:"Outfit", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background var(--med) var(--ease), color var(--med) var(--ease);font-size:16px;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}.scroll-progress{background:linear-gradient(90deg, var(--accent), var(--accent-2));z-index:9999;width:0%;height:2px;box-shadow:0 0 8px var(--accent-glow);transition:width .1s linear;position:fixed;top:0;left:0}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9998;transition:opacity var(--fast);border-radius:50%;position:fixed;transform:translate(-50%,-50%)}.cursor-dot{background:var(--accent);width:6px;height:6px}.cursor-ring{border:1.5px solid rgba(var(--accent-rgb), .5);width:32px;height:32px;transition:width .18s,height .18s,border-color .18s}.cursor-ring.hovered{border-color:rgba(var(--accent-rgb), .8);width:48px;height:48px}@media (hover:none){.cursor-dot,.cursor-ring{display:none}}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:700;line-height:1.12}.gradient-text{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border-a);border-radius:var(--r-pill);background:rgba(var(--accent-rgb), .07);align-items:center;gap:8px;margin-bottom:14px;padding:5px 13px;font-size:.72rem;display:inline-flex}.eyebrow:before{content:"//";opacity:.5;font-size:.65rem}.section-header{margin-bottom:4rem}.section-title{font-family:var(--font-head);letter-spacing:-.02em;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800}.section-title em{background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.container{max-width:var(--max-w);margin:0 auto;padding:0 28px}.section{padding:120px 0;position:relative}.section:nth-child(2n){background:var(--bg-2)}.btn{border-radius:var(--r-pill);font-family:var(--font-head);white-space:nowrap;transition:transform var(--med) var(--ease), box-shadow var(--med) var(--ease), background var(--fast), color var(--fast);align-items:center;gap:8px;padding:13px 28px;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--fast);background:#ffffff14;position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 4px 22px rgba(var(--accent-rgb), .35)}.btn-primary:hover{box-shadow:0 8px 32px rgba(var(--accent-rgb), .5)}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{border-color:var(--border-a);background:var(--surface-h)}.btn-outline{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.btn-outline:hover{background:rgba(var(--accent-rgb), .1)}.btn-sm{padding:9px 20px;font-size:.83rem}.btn-full{justify-content:center;width:100%}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:none}.btn.loading .btn-label{display:none}.btn.loading .btn-spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-2);transition:var(--med);border-radius:50%;justify-content:center;align-items:center;font-size:.88rem;display:flex}.icon-btn:hover{border-color:var(--border-a);color:var(--accent);transform:scale(1.05)}.navbar{z-index:200;height:var(--nav-h);transition:background var(--med), box-shadow var(--med);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border), 0 4px 30px #0006;background:#080810d9}[data-theme=light] .navbar.scrolled{background:#f7f7fbd9}.nav-inner{max-width:var(--max-w);align-items:center;gap:24px;width:100%;margin:0 auto;padding:0 28px;display:flex}.nav-logo,.footer-logo{font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:1rem;font-weight:600;display:flex}.logo-text{color:var(--text)}.logo-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%;flex-shrink:0}.nav-links{align-items:center;gap:2px;margin-left:auto;display:flex}.nav-link{color:var(--text-2);border-radius:var(--r-pill);transition:color var(--fast), background var(--fast);padding:7px 13px;font-size:.87rem;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--accent);width:0;height:2px;transition:width var(--med) var(--ease);border-radius:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{width:16px}.nav-actions{align-items:center;gap:10px;display:flex}.nav-toggle{transition:background var(--fast);border-radius:8px;flex-direction:column;gap:5px;padding:8px;display:none}.nav-toggle:hover{background:var(--surface)}.nav-toggle span{background:var(--text);width:22px;height:2px;transition:transform var(--med) var(--ease), opacity var(--fast);border-radius:2px;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{top:var(--nav-h);z-index:998;background:var(--bg-2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .4s var(--ease);padding:20px 28px;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translate(100%)}.mobile-menu.open{transform:translate(0)}.mobile-menu-overlay{top:var(--nav-h);z-index:997;opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility .3s;background:#00000080;position:fixed;bottom:0;left:0;right:0}.mobile-menu-overlay.open{opacity:1;visibility:visible}.mobile-menu-inner{flex-direction:column;gap:4px;display:flex}.mob-link:hover{color:var(--text);background:var(--surface)}.mob-footer{border-top:1px solid var(--border);margin-top:16px;padding-top:16px;display:flex}.mob-footer .icon-btn{border-radius:var(--r-pill);gap:8px;width:auto;padding:0 16px;font-size:.85rem}@media (max-width:768px){.talk-btn{display:none}}.hero{min-height:100vh;padding-top:var(--nav-h);align-items:center;display:flex;position:relative;overflow:hidden}.hero-orb{filter:blur(110px);pointer-events:none;border-radius:50%;animation:10s ease-in-out infinite orbDrift;position:absolute}.orb-1{background:rgba(var(--accent-rgb), .1);width:700px;height:700px;animation-delay:0s;top:-200px;right:-150px}.orb-2{background:rgba(var(--accent-rgb), .07);width:500px;height:500px;animation-delay:-4s;bottom:-100px;left:-100px}@keyframes orbDrift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(20px,-20px)scale(1.06)}66%{transform:translate(-15px,15px)scale(.96)}}.hero-grid{pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 80%)}[data-theme=light] .hero-grid{background-image:linear-gradient(#0000000a 1px,#0000 1px),linear-gradient(90deg,#0000000a 1px,#0000 1px)}.hero-canvas{pointer-events:none;z-index:0;opacity:.5;width:100%;height:100%;position:absolute;inset:0}.hero-inner{z-index:2;max-width:var(--max-w);grid-template-columns:1fr 1fr;align-items:center;gap:60px;width:100%;margin:0 auto;padding:80px 28px;display:grid;position:relative}.hero-left{flex-direction:column;align-items:flex-start;display:flex}.hero-badge{border-radius:var(--r-pill);border:1px solid rgba(var(--accent-rgb), .3);background:rgba(var(--accent-rgb), .08);font-family:var(--font-mono);color:var(--accent);animation:fadeUp .7s var(--ease) both;align-items:center;gap:9px;margin-bottom:28px;padding:7px 15px;font-size:.74rem;display:inline-flex}.badge-pulse{background:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.hero-greeting{font-family:var(--font-mono);color:var(--text-2);animation:fadeUp .7s 80ms var(--ease) both;margin-bottom:8px;font-size:1rem}.hero-name{letter-spacing:-.04em;background:linear-gradient(135deg, var(--text) 0%, var(--text-2) 120%);-webkit-text-fill-color:transparent;animation:fadeUp .7s .16s var(--ease) both;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:clamp(3.2rem,7vw,6rem);font-weight:800;line-height:1}.hero-role-row{font-size:clamp(1.1rem,2.5vw,1.55rem);font-family:var(--font-head);animation:fadeUp .7s .24s var(--ease) both;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;font-weight:600;display:flex}.role-prefix{color:var(--text-2)}.hero-typed{color:var(--accent)}.type-cursor{color:var(--accent);font-weight:300;animation:.9s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-tagline{max-width:460px;color:var(--text-2);animation:fadeUp .7s .32s var(--ease) both;margin-bottom:40px;font-size:1.05rem;line-height:1.75}.hero-cta{animation:fadeUp .7s .4s var(--ease) both;flex-wrap:wrap;gap:12px;margin-bottom:56px;display:flex}.hero-stats{animation:fadeUp .7s .48s var(--ease) both;border-top:1px solid var(--border);flex-wrap:wrap;gap:36px;padding-top:28px;display:flex}.stat-number{font-family:var(--font-head);color:var(--accent);font-size:1.9rem;font-weight:800;line-height:1;display:block}.stat-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.hero-right{animation:fadeUp .7s .28s var(--ease) both;justify-content:center;align-items:center;display:flex;position:relative}.hero-code-card{z-index:2;border:1px solid rgba(var(--accent-rgb), .18);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080812e0;width:100%;max-width:440px;position:relative;overflow:hidden;box-shadow:0 32px 80px #0000008c,0 0 0 1px #ffffff0a}[data-theme=light] .hero-code-card{border-color:rgba(var(--accent-rgb), .15);background:#ffffffeb;box-shadow:0 24px 60px #0000001f,0 0 0 1px #0000000d}.code-card-header{background:#ffffff08;border-bottom:1px solid #ffffff0d;align-items:center;gap:7px;padding:12px 16px;display:flex}[data-theme=light] .code-card-header{background:#00000008;border-bottom-color:#0000000f}.dot{border-radius:50%;width:11px;height:11px}.dot-r{background:#ff5f57}.dot-y{background:#febc2e}.dot-g{background:#28c840}.code-card-tab{font-family:var(--font-mono);color:var(--text-3);margin-left:8px;font-size:.72rem}.code-card-body{font-family:var(--font-mono);padding:20px 22px 16px;font-size:.82rem;line-height:1.9}.tk-kw{color:#4b87ff}.tk-var{color:var(--accent)}.tk-str{color:#fff}.tk-fn{color:#50fa7b}.tk-op{color:#4b87ff}.tk-br{color:#f8f8f2}.tk-key{color:#8be9fd}.tk-cm{color:#6272a4}[data-theme=light] .tk-kw{color:#d73a49}[data-theme=light] .tk-var{color:#005cc5}[data-theme=light] .tk-str{color:#032f62}[data-theme=light] .tk-fn{color:#6f42c1}[data-theme=light] .tk-key{color:#e36209}[data-theme=light] .tk-br{color:#24292e}.code-cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}.hero-chip{border-radius:var(--r-pill);background:var(--bg-3);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3;align-items:center;gap:7px;padding:8px 14px;font-size:.75rem;font-weight:600;animation:linear infinite chipFloat;display:flex;position:absolute;box-shadow:0 8px 24px #00000040}.hero-chip i{color:var(--accent)}.chip-1{animation-duration:6s;animation-delay:0s;top:-18px;left:-28px}.chip-2{animation-duration:7.5s;animation-delay:-2s;top:30%;right:-32px}.chip-3{animation-duration:6.8s;animation-delay:-4s;bottom:10%;left:-24px}.chip-4{animation-duration:8s;animation-delay:-1s;bottom:-16px;right:14%}@keyframes chipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.scroll-hint{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.1em;animation:fadeUp 1s 1s var(--ease) both;flex-direction:column;align-items:center;gap:10px;font-size:.7rem;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.scroll-mouse{border:1.5px solid var(--text-3);border-radius:11px;justify-content:center;width:22px;height:34px;padding-top:6px;display:flex}.scroll-wheel{background:var(--text-3);border-radius:2px;width:3px;height:6px;animation:2s ease-in-out infinite scrollWheel}@keyframes scrollWheel{0%,to{opacity:1;transform:translateY(0)}80%{opacity:0;transform:translateY(8px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(36px)}.reveal.visible{opacity:1;transform:none}body.no-anims .reveal{opacity:1;transition:none;transform:none}.about-grid{grid-template-columns:300px 1fr;align-items:center;gap:80px;display:grid}.avatar-frame{width:270px;height:270px;margin:0 auto;position:relative}.avatar-img{background:var(--bg-3);border:2px solid var(--border-a);z-index:2;border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden}.avatar-img img{object-fit:cover;width:100%;height:100%}.avatar-ring{border:1.5px solid rgba(var(--accent-rgb), .2);border-radius:50%;animation:4s ease-in-out infinite ringBreath;position:absolute;inset:-18px}@keyframes ringBreath{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}.avatar-badge{z-index:3;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;width:44px;height:44px;box-shadow:0 4px 16px rgba(var(--accent-rgb), .5);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;bottom:8px;right:8px}.about-social{justify-content:center;gap:10px;margin-top:24px;display:flex}.about-social a{background:var(--surface);border:1px solid var(--border);width:36px;height:36px;color:var(--text-2);transition:var(--fast);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;display:flex}.about-social a:hover{background:rgba(var(--accent-rgb), .12);border-color:var(--border-a);color:var(--accent);transform:translateY(-3px)}.about-heading{margin-bottom:18px;font-size:clamp(1.35rem,2.5vw,1.8rem)}.about-bio{color:var(--text-2);margin-bottom:14px;line-height:1.8}.about-facts{border-top:1px solid var(--border);flex-wrap:wrap;gap:30px;margin-top:32px;padding-top:28px;display:flex}.fact-item{text-align:center}.fact-number{font-family:var(--font-head);color:var(--accent);font-size:2.1rem;font-weight:800;display:block}.fact-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;font-size:.73rem}.skill-tabs{flex-wrap:wrap;gap:8px;margin-bottom:36px;display:flex}.skill-tab{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:var(--fast);align-items:center;gap:7px;padding:9px 18px;font-size:.86rem;font-weight:500;display:flex}.skill-tab:hover{color:var(--text);border-color:var(--border-a)}.skill-tab.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 4px 18px rgba(var(--accent-rgb), .3);border-color:#0000}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);transition:transform var(--med) var(--ease), border-color var(--fast), box-shadow var(--med);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px 22px}.skill-card:hover{border-color:var(--border-a);box-shadow:0 12px 32px #0003, 0 0 20px rgba(var(--accent-rgb), .08);transform:translateY(-3px)}.skill-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.skill-name-wrap{align-items:center;gap:10px;display:flex}.skill-icon{background:rgba(var(--accent-rgb), .12);width:34px;height:34px;color:var(--accent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.skill-name{font-size:.92rem;font-weight:600}.skill-pct{font-family:var(--font-mono);color:var(--accent);font-size:.78rem}.skill-bar{border-radius:var(--r-pill);background:#ffffff0f;height:4px;overflow:hidden}[data-theme=light] .skill-bar{background:#00000012}.skill-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:var(--r-pill);width:0%;height:100%;box-shadow:0 0 6px rgba(var(--accent-rgb), .5);transition:width 1.1s cubic-bezier(.4,0,.2,1)}.project-filters{flex-wrap:wrap;gap:8px;margin-bottom:40px;display:flex}.filter-btn{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:var(--fast);padding:8px 18px;font-size:.83rem;font-weight:500}.filter-btn:hover{color:var(--text);border-color:var(--border-a)}.filter-btn.active{background:rgba(var(--accent-rgb), .12);border-color:var(--border-a);color:var(--accent)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:default;transition:transform var(--med) var(--ease), border-color var(--fast), box-shadow var(--med);position:relative;overflow:hidden}.project-card:hover{border-color:var(--border-a);box-shadow:0 24px 56px #00000059, 0 0 30px rgba(var(--accent-rgb), .08);transform:translateY(-6px)}.project-card.featured:before{content:"★ Featured";z-index:5;border-radius:var(--r-pill);background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;letter-spacing:.04em;padding:3px 10px;font-size:.68rem;font-weight:700;position:absolute;top:14px;right:14px}.project-img{height:195px;position:relative;overflow:hidden}.project-img:after{content:"";background:linear-gradient(to top, var(--bg-3), transparent);height:60px;position:absolute;bottom:0;left:0;right:0}.project-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.project-card:hover .project-img img{transform:scale(1.05)}.project-body{padding:22px 24px}.project-tags{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.project-tag{border-radius:var(--r-pill);background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .18);font-family:var(--font-mono);color:var(--accent);padding:3px 9px;font-size:.68rem}.project-title{margin-bottom:9px;font-size:1.15rem;font-weight:700}.project-desc{color:var(--text-2);margin-bottom:18px;font-size:.88rem;line-height:1.7}.project-links{gap:8px;display:flex}.project-links a{text-align:center;border-radius:var(--r);transition:var(--fast);flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:.8rem;font-weight:600;display:flex}.link-demo{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff}.link-demo:hover{filter:brightness(1.1)}.link-github{background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.link-github:hover{border-color:var(--border-a);color:var(--text)}.services-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.service-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:transform var(--med) var(--ease), border-color var(--fast), box-shadow var(--med);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:30px;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;height:2px;transition:transform var(--med) var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{border-color:var(--border-a);transform:translateY(-4px);box-shadow:0 18px 44px #00000040}.service-icon{border-radius:var(--r);background:rgba(var(--accent-rgb), .1);border:1px solid rgba(var(--accent-rgb), .18);width:52px;height:52px;color:var(--accent);transition:var(--med);justify-content:center;align-items:center;margin-bottom:18px;font-size:1.3rem;display:flex}.service-card:hover .service-icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 6px 20px rgba(var(--accent-rgb), .4);border-color:#0000}.service-title{margin-bottom:9px;font-size:1.1rem;font-weight:700}.service-desc{color:var(--text-2);margin-bottom:18px;font-size:.88rem;line-height:1.7}.service-tags{flex-wrap:wrap;gap:5px;display:flex}.service-tag{border-radius:var(--r-pill);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-3);background:#ffffff0a;padding:3px 9px;font-size:.68rem}[data-theme=light] .service-tag{background:#0000000a}.contact-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:70px;display:grid}.contact-desc{color:var(--text-2);margin-bottom:32px;line-height:1.8}.contact-cards{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);transition:var(--fast);align-items:center;gap:16px;padding:16px 18px;display:flex}.contact-card:hover{border-color:var(--border-a);background:var(--surface-h)}.cc-icon{background:rgba(var(--accent-rgb), .1);border:1px solid rgba(var(--accent-rgb), .2);width:42px;height:42px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.cc-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem}.cc-value{color:var(--text);font-size:.9rem;font-weight:500}.contact-social{gap:10px;display:flex}.contact-social a{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-2);transition:var(--fast);border-radius:50%;justify-content:center;align-items:center;font-size:.88rem;display:flex}.contact-social a:hover{background:rgba(var(--accent-rgb), .12);border-color:var(--border-a);color:var(--accent);transform:translateY(-3px)}.contact-form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:36px}.contact-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--border);border-radius:var(--r);color:var(--text);resize:none;transition:border-color var(--fast), box-shadow var(--fast);background:#ffffff09;padding:11px 14px;font-size:.9rem}[data-theme=light] .form-group input,[data-theme=light] .form-group textarea{background:#00000008}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .12);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-3)}.form-status{text-align:center;min-height:1.2em;font-size:.85rem}.form-status.success{color:#34d399}.form-status.error{color:#ff5f5f}.footer{background:var(--bg-2);border-top:1px solid var(--border)}.footer-inner{max-width:var(--max-w);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:32px 28px;display:flex}.footer-copy{color:var(--text-3);font-size:.82rem}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--text-3);transition:color var(--fast);font-size:.82rem}.footer-links a:hover{color:var(--accent)}.music-pill{z-index:600;border:1px solid rgba(var(--accent-rgb), .22);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(20px);width:48px;height:48px;transition:width .45s var(--ease-spring), border-color .3s, box-shadow .3s;cursor:pointer;background:#080812e0;align-items:center;gap:0;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 8px 28px #00000080}.music-pill:hover,.music-pill.expanded{border-color:rgba(var(--accent-rgb), .38);width:290px;box-shadow:0 8px 28px #00000080, 0 0 20px rgba(var(--accent-rgb), .12)}[data-theme=light] .music-pill{border-color:rgba(var(--accent-rgb), .2);background:#fafaffeb}.mp-progress{background:#ffffff0f;height:2px;position:absolute;bottom:0;left:0;right:0}.mp-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:0%;height:100%;transition:width .3s linear}.mp-bars{flex-shrink:0;justify-content:center;align-items:center;gap:3px;width:48px;height:48px;display:flex;position:absolute;left:0}.mp-bars span{background:var(--accent);border-radius:2px;width:3px;animation:.7s ease-in-out infinite alternate mpBar}.mp-bars span:first-child{height:8px;animation-delay:0s}.mp-bars span:nth-child(2){height:16px;animation-delay:.15s}.mp-bars span:nth-child(3){height:10px;animation-delay:80ms}.mp-bars span:nth-child(4){height:13px;animation-delay:.22s}@keyframes mpBar{to{opacity:.3;height:3px}}.mp-icon{width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;left:0}.mp-bars{display:none}.mp-icon,.music-pill.playing .mp-bars{display:flex}.music-pill.playing .mp-icon{display:none}.mp-body{align-items:center;gap:10px;width:100%;min-width:0;padding:0 14px 0 52px;display:flex}.mp-track{flex:1;min-width:0}.mp-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;display:block;overflow:hidden}.mp-artist{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;display:block;overflow:hidden}.mp-controls{flex-shrink:0;align-items:center;gap:2px;display:flex}.mp-btn{width:28px;height:28px;color:var(--text-2);transition:color var(--fast), transform var(--fast);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;display:flex}.mp-btn:hover{color:var(--text)}.mp-play{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;width:32px;height:32px;box-shadow:0 2px 10px rgba(var(--accent-rgb), .4);font-size:.78rem}.mp-play:hover{color:#fff;transform:scale(1.08)}.settings-trigger{z-index:600;background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text-2);transition:var(--med);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:fixed;bottom:24px;left:24px}.settings-trigger:hover{border-color:var(--border-a);color:var(--accent);box-shadow:0 4px 20px rgba(var(--accent-rgb), .2);transform:rotate(30deg)}.settings-backdrop{z-index:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--med);background:#0000008c;position:fixed;inset:0}.settings-backdrop.open{opacity:1;pointer-events:all}.settings-panel{z-index:701;background:var(--bg-2);border-left:1px solid var(--border);width:min(380px,100vw);transition:transform .4s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.settings-panel.open{transform:translate(0)}.sp-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.sp-header h3{align-items:center;gap:8px;font-size:.95rem;display:flex}.sp-header h3 i{color:var(--accent)}.sp-close{width:32px;height:32px}.sp-close:hover{color:#ff5050;background:#ff50501a;border-color:#ff50504d}.sp-body{z-index:959;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:20px 24px;overflow-y:auto}.sp-section{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.sp-section:last-child{border-bottom:none;margin-bottom:0}.sp-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px;font-size:.73rem;font-weight:700}.mode-toggle-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-btn{border-radius:var(--r);background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:var(--fast);justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:.83rem;font-weight:600;display:flex}.mode-btn:hover{color:var(--text);border-color:var(--border-a)}.mode-btn.active{background:rgba(var(--accent-rgb), .12);border-color:var(--border-a);color:var(--accent)}.swatch-row{flex-wrap:wrap;gap:10px;display:flex}.swatch{background:var(--sw);cursor:pointer;width:32px;height:32px;transition:transform var(--fast), border-color var(--fast);border:3px solid #0000;border-radius:50%;box-shadow:0 2px 8px #00000040}.swatch:hover{transform:scale(1.12)}.swatch.active{border-color:var(--text);box-shadow:0 0 10px var(--sw)}.font-row{flex-wrap:wrap;gap:8px;display:flex}.font-btn{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:var(--fast);padding:8px 16px;font-size:.82rem}.font-btn:hover{border-color:var(--border-a);color:var(--text)}.font-btn.active{background:rgba(var(--accent-rgb), .12);border-color:var(--border-a);color:var(--accent)}.toggles-col{flex-direction:column;gap:12px;display:flex}.toggle-row{color:var(--text-2);cursor:pointer;justify-content:space-between;align-items:center;font-size:.88rem;display:flex}.tog{position:relative}.tog input{opacity:0;width:0;height:0;position:absolute}.tog-slider{background:var(--bg-4);border:1px solid var(--border);border-radius:var(--r-pill);width:40px;height:22px;transition:background var(--med), border-color var(--med);display:block;position:relative}.tog-slider:after{content:"";background:var(--text-3);width:14px;height:14px;transition:transform var(--med) var(--ease-spring), background var(--med);border-radius:50%;position:absolute;top:3px;left:3px}.tog input:checked+.tog-slider{background:var(--accent);border-color:var(--accent)}.tog input:checked+.tog-slider:after{background:#fff;transform:translate(18px)}.sp-share-hint{color:var(--text-3);text-align:center;margin-top:8px;font-size:.72rem}.toast{z-index:9000;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text);opacity:0;pointer-events:none;transition:opacity .28s, transform .28s var(--ease);white-space:nowrap;padding:11px 22px;font-size:.85rem;font-weight:600;position:fixed;bottom:80px;left:50%;transform:translate(-50%)translateY(12px);box-shadow:0 8px 28px #0006}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.success{color:#34d399;border-color:#34d399}.toast.error{color:#ff5f5f;border-color:#ff5f5f}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}::selection{background:rgba(var(--accent-rgb), .22);color:var(--text)}@media (max-width:1024px){.hero-inner{grid-template-columns:1fr;gap:50px}.hero-right{display:none}.hero-left{align-items:flex-start}.about-grid{text-align:center;grid-template-columns:1fr;gap:48px}.about-facts,.about-social{justify-content:center}.contact-grid{grid-template-columns:1fr;gap:40px}}@media (max-width:768px){:root{--nav-h:60px}.section{padding:80px 0}.container{padding:0 20px}.nav-links,[id=navHireBtn]{display:none}.nav-toggle{display:flex}.hero-name{font-size:clamp(2.8rem,12vw,4.5rem)}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{text-align:center;justify-content:center}.hero-stats{gap:22px}.projects-grid,.services-grid,.skills-grid,.form-row{grid-template-columns:1fr}.footer-inner{text-align:center;flex-direction:column}.footer-links{justify-content:center}.music-pill{bottom:16px;right:16px}.settings-trigger{bottom:16px;left:16px}.contact-form-wrap{padding:24px 20px}}@media (max-width:480px){.project-links{flex-direction:column}.hero-badge{font-size:.68rem}.section-title{font-size:1.9rem}}body.no-anims *,body.no-anims :before,body.no-anims :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:.001ms!important}body.no-anims .reveal{opacity:1;transform:none}.marquee-wrapper{width:100%;padding:2rem 0;position:relative;overflow:hidden}.marquee-content{gap:clamp(10px,2vw,30px);width:max-content;animation:30s linear infinite scroll-left;display:flex}.product-stats{color:#919191}.marquee-content:hover{animation-play-state:paused}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.not-found-container{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.not-found-content{z-index:2;text-align:center;max-width:600px;position:relative}.not-found-code{font-family:var(--font-mono);flex-wrap:wrap;justify-content:center;align-items:center;gap:.2em;margin-bottom:1.5rem;font-size:clamp(4rem,12vw,8rem);font-weight:800;display:flex}.code-bracket{color:var(--accent);text-shadow:0 0 20px rgba(var(--accent-rgb), .4)}.code-number{background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.not-found-title{color:var(--text);margin-bottom:1rem;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800}.not-found-desc{color:var(--text-2);margin-bottom:2rem;font-size:1rem;line-height:1.6}.not-found-btn{align-items:center;gap:.5rem;display:inline-flex}.not-found-container .not-found-orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.not-found-container .orb-1{background:rgba(var(--accent-rgb), .1);width:500px;height:500px;animation:12s ease-in-out infinite orbDrift;top:-200px;right:-150px}.not-found-container .orb-2{background:rgba(var(--accent-rgb), .07);width:400px;height:400px;animation:10s ease-in-out infinite reverse orbDrift;bottom:-150px;left:-100px}.not-found-container .hero-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 80%)}[data-theme=light] .not-found-container .hero-grid{background-image:linear-gradient(#0000000a 1px,#0000 1px),linear-gradient(90deg,#0000000a 1px,#0000 1px)}@media (max-width:768px){.not-found-container{padding:1.5rem}.not-found-code{font-size:3.5rem}}
