:root{--bg:#030712;--bg-alt:#0b0f1a;--surface:#111827b3;--surface-border:#ffffff1a;--primary:#6366f1;--primary-glow:#6366f133;--secondary:#a855f7;--accent:#10b981;--text-main:#f9fafb;--text-muted:#9ca3af;--text-dim:#6b7280;--font-sans:"Inter", sans-serif;--font-heading:"Space Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace;--transition:all .4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg)}body{background-color:var(--bg);color:var(--text-main);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}body.has-custom-cursor{cursor:none}.cursor{--cursor-x:0px;--cursor-y:0px;--cursor-scale:1;pointer-events:none;z-index:9999;opacity:0;transform:translate(var(--cursor-x), var(--cursor-y)) scale(var(--cursor-scale));transition:opacity .2s,transform .18s ease-out;position:fixed;top:0;left:0}.cursor-dot{background:linear-gradient(135deg,#a78bfa,#60a5fa);border-radius:50%;width:10px;height:10px;margin-top:-5px;margin-left:-5px;box-shadow:0 0 18px #60a5fae6}.cursor-ring{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#6366f114;border:1px solid #a78bfae6;border-radius:50%;width:36px;height:36px;margin-top:-18px;margin-left:-18px;animation:1.8s ease-in-out infinite cursor-pulse;box-shadow:0 0 #60a5fa00}@keyframes cursor-pulse{0%,to{box-shadow:0 0 #60a5fa00}50%{box-shadow:0 0 18px #60a5fa59}}@media (pointer:coarse){body.has-custom-cursor{cursor:auto}.cursor{display:none}}.bg-blobs{z-index:-1;filter:blur(100px);opacity:.4;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.blob{background:var(--primary);border-radius:50%;width:500px;height:500px;animation:20s infinite alternate move;position:absolute}.blob-2{background:var(--secondary);width:600px;height:600px;animation-delay:-5s;top:20%;left:30%}.blob-3{background:#3b82f6;animation-delay:-10s;bottom:0;right:0}@keyframes move{0%{transform:translate(-10%,-10%)rotate(0)}to{transform:translate(20%,20%)rotate(360deg)}}h1,h2,h3,.heading{font-family:var(--font-heading);letter-spacing:-.02em}nav{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--surface-border);width:90%;max-width:1000px;transition:var(--transition);background:#111827cc;border-radius:100px;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}nav.scrolled{background:#030712e6;width:95%;top:10px}.nav-logo{color:var(--primary);align-items:center;gap:8px;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.nav-links{gap:24px;display:flex}.nav-links a{color:var(--text-muted);transition:var(--transition);font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.nav-links a:hover{color:var(--primary)}.nav-links a:after{content:"";background:var(--primary);width:0;height:2px;transition:var(--transition);position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}.container{max-width:1200px;margin:0 auto;padding:0 24px}section{padding:100px 0;position:relative}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px;display:grid}#hero{align-items:center;min-height:100vh;padding-top:120px;display:flex}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;display:grid}.hero-content{animation:1s ease-out fadeInUp}.badge{background:var(--primary-glow);color:var(--primary);border:1px solid #6366f14d;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.hero-title{margin-bottom:24px;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1}.hero-title .gradient-text{background:linear-gradient(to right, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.typewriter-container{font-family:var(--font-mono);color:var(--text-muted);min-height:1.6em;margin-bottom:32px;font-size:1.1rem}.hero-desc{color:var(--text-muted);max-width:600px;margin-bottom:40px;font-size:1.1rem}.cta-buttons{gap:16px;display:flex}.btn{transition:var(--transition);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:14px 28px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 20px var(--primary-glow)}.btn-primary:hover{box-shadow:0 8px 30px var(--primary-glow);filter:brightness(1.1);transform:translateY(-4px)}.btn-outline{border:1px solid var(--surface-border);color:var(--text-main);background:#ffffff08}.btn-outline:hover{border-color:var(--primary);background:#ffffff14}.hero-image-wrapper{animation:6s ease-in-out infinite float;position:relative}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-image{border:1px solid var(--surface-border);z-index:2;border-radius:32px;width:100%;max-width:450px;position:relative;box-shadow:0 20px 50px #00000080}.about-image-wrapper{transition:transform .5s cubic-bezier(.4,0,.2,1);animation:6s ease-in-out infinite float;position:relative}.about-image-wrapper:hover{transform:translateY(-10px)scale(1.02)}.about-image{border:1px solid var(--surface-border);z-index:2;width:100%;max-width:450px;transition:var(--transition);border-radius:32px;position:relative;box-shadow:0 20px 50px #00000080}.about-image-wrapper:hover .about-image{border-color:var(--primary);box-shadow:0 30px 60px #6366f14d}.image-glow{background:radial-gradient(circle, var(--primary-glow) 0%, transparent 70%);z-index:1;width:110%;height:110%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.section-header{text-align:center;margin-bottom:60px}.section-label{color:var(--primary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:.9rem;display:block}.section-title{margin-bottom:16px;font-size:2.5rem}.about-reveal{opacity:0;filter:blur(4px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);transform:translateY(40px)}.about-reveal.visible{opacity:1;filter:blur();transform:translateY(0)}.about-image-container.about-reveal{transform:translate(-40px)scale(.95)}.about-image-container.about-reveal.visible{transform:translate(0)scale(1)}.about-content .hero-desc.about-reveal{transform:translate(30px)translateY(15px)}.about-content .hero-desc.about-reveal.visible{transform:translate(0)translateY(0)}.section-header.about-reveal{transform:translateY(30px)scale(.97)}.section-header.about-reveal.visible{transform:translateY(0)scale(1)}.tech-grid,.coding-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.tech-card{background:var(--surface);border:1px solid var(--surface-border);opacity:0;border-radius:24px;padding:32px;transition:all .4s cubic-bezier(.34,1.56,.64,1);transform:scale(.9)translateY(20px)}.coding-card{padding:40px}@media (width<=480px){.tech-card,.coding-card{padding:24px}}.tech-card.visible{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards scaleInBounce}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.8)translateY(20px)}60%{opacity:1;transform:scale(1.05)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}.tech-card:hover{border-color:var(--primary);box-shadow:0 15px 40px var(--primary-glow);transform:translateY(-10px)}.tech-icon{color:var(--primary);margin-bottom:20px;font-size:2.2rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1),text-shadow .4s;display:inline-block}.tech-card:hover .tech-icon{text-shadow:0 0 15px var(--primary);transform:scale(1.2)rotate(10deg)}.tech-list{flex-wrap:wrap;gap:12px;display:flex}.tech-tag{border:1px solid var(--surface-border);font-size:.85rem;font-family:var(--font-mono);cursor:default;background:#ffffff08;border-radius:12px;padding:8px 16px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 10px #0003}.tech-tag:hover{background:var(--primary-glow);border-color:var(--primary);color:#fff;transform:translateY(-4px)scale(1.05);box-shadow:0 6px 15px #6366f166}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;display:grid}.project-card{background:var(--surface);border:1px solid var(--surface-border);transition:var(--transition);opacity:0;border-radius:24px;position:relative;overflow:hidden}.project-card.visible{animation:.8s forwards fadeInUp}.project-card:hover{border-color:var(--primary);transform:translateY(-10px)}.project-image-placeholder{background:linear-gradient(135deg, var(--bg-alt), var(--bg));justify-content:center;align-items:center;width:100%;height:220px;font-size:3rem;display:flex;position:relative}.project-status-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.75rem;font-family:var(--font-mono);color:var(--text-main);z-index:10;background:#03071299;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex;position:absolute;top:16px;right:16px}.project-info{padding:24px}.project-title{margin-bottom:12px;font-size:1.4rem}.project-desc{color:var(--text-muted);margin-bottom:20px;font-size:.95rem}.project-tags{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.project-links{gap:12px;display:flex}.project-link{color:var(--text-main);transition:var(--transition);font-size:1.2rem}.project-link:hover{color:var(--primary)}.deployed-link{transition:var(--transition);background:#10b9811f;border:1px solid #10b9814d;border-radius:8px;align-items:center;padding:4px 8px;text-decoration:none;display:inline-flex}.deployed-link:hover{background:#10b98140;border-color:#10b981;transform:translateY(-2px);box-shadow:0 0 16px #10b9814d;color:#10b981!important}@keyframes pulse-green{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--primary), var(--secondary), transparent);width:2px;height:100%;position:absolute;top:0;left:0}.timeline-item{opacity:0;margin-bottom:60px;padding-left:40px;position:relative}.timeline-item.visible{animation:.8s forwards fadeInRight}.timeline-dot{background:var(--primary);width:14px;height:14px;box-shadow:0 0 10px var(--primary);border-radius:50%;position:absolute;top:0;left:-6px}.timeline-date{font-family:var(--font-mono);color:var(--primary);margin-bottom:8px;font-size:.85rem}.timeline-role{margin-bottom:4px;font-size:1.3rem}.timeline-company{color:var(--text-muted);margin-bottom:12px;font-weight:500}.contact-wrapper{background:var(--surface);border:1px solid var(--surface-border);border-radius:32px;grid-template-columns:1fr 1fr;gap:60px;padding:60px;display:grid}.contact-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;font-size:.8rem}.form-control{background:var(--bg);border:1px solid var(--surface-border);color:var(--text-main);font-family:var(--font-sans);transition:var(--transition);border-radius:12px;padding:14px}.form-control:focus{border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow);outline:none}footer{text-align:center;border-top:1px solid var(--surface-border);color:var(--text-dim);padding:40px 0;font-size:.9rem}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.contact-wrapper{opacity:0;transition:all .8s cubic-bezier(.5,0,0,1);transform:translateY(40px)}.contact-wrapper.visible{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.d3-scene{aspect-ratio:1;--rx:0deg;--ry:0deg;--mx:0;--my:0;isolation:isolate;width:100%;max-width:520px;margin:0 auto;position:relative;overflow:visible}.d3-ambient{pointer-events:none;z-index:0;filter:blur(80px);position:absolute;inset:-30%}.d3-orb{border-radius:50%;animation:18s ease-in-out infinite alternate d3OrbDrift;position:absolute}.d3-orb-1{background:#6366f126;width:220px;height:220px;top:10%;left:5%}.d3-orb-2{background:#a855f71f;width:180px;height:180px;animation-delay:-6s;bottom:15%;right:5%}.d3-orb-3{background:#10b9811a;width:140px;height:140px;animation-delay:-12s;top:50%;left:60%}@keyframes d3OrbDrift{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-20px)scale(1.15)}}.d3-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#6366f109 1px,#0000 1px),linear-gradient(90deg,#6366f109 1px,#0000 1px);background-size:32px 32px;animation:8s ease-in-out infinite alternate d3GridPulse;position:absolute;inset:-20%;-webkit-mask-image:radial-gradient(55% 55%,#000 15%,#0000 70%);mask-image:radial-gradient(55% 55%,#000 15%,#0000 70%)}@keyframes d3GridPulse{0%{opacity:.3}to{opacity:.8}}.d3-persp{perspective:800px;perspective-origin:50% 45%;z-index:2;position:absolute;inset:0}.d3-rotate-layer{transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));will-change:transform;transition:transform .1s linear;position:absolute;inset:0}.d3-connections{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.d3-conn-line{stroke-dasharray:4 6;stroke-dashoffset:0;opacity:.6;animation:4s linear infinite d3ConnFlow}@keyframes d3ConnFlow{to{stroke-dashoffset:-20px}}.d3-data-dot{filter:blur(.3px)}.d3-laptop{z-index:10;width:180px;transform-style:preserve-3d;animation:5s ease-in-out infinite d3LaptopBreathe;position:absolute;bottom:22%;left:50%;transform:translate(-50%)translateZ(0)}@keyframes d3LaptopBreathe{0%,to{transform:translate(-50%)translateZ(0)translateY(0)}50%{transform:translate(-50%)translateZ(8px)translateY(-4px)}}.d3-screen{transform-origin:bottom;background:#080e1f;border:1.5px solid #6366f14d;border-bottom:none;border-radius:8px 8px 0 0;width:100%;height:110px;position:relative;overflow:hidden;transform:perspective(500px)rotateX(8deg);box-shadow:0 0 30px #6366f114,inset 0 0 20px #6366f108}.d3-screen-inner{width:100%;height:100%;padding:0;position:relative;overflow:hidden}.d3-screen-topbar{background:#111827e6;border-bottom:1px solid #ffffff0d;align-items:center;gap:4px;padding:5px 8px;display:flex}.d3-dot{border-radius:50%;width:5px;height:5px}.d3-dot-r{background:#ef4444}.d3-dot-y{background:#eab308}.d3-dot-g{background:#22c55e}.d3-topbar-title{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.05em;margin-left:6px;font-size:.4rem}.d3-code-area{flex-direction:column;gap:3.5px;padding:6px 8px;display:flex}.d3-code-line{will-change:opacity, width;border-radius:2px;height:3px;animation:3s ease-in-out infinite d3CodeType}@keyframes d3CodeType{0%{opacity:0;transform-origin:0;transform:scaleX(0)}15%{opacity:.85;transform:scaleX(1)}70%{opacity:.7;transform:scaleX(1)}to{opacity:0;transform-origin:100%;transform:scaleX(0)}}.d3-screen-reflection{pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff08 40%,#ffffff0f 50%,#ffffff08 60%,#0000 100%);animation:6s ease-in-out infinite d3ReflectionSweep;position:absolute;inset:0}@keyframes d3ReflectionSweep{0%{transform:translate(-120%)}50%{transform:translate(120%)}to{transform:translate(120%)}}.d3-screen-glow{pointer-events:none;z-index:-1;background:radial-gradient(at top,#6366f126 0%,#a855f70f 50%,#0000 100%);width:130%;height:50px;animation:4s ease-in-out infinite d3ScreenPulse;position:absolute;bottom:-20px;left:-15%}@keyframes d3ScreenPulse{0%,to{opacity:.6}50%{opacity:1}}.d3-developer{z-index:5;width:140px;height:180px;transform-style:preserve-3d;animation:5s ease-in-out infinite d3DevBreathe;position:absolute;bottom:22%;left:50%;transform:translate(-50%)translateZ(-30px)}@keyframes d3DevBreathe{0%,to{transform:translate(-50%)translateZ(-30px)translateY(0)}50%{transform:translate(-50%)translateZ(-30px)translateY(-5px)}}.d3-dev-body{background:linear-gradient(135deg, var(--bg-alt) 0%, #1e293b 100%);border:1px solid #ffffff0d;border-top-color:#6366f133;border-radius:60px 60px 20px 20px;width:160px;height:110px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%);box-shadow:0 -10px 20px #00000080}.d3-dev-hoodie-strings{border-left:2px solid #ffffff1a;border-right:2px solid #ffffff1a;width:40px;height:40px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.d3-dev-head{background:linear-gradient(135deg, #1e293b 0%, var(--bg) 100%);border:1px solid #6366f14d;border-radius:35px 35px 25px 25px;width:70px;height:85px;animation:6s ease-in-out infinite d3HeadNod;position:absolute;top:-10px;left:50%;transform:translate(-50%);box-shadow:0 10px 15px #0009,inset 0 2px 10px #6366f11a}@keyframes d3HeadNod{0%,to{transform:translate(-50%)rotate(0)translateY(0)}25%{transform:translate(-50%)rotate(2deg)translateY(2px)}75%{transform:translate(-50%)rotate(-2deg)translateY(2px)}}.d3-dev-face{width:45px;height:35px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.d3-dev-glasses{justify-content:space-between;align-items:center;width:100%;height:16px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.d3-dev-glasses:before,.d3-dev-glasses:after{content:"";border:1.5px solid var(--primary);background:#0f172ae6;border-radius:4px;width:20px;height:14px;box-shadow:0 0 8px #6366f166}.d3-glass-reflection{background:linear-gradient(90deg,#0000,#6366f180,#0000);width:15px;height:6px;animation:4s linear infinite d3GlassSweep;position:absolute;top:2px;left:2px}@keyframes d3GlassSweep{0%{opacity:0;transform:translate(-20px)}20%,to{opacity:1;transform:translate(30px)}}.d3-dev-arm{transform-origin:top;z-index:12;background:#1e293b;border-radius:14px;width:28px;height:60px;position:absolute;top:90px}.d3-arm-left{left:5px;transform:rotate(35deg)translateZ(10px)}.d3-arm-right{right:5px;transform:rotate(-35deg)translateZ(10px)}.d3-dev-forearm{transform-origin:top;background:#0f172a;border-radius:12px;width:24px;height:50px;animation:.3s infinite alternate d3TypingArm;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.d3-arm-left .d3-dev-forearm{animation-delay:.15s}.d3-dev-hand{background:#334155;border-radius:10px;width:20px;height:15px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}@keyframes d3TypingArm{0%{transform:translate(-50%)rotate(0)translateY(0)}to{transform:translate(-50%)rotate(10deg)translateY(4px)}}.d3-base{background:linear-gradient(#1e293b 0%,#0f172a 100%);border:1px solid #ffffff0f;border-top-color:#6366f126;border-radius:0 0 4px 4px;width:110%;height:12px;position:relative;left:-5%;overflow:hidden}.d3-kb-glow{background:linear-gradient(90deg,#0000 0%,#6366f140 30%,#a855f733 70%,#0000 100%);animation:4s ease-in-out infinite d3KbGlow;position:absolute;inset:0}@keyframes d3KbGlow{0%,to{opacity:.8;transform:translate(-110%)}50%{opacity:1;transform:translate(110%)}}.d3-trackpad{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:2px;width:30px;height:3px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.d3-laptop-shadow{filter:blur(6px);z-index:-1;background:radial-gradient(#6366f11f 0%,#0000 75%);width:140%;height:18px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.d3-particles{z-index:1;pointer-events:none;position:absolute;inset:-10%;overflow:hidden}.d3-particle{will-change:transform, opacity;background:#6366f180;border-radius:50%;animation:ease-in-out infinite d3ParticleFloat;position:absolute;box-shadow:0 0 6px #6366f14d}@keyframes d3ParticleFloat{0%{opacity:0;transform:translateY(0)translate(0)scale(1)}15%{opacity:var(--p-opacity,.3)}50%{opacity:var(--p-opacity,.2);transform:translateY(-30px)translate(8px)scale(1.2)}85%{opacity:var(--p-opacity,.3)}to{opacity:0;transform:translateY(-60px)translate(-5px)scale(.8)}}.d3-beam{pointer-events:none;z-index:0;opacity:0;border-radius:50%;width:100px;height:260px;animation:7s ease-in-out infinite d3BeamPulse;position:absolute}.d3-beam-1{background:linear-gradient(#6366f11a,#0000 80%);top:-5%;left:8%;transform:rotate(-12deg)}.d3-beam-2{background:linear-gradient(#a855f714,#0000 80%);animation-delay:-3.5s;top:-5%;right:8%;transform:rotate(12deg)}@keyframes d3BeamPulse{0%,to{opacity:.4}50%{opacity:.9}}.about-image-container{justify-content:center;align-items:center;display:flex}@media (width<=968px){.d3-scene{max-width:380px}.d3-laptop{width:150px}.d3-screen{height:90px}.d3-logo-fg{--lsize-scale:.85}.d3-logo-mid{--lsize-scale:.8}.d3-logo-bg{--lsize-scale:.75}.d3-beam{width:70px;height:180px}}@media (width<=480px){.d3-scene{max-width:300px}.d3-laptop{width:120px}.d3-screen{height:72px}.d3-code-line{height:2px}.d3-code-area{gap:2.5px;padding:4px 6px}.d3-logo{width:calc(var(--lsize,44px) * .7)!important;height:calc(var(--lsize,44px) * .7)!important}.d3-logo-icon{font-size:.9rem}.d3-logo-label{font-size:.38rem}.d3-logo-tooltip,.d3-beam,.d3-particles{display:none}}@media (prefers-reduced-motion:reduce){.d3-logo,.d3-particle,.d3-orb,.d3-beam,.d3-code-line,.d3-kb-glow,.d3-screen-reflection,.d3-laptop,.d3-conn-line,.d3-data-dot circle{animation:none!important}.d3-rotate-layer{transform:none!important}.d3-logo{transform:translate(-50%, -50%) translate(var(--lx,0%), var(--ly,0%))!important}}.desktop-only{display:flex!important}.mobile-only{display:none!important}.mobile-menu-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;padding:10px;display:none}.hamburger{flex-direction:column;justify-content:space-between;width:24px;height:20px;display:flex;position:relative}.hamburger span{background-color:var(--text-main);width:100%;height:2px;transition:var(--transition);border-radius:10px;display:block}.hamburger.active span:first-child{transform:translateY(9px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}@media (width<=968px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.mobile-menu-toggle{display:block}nav{border-radius:20px;width:95%;padding:10px 20px}.nav-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;border-left:1px solid var(--surface-border);background:#030712fa;flex-direction:column;justify-content:center;align-items:center;gap:32px;width:80%;height:100vh;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:-100%}.nav-links.active{right:0}.nav-links a{font-size:1.2rem}.hero-title{font-size:clamp(2rem,8vw,3rem)}.hero-grid{text-align:center;grid-template-columns:1fr;gap:40px}.hero-content{flex-direction:column;align-items:center;display:flex}.hero-image-wrapper{order:-1;max-width:300px;margin:0 auto}.cta-buttons{flex-direction:column;width:100%;max-width:300px}.btn{justify-content:center;width:100%}.about-grid{text-align:center;grid-template-columns:1fr;gap:40px}.about-image-wrapper{max-width:300px;margin:0 auto}.section-title{font-size:2rem}.contact-wrapper{grid-template-columns:1fr;gap:40px;padding:30px 20px}.tech-grid,.projects-grid{grid-template-columns:1fr}.container{padding:0 20px}}@media (width<=480px){section{padding:60px 0}.hero-title{font-size:2.2rem}.badge{font-size:.7rem}.nav-logo img{height:45px!important}}body,html{width:100%;max-width:100vw;overflow-x:hidden}*{max-width:100%}.d3-developer-wrapper{z-index:4;width:250px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(-10px)}.d3-developer-svg{filter:drop-shadow(0 15px 25px #00000080);width:100%;height:100%}.steam{animation:3s linear infinite steamRise}.steam:nth-child(2){animation-delay:1.5s}@keyframes steamRise{0%{opacity:0;transform:translateY(0)scale(1)}50%{opacity:.8}to{opacity:0;transform:translateY(-20px)scale(1.5)}}.arm-anim-1{transform-origin:180px 210px;animation:.4s ease-in-out infinite alternate typeAnim1}.arm-anim-2{transform-origin:320px 210px;animation:.3s ease-in-out infinite alternate typeAnim2}@keyframes typeAnim1{0%{transform:rotate(0)}to{transform:rotate(-8deg)}}@keyframes typeAnim2{0%{transform:rotate(0)}to{transform:rotate(8deg)}}.d3-logo{width:var(--lsize,44px);height:var(--lsize,44px);transform:translate(-50%, -50%) translate(var(--lx,0%), var(--ly,0%)) translate(calc(var(--mx,0) * var(--lparallax,1) * 18px), calc(var(--my,0) * var(--lparallax,1) * 18px));z-index:5;cursor:default;animation:d3Float var(--lfloat,6s) ease-in-out infinite;animation-delay:var(--ldelay,0s);will-change:transform;transition:filter .4s,opacity .4s;position:absolute;top:50%;left:50%}.d3-logo-fg{z-index:8;transform-style:preserve-3d}.d3-logo-mid{z-index:6}.d3-logo-bg{z-index:3;filter:blur(.8px);opacity:.55}@keyframes d3Float{0%{transform:translate(-50%, -50%) translate(var(--lx), var(--ly)) translate(calc(var(--mx,0) * var(--lparallax,1) * 18px), calc(var(--my,0) * var(--lparallax,1) * 18px)) translateY(0) rotateY(0deg)}25%{transform:translate(-50%, -50%) translate(var(--lx), var(--ly)) translate(calc(var(--mx,0) * var(--lparallax,1) * 18px), calc(var(--my,0) * var(--lparallax,1) * 18px)) translateY(-8px) rotateY(3deg)}50%{transform:translate(-50%, -50%) translate(var(--lx), var(--ly)) translate(calc(var(--mx,0) * var(--lparallax,1) * 18px), calc(var(--my,0) * var(--lparallax,1) * 18px)) translateY(-14px) rotateY(0deg)}75%{transform:translate(-50%, -50%) translate(var(--lx), var(--ly)) translate(calc(var(--mx,0) * var(--lparallax,1) * 18px), calc(var(--my,0) * var(--lparallax,1) * 18px)) translateY(-6px) rotateY(-3deg)}to{transform:translate(-50%, -50%) translate(var(--lx), var(--ly)) translate(calc(var(--mx,0) * var(--lparallax,1) * 18px), calc(var(--my,0) * var(--lparallax,1) * 18px)) translateY(0) rotateY(0deg)}}.d3-logo-body{border:1px solid color-mix(in srgb, var(--lcolor,var(--primary)) 35%, transparent);-webkit-backdrop-filter:blur(10px);width:100%;height:100%;box-shadow:0 4px 16px #0000004d, 0 0 12px color-mix(in srgb, var(--lcolor) 15%, transparent), inset 0 1px 0 #ffffff0f;background:#111827d1;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .4s;display:flex}.d3-logo-hover .d3-logo-body{border-color:var(--lcolor);box-shadow:0 8px 30px #0006, 0 0 28px color-mix(in srgb, var(--lcolor) 35%, transparent), 0 0 56px color-mix(in srgb, var(--lcolor) 12%, transparent);transform:scale(1.2)translateZ(20px)}.d3-logo-icon{filter:drop-shadow(0 0 4px var(--lcolor));font-size:1.15rem;line-height:1;transition:filter .3s,transform .3s}.d3-logo-hover .d3-logo-icon{filter:drop-shadow(0 0 10px var(--lcolor));transform:scale(1.1)}.d3-logo-label{font-family:var(--font-mono);color:var(--lcolor);letter-spacing:.04em;text-transform:uppercase;opacity:.85;margin-top:2px;font-size:.48rem;font-weight:700}.d3-logo-ring{border:1.5px solid color-mix(in srgb, var(--lcolor) 12%, transparent);opacity:0;pointer-events:none;border-radius:18px;transition:all .5s;position:absolute;inset:-4px}.d3-logo-hover .d3-logo-ring{opacity:1;border-color:color-mix(in srgb, var(--lcolor) 30%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--lcolor) 15%, transparent);border-radius:22px;inset:-8px}.d3-logo-tooltip{border:1px solid color-mix(in srgb, var(--lcolor) 30%, transparent);font-family:var(--font-mono);color:var(--lcolor);white-space:nowrap;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111827eb;border-radius:8px;padding:4px 10px;font-size:.6rem;font-weight:600;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(6px)}.d3-logo-hover .d3-logo-tooltip{opacity:1;transform:translate(-50%)translateY(0)}
