@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-400-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700 800;font-display:swap;src:url(/fonts/outfit-700-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent-dark),var(--indigo));border-radius:3px}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*:focus:not(:focus-visible){outline:none}.honeypot{position:absolute;opacity:0;height:0;width:0;pointer-events:none}.container{max-width:1100px;margin:0 auto;padding:0 24px}.section-label{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px;display:inline-block}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:var(--text-primary);line-height:1.2;margin-bottom:16px;letter-spacing:-.02em}.section-desc{font-size:1rem;color:var(--text-secondary);max-width:560px;line-height:1.75}section{padding:96px 0}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 24px;height:72px;display:flex;align-items:center;background:#0a0f1ed9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:border-color var(--transition),background var(--transition)}.navbar.scrolled{border-bottom-color:var(--border);background:#0a0f1ef7;box-shadow:inset 0 1px #ffffff14,0 4px 20px #0006}.nav-inner{max-width:1100px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.25rem;font-weight:800;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.nav-logo span{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;align-items:center;gap:4px;list-style:none}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;padding:6px 12px;border-radius:8px;transition:color var(--transition),background var(--transition)}.nav-links a:hover{color:var(--text-primary);background:var(--gradient-subtle)}.nav-links a.nav-active:not(.nav-cta){color:var(--accent);background:var(--accent-glow);position:relative}.nav-links a.nav-active:not(.nav-cta):after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:14px;height:2px;background:var(--accent);border-radius:1px}.nav-cta{background:var(--gradient)!important;color:#fff!important;font-weight:700!important;padding:8px 18px!important;border-radius:8px!important;box-shadow:0 4px 16px #6366f140!important}.nav-cta:hover{opacity:.9!important;transform:translateY(-1px);box-shadow:0 6px 20px #6366f159!important}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}.nav-toggle span{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}#hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:120px 0 80px;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:64px;position:relative;z-index:1}.hero-photo-wrap{flex-shrink:0}.hero-photo-ring{width:280px;height:280px;border-radius:50%;padding:4px;background:var(--gradient);box-shadow:0 0 60px #00d4aa33,0 0 80px #6366f126;position:relative}.hero-photo-ring:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--border)}.hero-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top;display:block}.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}20%{transform:translate(25px,-30px) scale(1.05)}40%{transform:translate(-15px,-60px) scale(.95)}60%{transform:translate(-35px,20px) scale(1.02)}80%{transform:translate(20px,40px) scale(.98)}}.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);animation:orbFloat 40s ease-in-out infinite}.hero-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(0,212,170,.1) 0%,transparent 70%);top:-120px;right:-120px;opacity:.8}.hero-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.13) 0%,transparent 70%);bottom:-60px;left:-100px;opacity:.9}@keyframes gridScroll{0%{background-position:0 0}to{background-position:0 64px}}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(99,120,180,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(99,120,180,.06) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);animation:gridScroll 20s linear infinite}.hero-content{position:relative;z-index:1}.hero-greeting{font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;display:flex;align-items:center;gap:10px}.hero-greeting:before{content:"";display:inline-block;width:32px;height:2px;background:var(--gradient);border-radius:2px;flex-shrink:0}.hero-name{font-size:clamp(2.5rem,7vw,5rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;margin-bottom:20px;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-secondary);margin-bottom:12px;font-weight:500}.hero-title strong{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.hero-subtitle{font-size:.95rem;color:var(--text-muted);margin-bottom:40px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hero-dot{width:4px;height:4px;border-radius:50%;background:var(--indigo-light);display:inline-block;opacity:.5}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:56px}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--gradient);color:#fff;font-weight:700;font-size:.9rem;padding:12px 24px;border-radius:10px;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,opacity .2s ease;border:none;cursor:pointer;letter-spacing:.01em;box-shadow:0 4px 20px #6366f140}.btn-primary:hover{opacity:.93;transform:translateY(-3px) scale(1.02);box-shadow:0 10px 32px #6366f16b,0 0 0 1px #ffffff14}.btn-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 4px 16px #6366f147}.btn-primary svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.btn-primary:hover svg{transform:translate(4px)}.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text-primary);font-weight:600;font-size:.9rem;padding:12px 24px;border-radius:10px;text-decoration:none;border:1px solid var(--border);transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.btn-outline:hover{border-color:var(--indigo-light);color:var(--indigo-light);background:var(--indigo-glow);transform:translateY(-3px);box-shadow:0 6px 20px #6366f12e}.btn-outline:active{transform:translateY(-1px) scale(.98)}.btn-outline svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.btn-outline:hover svg{transform:translate(3px)}a.btn-outline[download]:hover svg{transform:translateY(3px)}.hero-stats{display:flex;gap:40px;flex-wrap:wrap}.hero-stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-value span{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}#about{background:var(--bg-surface)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.about-text p{color:var(--text-secondary);margin-bottom:16px;font-size:.975rem;line-height:1.85}.about-text p:last-child{margin-bottom:0}.about-highlights-list{display:flex;flex-direction:column;gap:24px}.highlight-item{display:flex;gap:16px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--border)}.highlight-item:last-child{border-bottom:none;padding-bottom:0}.highlight-icon{flex-shrink:0;color:var(--accent);padding:12px;background:var(--accent-glow);border:1px solid rgba(0,212,170,.2);border-radius:12px;display:flex;align-items:center;justify-content:center}.highlight-content{display:flex;flex-direction:column}.highlight-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.highlight-desc{font-size:.9rem;color:var(--text-muted);line-height:1.65}#experience{background:var(--bg-primary)}.experience-header,.company-block{margin-bottom:56px}.company-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border)}.company-logo{width:48px;height:48px;background:var(--gradient-subtle);border:1px solid var(--indigo);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.75rem;background-clip:padding-box;color:var(--indigo-light);letter-spacing:.03em;flex-shrink:0}.company-info h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.company-info p{font-size:.825rem;color:var(--text-muted)}.timeline{position:relative;padding-left:48px}.timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:linear-gradient(to bottom,var(--accent),var(--indigo),transparent);border-radius:2px}.timeline-item{position:relative;margin-bottom:24px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.timeline-item:last-child{margin-bottom:0}.timeline-item:hover{border-color:#6378b447;box-shadow:var(--shadow-card);transform:translateY(-2px)}.timeline-item.current{border-left:3px solid var(--accent);background:linear-gradient(135deg,rgba(0,212,170,.04) 0%,var(--bg-surface) 60%)}.timeline-item:before{content:"";position:absolute;left:-20px;top:22px;width:12px;height:2px;background:var(--border)}.timeline-dot{position:absolute;left:-54px;top:18px;width:16px;height:16px;border-radius:50%;background:var(--bg-surface2);border:2px solid var(--accent);box-shadow:0 0 0 3px var(--accent-glow);z-index:1}.timeline-item.current .timeline-dot{background:var(--gradient);border-color:transparent;box-shadow:0 0 0 3px var(--indigo-glow),0 0 12px var(--accent-glow);animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--indigo-glow)}50%{box-shadow:0 0 0 7px transparent}}.job-header{margin-bottom:14px}.job-title{font-size:.975rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.job-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.job-period{font-size:.775rem;color:var(--accent);font-weight:600;background:var(--accent-glow);padding:3px 10px;border-radius:20px}.job-badge{font-size:.725rem;color:var(--indigo-light);background:var(--indigo-glow);padding:3px 10px;border-radius:20px;font-weight:600}.job-desc{list-style:none;display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--border);padding-top:14px;margin-top:2px}.job-desc li{font-size:.855rem;color:var(--text-secondary);line-height:1.65;padding-left:16px;position:relative}.job-desc li:before{content:"▸";position:absolute;left:0;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:.7rem;top:2px}#skills{background:var(--bg-surface)}.skills-header{margin-bottom:56px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:row dense;gap:24px;margin-bottom:48px}.skill-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);position:relative;overflow:hidden}.skill-card:nth-child(1),.skill-card:nth-child(4){grid-column:span 2}.skill-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient);opacity:0;transition:opacity var(--transition)}.skill-card:hover{border-color:var(--indigo);transform:translateY(-4px);box-shadow:var(--shadow-indigo);background:radial-gradient(circle at center,rgba(14,23,44,1) 0%,var(--bg-primary) 100%)}.skill-card:hover:after{opacity:1}.skill-card-icon{color:var(--accent);margin-bottom:16px}.skill-card-icon svg{width:28px;height:28px}.skill-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:14px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:.75rem;color:var(--text-secondary);background:var(--bg-surface2);border:1px solid var(--border);padding:4px 10px;border-radius:6px;font-weight:500;transition:color var(--transition),border-color var(--transition),background var(--transition)}.tag:hover{color:var(--indigo-light);border-color:var(--indigo);background:var(--indigo-glow)}.tech-stack{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:32px;background-image:var(--gradient-subtle)}.tech-stack-title{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px}.tech-tags{display:flex;flex-wrap:wrap;gap:10px}.tech-tag{font-size:.825rem;color:var(--accent-light);background:var(--accent-glow);border:1px solid rgba(0,212,170,.22);padding:6px 14px;border-radius:8px;font-weight:600;transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.tech-tag:hover{background:#00d4aa2e;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #00d4aa26}#case-studies{background:var(--bg-surface)}.case-studies-header{margin-bottom:48px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.case-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);opacity:0;transition:opacity var(--transition)}.case-card:hover{transform:translateY(-5px);border-color:#6378b44d;box-shadow:var(--shadow-card),var(--shadow-teal)}.case-card:hover:before{opacity:1}.case-card-top{display:flex;align-items:center;justify-content:space-between}.case-category-tag{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);padding:3px 10px;border-radius:20px}.case-card-icon{color:var(--text-muted);line-height:1}.case-card-icon svg{width:20px;height:20px}.case-card-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.35;font-family:Outfit,sans-serif}.case-card-desc{font-size:.845rem;color:var(--text-secondary);line-height:1.7;flex:1}.case-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.case-metric-value{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;margin-bottom:4px}.case-metric-label{font-size:.72rem;color:var(--text-muted);line-height:1.4}.case-tags{display:flex;flex-wrap:wrap;gap:6px}#education{background:var(--bg-primary)}.education-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.edu-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;position:relative;overflow:hidden;transition:border-color var(--transition),transform var(--transition)}.edu-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient)}.edu-card:hover{border-color:var(--indigo);transform:translateY(-4px);box-shadow:var(--shadow-indigo)}.edu-degree{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;display:inline-block}.edu-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:6px;line-height:1.3}.edu-institution{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.edu-year{font-size:.8rem;color:var(--text-muted);margin-bottom:16px}.edu-card.edu-card-minor{padding:20px 32px}.edu-card.edu-card-minor:before{background:var(--border)}.edu-card.edu-card-minor:hover{transform:none;box-shadow:none;border-color:var(--border)}.edu-minor-list{display:flex;flex-direction:column;gap:12px}.edu-minor-item{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.edu-minor-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);min-width:36px}.edu-minor-institution{font-size:.875rem;color:var(--text-secondary);flex:1}.edu-minor-year{font-size:.8rem;color:var(--text-muted)}.edu-note{font-size:.8rem;color:var(--text-muted);line-height:1.65;padding:12px;background:var(--bg-primary);border-radius:8px;border-left:2px solid var(--indigo)}.edu-link{display:inline-flex;align-items:center;gap:5px;margin-top:16px;font-size:.8rem;font-weight:700;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;transition:opacity var(--transition)}.edu-link{transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity var(--transition)}.edu-link:hover{opacity:1;transform:translate(4px)}.edu-note strong{color:var(--text-secondary)}#certifications{background:var(--bg-surface)}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cert-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);position:relative;overflow:hidden}.cert-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient)}.cert-card:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,var(--indigo-glow),transparent 70%);opacity:0;transition:opacity var(--transition)}.cert-card:hover{border-color:var(--indigo);transform:translateY(-6px);box-shadow:var(--shadow-indigo)}.cert-card:hover:after{opacity:1}.cert-icon{font-size:2.25rem;margin-bottom:14px;position:relative;z-index:1}.cert-name{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:6px;position:relative;z-index:1}.cert-issuer{font-size:.8rem;color:var(--text-muted);position:relative;z-index:1}.search-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px}.search-overlay[hidden]{display:none}.search-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px)}.search-panel{position:relative;width:100%;max-width:640px;max-height:min(80vh,600px);background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;overflow:hidden}.search-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);color:var(--text-muted)}.search-input{flex:1;border:none;background:none;font-size:1rem;color:var(--text-primary);outline:none;font-family:Inter,sans-serif}.search-input::placeholder{color:var(--text-muted)}.search-kbd{font-size:.7rem;padding:2px 6px;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-family:inherit}.search-results{flex:1;overflow-y:auto;padding:8px}.search-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--text-muted);text-align:center;font-size:.9rem}.search-result{display:block;padding:14px 16px;border-radius:10px;text-decoration:none;transition:background var(--transition);cursor:pointer}.search-result:hover,.search-result--focused{background:var(--bg-surface2)}.search-result-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.search-result-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:4px}.search-result-badge--insight{background:var(--accent-glow);color:var(--accent)}.search-result-badge--research{background:var(--indigo-glow);color:var(--indigo-light)}.search-result-date{font-size:.75rem;color:var(--text-muted);margin-left:auto}.search-result-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:2px;line-height:1.4}.search-result-title mark{background:var(--accent-glow);color:var(--accent);border-radius:2px;padding:0 2px}.search-result-excerpt{font-size:.82rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-excerpt mark{background:var(--accent-glow);color:var(--accent);border-radius:2px;padding:0 2px}.search-result-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.search-result-tag{font-size:.7rem;padding:2px 8px;border-radius:10px;background:var(--bg-primary);color:var(--text-muted);border:1px solid var(--border)}.search-result-tag mark{background:var(--accent-glow);color:var(--accent);border-radius:2px;padding:0 2px}.search-footer{display:flex;gap:16px;padding:10px 20px;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}.search-footer kbd{font-size:.65rem;padding:1px 5px;border:1px solid var(--border);border-radius:3px;font-family:inherit;background:var(--bg-primary)}#contact{background:var(--bg-primary)}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.contact-info{display:flex;flex-direction:column;gap:16px;margin-top:32px}.contact-item{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:border-color var(--transition),transform var(--transition),background var(--transition),box-shadow var(--transition)}.contact-item:hover{border-color:var(--indigo);transform:translate(4px);background:var(--indigo-glow);box-shadow:var(--shadow-indigo)}.contact-icon{width:40px;height:40px;background:var(--gradient-subtle);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.contact-item-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.contact-item-value{font-size:.9rem;color:var(--text-primary);font-weight:500}.contact-form-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px;position:relative;overflow:hidden}.contact-form-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient)}.contact-form-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:24px}.form-group{margin-bottom:18px}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.form-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:.9rem;color:var(--text-primary);font-family:Inter,sans-serif;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{resize:vertical;min-height:110px}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23888e9b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}.checkbox-group{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);cursor:pointer}.form-checkbox-label{font-size:.85rem;color:var(--text-secondary);line-height:1.5;cursor:pointer}.form-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:20px;margin-top:4px}.form-char-count{font-size:.75rem;color:var(--text-muted);margin-left:auto;flex-shrink:0}.form-char-count.warn{color:var(--accent)}.btn-spinner{display:inline-flex;align-items:center}.btn-spinner .spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary.loading .btn-icon,.btn-primary.loading .btn-text{display:none}.btn-primary.loading .btn-spinner{display:inline-flex!important}footer{background:linear-gradient(180deg,var(--bg-surface) 0%,rgba(10,15,30,.95) 100%);border-top:1px solid rgba(99,102,241,.18);padding:32px 24px;text-align:center}.footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-copy{font-size:.825rem;color:var(--text-muted)}.footer-links{display:flex;gap:20px}.footer-links a{font-size:.825rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition)}.footer-links a:hover{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.section-reveal,.fade-up{opacity:1!important;transform:none!important}#hero .fade-up{animation:none!important;opacity:1!important;transform:none!important}.hero-orb,.timeline-item.current .timeline-dot{animation:none!important}}.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up-delay-1{transition-delay:.12s;animation-delay:.12s}.fade-up-delay-2{transition-delay:.24s;animation-delay:.24s}.fade-up-delay-3{transition-delay:.36s;animation-delay:.36s}.fade-up-delay-4{transition-delay:.48s;animation-delay:.48s}.fade-up-delay-5{transition-delay:.6s;animation-delay:.6s}.fade-up-delay-6{transition-delay:.72s;animation-delay:.72s}.section-reveal{opacity:0;transform:translateY(48px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.section-reveal.section-revealed{opacity:1;transform:translateY(0)}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}#hero .fade-up{animation:hero-fade-in .7s cubic-bezier(.22,1,.36,1) both;transition:none}#hero .fade-up-delay-1{animation-delay:.15s;transition-delay:0s}#hero .fade-up-delay-2{animation-delay:.3s;transition-delay:0s}#hero .fade-up-delay-3{animation-delay:.45s;transition-delay:0s}#hero .fade-up-delay-4{animation-delay:.6s;transition-delay:0s}#hero .fade-up-delay-5{animation-delay:.75s;transition-delay:0s}#hero .fade-up-delay-6{animation-delay:.9s;transition-delay:0s}@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:40px}.skills-grid,.case-grid,.education-grid{grid-template-columns:1fr}.cert-grid{grid-template-columns:1fr 1fr}.contact-wrapper{grid-template-columns:1fr;gap:40px}}@media(max-width:1080px){.nav-links{gap:2px}.nav-links a{padding:6px 9px}.nav-cta{padding:7px 14px!important}}@media(max-width:900px){.hero-layout{grid-template-columns:1fr;gap:40px}.hero-photo-wrap{order:-1;display:flex;justify-content:center}.hero-photo-ring{width:200px;height:200px}}@media(max-width:860px){.nav-links{display:flex;flex-direction:column;position:fixed;top:72px;left:0;right:0;background:#0a0f1ef7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 20px 28px;gap:2px;border-bottom:1px solid var(--border);box-shadow:0 16px 40px #00000080;opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .25s ease,transform .25s cubic-bezier(.22,1,.36,1),visibility .25s}.nav-links.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.nav-links li{opacity:0;transform:translate(-14px);transition:opacity .22s ease,transform .22s ease}.nav-links.open li:nth-child(1){opacity:1;transform:none;transition-delay:.04s}.nav-links.open li:nth-child(2){opacity:1;transform:none;transition-delay:.09s}.nav-links.open li:nth-child(3){opacity:1;transform:none;transition-delay:.14s}.nav-links.open li:nth-child(4){opacity:1;transform:none;transition-delay:.19s}.nav-links.open li:nth-child(5){opacity:1;transform:none;transition-delay:.24s}.nav-links.open li:nth-child(6){opacity:1;transform:none;transition-delay:.29s}.nav-links.open li:nth-child(7){opacity:1;transform:none;transition-delay:.34s}.nav-links.open li:nth-child(8){opacity:1;transform:none;transition-delay:.38s}.nav-links a{display:block;padding:11px 16px;font-size:.95rem;border-radius:8px;width:100%}.nav-toggle{display:flex}}@media(max-width:640px){section{padding:72px 0}.cert-grid{grid-template-columns:1fr}.hero-stats{gap:24px}.contact-form-wrapper{padding:24px}.news-grid,.research-grid{grid-template-columns:1fr}.article-page{padding-top:100px}}.page-hero{padding-top:140px;padding-bottom:56px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.filter-tab{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);padding:7px 18px;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition),box-shadow var(--transition);font-family:Inter,sans-serif}.filter-tab:hover{border-color:var(--indigo);color:var(--indigo-light);background:var(--indigo-glow)}.filter-tab.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:0 2px 8px #6366f126}.tab-count{display:inline-block;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;background:#ffffff26;color:inherit;padding:1px 6px;border-radius:10px;margin-left:4px;min-width:18px;text-align:center;vertical-align:middle}.filter-tab:not(.active) .tab-count{background:var(--bg-primary);color:var(--text-muted)}.news-page-hero{padding-top:130px;padding-bottom:48px;background:var(--bg-surface);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.news-page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(99,120,180,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(99,120,180,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 80% 100% at 50% 100%,black,transparent);pointer-events:none}.news-content-wrap{background:var(--bg-primary);padding:48px 0 96px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition),opacity .18s ease}.news-card.card-hidden{opacity:0;transform:scale(.97) translateY(4px);pointer-events:none}.news-card:hover{border-color:var(--indigo);transform:translateY(-4px);box-shadow:var(--shadow-indigo)}a.news-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column}.news-card.cat-fintech{border-left:3px solid var(--indigo)}.news-card.cat-digital-banking{border-left:3px solid #3b82f6}.news-card.cat-payments{border-left:3px solid var(--accent)}.news-card.cat-regulatory{border-left:3px solid #f59e0b}.news-card.cat-lending{border-left:3px solid #a855f7}.news-card-header{padding:16px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:8px}.news-source{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-fintech{background:var(--indigo-glow);color:var(--indigo-light);border:1px solid rgba(99,102,241,.3)}.badge-digital-banking{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-payments{background:var(--accent-glow);color:var(--accent-light);border:1px solid rgba(0,212,170,.3)}.badge-regulatory{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-lending{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr)}}.article-page{max-width:780px;margin:0 auto;padding:120px 24px 80px}.article-back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.85rem;text-decoration:none;margin-bottom:36px;transition:color var(--transition)}.article-back-link:hover{color:var(--accent)}.article-header{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--border)}.article-label{margin-bottom:14px}.article-title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}.article-subtitle{font-size:1.05rem;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.article-meta-row{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:20px}.article-meta-item{font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.article-tags-row{display:flex;flex-wrap:wrap;gap:8px}.article-body{font-size:.975rem;color:var(--text-secondary);line-height:1.9}.article-body h2{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:44px 0 16px;padding-top:16px;border-top:1px solid var(--border)}.article-body h3{font-size:1.05rem;font-weight:700;color:var(--indigo-light);margin:28px 0 12px}.article-body p{margin-bottom:20px}.article-body ul,.article-body ol{padding-left:24px;margin-bottom:20px}.article-body li{margin-bottom:8px}.article-body strong{color:var(--text-primary)}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article-body blockquote{border-left:3px solid var(--indigo);padding:16px 20px;background:var(--indigo-glow);border-radius:0 8px 8px 0;margin:28px 0;color:var(--text-secondary);font-style:italic}.news-card-body{padding:14px 20px 20px;display:flex;flex-direction:column;flex:1}.news-card-title{font-size:.9rem;font-weight:700;color:var(--text-primary);line-height:1.45;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14px;flex:1}.news-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border)}.news-card-date{font-size:.75rem;color:var(--text-muted)}.news-read-more{font-size:.78rem;font-weight:600;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;display:flex;align-items:center;gap:4px;transition:opacity var(--transition)}.news-read-more:hover{opacity:.8}.news-status-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.news-last-updated{font-size:.8rem;color:var(--text-muted)}.btn-refresh{background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:6px 16px;border-radius:8px;border:1px solid var(--border);cursor:pointer;font-family:Inter,sans-serif;transition:border-color var(--transition),color var(--transition),background var(--transition)}.btn-refresh:hover{border-color:var(--indigo);color:var(--indigo-light);background:var(--indigo-glow)}.news-empty{grid-column:1 / -1;text-align:center;padding:64px 24px;color:var(--text-muted);font-size:.95rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line{background:linear-gradient(90deg,var(--bg-surface2) 25%,var(--bg-surface) 50%,var(--bg-surface2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;height:10px;margin-bottom:8px}.skeleton-line.title{height:14px;width:85%}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.skeleton-line.full{width:100%}.skeleton-badge{width:64px;height:20px;border-radius:20px;background:linear-gradient(90deg,var(--bg-surface2) 25%,var(--bg-surface) 50%,var(--bg-surface2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;flex-shrink:0}.skip-to-main{position:absolute;left:-9999px;top:16px;z-index:10000;background:var(--accent);color:#0a0f1e;padding:8px 16px;border-radius:4px;font-weight:700;font-size:.875rem;text-decoration:none;white-space:nowrap}.skip-to-main:focus{left:16px;outline:2px solid var(--accent-light);outline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.form-input:focus-visible{outline:none}.form-input.is-invalid{border-color:#f87171;box-shadow:0 0 0 3px #f8717126}.form-error{font-size:.78rem;color:#f87171;margin-top:4px;display:none}.form-error.visible{display:block}.form-success{display:none;padding:16px;background:#00d4aa1a;border:1px solid rgba(0,212,170,.3);border-radius:var(--radius);color:var(--accent-light);font-size:.9rem;text-align:center;margin-top:16px}.form-success.visible{display:block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--color-success: #10b981;--color-success-glow: rgba(16, 185, 129, .12);--color-success-border:rgba(16, 185, 129, .25);--color-error: #ef4444;--color-error-glow: rgba(239, 68, 68, .1);--color-error-border: rgba(239, 68, 68, .22);--color-warning: #f59e0b;--color-warning-glow: rgba(245, 158, 11, .1);--radius-sm: 6px;--radius-md: 8px;--border-refined: rgba(99, 120, 180, .18)}.btn-primary{padding:10px 22px;font-weight:600;border-radius:var(--radius-sm);letter-spacing:.01em}.btn-primary:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}.btn-outline{padding:10px 22px;font-weight:500;border-radius:var(--radius-sm)}.btn-outline:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:8px 20px;border-radius:var(--radius-sm);border:1px solid var(--border-refined);text-decoration:none;transition:color var(--transition),border-color var(--transition),background var(--transition),transform var(--transition);cursor:pointer;font-family:Inter,sans-serif}.btn-ghost:hover{color:var(--text-primary);border-color:#94a3b866;background:#ffffff0a;transform:translate(3px)}.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.highlight-card,.skill-card,.edu-card,.cert-card,.news-card,.research-card{border-color:var(--border-refined);border-radius:var(--radius-md)}.form-input{border-radius:var(--radius-sm);padding:10px 14px;min-height:44px;border-color:var(--border-refined)}.form-input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-glow)}textarea.form-input{min-height:110px}.tag,.job-period,.job-badge,.news-badge,.filter-tab{border-radius:var(--radius-sm)}.job-period,.job-badge{border-radius:20px}.section-desc{line-height:1.7;font-size:.975rem}.cert-badge-link{display:block;width:fit-content;margin:0 auto 14px;text-decoration:none;line-height:0;position:relative;z-index:2}.cert-badge-link:before{content:"";position:absolute;inset:-200px -24px -60px;z-index:0}.cert-badge-svg{display:block;border-radius:var(--radius-md);position:relative;z-index:1}@media(prefers-reduced-motion:no-preference){.cert-badge-svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,filter .25s ease}.cert-badge-link:hover .cert-badge-svg{transform:scale(1.1) translateY(-3px);box-shadow:0 12px 32px #00000073,0 0 0 3px #00d4aa33;filter:brightness(1.1)}}.cert-verify{display:block;font-size:.72rem;font-weight:600;color:var(--accent);text-align:center;margin-top:10px;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;position:relative;z-index:2;pointer-events:none}.cert-card:hover .cert-verify{opacity:1;transform:translateY(0)}.cert-card{cursor:pointer}.availability-badge{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-refined);padding:5px 14px;border-radius:20px;margin-top:16px}.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);flex-shrink:0}@media(prefers-reduced-motion:no-preference){.badge-dot{animation:badge-pulse 2s ease-in-out infinite}}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.4}}.consulting-tagline{font-size:.875rem;color:var(--text-secondary);margin-top:24px;margin-bottom:10px;line-height:1.5}.consulting-cta{margin-bottom:0}.form-success-state{text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.form-success-icon{color:var(--color-success);margin-bottom:4px}.form-success-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.form-success-desc{font-size:.875rem;color:var(--text-secondary);margin:0}.form-submit-error{display:none;font-size:.8rem;color:var(--color-error);margin-top:12px;padding:10px 14px;background:var(--color-error-glow);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);line-height:1.55}.form-submit-error.visible{display:block}.form-submit-error a{color:var(--color-error);text-decoration:underline;text-underline-offset:2px}.cert-grid{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.cert-grid{grid-template-columns:repeat(2,1fr)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-status{display:none;padding:12px 16px;border-radius:var(--radius-md, 8px);font-size:.9rem;margin-bottom:16px}.form-status:not(:empty){display:block}.form-status--success{background:#00d4aa1a;border:1px solid rgba(0,212,170,.3);color:var(--accent)}.form-status--error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#f87171}
