:root{color-scheme:dark;--bg: #09090b;--bg-elev: #101014;--surface: rgba(255, 255, 255, .035);--surface-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .18);--text: #fafafa;--text-dim: #d4d4d8;--text-muted: #a1a1aa;--text-faint: #71717a;--accent: #2563eb;--accent-soft: #3b82f6;--accent-glow: rgba(37, 99, 235, .35);--accent-tint: rgba(37, 99, 235, .12);--success: #4ade80;--danger: #f87171;--warning: #fbbf24;--grid-line: rgba(255, 255, 255, .045);--radius-xs: 6px;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--shadow: 0 4px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--ease: cubic-bezier(.16, 1, .3, 1);--maxw: 1120px}[data-theme=light]{color-scheme:light;--bg: #fafafa;--bg-elev: #ffffff;--surface: rgba(9, 9, 11, .025);--surface-hover: rgba(9, 9, 11, .055);--border: #e4e4e7;--border-strong: #c9c9cf;--text: #09090b;--text-dim: #27272a;--text-muted: #52525b;--text-faint: #71717a;--accent-glow: rgba(37, 99, 235, .22);--accent-tint: rgba(37, 99, 235, .09);--grid-line: rgba(9, 9, 11, .05);--shadow: 0 2px 18px rgba(9, 9, 11, .06);--shadow-lg: 0 20px 50px rgba(9, 9, 11, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}a{color:inherit;text-decoration:none}button{font-family:inherit}img,svg,canvas{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:#fff}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}.section{padding:clamp(3.5rem,8vw,6.5rem) 0;position:relative;z-index:1}.section+.section{border-top:1px solid var(--border)}.section-head{margin-bottom:clamp(2rem,4vw,3rem);max-width:640px}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:.9rem}.eyebrow:before{content:"";width:22px;height:1px;background:var(--accent-soft);opacity:.7}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.025em;font-weight:700}h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}h3{font-size:clamp(1.05rem,2vw,1.25rem)}.lead{color:var(--text-muted);font-size:clamp(.95rem,1.6vw,1.06rem);margin-top:.9rem}.muted{color:var(--text-muted)}.small{font-size:.85rem}.mono{font-variant-numeric:tabular-nums}.grid{display:grid;gap:1.15rem}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.spread{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.4rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s ease,background .3s ease}.card.hoverable:hover{transform:translateY(-3px);border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-lg)}.card-solid{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.tile-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-xs);background:var(--accent-tint);color:var(--accent-soft);border:1px solid var(--border);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.35rem;border-radius:999px;font-size:.9rem;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s ease,border-color .2s ease,opacity .2s ease}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 26px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);background:var(--accent-soft);box-shadow:0 14px 34px var(--accent-glow)}.btn-ghost{border-color:var(--border-strong);color:var(--text);background:transparent}.btn-ghost:hover{background:var(--surface-hover);transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.82rem}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;padding:.28rem .65rem;border-radius:999px;background:var(--accent-tint);color:var(--accent-soft);border:1px solid var(--border);letter-spacing:.01em}.badge.green{background:#4ade801a;color:var(--success)}.badge.amber{background:#fbbf241a;color:var(--warning)}.badge.plain{background:var(--surface);color:var(--text-muted)}.chip{font-size:.76rem;padding:.32rem .7rem;border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}.nav.scrolled{border-bottom-color:var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;cursor:pointer}.brand-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent),#7c3aed);color:#fff;font-weight:800;font-size:.9rem;letter-spacing:-.03em}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-weight:700;font-size:.92rem;letter-spacing:-.02em}.brand-role{font-size:.68rem;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase}.nav-links{display:flex;gap:.15rem;align-items:center}.nav-link{font-size:.84rem;font-weight:500;color:var(--text-muted);padding:.42rem .7rem;border-radius:999px;cursor:pointer;transition:color .2s ease,background .2s ease;background:none;border:none}.nav-link:hover{color:var(--text);background:var(--surface-hover)}.nav-link.active{color:var(--text);background:var(--accent-tint)}.nav-actions{display:flex;align-items:center;gap:.5rem}.icon-btn{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.icon-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.nav-progress{height:2px;background:linear-gradient(90deg,var(--accent),#7c3aed);width:0;transition:width .1s linear}.mobile-panel{display:none;flex-direction:column;gap:.2rem;padding:.6rem 1.5rem 1.2rem;border-top:1px solid var(--border);background:var(--bg-elev)}.mobile-panel button{text-align:left;padding:.7rem .6rem;border:none;background:none;color:var(--text-dim);font-size:.95rem;cursor:pointer;border-radius:var(--radius-sm)}.mobile-panel button:hover{background:var(--surface-hover);color:var(--text)}.hero{position:relative;overflow:hidden;padding:clamp(3rem,9vw,6rem) 0 clamp(3rem,7vw,5rem)}#mesh-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.55;pointer-events:none}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 50% -10%,var(--accent-glow),transparent 70%),linear-gradient(180deg,transparent 40%,var(--bg) 100%)}.hero-inner{position:relative;z-index:2}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}.hero h1{font-size:clamp(2.1rem,6vw,3.7rem);font-weight:800;letter-spacing:-.045em;margin:.5rem 0 0}.hero .role{font-size:clamp(1rem,2.2vw,1.3rem);font-weight:600;color:var(--accent-soft);letter-spacing:-.01em}.hero .tagline{color:var(--text-dim);font-size:clamp(.95rem,1.7vw,1.1rem);max-width:60ch;margin-top:1.1rem}.hero-cta{margin-top:1.9rem;display:flex;gap:.7rem;flex-wrap:wrap}.hero-meta{margin-top:1.9rem;display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.hero-meta span{display:inline-flex;align-items:center;gap:.45rem}.id-card{position:relative;padding:1.4rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}.avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent),#7c3aed);color:#fff;font-weight:800;font-size:1.5rem;letter-spacing:-.04em;box-shadow:0 0 0 1px var(--border),0 10px 30px var(--accent-glow)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block;animation:pulse 2s infinite}.id-rows{display:flex;flex-direction:column;gap:.55rem;margin-top:1.1rem;font-size:.86rem}.id-row{display:flex;align-items:center;gap:.6rem;color:var(--text-muted)}.id-row strong{color:var(--text-dim);font-weight:600}.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--border)}.stat{background:var(--bg);padding:1.6rem 1.4rem;transition:background .3s ease}.stat:hover{background:var(--bg-elev)}.stat-value{font-size:clamp(1.5rem,3.4vw,2.05rem);font-weight:800;letter-spacing:-.04em;color:var(--text)}.stat-label{font-size:.82rem;font-weight:600;color:var(--text-dim);margin-top:.35rem}.stat-sub{font-size:.74rem;color:var(--text-faint)}.about-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem)}.about-body p+p{margin-top:1rem}.about-body p{color:var(--text-muted)}.lang-list{display:flex;flex-direction:column;gap:.8rem}.lang-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.lang-bar{flex:1;height:4px;border-radius:999px;background:var(--surface-hover);overflow:hidden}.lang-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#7c3aed)}.feature{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;background:linear-gradient(150deg,var(--accent-tint),transparent 45%),var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.feature-top{padding:clamp(1.4rem,3.5vw,2.4rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.4rem,4vw,2.6rem)}.feature-visual{position:relative;border-radius:var(--radius);border:1px solid var(--border);background:radial-gradient(ellipse at 30% 20%,var(--accent-tint),transparent 65%),var(--bg-elev);min-height:260px;padding:1rem;display:grid;place-items:center;overflow:hidden}.feature-li{display:flex;gap:.7rem;font-size:.9rem;color:var(--text-muted);padding:.5rem 0;border-bottom:1px dashed var(--border)}.feature-li:last-child{border-bottom:none}.feature-li svg{flex:none;margin-top:3px;color:var(--accent-soft)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.metric{padding:.9rem 1rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border)}.metric-value{font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.metric-label{font-size:.74rem;color:var(--text-muted);line-height:1.4}.timeline{position:relative;padding-left:1.9rem}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,var(--accent-soft),var(--border) 70%)}.tl-item{position:relative;padding-bottom:2rem}.tl-item:last-child{padding-bottom:0}.tl-dot{position:absolute;left:-1.9rem;top:6px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--border-strong)}.tl-item.current .tl-dot{border-color:var(--accent-soft);box-shadow:0 0 0 4px var(--accent-tint)}.tl-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tl-period{font-size:.78rem;color:var(--text-faint);font-weight:600;letter-spacing:.02em;white-space:nowrap}.tl-org{color:var(--accent-soft);font-weight:600;font-size:.9rem}.tl-points{margin:.85rem 0 .9rem;padding-left:1.05rem;display:flex;flex-direction:column;gap:.42rem}.tl-points li{font-size:.9rem;color:var(--text-muted);line-height:1.6}.tl-points li::marker{color:var(--accent-soft)}.tabs{display:inline-flex;gap:.25rem;padding:.28rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);margin-bottom:1.6rem}.tab{padding:.5rem 1.15rem;border-radius:999px;border:none;background:none;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .25s var(--ease)}.tab:hover{color:var(--text)}.tab.active{background:var(--accent);color:#fff;box-shadow:0 6px 18px var(--accent-glow)}.skill{padding:.95rem 1.15rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);transition:transform .25s var(--ease),border-color .25s ease}.skill:hover{transform:translateY(-2px);border-color:var(--border-strong)}.skill-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem;font-weight:600}.skill-note{font-size:.76rem;color:var(--text-faint);margin-top:.2rem}.bar{height:4px;border-radius:999px;background:var(--surface-hover);margin-top:.6rem;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#22d3ee);width:0;transition:width 1s var(--ease)}.edu-card{display:grid;gap:1rem}.coursework{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.gpa-pill{display:inline-flex;align-items:baseline;gap:.3rem;padding:.45rem .9rem;border-radius:var(--radius-xs);background:var(--accent-tint);border:1px solid var(--border);font-weight:700}.cert{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem 1.2rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);transition:transform .25s var(--ease),border-color .25s ease,background .25s ease}.cert:hover{transform:translateY(-2px);border-color:var(--border-strong);background:var(--surface-hover)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.contact-row{display:flex;align-items:center;gap:.85rem;padding:.85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);transition:all .25s var(--ease)}.contact-row:hover{border-color:var(--border-strong);transform:translate(3px)}form .field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}label{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}input,textarea{width:100%;padding:.7rem .9rem;border-radius:var(--radius-xs);font-size:.92rem;background:var(--surface);border:1px solid var(--border);color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}input:focus,textarea:focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-tint)}input.invalid,textarea.invalid{border-color:var(--danger)}.field-error{font-size:.78rem;color:var(--danger)}textarea{resize:vertical;min-height:118px}.footer{border-top:1px solid var(--border);padding:2.2rem 0;background:var(--bg-elev)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.84rem;color:var(--text-faint)}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.footer-links a:hover{color:var(--text)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.shown{opacity:1;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .6s var(--ease) both}.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-hover) 50%,var(--surface) 75%);background-size:200%;animation:shimmer 1.4s infinite;border-radius:var(--radius-xs)}.toast-wrap{position:fixed;bottom:1.4rem;right:1.4rem;z-index:100;display:flex;flex-direction:column;gap:.5rem;max-width:min(92vw,380px)}.toast{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem 1.05rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;background:var(--bg-elev);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:fadeUp .3s var(--ease)}.toast.success{border-color:#4ade8059}.toast.success svg{color:var(--success)}.toast.error{border-color:#f8717159}.toast.error svg{color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0000009e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeUp .25s var(--ease)}.modal{width:100%;max-width:460px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-lg)}@media (max-width: 1024px){.hero-grid,.about-grid,.feature-top,.contact-grid{grid-template-columns:1fr}.feature-visual{min-height:200px;order:-1}.nav-links{display:none}.mobile-toggle{display:grid}}@media (min-width: 1025px){.mobile-toggle{display:none}}@media (max-width: 640px){.container{padding:0 1.1rem}.section{padding:3rem 0}.hero-meta{gap:.9rem}.btn{width:100%}.hero-cta{flex-direction:column}.mobile-open .mobile-panel{display:flex}.stat{padding:1.2rem 1rem}.tabs{width:100%}.tab{flex:1}.toast-wrap{left:1rem;right:1rem;bottom:1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}@media print{.nav,.toast-wrap,#mesh-canvas,.hero-cta,form{display:none!important}body{background:#fff;color:#000}.card,.card-solid,.feature{border-color:#ddd;box-shadow:none}}
