:root{--teal:#00ffd5;--teal-dim:rgba(0,255,213,.15);--teal-glow:rgba(0,255,213,.4);--bg1:#060d12;--bg2:#0b1820;--text:#e8f0f5;--muted:#94b4c4;--body:#b8cfd8}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}h1,h2,h3{font-family:Syne,sans-serif;font-weight:800}body{font-family:Inter,sans-serif;background:var(--bg1);color:var(--text);overflow-x:hidden;cursor:none;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;font-weight:400}#cursor-dot-wrapper,#cursor-ring-wrapper{position:fixed;top:0;left:0;pointer-events:none}#cursor-dot-wrapper{z-index:9999}#cursor-ring-wrapper{z-index:9998}#cursor-dot-inner{width:8px;height:8px;background:var(--teal);border-radius:50%;transition:transform .15s ease;box-shadow:0 0 12px var(--teal)}#cursor-dot-inner,#cursor-ring-inner{transform:translate(-50%,-50%) scale(1)}#cursor-ring-inner{width:36px;height:36px;border:1.5px solid var(--teal-glow);border-radius:50%;transition:transform .18s ease,border-color .18s ease}#tsparticles{position:fixed;width:100%;height:100%;z-index:0}.reveal{opacity:0;transform:translateY(48px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-left.visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(50px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-right.visible{opacity:1;transform:translateX(0)}.stagger>*{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.stagger.visible>:first-child{opacity:1;transform:none;transition-delay:.05s}.stagger.visible>:nth-child(2){opacity:1;transform:none;transition-delay:.15s}.stagger.visible>:nth-child(3){opacity:1;transform:none;transition-delay:.25s}.stagger.visible>:nth-child(4){opacity:1;transform:none;transition-delay:.35s}.stagger.visible>:nth-child(5){opacity:1;transform:none;transition-delay:.45s}.stagger.visible>:nth-child(6){opacity:1;transform:none;transition-delay:.55s}.stagger.visible>:nth-child(7){opacity:1;transform:none;transition-delay:.65s}.stagger.visible>:nth-child(8){opacity:1;transform:none;transition-delay:.7s}.navbar{position:fixed;width:100%;top:0;left:0;display:flex;justify-content:space-between;align-items:center;padding:18px 40px;background:rgba(6,13,18,.75);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,255,213,.06);z-index:100;transition:padding .3s}.navbar.scrolled{padding:12px 40px}.logo{font-size:22px;font-weight:800;color:var(--teal);letter-spacing:.5px}.logo span{color:#fff}.navbar ul{display:flex;list-style:none;gap:4px}.nav-link{position:relative;padding:7px 16px;border-radius:20px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.3px;transition:color .2s,background .2s}.nav-link:hover{color:var(--teal);background:var(--teal-dim)}.nav-link.active{color:var(--teal);background:rgba(0,255,213,.1);box-shadow:0 0 12px rgba(0,255,213,.25)}.nav-link.active:after{content:"";position:absolute;inset:0;border-radius:20px;border:1px solid rgba(0,255,213,.35);pointer-events:none}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:100px 80px 80px;z-index:1}.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:60px;max-width:1400px;margin:0 auto;width:100%}.hero-text{flex:1 1;min-width:0}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;margin-bottom:24px;background:rgba(0,255,213,.07);border:1px solid rgba(0,255,213,.25);font-size:12px;color:#b8cfd8;font-family:Inter,sans-serif;font-weight:500;letter-spacing:.3px;opacity:0;animation:fadeUp .8s ease 0s forwards}.hero-badge-dot{width:8px;height:8px;border-radius:50%;background:#00ffd5;box-shadow:0 0 8px #00ffd5;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.hero-eyebrow{font-family:Space Mono,monospace;font-size:13px;color:var(--teal);letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;opacity:0;animation:fadeUp .8s ease .15s forwards}.hero h1{font-size:clamp(40px,5vw,68px);font-weight:800;line-height:1.08;opacity:0;animation:fadeUp .8s ease .35s forwards}.hero h1 .accent{color:var(--teal)}.hero-role{margin-top:18px;font-size:clamp(17px,2vw,22px);font-weight:400;color:var(--muted);opacity:0;animation:fadeUp .8s ease .55s forwards;line-height:1.6}.hero-role b{color:#e2eef5;font-weight:700}.hero-desc{margin-top:20px;font-size:17px;color:#b8cfd8;line-height:1.8;font-weight:400;opacity:0;animation:fadeUp .8s ease .72s forwards;max-width:560px}.hero-location{margin-top:14px;font-size:14px;color:#6a8fa0;font-family:Space Mono,monospace;letter-spacing:.5px;opacity:0;animation:fadeUp .8s ease .85s forwards;display:flex;align-items:center;gap:6px}.hero-buttons{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease 1s forwards}.hero-visual{flex-shrink:0;position:relative;width:clamp(300px,35vw,500px);opacity:0;animation:fadeUp .9s ease .5s forwards}.hero-avatar-glow{position:absolute;inset:-20px;background:radial-gradient(ellipse at center,rgba(0,255,213,.12) 0,transparent 70%);border-radius:50%;pointer-events:none}.hero-avatar{width:100%;height:auto;border-radius:20px;filter:drop-shadow(0 0 40px rgba(0,255,213,.15));position:relative;z-index:1}.scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-family:Space Mono,monospace;opacity:0;animation:fadeUp 1s ease 1.5s forwards}.scroll-hint .line{width:1px;height:50px;background:linear-gradient(to bottom,var(--teal),transparent);animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.btn,.btn-outline{padding:13px 30px;border-radius:8px;font-family:Syne,sans-serif;font-weight:700;font-size:14px;letter-spacing:.5px;text-decoration:none;display:inline-block;transition:all .25s ease;position:relative;overflow:hidden}.btn{background:var(--teal);color:#040a0d}.btn:before{content:"";position:absolute;inset:0;background:#fff;opacity:0;transition:opacity .2s}.btn:hover:before{opacity:.12}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,255,213,.4)}.btn-outline{border:1.5px solid rgba(0,255,213,.5);color:var(--teal);background:transparent}.btn-outline:hover{background:var(--teal-dim);border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,255,213,.15)}section{position:relative;z-index:1;padding:100px 80px}.section-label{font-family:Space Mono,monospace;font-size:11px;color:var(--teal);letter-spacing:4px;text-transform:uppercase;margin-bottom:12px}section>h2{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:8px;text-align:center}.section-line{display:block;width:48px;height:3px;background:var(--teal);border-radius:2px;margin:14px auto 60px}.divider{width:100%;height:1px;position:relative;z-index:1;background:linear-gradient(90deg,transparent,rgba(0,255,213,.15),transparent)}.about-container{display:flex;align-items:center;gap:70px;max-width:1200px;margin:auto}.about-text{flex:1 1}.about-text h2{font-size:40px;font-weight:800;margin-bottom:24px}.about-text p{color:#b0cad6;line-height:1.9;margin-bottom:18px;font-size:17px;font-weight:400}.about-text strong{color:#e8f4f8}.resume-btn{margin-top:28px}.about-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px;margin-bottom:4px;font-size:13px;font-family:Space Mono,monospace;color:#6a8fa0;letter-spacing:.3px}.about-status{display:inline-flex;align-items:center;gap:7px;color:#9ab8c8}.about-status-dot{width:8px;height:8px;border-radius:50%;background:#00ffd5;box-shadow:0 0 8px #00ffd5;display:inline-block;animation:pulse 2s ease-in-out infinite}.terminal{flex:1 1;background:#040d12;border-radius:14px;border:1px solid rgba(0,255,213,.15);overflow:hidden;box-shadow:0 0 60px rgba(0,255,213,.08),0 24px 60px rgba(0,0,0,.5)}.terminal-header{background:#060f15;padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(0,255,213,.08)}.dot{width:11px;height:11px;border-radius:50%}.red{background:#ff5f56}.yellow{background:#ffbd2e}.green{background:#27c93f}.terminal-title{margin-left:10px;font-size:12px;color:#4a6070}.terminal-body,.terminal-title{font-family:Space Mono,monospace}.terminal-body{padding:24px;font-size:13px;line-height:2}.cmd{color:var(--teal)}.terminal-body p{margin:0;color:#7a9aaa}.cursor{color:var(--teal);animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.skills{background:rgba(11,24,32,.6)}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px;max-width:1200px;margin:auto}.skill-card{background:hsla(0,0%,100%,.03);padding:26px;border-radius:14px;border:1px solid rgba(0,255,213,.07);transition:transform .3s ease,border-color .3s,box-shadow .3s}.skill-card:hover{transform:translateY(-8px) scale(1.01);border-color:rgba(0,255,213,.35);box-shadow:0 16px 40px rgba(0,255,213,.1)}.skill-card h3{font-family:Space Mono,monospace;font-size:12px;color:var(--teal);margin-bottom:16px;letter-spacing:1px}.tags span{display:inline-block;padding:5px 12px;margin:4px;border-radius:6px;font-size:12px;background:rgba(0,255,213,.06);border:1px solid rgba(0,255,213,.15);color:#8ab8c8;transition:background .2s,color .2s}.skill-card:hover .tags span{background:rgba(0,255,213,.1);color:var(--teal)}.projects-inner{max-width:1200px;margin:auto}.project-card-advanced{background:rgba(8,20,28,.9);border:1px solid rgba(0,255,213,.08);margin-bottom:32px;border-radius:16px;text-align:left;position:relative;overflow:hidden;transition:transform .3s ease,border-color .3s,box-shadow .3s}.project-card-advanced:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--teal),transparent);border-radius:16px 0 0 16px;opacity:0;transition:opacity .3s;z-index:2}.project-card-advanced:hover:before{opacity:1}.project-card-advanced:hover{transform:translateY(-6px);border-color:rgba(0,255,213,.3);box-shadow:0 20px 50px rgba(0,255,213,.1)}.project-cover-wrapper{width:100%;background:radial-gradient(circle at center,rgba(0,255,213,.08) 0,#060f15 100%);border-bottom:1px solid rgba(0,255,213,.08);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.project-cover-bot{height:450px}.project-cover-bot .project-cover-img{height:100%}.project-cover-img{width:100%;height:auto;object-fit:cover;object-position:top center;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.8),0 0 0 1px rgba(0,255,213,.15);transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-card-advanced:hover .project-cover-img{transform:scale(1.03) translateY(-4px)}.project-content{padding:32px}.project-meta{font-family:Space Mono,monospace;font-size:11px;color:#6a8fa0;margin-bottom:12px;letter-spacing:1.5px;font-weight:700}.project-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.project-header h3{font-family:Inter,sans-serif;font-size:26px;font-weight:700;margin:0;letter-spacing:-.3px}.badge{padding:4px 10px;background:rgba(255,170,0,.1);border:1px solid rgba(255,170,0,.5);color:#fa0;font-size:10px;font-family:Space Mono,monospace;border-radius:6px;letter-spacing:1px;white-space:nowrap}.project-description{color:#b0cad6;font-size:17px;line-height:1.85;margin-bottom:28px;font-weight:400}.project-section{margin-bottom:22px}.project-section h4{font-size:11px;font-family:Space Mono,monospace;color:var(--teal);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;font-weight:700}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:0}.project-tags span{display:inline-block;padding:5px 12px;border-radius:6px;font-size:11px;font-family:Space Mono,monospace;background:rgba(0,255,213,.06);border:1px solid rgba(0,255,213,.15);color:var(--teal)}.project-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:6px 16px;gap:6px 16px}.project-list li{font-size:15.5px;color:#b0cad6;line-height:1.65;padding-left:18px;position:relative;font-weight:400}.project-list li:before{content:"▸";position:absolute;left:0;color:var(--teal);font-size:11px;top:2px}.project-info{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:22px;padding:16px 20px;background:rgba(0,255,213,.03);border:1px solid rgba(0,255,213,.07);border-radius:10px}.project-info>div{display:flex;flex-direction:column;gap:4px}.project-info span{font-size:10px;font-family:Space Mono,monospace;color:#6a8fa0;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}.project-info strong{font-size:15px;color:#e8f0f5;font-weight:600}.project-footer{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.project-btn{padding:9px 20px;border:1px solid rgba(0,255,213,.35);color:var(--teal);text-decoration:none;border-radius:8px;font-size:13px;font-weight:700;font-family:Syne,sans-serif;transition:all .2s;display:inline-block}.project-btn:hover{background:rgba(0,255,213,.1);transform:translateY(-2px)}.project-btn.primary{background:var(--teal);color:#040a0d;border-color:var(--teal)}.project-btn.primary:hover{background:#00e8c0;box-shadow:0 6px 20px rgba(0,255,213,.4)}.project-collapsible{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,1,.36,1),opacity .35s ease;opacity:0}.project-collapsible.expanded{max-height:2500px;opacity:1;border-top:1px dashed rgba(0,255,213,.15);padding-top:24px;margin-top:24px}.project-btn-toggle{padding:9px 20px;border:1px dashed rgba(0,255,213,.4);background:transparent;color:var(--teal);border-radius:8px;font-size:13px;font-weight:700;font-family:Syne,sans-serif;transition:all .2s ease;display:inline-block}.project-btn-toggle:hover{background:rgba(0,255,213,.08);border-style:solid;border-color:var(--teal);transform:translateY(-2px)}.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px;margin-top:4px}.gallery-image{width:100%;border-radius:8px;object-fit:cover;aspect-ratio:16/9;border:1px solid rgba(0,255,213,.08);background:#060f15;transition:transform .25s,border-color .25s,box-shadow .25s;cursor:pointer}.gallery-image:hover{transform:scale(1.04);border-color:rgba(0,255,213,.4);box-shadow:0 8px 24px rgba(0,255,213,.15)}.lightbox-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:20px;animation:lbFadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:90vw;max-height:88vh;border-radius:12px;box-shadow:0 0 80px rgba(0,255,213,.2),0 40px 80px rgba(0,0,0,.8);border:1px solid rgba(0,255,213,.2);object-fit:contain;animation:lbZoomIn .22s cubic-bezier(.22,1,.36,1)}@keyframes lbZoomIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-close{position:fixed;top:20px;right:28px;width:44px;height:44px;border-radius:50%;background:rgba(0,255,213,.1);border:1px solid rgba(0,255,213,.35);color:var(--teal);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s;z-index:9001}.lightbox-close:hover{background:rgba(0,255,213,.25);transform:scale(1.1)}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:rgba(0,255,213,.1);border:1px solid rgba(0,255,213,.35);color:var(--teal);font-size:32px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s;z-index:9002;padding-bottom:4px}.lightbox-nav:hover{background:rgba(0,255,213,.25);transform:translateY(-50%) scale(1.1)}.lightbox-nav.prev{left:30px}.lightbox-nav.next{right:30px}.project-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.datasets{background:rgba(11,24,32,.6)}.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px;max-width:1200px;margin:auto}.dataset-card{background:rgba(8,20,28,.9);border:1px solid rgba(0,255,213,.08);padding:28px 28px 28px 36px;border-radius:16px;text-align:left;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.dataset-card:before{content:"";position:absolute;left:0;top:15%;height:70%;width:3px;background:var(--teal);border-radius:2px;transform:scaleY(0);transform-origin:center;transition:transform .35s ease}.dataset-card:hover:before{transform:scaleY(1)}.dataset-card:hover{transform:translateY(-7px);border-color:rgba(0,255,213,.3);box-shadow:0 16px 40px rgba(0,255,213,.1)}.dataset-card h3{color:#e8f0f5;font-size:20px;font-weight:700;margin-bottom:12px}.dataset-card p{color:#b0cad6;font-size:16px;line-height:1.8;font-weight:400}.contact-inner{max-width:560px;margin:auto}form{display:flex;flex-direction:column;gap:14px;margin-bottom:40px}input,textarea{padding:14px 16px;background:hsla(0,0%,100%,.04);border:1px solid rgba(0,255,213,.1);border-radius:10px;color:#fff;font-family:Inter,sans-serif;font-size:15px;outline:none;transition:border-color .25s,background .25s,box-shadow .25s}input:focus,textarea:focus{border-color:rgba(0,255,213,.5);background:rgba(0,255,213,.04);box-shadow:0 0 0 3px rgba(0,255,213,.08)}input::placeholder,textarea::placeholder{color:#5a7888;font-size:15px}textarea{min-height:130px;resize:vertical}button.btn{width:100%;border:none;font-size:15px;cursor:none}.contact-links{gap:18px}.contact-links,.icon-btn{display:flex;justify-content:center}.icon-btn{width:52px;height:52px;border-radius:50%;align-items:center;font-size:20px;color:#fff;text-decoration:none;transition:transform .25s,box-shadow .25s}.icon-btn.email{background:#1a2636;border:1px solid rgba(0,255,213,.25);color:var(--teal)}.icon-btn.github{background:#161b22;border:1px solid #30363d}.icon-btn.linkedin{background:#0a66c2}.icon-btn.phone{background:var(--teal);color:#040a0d}.icon-btn:hover{transform:translateY(-5px) scale(1.08);box-shadow:0 10px 25px rgba(0,255,213,.3)}footer{text-align:center;padding:30px;font-family:Space Mono,monospace;font-size:11px;color:#2a4050;position:relative;z-index:1;letter-spacing:1px}@media (max-width:1100px){.hero-inner{gap:40px}.hero-visual{width:clamp(260px,30vw,400px)}}@media (max-width:900px){section{padding:80px 24px}.hero{padding:80px 24px 60px}.hero-inner{flex-direction:column-reverse;gap:40px;align-items:flex-start}.hero-visual{width:100%;max-width:360px;align-self:center}.about-container{flex-direction:column}.project-side{position:static;flex-direction:row;margin-top:20px;justify-content:flex-start}.navbar{padding:16px 20px}.navbar ul{gap:0}.nav-link{padding:6px 10px;font-size:12px}body{cursor:auto}#cursor-dot,#cursor-ring{display:none}}