:root{--bg:#0a0a0a;--bg-alt:#111;--glass-bg:#ffffff05;--glass-border:#ffffff14;--glass-border-hover:#5eead44d;--text:#e4e4e7;--text-muted:#a1a1aa;--text-dim:#71717a;--cyan:#5eead4;--violet:#a78bfa;--accent:#22d3ee;--font-display:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}html,body{width:100%;height:100%}.portfolio-root{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:16px;font-weight:400;line-height:1.6;position:relative;overflow-x:hidden}.portfolio-root *,.portfolio-root :before,.portfolio-root :after{box-sizing:border-box}.portfolio-root a{color:inherit;text-decoration:none;transition:color .2s}.portfolio-root button{font-family:inherit}.portfolio-root ::selection{color:#fff;background:#5eead440}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:13px 22px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--cyan);color:var(--bg);border-color:var(--cyan);font-weight:600}.btn-primary:hover{color:var(--cyan);background:0 0;transform:translateY(-2px);box-shadow:0 12px 40px #5eead44d}.btn-ghost{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text)}.btn-ghost:hover{border-color:var(--glass-border-hover);background:#ffffff08;transform:translateY(-2px)}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1)}.glass-card:hover{border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:0 10px 30px -10px #5eead426}.tag{font-family:var(--font-mono);border:1px solid var(--glass-border);color:var(--text-muted);letter-spacing:.01em;background:#ffffff05;border-radius:6px;padding:5px 10px;font-size:11px;transition:all .2s;display:inline-block}.tag:hover{border-color:var(--glass-border-hover);color:var(--text);background:#ffffff0a;transform:translateY(-2px)}.section-label{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;align-items:center;margin-bottom:16px;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;display:flex}.section-label__text{color:var(--text)}.animated-bg-container{z-index:0;pointer-events:none;background:0 0;position:fixed;inset:0;overflow:hidden}.bg-orb{opacity:.15;will-change:transform;border-radius:50%;position:absolute;transform:translateZ(0)}.blue-orb{background:radial-gradient(circle,#1d4ed8 0%,#0000 60%);width:60vw;height:60vw;top:-20%;left:-10%}.slate-orb{background:radial-gradient(circle,#334155 0%,#0000 60%);width:50vw;height:50vw;bottom:-20%;right:-10%}.noise{pointer-events:none;z-index:1;opacity:.02;position:absolute;inset:0}.nav{z-index:50;border-bottom:1px solid #0000;padding:24px 32px;transition:all .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);background:#0a0a0acc;padding:20px 32px}.nav-inner{justify-content:space-between;align-items:center;max-width:980px;margin:0 auto;display:flex}.brand{font-family:var(--font-mono);color:var(--text);cursor:pointer;letter-spacing:-.02em;background:0 0;border:none;font-size:18px;font-weight:600;transition:color .3s}.brand:hover{color:var(--cyan)}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:6px 0;font-size:17px;transition:color .3s;display:flex;position:relative}.nav-link:hover{color:var(--text)}.nav-link:after{content:"";background-color:var(--cyan);width:0%;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link.active{color:var(--cyan)}.nav-link.active:after{width:100%}.mobile-menu-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:background .2s,transform .2s;display:none}.mobile-menu-btn:active{background:#ffffff1a;transform:scale(.95)}.mobile-nav-overlay{-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--glass-border);z-index:49;background:#0a0a0afa;height:calc(100vh - 65px);padding:40px 24px;display:none;position:fixed;inset:65px 0 0}.mobile-nav-links{flex-direction:column;justify-content:center;align-items:center;gap:32px;height:100%;display:flex}.mobile-nav-link{font-family:var(--font-display);color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border:none;width:fit-content;padding:8px 16px;font-size:28px;font-weight:600;transition:color .3s;position:relative}.mobile-nav-link:after{content:"";background-color:var(--cyan);width:0%;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--cyan)}.mobile-nav-link.active:after{width:100%}@media (width<=768px){.nav{padding:16px 24px}.nav.scrolled{padding:12px 24px}.desktop-only{display:none}.mobile-menu-btn{display:block}.mobile-nav-overlay{height:calc(100vh - 56px);display:block;top:56px}.brand{font-size:16px}}.section{z-index:2;max-width:980px;margin:0 auto;padding:100px 32px;position:relative}.section-heading{font-family:var(--font-display);color:var(--text-muted);margin:0 0 40px;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400;line-height:1.5}.hero{flex-direction:column;justify-content:center;align-items:center;max-width:980px;min-height:100vh;margin:0 auto;padding:0 32px;display:flex;position:relative}.graph-canvas{z-index:0;opacity:.7;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:700px;display:flex;position:relative}.hero-label{font-family:var(--font-mono);color:var(--cyan);text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px;font-size:14px;font-weight:600;animation:.8s both fadeUp}.hero-title{margin:0 0 20px;animation:.8s .1s both fadeUp}.hero-name{font-family:var(--font-display);letter-spacing:-.03em;color:var(--cyan);font-size:clamp(3rem,10vw,6.5rem);font-weight:800;line-height:1.1;display:block}.hero-roles{flex-direction:column;gap:4px;margin-bottom:32px;animation:.8s .2s both fadeUp;display:flex}.role-item{color:#fff;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:600;line-height:1.2}.hero-description{color:var(--text-muted);max-width:600px;margin:0 auto 32px;font-size:16px;line-height:1.7;animation:.8s .3s both fadeUp}.hero-symbols{font-family:var(--font-mono);color:var(--cyan);opacity:.8;margin-bottom:32px;font-size:18px}.hero-actions{gap:16px;margin-bottom:48px;display:flex}.hero-btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:600;transition:all .3s}.hero-btn.primary{background:var(--cyan);color:#0a0a0a}.hero-btn.primary:hover{background:#34d399;transform:translateY(-2px)}.hero-btn.secondary{color:var(--text);border-color:var(--glass-border);background:0 0}.hero-btn.secondary:hover{border-color:var(--cyan);color:var(--cyan);background:#ffffff0d;transform:translateY(-2px)}.hero-socials{align-items:center;gap:24px;display:flex}.hero-socials a,.hero-mail-toggle{color:var(--text-muted);cursor:pointer;transition:color .3s}.hero-socials a:hover,.hero-mail-toggle:hover{color:var(--cyan)}.hero-email-text{font-family:var(--font-mono);font-size:14px}.scroll-hint{color:var(--text-dim);z-index:2;cursor:pointer;flex-direction:column;align-items:center;gap:8px;transition:color .3s;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%)}.scroll-hint:hover{color:var(--cyan)}.scroll-hint svg{animation:2s ease-in-out infinite bob}.about-content{max-width:680px;margin-bottom:48px}.about-text{color:var(--text-muted);margin-bottom:20px;font-size:16px;line-height:1.8}.about-text:last-child{margin-bottom:0}.about-text strong{color:var(--text);font-weight:500}.highlights-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:40px;display:grid}.highlight-card{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:12px;padding:28px;transition:all .3s cubic-bezier(.16,1,.3,1)}.highlight-card:hover{border-color:var(--glass-border-hover);background:#ffffff08;transform:translateY(-4px)}.highlight-icon{width:40px;height:40px;color:var(--cyan);background:#5eead41a;border-radius:8px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.highlight-title{color:var(--text);letter-spacing:-.01em;margin:0 0 10px;font-size:17px;font-weight:600}.highlight-desc{color:var(--text-muted);margin:0;font-size:14px;line-height:1.6}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{border-top:1px solid var(--glass-border);border-radius:8px;grid-template-columns:200px 1fr;gap:40px;padding:32px 20px;transition:all .3s cubic-bezier(.16,1,.3,1);display:grid}.timeline-item:hover{background:#ffffff05;border-color:#5eead44d;transform:translate(10px)}.timeline-item:last-child{border-bottom:1px solid var(--glass-border)}.timeline-org{font-family:var(--font-display);color:var(--text);font-size:16px;font-weight:600}.role-block{margin-bottom:24px}.role-block:last-child{margin-bottom:0}.role-title-row{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.role-title{color:var(--text);font-size:15px;font-weight:600}.role-date{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.current-pill{font-family:var(--font-mono);color:var(--cyan);letter-spacing:.03em;background:#5eead40d;border:1px solid #5eead440;border-radius:100px;padding:3px 8px;font-size:10px}.role-bullets{color:var(--text-muted);margin:0;padding-left:20px;font-size:14px;line-height:1.7;list-style:outside}.role-bullets li{margin-bottom:6px}.education-list{flex-direction:column;gap:24px;margin-bottom:48px;display:flex}.education-item{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:12px;gap:24px;padding:28px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.education-item:hover{border-color:var(--glass-border-hover);background:#ffffff08;transform:translateY(-4px);box-shadow:0 10px 30px -10px #5eead426}.education-icon{width:48px;height:48px;color:var(--cyan);background:#5eead41a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.education-content{flex:1}.education-degree{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin:0 0 8px;font-size:20px;font-weight:600}.education-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.education-institution{color:var(--text-muted);font-size:15px;font-weight:500}.education-date{font-family:var(--font-mono);color:var(--text-dim);font-size:13px}.education-details{color:var(--text-muted);margin:0;padding-left:20px;font-size:14px;line-height:1.7;list-style:outside}.education-details li{margin-bottom:6px}.subsection-heading{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin:0 0 24px;font-size:1.5rem;font-weight:600}.project-list{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.project-item{background:0 0;border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;height:100%;padding:40px;transition:all .3s;display:flex;position:relative}.project-item:hover{background:#ffffff05;border-color:#ffffff26}.project-header{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.project-name{font-family:var(--font-display);letter-spacing:-.01em;color:#fff;margin:0;font-size:24px;font-weight:500;transition:color .3s}.project-item:hover .project-name{color:#f4f4f5}.project-tag{font-family:var(--font-mono);color:var(--violet);letter-spacing:.03em;text-transform:uppercase;background:#a78bfa1a;border:1px solid #a78bfa33;border-radius:6px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:500}.project-desc{color:var(--text-muted);margin-bottom:16px;font-size:14px;line-height:1.7}.project-bullets{color:var(--text-muted);flex-grow:1;margin:0 0 20px;padding-left:20px;font-size:13px;line-height:1.7;list-style:outside}.project-bullets li{margin-bottom:8px}.tag-row{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.skills-list{flex-direction:column;gap:48px;display:flex}.skill-category{flex-direction:column;gap:16px;display:flex}.skill-category-label{font-family:var(--font-mono);color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:14px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:12px;display:flex}.skill-tag{font-family:var(--font-body);color:var(--text);background:#0a0a0a66;border:1px solid #1d4ed866;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-block}.skill-tag:hover{background:#3b82f61a;border-color:#3b82f6cc;transform:translateY(-2px)}.cert-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;display:grid}.cert-card{align-items:flex-start;gap:14px;padding:22px;display:flex}.cert-name{color:var(--text);margin-bottom:4px;font-size:13.5px;font-weight:500;line-height:1.4}.cert-meta{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.contact-section{max-width:980px;margin-left:auto;margin-right:auto}.contact-text{color:var(--text-muted);max-width:680px;margin-bottom:40px;font-size:16px;line-height:1.7}.contact-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.contact-card{border:1px solid var(--glass-border);background:var(--glass-bg);text-align:left;border-radius:8px;flex-direction:row;justify-content:flex-start;align-items:center;gap:16px;min-height:80px;padding:20px 24px;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.contact-card:hover{border-color:var(--glass-border-hover);background:#ffffff0a;box-shadow:0 10px 30px -10px #1d4ed833}.contact-card-icon{color:var(--text-muted);justify-content:center;align-items:center;transition:color .3s;display:flex}.contact-card:hover .contact-card-icon{color:var(--cyan)}.contact-card-content{flex-direction:column;width:100%;display:flex;overflow:hidden}.contact-card-title{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:12px;font-weight:600;display:block;overflow:hidden}.contact-card-subtitle{font-family:var(--font-mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.footer{border-top:1px solid var(--glass-border);max-width:980px;color:var(--text-dim);text-align:center;margin:80px auto 0;padding:32px;font-size:13px}.cache-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.cache-card{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:20px;flex-direction:column;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.cache-card:hover{border-color:#ffffff26;transform:translateY(-4px)}.cache-card.is-large{grid-column:span 2}.cache-card-visual{border-bottom:1px solid var(--glass-border);background:#0003;width:100%;height:320px;position:relative;overflow:hidden}.cache-image{object-fit:contain;object-position:center;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.cache-card:hover .cache-image{transform:scale(1.05)}.cache-card-content{flex-direction:column;flex-grow:1;padding:32px;display:flex}.cache-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.cache-card-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:24px;font-weight:600}.cache-card-tag{font-family:var(--font-mono);color:var(--text);background:#ffffff1a;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500}.cache-card-desc{color:var(--text-muted);flex-grow:1;margin-bottom:24px;font-size:15px;line-height:1.6}@media (width>=1025px){.cache-card.is-large{flex-direction:row;align-items:stretch}.cache-card.is-large .cache-card-visual{border-bottom:none;border-right:1px solid var(--glass-border);width:55%;height:auto;min-height:360px}.cache-card.is-large .cache-card-content{justify-content:center;width:45%}}@media (width<=1024px){.cache-grid{grid-template-columns:1fr}.cache-card.is-large{grid-column:span 1}}@media (width<=768px){.cache-grid{grid-template-columns:1fr}.cache-card.is-large{grid-column:span 1}}@media (width<=1024px){.project-list{grid-template-columns:1fr}}@media (width<=768px){.section{padding:64px 20px}.section-label{font-size:clamp(2rem,8vw,2.5rem)}.section-heading{font-size:clamp(1.6rem,6vw,2.2rem)}.hero-name{font-size:clamp(2.4rem,10vw,3rem)}.hero-buttons{flex-direction:column;width:100%}.hero-btn{justify-content:center;width:100%;padding:16px 24px;font-size:15px}.hero-socials{justify-content:center;width:100%}.project-card,.highlight-card,.contact-card{background:#ffffff0a;border-radius:16px}.project-content{padding:24px}.role-item{text-align:center;font-size:1.1rem}.hero-actions{flex-direction:column;align-items:center;width:100%}.hero-btn{width:100%;max-width:300px}.hero-socials{gap:20px}.scroll-hint{bottom:32px}.highlights-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:16px}.education-item{flex-direction:column;padding:24px}.education-icon{width:40px;height:40px}.project-content-wrapper{padding:24px}.project-header{flex-direction:column;align-items:flex-start}.contact-grid{grid-template-columns:1fr}}@media (width<=480px){.section-heading{font-size:1.1rem}.hero-label{font-size:13px}.hero-description{font-size:14px}.section-label{font-size:2rem}.education-degree{font-size:17px}.subsection-heading{font-size:1.2rem}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #5eead41a}50%{box-shadow:0 0 30px #5eead433}}@media (prefers-reduced-motion:reduce){.eyebrow,.hero-title,.hero-sub,.hero-actions,.hero-stats,.scroll-hint svg{animation:none!important}.reveal-section,.stagger-item{opacity:1!important;transition:none!important;transform:none!important}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
