@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600&display=swap";:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-heading:"Space Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-main:#04050e;--bg-surface:#0a0b1c8c;--bg-surface-solid:#0a0b1c;--border-light:#ffffff0f;--border-glow:#8c52ff26;--neon-orange:#ff5e3a;--neon-cyan:#00f0ff;--neon-violet:#8c52ff;--neon-magenta:#ff2e93;--neon-emerald:#00ff87;--color-primary:var(--neon-violet);--color-secondary:var(--neon-cyan);--color-accent:var(--neon-orange);--text-main:#9cb3c9;--text-bright:#f3f4f6;--text-muted:#576f93;--code-keyword:#ff2a7a;--code-string:#00ff87;--code-function:#00f0ff;--code-comment:#546a85;--code-variable:#ff9e2c;--code-tag:#8c52ff;--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .2s cubic-bezier(.4, 0, .2, 1);--grid-pattern:linear-gradient(#8c52ff04 1px, transparent 1px), linear-gradient(90deg, #8c52ff04 1px, transparent 1px);--bg-grad-1:#8c52ff0d;--bg-grad-2:#00f0ff0d;--card-shadow:0 10px 30px #0000004d;--card-shadow-hover:0 20px 40px #0006, 0 0 30px #8c52ff26;--card-border-gradient:linear-gradient(135deg, #ffffff1a, #ffffff05 50%, #8c52ff1a);--title-shadow:0 2px 10px #00000080}[data-theme=light]{--bg-main:#f0f4ff;--bg-surface:#ffffffd9;--bg-surface-solid:#fff;--bg-surface-dark:#f0f4ffcc;--bg-code:#f8faff;--border-light:#0f172a1a;--border-glow:#6d28d926;--neon-orange:#c2410c;--neon-cyan:#0369a1;--neon-violet:#6d28d9;--neon-magenta:#9d174d;--neon-emerald:#047857;--text-main:#334155;--text-bright:#0f172a;--text-muted:#64748b;--grid-pattern:linear-gradient(#6d28d90a 1px, transparent 1px), linear-gradient(90deg, #6d28d90a 1px, transparent 1px);--bg-grad-1:#6d28d90f;--bg-grad-2:#0369a10f;--card-shadow:0 4px 20px #0f172a14, 0 1px 4px #0f172a0d;--card-shadow-hover:0 12px 32px #0f172a1f, 0 0 0 1px #6d28d926;--card-border-gradient:linear-gradient(135deg, #6d28d91f, #0f172a0a 50%, #0369a11a);--title-shadow:none;--code-keyword:#9d174d;--code-string:#047857;--code-function:#0369a1;--code-comment:#64748b;--code-variable:#c2410c;--code-tag:#6d28d9}html{overflow-x:hidden}*{box-sizing:border-box;scroll-behavior:smooth;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);background-image:radial-gradient(circle at 10% 20%, var(--bg-grad-1) 0%, transparent 40%), radial-gradient(circle at 90% 80%, var(--bg-grad-2) 0%, transparent 40%), var(--grid-pattern);color:var(--text-main);-webkit-font-smoothing:antialiased;background-size:100% 100%,100% 100%,40px 40px;min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-light);border:2px solid var(--bg-main);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--neon-violet)}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.glass-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);transition:var(--transition-smooth);box-shadow:var(--card-shadow);border-radius:20px;position:relative}.glass-card:before{content:"";background:var(--card-border-gradient);-webkit-mask-composite:xor;pointer-events:none;border-radius:20px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 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;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-card:hover{box-shadow:var(--card-shadow-hover);border-color:#8c52ff4d;transform:translateY(-4px)}.glow-btn{background:linear-gradient(135deg, var(--neon-violet), var(--neon-magenta));color:#fff;font-family:var(--font-heading);cursor:pointer;transition:var(--transition-smooth);letter-spacing:.05em;z-index:1;border:none;border-radius:12px;align-items:center;gap:.6rem;padding:.85rem 2rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #6d28d959}.glow-btn:after{content:"";background:linear-gradient(135deg, var(--neon-magenta), var(--neon-violet));opacity:0;z-index:-1;width:100%;height:100%;transition:var(--transition-fast);position:absolute;top:0;left:0}.glow-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #6d28d973}.glow-btn:hover:after{opacity:1}.glow-btn-secondary{border:1.5px solid var(--border-light);color:var(--text-bright);font-family:var(--font-heading);cursor:pointer;transition:var(--transition-smooth);letter-spacing:.05em;background:0 0;border-radius:12px;align-items:center;gap:.6rem;padding:.85rem 2rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.glow-btn-secondary:hover{border-color:var(--neon-violet);color:var(--neon-violet);background:#6d28d914;transform:translateY(-2px);box-shadow:0 4px 20px #6d28d926}[data-theme=light] .glow-btn{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 4px 14px #7c3aed40}[data-theme=light] .glow-btn:hover{background:linear-gradient(135deg,#6d28d9,#9333ea);box-shadow:0 6px 22px #6d28d959}[data-theme=light] .glow-btn:after{background:linear-gradient(135deg,#6d28d9,#9333ea)}[data-theme=light] .glow-btn-secondary{color:#6d28d9;background:0 0;border:1.5px solid #7c3aed}[data-theme=light] .glow-btn-secondary:hover{color:#6d28d9;background:#7c3aed12;border-color:#6d28d9;box-shadow:0 4px 16px #6d28d91f}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-bright);font-weight:700}.section-padding{z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:8rem 2rem;position:relative}.section-title-wrapper{text-align:center;margin-bottom:5rem;position:relative}.section-subtitle{text-transform:uppercase;letter-spacing:.3em;color:var(--neon-cyan);margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:block}.section-title{letter-spacing:-.01em;color:var(--text-bright);text-shadow:var(--title-shadow);font-size:3.2rem;font-weight:800}.title-underline{background:linear-gradient(90deg, var(--neon-violet), var(--neon-cyan));border-radius:2px;width:80px;height:4px;margin:1.2rem auto 0;box-shadow:0 0 12px #8c52ff99}.gradient-text{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-violet), var(--neon-magenta));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.cyan-text{color:var(--neon-cyan);text-shadow:0 0 8px #00f0ff40}.orange-text{color:var(--neon-orange);text-shadow:0 0 8px #ff5e3a40}.violet-text{color:var(--neon-violet);text-shadow:0 0 8px #8c52ff40}.magenta-text{color:var(--neon-magenta);text-shadow:0 0 8px #ff2e9340}@media (width<=768px){.section-padding{padding:5rem 1.5rem}.section-title{font-size:2.4rem}}@media (width<=480px){.section-padding{padding:4rem 1rem}.section-title{font-size:2rem}}.three-canvas-container{z-index:-1;pointer-events:none;background-color:var(--bg-main);background-image:var(--grid-pattern), radial-gradient(at 0% 0%, #7c4dff14 0px, transparent 50%), radial-gradient(at 100% 0%, #ff572214 0px, transparent 50%), radial-gradient(at 50% 100%, #00e5ff0d 0px, transparent 50%);background-size:40px 40px,100% 100%,100% 100%,100% 100%;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.navbar{z-index:1000;width:calc(100% - 3rem);max-width:1200px;transition:var(--transition-smooth);background:var(--bg-surface);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light);border-radius:50px;margin:0 auto;padding:.8rem 2rem;position:fixed;top:1.5rem;left:0;right:0}.navbar.scrolled{background:var(--bg-surface);border-color:var(--border-glow);box-shadow:0 8px 32px #00000026, 0 0 20px var(--bg-grad-1);top:.75rem}.navbar-container{justify-content:space-between;align-items:center;width:100%;display:flex}.navbar-logo{font-family:var(--font-heading);color:var(--text-bright);letter-spacing:.05em;background:linear-gradient(135deg, var(--neon-cyan), var(--neon-violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800;text-decoration:none}.logo-short{display:inline}.logo-full{display:none}.logo-dot{color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan);-webkit-text-fill-color:var(--neon-cyan)}.navbar-links{align-items:center;gap:1.2rem;display:flex}.nav-link{color:var(--text-main);transition:var(--transition-fast);text-transform:uppercase;letter-spacing:.08em;border-radius:30px;padding:.45rem .9rem;font-size:.75rem;font-weight:600;text-decoration:none}.nav-link:hover{color:var(--text-bright);background:#ffffff08}.nav-link.active{color:var(--neon-cyan);text-shadow:0 0 8px #00f0ff33;background:#00f0ff0f;border:1px solid #00f0ff26}.navbar-cta-btn{background:linear-gradient(135deg, var(--neon-violet), var(--neon-magenta));color:#fff;transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:.08em;border:none;border-radius:30px;align-items:center;gap:.3rem;padding:.45rem 1.15rem;font-size:.75rem;font-weight:600;text-decoration:none;display:flex;box-shadow:0 3px 12px #6d28d94d}.navbar-cta-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px #6d28d973}.mobile-toggle{color:var(--text-bright);cursor:pointer;background:0 0;border:none;display:none}.mobile-drawer{background:var(--bg-surface-solid);border-left:1px solid var(--border-light);z-index:999;width:80%;max-width:320px;height:100vh;transition:var(--transition-smooth);padding:7rem 2rem 2rem;position:fixed;top:0;right:-100%;box-shadow:-8px 0 32px #00000026}.mobile-drawer.open{right:0}.drawer-close-btn{background:var(--bg-grad-1);border:1px solid var(--border-glow);color:var(--text-bright);cursor:pointer;width:38px;height:38px;transition:var(--transition-fast);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:absolute;top:1.25rem;right:1.25rem}.drawer-close-btn:hover{background:var(--neon-violet);color:#fff;border-color:var(--neon-violet);transform:rotate(90deg)}.mobile-drawer-links{flex-direction:column;gap:1.5rem;display:flex}.mobile-nav-link{font-family:var(--font-heading);color:var(--text-main);transition:var(--transition-fast);text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;font-weight:600;text-decoration:none}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--neon-cyan);padding-left:.5rem}.mobile-cta-btn{background:linear-gradient(135deg, var(--neon-violet), var(--neon-magenta));color:#fff;text-align:center;text-transform:uppercase;border-radius:30px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.8rem;font-weight:600;text-decoration:none;display:flex}.mobile-actions-wrapper{display:none}@media (width<=992px){.navbar-links{display:none}.mobile-toggle{display:block}.navbar{padding:.6rem 1.5rem;top:1rem}.mobile-actions-wrapper{align-items:center;gap:.75rem;display:flex}.logo-short{display:none}.logo-full{display:inline}.navbar-logo{letter-spacing:.02em;font-size:1.2rem}}.theme-toggle-btn{color:var(--text-bright);cursor:pointer;width:36px;height:36px;transition:var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;display:flex}.theme-toggle-btn:hover{background:var(--border-light);color:var(--neon-violet)}@media (width<=992px){.theme-toggle-btn{background:var(--border-light);border:1px solid var(--border-glow);width:34px;height:34px}.theme-toggle-btn:hover{background:var(--bg-grad-1);border-color:var(--neon-violet);color:var(--neon-violet)}}[data-theme=light] .navbar-cta-btn{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 3px 10px #7c3aed33}[data-theme=light] .navbar-cta-btn:hover{opacity:1;background:linear-gradient(135deg,#6d28d9,#9333ea);box-shadow:0 5px 16px #6d28d94d}[data-theme=light] .mobile-cta-btn{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 3px 12px #7c3aed33}.hero-section{justify-content:center;align-items:center;min-height:100vh;padding:8rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-container{z-index:1;grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.hero-content{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.badge-available{color:var(--neon-cyan);font-size:.75rem;font-weight:600;font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;background:#8c52ff14;border:1px solid #8c52ff33;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.4rem 1rem;display:inline-flex}.badge-dot{background:var(--neon-cyan);width:8px;height:8px;box-shadow:0 0 10px var(--neon-cyan);border-radius:50%;animation:1.5s infinite pulseGlow}.badge-dot.green-dot{background:var(--neon-emerald);box-shadow:0 0 10px var(--neon-emerald)}.hero-title{letter-spacing:-.02em;color:var(--text-bright);margin-bottom:1.5rem;font-size:4.2rem;font-weight:800;line-height:1.1}.hero-subtitle{color:var(--text-bright);margin-bottom:1.5rem;font-size:1.75rem;font-weight:500;line-height:1.3}.typing-text{color:var(--neon-cyan);text-shadow:0 0 12px #00f0ff59;font-weight:700}.cursor{color:var(--neon-cyan);font-weight:700;animation:.8s infinite blink}@keyframes blink{50%{opacity:0}}.hero-description{color:var(--text-main);max-width:580px;margin-bottom:2.5rem;font-size:1rem;line-height:1.8}.hero-ctas{gap:1.25rem;margin-bottom:3rem;display:flex}.hero-socials{gap:.75rem;display:flex}.social-icon-wrapper{border:1px solid var(--border-light);width:46px;height:46px;color:var(--text-main);transition:var(--transition-smooth);background:#ffffff05;border-radius:12px;justify-content:center;align-items:center;text-decoration:none;display:flex}.social-icon-wrapper:hover{color:var(--text-bright);border-color:var(--neon-violet);background:#8c52ff26;transform:translateY(-4px)rotate(4deg);box-shadow:0 0 20px #8c52ff4d}.hero-visual{justify-content:center;align-items:center;display:flex}.terminal-card{border:1px solid var(--border-light);border-radius:16px;width:100%;max-width:480px;overflow:hidden}.terminal-header{background:var(--bg-surface);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.terminal-buttons{gap:.45rem;display:flex}.term-btn{cursor:pointer;width:11px;height:11px;transition:var(--transition-fast);border-radius:50%}.term-btn:hover{filter:brightness(.8)}.term-btn.close{background:#ff5f56}.term-btn.minimize{background:#ffbd2e}.term-btn.expand{background:#27c93f}.terminal-title{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);font-weight:500}.terminal-clock{font-size:.75rem;font-family:var(--font-mono);color:var(--neon-cyan);font-weight:600}.terminal-body{font-family:var(--font-mono);text-align:left;background:var(--bg-code,var(--bg-surface));flex-direction:column;gap:.8rem;min-height:250px;max-height:280px;padding:1.5rem;font-size:.8rem;display:flex;overflow-y:auto}.term-line{word-break:break-all;line-height:1.6;animation:.3s cubic-bezier(.16,1,.3,1) logSlideIn}@keyframes logSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.term-line.cmd{color:var(--text-bright)}.term-prompt{color:var(--neon-violet);margin-right:.6rem;font-weight:600}.term-line.success{color:var(--neon-emerald)}.term-line.info{color:var(--neon-cyan)}.terminal-actions-bar{background:var(--bg-surface);border-top:1px solid var(--border-light);justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;display:flex}.term-action-btn{background:var(--bg-grad-1);border:1px solid var(--border-light);color:var(--text-main);font-family:var(--font-mono);cursor:pointer;transition:var(--transition-fast);border-radius:6px;padding:.4rem .85rem;font-size:.7rem}.term-action-btn:hover{border-color:var(--neon-cyan);color:var(--neon-cyan);background:#00f0ff0d}.term-action-btn.clear{color:var(--neon-magenta)}.term-action-btn.clear:hover{border-color:var(--neon-magenta);background:#ff2e930d}@media (width<=992px){.hero-container{grid-template-columns:1fr;gap:3rem}.hero-content{text-align:center;align-items:center}.hero-title{font-size:3.2rem}.hero-visual{order:-1}.terminal-card{max-width:100%}}.about-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:3rem;display:grid}.about-bio{text-align:left;padding:3rem}.bio-header h3{color:var(--text-bright);margin-bottom:1.5rem;font-size:1.8rem;line-height:1.3}.bio-paragraph{color:var(--text-main);margin-bottom:1.5rem;font-size:1rem;line-height:1.7}.violet-strong{font-weight:700;color:var(--neon-cyan)!important}.details-list{border-top:1px solid var(--border-light);flex-direction:column;gap:1.25rem;margin-top:2rem;padding-top:2rem;display:flex}.details-item{justify-content:space-between;font-size:.95rem;display:flex}.details-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.details-value{color:var(--text-bright);font-weight:600}.details-value.link{color:var(--neon-cyan);transition:var(--transition-fast);text-decoration:none}.details-value.link:hover{color:var(--neon-violet);text-decoration:underline}.about-anchors-container{text-align:left;flex-direction:column;gap:1.5rem;display:flex}.anchors-title{color:var(--text-bright);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.anchors-grid{flex-direction:column;gap:1.25rem;display:flex}.anchor-card{border-radius:16px;align-items:start;gap:1.25rem;padding:1.5rem;display:flex}.anchors-grid .anchor-card:first-child{border-left:3px solid var(--neon-violet)}.anchors-grid .anchor-card:first-child:hover{border-color:var(--neon-violet);box-shadow:var(--card-shadow-hover)}.anchors-grid .anchor-card:first-child .anchor-icon-wrapper{color:var(--neon-violet);background:var(--bg-grad-1);border-color:var(--border-glow)}.anchors-grid .anchor-card:nth-child(2){border-left:3px solid var(--neon-cyan)}.anchors-grid .anchor-card:nth-child(2):hover{border-color:var(--neon-cyan);box-shadow:var(--card-shadow-hover)}.anchors-grid .anchor-card:nth-child(2) .anchor-icon-wrapper{color:var(--neon-cyan);background:var(--bg-grad-2);border-color:var(--border-glow)}.anchors-grid .anchor-card:nth-child(3){border-left:3px solid var(--neon-magenta)}.anchors-grid .anchor-card:nth-child(3):hover{border-color:var(--neon-magenta);box-shadow:var(--card-shadow-hover)}.anchors-grid .anchor-card:nth-child(3) .anchor-icon-wrapper{color:var(--neon-magenta);background:var(--bg-grad-1);border-color:var(--border-glow)}.anchor-icon-wrapper{border:1px solid;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.anchor-info h4{color:var(--text-bright);margin-bottom:.25rem;font-size:1.1rem}.anchor-info p{color:var(--text-main);font-size:.9rem;line-height:1.5}@media (width<=992px){.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-bio{padding:2rem}}.about-stats-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem;display:grid}.stat-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.stat-number{font-size:2.5rem;font-weight:800;font-family:var(--font-heading);margin-bottom:.5rem}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}@media (width<=768px){.about-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1.5rem}.stat-number{font-size:2rem}}.skills-container{grid-template-columns:.35fr .65fr;align-items:flex-start;gap:3rem;display:grid}.skills-tabs{flex-direction:column;gap:.75rem;display:flex}.skills-tab-btn{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-main);font-family:var(--font-heading);text-align:left;cursor:pointer;transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:.05em;border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:.8rem;font-weight:600;display:flex}.skills-tab-btn:hover{background:var(--bg-grad-1);color:var(--text-bright);border-color:var(--border-glow)}.skills-tab-btn.active{background:var(--bg-grad-1);color:var(--neon-violet);border-color:var(--neon-violet);box-shadow:0 0 20px var(--bg-grad-1), inset 0 0 10px var(--bg-grad-1)}.skills-tab-btn.active .tab-icon{color:var(--neon-cyan)}.tab-icon{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.skills-display-card{border-radius:16px;min-height:auto;padding:3rem}.skills-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;animation:.5s cubic-bezier(.16,1,.3,1) forwards skillFadeIn;display:grid}@keyframes skillFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.skill-progress-item{flex-direction:column;gap:.6rem;display:flex}.skill-info{justify-content:space-between;align-items:center;display:flex}.skill-name{color:var(--text-bright);font-size:.95rem;font-weight:600}.skill-percentage{color:var(--neon-cyan);text-shadow:0 0 5px #00f0ff33;font-size:.85rem;font-weight:700}.skill-bar-bg{background:var(--border-light);border-radius:3px;width:100%;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--neon-violet), var(--neon-cyan));border-radius:3px;height:100%;transition:width 1.2s cubic-bezier(.1,.8,.2,1);box-shadow:0 0 10px #00f0ff66}[data-theme=light] .skills-tab-btn{background:var(--bg-surface-solid)}[data-theme=light] .skills-tab-btn:hover{background:#8c52ff0a}[data-theme=light] .skills-tab-btn.active{background:#8c52ff14}@media (width<=992px){.skills-container{grid-template-columns:1fr;gap:2rem}.skills-tabs{flex-flow:wrap;justify-content:center}.skills-tab-btn{flex:calc(50% - .5rem);justify-content:center}}@media (width<=576px){.skills-tab-btn{flex:100%}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.skills-display-card{padding:2rem 1.5rem}}.tech-directory-section{margin-top:6rem}.sub-section-title{text-align:center;color:var(--text-bright);margin-bottom:3.5rem;font-size:2.2rem}.tech-directory-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.tech-col-card{flex-direction:column;align-items:stretch;gap:1.5rem;padding:2rem;display:flex}.tech-col-label{text-transform:uppercase;letter-spacing:.15em;color:var(--neon-cyan);border-bottom:1px solid var(--border-light);padding-bottom:.75rem;font-size:.75rem;font-weight:700}.tech-items-list{flex-direction:column;gap:1rem;display:flex}.tech-item-row{color:var(--text-main);transition:var(--transition-fast);align-items:center;gap:.75rem;font-size:.95rem;display:flex}.tech-item-row:hover{color:var(--text-bright);transform:translate(4px)}.tech-item-icon{font-size:1.1rem}.services-section{margin-top:6rem}.services-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.service-card{text-align:left;transition:var(--transition-smooth);flex-direction:column;gap:1.25rem;padding:2.5rem 2rem;display:flex}.service-card:hover{border-color:var(--neon-cyan);box-shadow:var(--card-shadow-hover), 0 0 25px #00f0ff1a}.service-card-title{color:var(--text-bright);font-size:1.25rem;font-weight:700}.service-card-desc{color:var(--text-muted);font-size:.9rem;line-height:1.6}.service-bullets{flex-direction:column;gap:.75rem;margin-top:.5rem;list-style:none;display:flex}.service-bullet-item{color:var(--text-main);align-items:flex-start;gap:.6rem;font-size:.9rem;display:flex}.bullet-check{background:var(--bg-grad-2);color:var(--neon-cyan);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:3px;display:inline-flex}@media (width<=992px){.tech-directory-grid,.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.tech-directory-grid,.services-grid{grid-template-columns:1fr}}.projects-filter-tabs{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3.5rem;display:flex}.filter-tab-btn{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-main);font-family:var(--font-heading);cursor:pointer;transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:.6rem 1.4rem;font-size:.8rem;font-weight:600}.filter-tab-btn:hover{background:var(--bg-grad-1);color:var(--text-bright)}.filter-tab-btn.active{background:var(--bg-grad-1);color:var(--neon-violet);border-color:var(--neon-violet);box-shadow:0 0 15px var(--bg-grad-1)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;display:grid}.project-card{text-align:left;border-radius:20px;flex-direction:column;justify-content:space-between;min-height:280px;padding:2.2rem;display:flex}.project-card:hover{border-color:var(--neon-cyan);box-shadow:var(--card-shadow-hover);transform:translateY(-5px)scale(1.02)}.project-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.project-icon-box{background:var(--bg-grad-1);border:1px solid var(--border-glow);width:52px;height:52px;color:var(--neon-violet);border-radius:12px;justify-content:center;align-items:center;display:flex}.project-card:hover .project-icon-box{color:var(--neon-cyan);background:#00f0ff0f;border-color:#00f0ff26}.proj-icon{transition:var(--transition-smooth)}.project-card:hover .proj-icon{transform:scale(1.1)rotate(-8deg)}.project-links{gap:.75rem;display:flex}.proj-link{background:var(--bg-surface);border:1px solid var(--border-light);width:36px;height:36px;color:var(--text-main);transition:var(--transition-smooth);border-radius:10px;justify-content:center;align-items:center;text-decoration:none;display:flex}.proj-link:hover{color:var(--neon-cyan);border-color:var(--neon-cyan);background:#8c52ff14;transform:translateY(-2px)}.project-body{margin-bottom:2rem}.project-title{color:var(--text-bright);margin-bottom:.75rem;font-size:1.35rem}.project-desc{color:var(--text-main);font-size:.95rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.5rem;display:flex}.project-tag{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-muted);transition:var(--transition-fast);border-radius:6px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.project-card:hover .project-tag{color:var(--neon-cyan);background:#00f0ff03;border-color:#00f0ff33}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.4s ease-out forwards fadeInUp}.project-image-container{border:1px solid var(--border-light);border-radius:12px;width:100%;height:185px;margin-bottom:1.5rem;overflow:hidden}.project-card-image{object-fit:cover;width:100%;height:100%;transition:var(--transition-smooth)}.project-card:hover .project-card-image{transform:scale(1.05)}@media (width<=992px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}}.timeline-container{max-width:900px;margin:0 auto;padding:2rem 0;position:relative}.timeline-line{background:#8c52ff26;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{box-sizing:border-box;width:50%;padding:1.5rem 3rem;position:relative}.timeline-item.left{text-align:right;left:0}.timeline-item.right{text-align:left;left:50%}.timeline-node{background:var(--bg-surface-solid);border:2px solid var(--neon-violet);width:36px;height:36px;color:var(--neon-violet);z-index:10;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2rem;box-shadow:0 0 10px #8c52ff4d}.timeline-item.left .timeline-node{right:-18px}.timeline-item.right .timeline-node{left:-18px}.timeline-card{border-radius:16px;padding:1.8rem}.timeline-item.left:hover .timeline-card{border-color:var(--neon-violet);box-shadow:var(--card-shadow-hover)}.timeline-item.right:hover .timeline-card{border-color:var(--neon-cyan);box-shadow:var(--card-shadow-hover)}.timeline-item.right .timeline-node{border-color:var(--neon-cyan);color:var(--neon-cyan);box-shadow:0 0 10px #00f0ff4d}.timeline-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.timeline-item.left .timeline-card-header{flex-direction:row-reverse}.timeline-period{color:var(--text-muted);font-size:.85rem;font-weight:600;font-family:var(--font-heading);align-items:center;gap:.25rem;display:flex}.timeline-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:.25rem .6rem;font-size:.7rem;font-weight:600}.timeline-badge.work{background:var(--bg-grad-1);color:var(--neon-violet);border:1px solid var(--border-glow)}.timeline-badge.edu{background:var(--bg-grad-2);color:var(--neon-cyan);border:1px solid var(--border-glow)}.timeline-role{color:var(--text-bright);margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.timeline-company{color:var(--text-main);margin-bottom:1rem;font-size:.95rem;font-weight:600}.timeline-desc{color:var(--text-main);font-size:.9rem;line-height:1.6}@media (width<=768px){.timeline-line{left:20px;transform:none}.timeline-item{box-sizing:border-box;padding:.75rem 1rem .75rem 4rem;width:100%!important}.timeline-item.left,.timeline-item.right{text-align:left!important;left:0!important}.timeline-item.left .timeline-card-header,.timeline-item.right .timeline-card-header{flex-wrap:wrap;align-items:center;gap:.5rem;flex-direction:row!important}.timeline-item.left .timeline-node,.timeline-item.right .timeline-node{width:32px;height:32px;top:1.5rem;left:2px!important;right:auto!important}.timeline-card{padding:1.25rem}.timeline-role{font-size:1.1rem}.timeline-company{font-size:.9rem}.timeline-period{font-size:.8rem}.timeline-badge{padding:.2rem .5rem;font-size:.65rem}}@media (width<=480px){.timeline-item{padding:.5rem .75rem .5rem 3.5rem}.timeline-card{padding:1rem}.timeline-role{font-size:1rem}.timeline-desc{font-size:.85rem}}.process-grid{grid-template-columns:repeat(5,1fr);gap:1.5rem;display:grid}.process-card{text-align:left;border-radius:16px;flex-direction:column;min-height:250px;padding:2rem 1.5rem;display:flex;position:relative}.process-card:hover{border-color:var(--neon-cyan);box-shadow:0 15px 30px #0006,0 0 20px #00f0ff26}.process-num-wrapper{margin-bottom:1.5rem}.process-num{font-family:var(--font-heading);color:#8c52ff26;transition:var(--transition-smooth);font-size:2.2rem;font-weight:800}.process-card:hover .process-num{color:var(--neon-cyan);text-shadow:0 0 10px #00f0ff66}.process-card-title{color:var(--text-bright);margin-bottom:.75rem;font-size:1.15rem;font-weight:700}.process-card-desc{color:var(--text-main);font-size:.85rem;line-height:1.6}@media (width<=1200px){.process-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.process-grid{grid-template-columns:1fr;gap:1.5rem}.process-card{min-height:auto}}.case-study-card{text-align:left;border-radius:20px;grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem;min-width:0;padding:3.5rem;display:grid}.case-study-card:hover{border-color:var(--neon-violet);box-shadow:var(--card-shadow-hover)}.case-badge{color:var(--neon-violet);font-size:.75rem;font-weight:600;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;background:#8c52ff14;border:1px solid #8c52ff33;border-radius:6px;margin-bottom:1.5rem;padding:.35rem .8rem;display:inline-block}.case-title{color:var(--text-bright);word-break:break-word;overflow-wrap:break-word;margin-bottom:1rem;font-size:2.2rem;font-weight:800}.case-desc{color:var(--text-main);word-break:break-word;overflow-wrap:break-word;margin-bottom:2rem;font-size:1rem;line-height:1.7}.case-challenge,.case-solution{margin-bottom:1.5rem}.challenge-title,.solution-title{color:var(--text-bright);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.challenge-title{color:var(--neon-orange)}.solution-title{color:var(--neon-cyan)}.case-challenge p,.case-solution p{color:var(--text-main);word-break:break-word;overflow-wrap:break-word;font-size:.95rem;line-height:1.6}.case-specs{border-top:1px solid var(--border-light);flex-wrap:wrap;gap:2rem;margin-top:2rem;padding-top:1.5rem;display:flex}.spec-item{color:var(--text-main);font-size:.85rem}.spec-item strong{color:var(--text-bright)}.case-study-visual{justify-content:center;min-width:0;display:flex;overflow:hidden}.ide-panel{border:1px solid var(--border-light);border-radius:16px;width:100%;min-width:0;max-width:480px;overflow:hidden}.ide-panel:hover{border-color:var(--neon-cyan)}.ide-header{background:var(--bg-surface);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.ide-tabs{gap:.5rem;display:flex}.ide-tab-btn{color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.75rem;font-weight:500}.ide-tab-btn:hover{color:var(--text-bright)}.ide-tab-btn.active{color:var(--neon-cyan);background:#00f0ff14;border:1px solid #00f0ff33}.ide-indicator{color:var(--text-muted);font-size:.75rem;font-family:var(--font-sans)}.ide-body{background:var(--bg-code,var(--bg-surface));text-align:left;max-width:100%;min-height:250px;padding:1.5rem 1rem;overflow:auto hidden}.ide-code{font-family:var(--font-mono);font-size:.8rem;line-height:1.6}.code-line{white-space:pre;min-width:max-content;display:flex}.line-num-marker{width:24px;color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;margin-right:1rem;font-size:.75rem;display:inline-block}.code-comment{color:var(--code-comment);font-style:italic}.code-keyword{color:var(--code-keyword)}.code-function{color:var(--code-function)}.ide-footer{border-top:1px solid var(--border-light);background:var(--bg-surface);grid-template-columns:repeat(3,1fr);display:grid}.ide-metric{text-align:center;border-right:1px solid var(--border-light);padding:1.25rem .5rem}.ide-metric:last-child{border-right:none}.ide-metric-val{color:var(--neon-cyan);font-size:1.6rem;font-weight:800;font-family:var(--font-heading);line-height:1.2;display:block}.ide-metric-lbl{color:var(--text-main);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem;font-size:.7rem;font-weight:600;display:block}@media (width<=992px){.case-study-card{grid-template-columns:1fr;gap:2rem;padding:2rem}.ide-panel{max-width:100%}}@media (width<=576px){.case-study-card{border-radius:14px;gap:1.25rem;padding:1rem}.case-title{font-size:1.5rem}.case-desc{margin-bottom:1rem;font-size:.88rem}.challenge-title,.solution-title{font-size:.95rem}.case-challenge p,.case-solution p{font-size:.88rem}.case-specs{gap:.75rem;margin-top:1rem;padding-top:1rem}.ide-body{min-height:160px;padding:1rem .75rem;font-size:.72rem}.ide-metric{padding:.85rem .25rem}.ide-metric-val{font-size:1.1rem}.ide-metric-lbl{letter-spacing:.02em;font-size:.6rem}.ide-header{padding:.4rem .75rem}.ide-tab-btn{padding:.3rem .5rem;font-size:.7rem}}.contact-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:3rem;display:grid}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.info-card{text-align:left;border-radius:16px;align-items:center;gap:1.5rem;padding:2rem;display:flex}.info-card:hover{border-color:var(--neon-cyan);box-shadow:0 0 15px #00f0ff26}.info-icon-box{background:var(--bg-grad-2);border:1px solid var(--border-glow);width:52px;height:52px;color:var(--neon-cyan);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.info-text h4{color:var(--text-bright);margin-bottom:.25rem;font-size:1.15rem}.info-link{color:var(--text-main);transition:var(--transition-fast);font-size:.95rem;text-decoration:none}.info-link:hover{color:var(--neon-cyan)}.info-val{color:var(--text-main);font-size:.95rem}.contact-form-container{border-radius:20px;padding:3rem}.contact-form-container:hover{border-color:var(--neon-violet);box-shadow:var(--card-shadow-hover)}.contact-form{text-align:left;flex-direction:column;gap:1.5rem;display:flex}.form-row{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-bright);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600}.form-group input,.form-group textarea{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-bright);font-family:var(--font-sans);transition:var(--transition-smooth);border-radius:12px;padding:.9rem 1.1rem;font-size:.95rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:hover,.form-group textarea:hover{border-color:var(--border-glow);background:var(--bg-surface)}.form-group input:focus,.form-group textarea:focus{border-color:var(--neon-cyan);background:var(--bg-surface);outline:none;box-shadow:0 0 12px #0369a133}.submit-btn{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;justify-content:center;padding:1.1rem;font-size:.95rem;font-weight:600}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-error{color:var(--neon-magenta);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.status-message{flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem 0;animation:.4s ease-in-out fadeIn;display:flex}.status-icon.success{color:var(--neon-emerald)}.status-message h3{text-transform:uppercase;font-size:1.8rem}.status-message p{color:var(--text-main);max-width:400px;margin-bottom:1.5rem}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=992px){.contact-grid{grid-template-columns:1fr;gap:2rem}.contact-form-container{padding:2rem}}@media (width<=576px){.form-row{grid-template-columns:1fr;gap:1.25rem}.contact-form-container,.info-card{padding:1.25rem}}.faq-section{width:100%;margin-top:6rem}.faq-section-title{text-align:center;text-shadow:var(--title-shadow);margin-bottom:3.5rem;font-size:2.2rem}.faq-grid{flex-direction:column;gap:1rem;max-width:800px;margin:0 auto;display:flex}.faq-item{transition:var(--transition-smooth);overflow:hidden;border-radius:12px!important}.faq-question-btn{width:100%;color:var(--text-bright);cursor:pointer;text-align:left;font-size:1.05rem;font-weight:600;font-family:var(--font-heading);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.faq-icon-wrapper{color:var(--neon-cyan);transition:var(--transition-fast);justify-content:center;align-items:center;display:flex}.faq-answer{max-height:0;color:var(--text-main);padding:0 1.5rem;font-size:.95rem;line-height:1.6;transition:max-height .3s cubic-bezier(.16,1,.3,1),padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:200px;padding:0 1.5rem 1.5rem}.faq-item.open{border-color:var(--neon-violet);box-shadow:var(--card-shadow-hover)}.footer{background:var(--bg-surface-solid);border-top:1px solid var(--border-glow);margin-top:4.5rem;padding:4.5rem 2rem 2rem}.footer-container{justify-content:space-between;align-items:flex-start;gap:3rem;max-width:1200px;margin:0 auto 3.5rem;display:flex}.footer-logo{font-family:var(--font-heading);color:var(--text-bright);letter-spacing:.08em;background:linear-gradient(135deg, var(--neon-cyan), var(--neon-violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:1.5rem;font-weight:800;text-decoration:none;display:inline-block}.footer-desc{color:var(--text-main);text-align:left;max-width:300px;font-size:.95rem}.footer-right{flex-direction:column;align-items:flex-end;gap:1.5rem;display:flex}.footer-links{gap:2rem;display:flex}.footer-links a{color:var(--text-main);text-transform:uppercase;letter-spacing:.05em;transition:var(--transition-fast);font-size:.85rem;font-weight:600;text-decoration:none}.footer-links a:hover{color:var(--neon-cyan)}.footer-info{color:var(--text-muted);flex-direction:column;align-items:flex-end;gap:.5rem;font-size:.9rem;display:flex}.footer-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding-top:2rem;display:flex}.copyright{color:var(--text-muted);font-size:.85rem}.back-to-top{background:var(--bg-surface);border:1px solid var(--border-light);width:40px;height:40px;color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);border-radius:10px;justify-content:center;align-items:center;display:flex}.back-to-top:hover{background:var(--neon-cyan);color:var(--bg-main);border-color:#0000;transform:translateY(-3px);box-shadow:0 0 15px #00f0ff66}@media (width<=768px){.footer-container{text-align:center;flex-direction:column;align-items:center;gap:2rem}.footer-desc{text-align:center}.footer-right,.footer-info{align-items:center}.footer-links{flex-wrap:wrap;justify-content:center;gap:1.5rem}}
