:root{--bg-primary:#fafbfd;--bg-secondary:#f1f3f8;--bg-card:#fff;--bg-glass:#ffffffa6;--bg-glass-strong:#ffffffd9;--text-primary:#1b2a4a;--text-secondary:#475569;--text-muted:#94a3b8;--text-light:#cbd5e1;--accent-blue:#2563eb;--accent-blue-light:#3b82f6;--accent-blue-glow:#2563eb26;--accent-blue-subtle:#2563eb0f;--accent-coral:#e8453c;--accent-coral-light:#f87171;--accent-coral-glow:#e8453c1f;--gradient-hero:linear-gradient(135deg, #fafbfd 0%, #eef2ff 50%, #fafbfd 100%);--gradient-blue:linear-gradient(135deg, #2563eb, #3b82f6);--gradient-card:linear-gradient(145deg, #ffffffe6, #f1f3f880);--gradient-mesh:radial-gradient(ellipse at 20% 50%, #2563eb0a 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #e8453c08 0%, transparent 50%), radial-gradient(ellipse at 50% 80%, #2563eb08 0%, transparent 50%);--shadow-sm:0 1px 3px #1b2a4a0a;--shadow-md:0 4px 20px #1b2a4a0f;--shadow-lg:0 12px 40px #1b2a4a14;--shadow-xl:0 20px 60px #1b2a4a1a;--shadow-glow-blue:0 0 30px #2563eb26;--shadow-glow-coral:0 0 20px #e8453c1a;--border-light:#1b2a4a0f;--border-medium:#1b2a4a1a;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--section-pad:clamp(80px, 10vw, 140px);--container-width:1280px;--container-pad:clamp(20px, 4vw, 48px);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--web-color:#2563eb1f;--web-color-active:#2563eb40;--web-node-color:#2563eb4d;--web-glow:#2563eb26;--z-web:1;--z-content:10;--z-nav:100;--z-cursor:500;--z-modal:600;--z-preloader:1000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}::selection{background:var(--accent-blue);color:#fff}.container{max-width:var(--container-width);padding:0 var(--container-pad);margin:0 auto}.heading-xl{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:700;line-height:1.05}.heading-lg{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.1}.heading-md{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:600;line-height:1.2}.heading-sm{font-family:var(--font-display);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:600;line-height:1.3}.body-lg{font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.7}.body-md{font-size:1rem;line-height:1.65}.body-sm{font-size:.875rem;line-height:1.6}.label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:500}.accent-text{background:var(--gradient-blue);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section{padding:var(--section-pad) 0;position:relative;overflow:hidden}.section-label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-blue);align-items:center;gap:12px;margin-bottom:1rem;font-size:.7rem;font-weight:500;display:flex}.section-label:before{content:"";background:var(--accent-blue);width:32px;height:1px;display:inline-block}.btn{font-family:var(--font-body);letter-spacing:.01em;transition:all .4s var(--ease-out-expo);border-radius:60px;align-items:center;gap:10px;padding:14px 32px;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-blue);color:#fff;box-shadow:var(--shadow-md), var(--shadow-glow-blue)}.btn-primary:hover{box-shadow:var(--shadow-lg), 0 0 40px #2563eb40;transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);border:1.5px solid var(--border-medium);background:0 0}.btn-secondary:hover{border-color:var(--accent-blue);color:var(--accent-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-icon{width:20px;height:20px;transition:transform .3s var(--ease-out-expo)}.btn:hover .btn-icon{transform:translate(3px)}.glass-card{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:all .5s var(--ease-out-expo);border-radius:20px}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:#2563eb1f;transform:translateY(-4px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@media (width<=768px){:root{--section-pad:clamp(60px, 8vw, 100px)}}.preloader{z-index:var(--z-preloader);background:var(--bg-primary);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preloader-content{flex-direction:column;align-items:center;gap:24px;display:flex}.preloader-network{width:160px;height:160px}.preloader-name{font-family:var(--font-display);letter-spacing:.2em;color:var(--text-primary);font-size:clamp(1.2rem,2vw,1.6rem);font-weight:700}.preloader-subtitle{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-blue);font-size:.7rem}.preloader-progress{align-items:center;gap:12px;margin-top:8px;display:flex}.preloader-bar{background:var(--border-light);border-radius:2px;width:120px;height:2px;overflow:hidden}.preloader-bar-fill{background:var(--accent-blue);border-radius:2px;height:100%;transition:width .1s linear}.preloader-percent{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;min-width:32px;font-size:.65rem}.cursor-dot,.cursor-ring,.cursor-label{pointer-events:none;z-index:var(--z-cursor);will-change:transform;position:fixed;top:0;left:0}.cursor-dot{background:var(--text-primary);border-radius:50%;width:6px;height:6px;transform:translate(-50%,-50%)}.cursor-ring{border:1.5px solid var(--text-primary);opacity:.4;border-radius:50%;width:36px;height:36px;transform:translate(-50%,-50%)}.cursor-label{font-family:var(--font-mono);letter-spacing:.15em;color:var(--accent-blue);text-transform:uppercase;font-size:.6rem;font-weight:600;transform:translate(-50%,20px)}@media (width<=768px),(pointer:coarse){.cursor-dot,.cursor-ring,.cursor-label{display:none}}.navbar{z-index:var(--z-nav);transition:all .5s var(--ease-out-expo);padding:20px 0;position:fixed;top:0;left:0;right:0}.navbar--scrolled{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:12px 0}.navbar-inner{justify-content:space-between;align-items:center;gap:32px;display:flex}.navbar-logo{font-family:var(--font-display);letter-spacing:.15em;z-index:10;gap:6px;font-size:.85rem;font-weight:700;display:flex}.navbar-logo-accent{color:var(--accent-blue)}.navbar-links{gap:32px;display:flex}.navbar-link{color:var(--text-secondary);font-size:.82rem;font-weight:500;transition:color .3s;position:relative}.navbar-link:after{content:"";background:var(--accent-blue);width:0;height:1.5px;transition:width .3s var(--ease-out-expo);position:absolute;bottom:-4px;left:0}.navbar-link:hover,.navbar-link--active{color:var(--text-primary)}.navbar-link:hover:after,.navbar-link--active:after{width:100%}.navbar-cta{padding:10px 24px;font-size:.8rem}.navbar-burger{z-index:110;flex-direction:column;gap:5px;width:28px;padding:4px 0;display:none}.navbar-burger span{background:var(--text-primary);height:1.5px;transition:all .4s var(--ease-out-expo);transform-origin:50%;border-radius:2px;display:block}.navbar-burger--open span:first-child{transform:translateY(6.5px)rotate(45deg)}.navbar-burger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-burger--open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{z-index:var(--z-nav) - 1;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out-expo);position:fixed;inset:0}.mobile-menu--open{pointer-events:auto;opacity:1}.mobile-menu-bg{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(30px);position:absolute;inset:0}.mobile-menu-content{flex-direction:column;justify-content:center;align-items:center;gap:28px;height:100%;display:flex;position:relative}.mobile-nav-link{font-family:var(--font-display);color:var(--text-primary);font-size:1.8rem;font-weight:600;transition:color .3s}.mobile-nav-link:hover{color:var(--accent-blue)}.mobile-menu-cta{margin-top:16px}@media (width<=900px){.navbar-links,.navbar-cta{display:none}.navbar-burger{display:flex}}.web-network{pointer-events:none;width:100%;z-index:var(--z-web);opacity:.7;position:absolute;top:0;left:0}@media (width<=768px){.web-network{opacity:.4}}.hero{background:var(--gradient-hero);align-items:center;min-height:100vh;padding-top:100px;padding-bottom:60px;display:flex;position:relative}.hero-bg-mesh{background:var(--gradient-mesh);pointer-events:none;position:absolute;inset:0}.hero-content{z-index:var(--z-content);grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;display:grid;position:relative}.hero-text{max-width:640px}.hero-label{color:var(--accent-blue);opacity:0;margin-bottom:24px;display:inline-block}.hero-headline{margin-bottom:16px}.hero-headline-word{opacity:0;display:inline-block}.hero-subtitle{color:var(--text-secondary);opacity:0;margin-bottom:16px;font-weight:500}.hero-desc{color:var(--text-secondary);opacity:0;max-width:500px;margin-bottom:40px}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.hero-cta{opacity:0}.hero-visual{width:100%;max-width:460px;z-index:var(--z-content);justify-self:center;position:relative}.hero-portrait-wrapper{width:100%;position:relative}.hero-portrait-glow{filter:blur(40px);z-index:0;background:radial-gradient(#2563eb1a 0%,#2563eb0a 40%,#0000 70%);border-radius:50%;animation:6s ease-in-out infinite portraitGlowPulse;position:absolute;inset:5% 10%}@keyframes portraitGlowPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.hero-portrait-frame{z-index:1;border-radius:24px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 65%,#0000 100%);mask-image:linear-gradient(#000 0% 65%,#0000 100%)}.hero-portrait-img{object-fit:cover;filter:contrast(1.02)saturate(1.05);width:100%;height:auto;transition:transform .8s var(--ease-out-expo), filter .8s ease;display:block}.hero-visual:hover .hero-portrait-img{filter:contrast(1.04)saturate(1.1);transform:scale(1.02)}.hero-portrait-network{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.hero-orb--1{background:var(--accent-blue-glow);width:300px;height:300px;animation:15s ease-in-out infinite orbFloat;top:5%;left:-10%}.hero-orb--2{background:var(--accent-coral-glow);width:200px;height:200px;animation:18s ease-in-out infinite reverse orbFloat;bottom:15%;right:-5%}.hero-orb--3{background:var(--accent-blue-glow);width:150px;height:150px;animation:12s ease-in-out infinite orbFloat;top:40%;left:40%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(15px,-10px)scale(1.05)}66%{transform:translate(-10px,15px)scale(.95)}}.hero-scroll{opacity:0;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom, var(--accent-blue), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}.hero-scroll-text{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-size:.6rem}@media (width<=900px){.hero-content{text-align:center;grid-template-columns:1fr}.hero-text,.hero-desc{max-width:100%}.hero-actions{justify-content:center}.hero-visual{order:-1;max-width:300px}.hero-label{display:block}}@media (width<=480px){.hero{padding-top:80px}.hero-actions{flex-direction:column;align-items:center}.hero-visual{max-width:240px}}.about{background:var(--bg-secondary);position:relative}.about-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.about-grid>*{opacity:0;transition:all .9s var(--ease-out-expo);transform:translateY(40px)}.about-grid--visible>*{opacity:1;transform:translateY(0)}.about-grid--visible>.about-right{transition-delay:.2s}.about-headline{margin-bottom:32px}.about-paragraphs{flex-direction:column;gap:20px;display:flex}.about-para{color:var(--text-secondary)}.about-right{flex-direction:column;gap:40px;display:flex}.about-caps{flex-wrap:wrap;gap:10px;display:flex}.about-cap{color:var(--text-primary);opacity:0;transition:all .4s var(--ease-out-expo);border-radius:12px;align-items:center;gap:10px;padding:10px 18px;font-size:.8rem;font-weight:600;display:flex}.about-cap:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.about-cap-dot{background:var(--accent-blue);border-radius:50%;flex-shrink:0;width:6px;height:6px}.about-stats{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.about-stat{opacity:0;flex-direction:column;gap:4px;display:flex}.about-stat-value{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;line-height:1}.about-stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}@media (width<=768px){.about-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(3,1fr)}}.skills-header{text-align:center;opacity:0;transition:all .8s var(--ease-out-expo);margin-bottom:48px;transform:translateY(30px)}.skills-header--visible{opacity:1;transform:translateY(0)}.skills-desc{color:var(--text-secondary);max-width:560px;margin:16px auto 0}.skills-tabs{opacity:0;transition:all .8s var(--ease-out-expo) .15s;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:40px;display:flex;transform:translateY(20px)}.skills-tabs--visible{opacity:1;transform:translateY(0)}.skills-tab{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-light);transition:all .35s var(--ease-out-expo);border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.82rem;font-weight:500;display:flex}.skills-tab:hover{border-color:var(--accent-blue);color:var(--text-primary)}.skills-tab--active{background:var(--gradient-blue);color:#fff;box-shadow:var(--shadow-glow-blue);border-color:#0000}.skills-tab--primary{position:relative}.skills-tab--primary:after{content:"★";color:var(--accent-coral);font-size:.5rem;position:absolute;top:4px;right:6px}.skills-tab--active.skills-tab--primary:after{color:#ffffffb3}.skills-tab-icon{font-size:1rem}.skills-content{animation:skillsFadeIn .5s var(--ease-out-expo)}@keyframes skillsFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.skills-cat-desc{color:var(--text-secondary);text-align:center;margin-bottom:32px}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.skill-node{opacity:0;transition:all .4s var(--ease-out-expo);border-radius:16px;padding:24px}.skill-node--active{border-color:var(--accent-blue);box-shadow:var(--shadow-md), var(--shadow-glow-blue)}.skill-node-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.skill-node-name{font-family:var(--font-display);font-size:1rem;font-weight:600}.skill-node-level{font-family:var(--font-mono);color:var(--accent-blue);font-size:.75rem;font-weight:500}.skill-node-bar{background:var(--bg-secondary);border-radius:3px;height:3px;margin-bottom:14px;overflow:hidden}.skill-node-bar-fill{background:var(--gradient-blue);height:100%;transition:width 1.2s var(--ease-out-expo) .3s;border-radius:3px}.skill-node-desc{color:var(--text-muted);opacity:0;max-height:0;transition:all .4s var(--ease-out-expo);line-height:1.5;overflow:hidden}.skill-node--active .skill-node-desc{opacity:1;max-height:80px}@media (width<=768px){.skills-grid{grid-template-columns:1fr}.skills-tab{padding:8px 14px;font-size:.75rem}.skills-tab-icon{font-size:.85rem}}.projects{background:var(--bg-secondary)}.projects-header{text-align:center;opacity:0;transition:all .8s var(--ease-out-expo);margin-bottom:56px;transform:translateY(30px)}.projects-header--visible{opacity:1;transform:translateY(0)}.projects-desc{color:var(--text-secondary);max-width:560px;margin:16px auto 0}.projects-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.project-card{cursor:pointer;opacity:0;transition:all .5s var(--ease-out-expo);border-radius:20px;padding:0;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)scale(1.01)}.project-card--featured{grid-column:span 1}.project-card--featured:first-child{grid-column:span 2}.project-card-image{position:relative;overflow:hidden}.project-card-image-inner{height:200px;transition:transform .6s var(--ease-out-expo);align-items:flex-end;padding:20px;display:flex}.project-card:hover .project-card-image-inner{transform:scale(1.04)}.project-card--featured:first-child .project-card-image-inner{height:260px}.project-card-number{color:var(--text-light);font-size:.65rem}.project-card-content{padding:24px}.project-card-category{color:var(--accent-blue);margin-bottom:8px;display:block}.project-card-category:before{display:none}.project-card-title{margin-bottom:8px;transition:color .3s}.project-card:hover .project-card-title{color:var(--accent-blue)}.project-card-desc{color:var(--text-secondary);margin-bottom:16px}.project-card-tech{flex-wrap:wrap;gap:6px;display:flex}.project-tech-tag{font-family:var(--font-mono);background:var(--accent-blue-subtle);color:var(--accent-blue);border-radius:6px;padding:4px 10px;font-size:.65rem;font-weight:500}.project-card-arrow{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:36px;height:36px;color:var(--text-secondary);opacity:0;transition:all .4s var(--ease-out-expo);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px;transform:translate(-8px,8px)}.project-card:hover .project-card-arrow{opacity:1;transform:translate(0)}.project-modal-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .4s var(--ease-out-expo);background:#1b2a4a4d;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.project-modal{background:var(--bg-card);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-xl);animation:modalSlideIn .5s var(--ease-out-expo);border-radius:24px;position:relative;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.project-modal-close{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:40px;height:40px;color:var(--text-secondary);z-index:10;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;top:16px;right:16px}.project-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.project-modal-image{border-radius:24px 24px 0 0;height:240px;overflow:hidden}.project-modal-image-placeholder{align-items:flex-end;height:100%;padding:24px;display:flex}.project-modal-category{color:var(--accent-blue)}.project-modal-category:before{display:none}.project-modal-body{padding:32px}.project-modal-desc{color:var(--text-secondary);margin:16px 0 24px}.project-modal-tech{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.project-modal-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=768px){.projects-grid{grid-template-columns:1fr}.project-card--featured:first-child{grid-column:span 1}.project-card-image-inner,.project-card--featured:first-child .project-card-image-inner{height:160px}.project-modal{max-height:85vh;margin:10px}}.ai-feature{background:var(--bg-primary);position:relative}.ai-feature-inner{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,80px);display:grid}.ai-feature-inner>*{opacity:0;transition:all .9s var(--ease-out-expo);transform:translateY(40px)}.ai-feature-inner--visible>*{opacity:1;transform:translateY(0)}.ai-feature-inner--visible>.ai-feature-visual{transition-delay:.2s}.ai-feature-desc{color:var(--text-secondary);margin:20px 0 28px}.ai-feature-tags{flex-wrap:wrap;gap:8px;display:flex}.ai-tag{font-family:var(--font-mono);background:var(--accent-blue-subtle);color:var(--accent-blue);letter-spacing:.03em;transition:all .3s var(--ease-out-expo);border-radius:8px;padding:6px 14px;font-size:.7rem;font-weight:500}.ai-tag:hover{background:var(--accent-blue);color:#fff;box-shadow:var(--shadow-glow-blue)}.ai-feature-visual{justify-content:center;align-items:center;display:flex}.ai-network-svg{width:100%;max-width:380px;animation:12s ease-in-out infinite aiFloat}@keyframes aiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ai-line{stroke-dasharray:100;stroke-dashoffset:100px;animation:aiLineDraw 2s var(--ease-out-expo) forwards}.ai-feature-inner--visible .ai-line{stroke-dashoffset:0}.ai-node{animation:3s ease-in-out infinite aiNodePulse}@keyframes aiNodePulse{0%,to{opacity:.4}50%{opacity:.8}}@media (width<=768px){.ai-feature-inner{text-align:center;grid-template-columns:1fr}.ai-feature-tags{justify-content:center}.ai-network-svg{max-width:280px}}.capabilities{background:var(--bg-primary)}.cap-header{text-align:center;opacity:0;transition:all .8s var(--ease-out-expo);margin-bottom:48px;transform:translateY(30px)}.cap-header--visible{opacity:1;transform:translateY(0)}.cap-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cap-card{text-align:center;opacity:0;transition:all .5s var(--ease-out-expo);border-radius:16px;padding:28px}.cap-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-blue);transform:translateY(-6px)}.cap-icon{margin-bottom:16px;font-size:2rem;display:block}.cap-title{margin-bottom:8px}.cap-desc{color:var(--text-muted)}@media (width<=900px){.cap-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.cap-grid{grid-template-columns:1fr}}.education{background:var(--bg-secondary)}.education-inner>*{opacity:0;transition:all .8s var(--ease-out-expo);transform:translateY(30px)}.education-inner--visible>*{opacity:1;transform:translateY(0)}.education-headline{margin-bottom:48px}.education-timeline{max-width:640px}.education-item{gap:24px;display:flex}.education-timeline-line{flex-direction:column;flex-shrink:0;align-items:center;padding-top:28px;display:flex}.education-timeline-dot{background:var(--accent-blue);width:12px;height:12px;box-shadow:var(--shadow-glow-blue);border-radius:50%;flex-shrink:0;position:relative}.education-timeline-dot:after{content:"";border:2px solid var(--accent-blue);opacity:.2;border-radius:50%;animation:2s ease-in-out infinite timelinePulse;position:absolute;inset:-4px}@keyframes timelinePulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}}.education-timeline-bar{background:linear-gradient(to bottom, var(--accent-blue), transparent);flex:1;width:1px;margin-top:8px}.education-card{border-radius:16px;flex:1;padding:28px}.education-card-header{margin-bottom:12px}.education-status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-blue);background:var(--accent-blue-subtle);border-radius:6px;padding:4px 12px;font-size:.7rem;font-weight:600}.education-degree{margin-bottom:6px}.education-institution{color:var(--text-secondary);margin-bottom:12px;font-size:.9rem;font-weight:500}.education-desc{color:var(--text-muted)}@media (width<=480px){.education-timeline-line{display:none}}.contact{background:var(--bg-primary);position:relative}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.contact-inner>*{opacity:0;transition:all .9s var(--ease-out-expo);transform:translateY(40px)}.contact-inner--visible>*{opacity:1;transform:translateY(0)}.contact-inner--visible>.contact-form{transition-delay:.2s}.contact-headline{margin-bottom:16px}.contact-desc{color:var(--text-secondary);margin-bottom:32px}.contact-info{margin-bottom:24px}.contact-link{color:var(--text-secondary);align-items:center;gap:10px;font-size:.95rem;transition:color .3s;display:inline-flex}.contact-link:hover{color:var(--accent-blue)}.contact-socials{flex-wrap:wrap;gap:12px;display:flex}.contact-social{border:1px solid var(--border-light);color:var(--text-secondary);transition:all .3s var(--ease-out-expo);border-radius:10px;padding:8px 18px;font-size:.82rem;font-weight:500}.contact-social:hover{border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-2px)}.contact-form{border-radius:20px;padding:36px}.form-group{margin-bottom:20px}.form-label{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.form-input{border:1.5px solid var(--border-light);background:var(--bg-primary);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:all .3s var(--ease-out-expo);border-radius:12px;outline:none;padding:14px 18px;font-size:.9rem}.form-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.form-input::placeholder{color:var(--text-light)}.form-textarea{resize:vertical;min-height:120px}.contact-submit{justify-content:center;width:100%}.contact-submit--sent{background:linear-gradient(135deg,#059669,#10b981)}@media (width<=768px){.contact-inner{grid-template-columns:1fr}.contact-form{padding:24px}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-light);padding:40px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-logo{font-family:var(--font-display);letter-spacing:.15em;font-size:.8rem;font-weight:700}.footer-logo-accent{color:var(--accent-blue)}.footer-tagline{color:var(--text-muted);margin-top:4px}.footer-copy{color:var(--text-muted);font-size:.8rem}@media (width<=480px){.footer-inner{text-align:center;flex-direction:column}}
