body,section{position:relative}.nav-link.active,.nav-link:hover,.navbar-brand{color:var(--primary)!important}.dot-nav-item .dot,body{background:var(--light)}.hero,section{min-height:100vh;display:flex}.dot-nav,.hero,section{display:flex}.btn,.skill-tag{will-change:transform}.hero-content h1,.stat-number{-webkit-text-fill-color:transparent}body,html{scroll-behavior:smooth}:root{--primary:#2563eb;--primary-dark:#1e40af;--primary-light:#60a5fa;--secondary:#0891b2;--dark:#1e293b;--light:#f8fafc;--text:#1e293b;--text-light:#64748b;--gradient-1:linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);--gradient-2:linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);--gradient-3:linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--transition-smooth:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);--transition-bounce:all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);overflow-x:hidden;animation:.5s ease-in fadeIn}section{align-items:center;justify-content:center;padding:100px 0;scroll-margin-top:100px}footer{position:absolute;bottom:0;width:100%}@media (min-width:768px){body{scroll-snap-type:y proximity;overscroll-behavior-y:contain}section{scroll-snap-align:center;scroll-snap-stop:normal}}.bg-shapes{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;pointer-events:none}.shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:20s ease-in-out infinite float}.dot-nav,.navbar.scrolled{opacity:0;pointer-events:none}.shape-1{width:400px;height:400px;background:var(--gradient-1);top:-100px;left:-100px;animation-delay:0s}.shape-2{width:500px;height:500px;background:var(--gradient-2);top:50%;right:-150px;animation-delay:7s;animation-duration:25s}.shape-3{width:350px;height:350px;background:var(--gradient-3);bottom:-100px;left:40%;animation-delay:14s;animation-duration:30s}@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}.navbar.scrolled{transform:translateY(-100%)}.navbar-brand{font-weight:800;font-size:1.5rem;transition:var(--transition-smooth)}.navbar-brand:hover{transform:scale(1.05)}.navbar-nav{position:relative}.nav-background-indicator{position:absolute;background-color:#dbeafe;border-radius:8px;transition:.4s cubic-bezier(.4, 0, .2, 1);pointer-events:none;z-index:0}.nav-link{font-weight:500;color:var(--text)!important;padding:.5rem 1rem!important;margin:0 .25rem;border-radius:8px;transition:color .3s;position:relative;overflow:hidden;background:0 0;z-index:1}.dot-nav{position:fixed;right:25px;top:50%;transform:translateY(-50%);flex-direction:column;gap:30px;z-index:1000;transition:opacity .4s cubic-bezier(.4, 0, .2, 1)}.btn,.dot-nav-item,.hero{position:relative}.btn,.skill-card{z-index:1;overflow:hidden}.dot-nav.visible{opacity:1;pointer-events:auto}.dot-nav-item{display:flex;align-items:center;justify-content:flex-end;cursor:pointer}.dot-nav-item .dot{width:16px;height:16px;border-radius:50%;transform:translateX(-50%);z-index:10;box-shadow:0 0 0 0 rgba(79,70,229,.7);border:4px solid var(--primary)}.dot-nav-item.active .dot{background:var(--primary)!important;box-shadow:0 0 0 4px rgba(37,99,235,.2);animation:2s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.7)}50%{box-shadow:0 0 0 10px rgba(37,99,235,0)}}.dot-nav-item .dot-label{position:absolute;right:35px;background:rgba(255,255,255,.95);color:var(--text);padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.9rem;white-space:nowrap;opacity:0;transform:translateX(10px);transition:.3s cubic-bezier(.4, 0, .2, 1);pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn,.keyword{font-weight:600}.dot-nav-item:hover .dot-label{opacity:1;transform:translateX(0);background:#fff;color:var(--dark)}.hero{align-items:center;padding:120px 0 80px}.hero-content h1{font-size:clamp(2.5rem, 8vw, 4rem);background:var(--gradient-1);-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;animation:3s ease-in-out infinite textShine}@keyframes textShine{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.fade-in-left{animation:1s cubic-bezier(.4,0,.2,1) fadeInLeft}.fade-in-right{animation:1s cubic-bezier(.4,0,.2,1) fadeInRight}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}.btn{padding:.75rem 2rem;border-radius:50px;transition:transform .3s cubic-bezier(.4, 0, .2, 1),box-shadow .3s cubic-bezier(.4, 0, .2, 1),background-color .3s cubic-bezier(.4, 0, .2, 1),color .3s cubic-bezier(.4, 0, .2, 1)}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .3s cubic-bezier(.4, 0, .2, 1),height .3s cubic-bezier(.4, 0, .2, 1);z-index:-1}.btn:hover::before{width:300px;height:300px}.btn-primary{background:var(--gradient-1);border:none;box-shadow:0 10px 30px rgba(37,99,235,.3);transition:.6s cubic-bezier(.4, 0, .2, 1)}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 40px rgba(37,99,235,.4)}.btn-primary:active{transform:translateY(-1px) scale(1.02)}.btn-outline-primary{border:2px solid var(--primary);color:var(--primary);background:0 0}.btn-outline-primary:hover{background:var(--primary);color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 10px 30px rgba(37,99,235,.3)}.btn-outline-primary:active{transform:translateY(-1px) scale(1.02);transition:transform .1s cubic-bezier(.4, 0, .2, 1)}.btn-light{transition:transform .3s cubic-bezier(.4, 0, .2, 1),box-shadow .3s cubic-bezier(.4, 0, .2, 1),background-color .3s cubic-bezier(.4, 0, .2, 1),color .3s cubic-bezier(.4, 0, .2, 1)}.code-card{background:#1e293b;border-radius:16px;overflow:hidden;transition:var(--transition-smooth);animation:6s ease-in-out infinite floatCard}@keyframes floatCard{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}.code-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.3)}.scroll-indicator,.scroll-indicator::before{position:absolute;left:50%;transform:translateX(-50%)}.code-preview{color:#e2e8f0;font-family:Monaco,'Courier New',monospace;font-size:.9rem;line-height:.75rem;overflow:hidden}.code-line{display:block;padding:.1rem 0;transition:background .3s}.keyword{color:#c792ea}.function{color:#82aaff}.string{color:#c3e88d}.scroll-indicator{bottom:30px;width:30px;height:50px;border:2px solid var(--primary);border-radius:25px;opacity:.8;animation:2s ease-in-out infinite scrollBounce;transition:opacity .4s cubic-bezier(.4, 0, .2, 1)}.skill-card,.stat-card{background:#fff;transform:translateY(50px) scale(.95)}.scroll-indicator::before{content:'';top:8px;width:6px;height:6px;background:var(--primary);border-radius:50%;animation:2s ease-in-out infinite scrollDot}@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}@keyframes scrollDot{0%,100%{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:.3;transform:translateX(-50%) translateY(15px)}}.skills,.timeline{padding:100px 0;position:relative}.skill-card{cursor:pointer;transition:.6s cubic-bezier(.4, 0, .2, 1);border-radius:16px;opacity:0;position:relative}.skill-card .card-body{position:relative;z-index:2;align-content:center}.skill-card.visible,.stat-card.visible{opacity:1;transform:translateY(0) scale(1)}.skill-card:hover{transform:translateY(-5px) scale(1.2);box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;z-index:10;position:relative}.skill-icon{font-size:3rem;color:var(--primary);margin-bottom:1rem;transition:var(--transition-bounce);font-weight:700;position:relative;z-index:999}.skill-card:hover .skill-icon{transform:scale(1.2) rotate(0)}.skill-card .card-title{text-align:center;z-index:999;position:relative}.skill-tags-container{position:absolute;top:5%;left:5%;width:90%;height:90%;pointer-events:none;z-index:1;opacity:0;transition:opacity .6s cubic-bezier(.4, 0, .2, 1)}.skill-card:hover .skill-tags-container{opacity:1}.skill-tag{position:absolute;color:var(--text-light);padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:500;opacity:0}.stat-card{transition:.6s cubic-bezier(.4, 0, .2, 1);border-radius:16px;opacity:0}.stat-card:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 15px 30px rgba(0,0,0,.15)}.stat-icon{font-size:2.5rem;color:var(--primary);margin-bottom:1rem;transition:var(--transition-bounce)}.stat-card:hover .stat-icon{transform:rotate(360deg) scale(1.2)}.stat-number{font-size:2.5rem;background:var(--gradient-1);-webkit-background-clip:text;background-clip:text}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--primary),transparent);transform:translateX(-50%)}.timeline-item{position:relative;margin-bottom:4rem;opacity:0;transform:translateX(-50px);transition:.7s cubic-bezier(.4, 0, .2, 1)}.timeline-dot,body.matrix-mode .timeline-dot{position:absolute;top:30px;width:20px;height:20px;transform:translateX(-50%);z-index:10;left:50%}.contact-card,.timeline-card{transition:var(--transition-smooth)}.timeline-item.visible,.timeline-item:nth-child(2n).visible{opacity:1;transform:translateX(0)}.timeline-item:nth-child(2n){transform:translateX(50px)}.timeline-dot{background:var(--primary);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 0 rgba(79,70,229,.7);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.7)}50%{box-shadow:0 0 0 10px rgba(37,99,235,0)}}.timeline-card{border-radius:16px;background:#fff;margin:0 auto;max-width:45%}.timeline-item:nth-child(odd) .timeline-card{margin-right:52%}.timeline-item:nth-child(2n) .timeline-card{margin-left:52%}.contact{padding:100px 0}.contact-card{background:var(--gradient-1);border-radius:24px;position:relative;overflow:hidden}.contact-card::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 70%);animation:10s linear infinite rotateGradient}@keyframes rotateGradient{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.contact-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(37,99,235,.4)}body.matrix-mode{background:#000;color:#0f0}body.matrix-mode *,body.matrix-mode .btn,body.matrix-mode .btn .bi{color:#0f0!important;-webkit-text-fill-color:#0f0!important}body.matrix-mode .card{background:rgba(0,20,0,.9)!important;border:1px solid #0f0!important}body.matrix-mode .navbar{background:rgba(0,20,0,.95)!important;border-bottom:1px solid #0f0!important;backdrop-filter:blur(10px)}body.matrix-mode .nav-background-indicator{background-color:rgba(0,255,0,.3)}body.matrix-mode .scroll-indicator::before,body.matrix-mode.navbar.scrolled .nav-link{background:#0f0!important}body.matrix-mode .navbar.scrolled .nav-link.active{background:#0f0!important;box-shadow:0 0 10px #0f0}body.matrix-mode .dot-nav-item .dot{background:#000!important;border-color:#0f0!important}body.matrix-mode .timeline-line{background:linear-gradient(to bottom,transparent,#0f0,transparent)}body.matrix-mode .dot-nav-item.active .dot{background:#0f0!important;box-shadow:0 0 0 4px rgba(0,255,0,.3);animation:2s ease-in-out infinite dotPulseGreen}@keyframes dotPulseGreen{0%,100%{box-shadow:0 0 0 4px rgba(0,255,0,.3)}50%{box-shadow:0 0 0 8px rgba(0,255,0,0)}}body.matrix-mode .dot-nav-item .dot-label{background:rgba(0,20,0,.95)!important;color:#0f0!important;border:1px solid #0f0}body.matrix-mode .btn-outline-primary:hover,body.matrix-mode .btn-primary{color:#000!important;background:#0f0!important}body.matrix-mode .btn-primary{box-shadow:0 10px 30px rgba(0,255,0,.5)}body.matrix-mode .btn-primary:hover{box-shadow:0 15px 40px rgba(0,255,0,.7)}body.matrix-mode .btn-outline-primary{border-color:#0f0!important;color:#0f0!important}body.matrix-mode .btn-light{background:rgba(0,255,0,.1)!important;border:1px solid #0f0!important;color:#0f0!important;-webkit-text-fill-color:#0f0!important}body.matrix-mode .btn-light:hover{background:#0f0!important;color:#0f0!important;-webkit-text-fill-color:#0f0!important}body.matrix-mode .shape{background:radial-gradient(circle,rgba(0,255,0,.3),transparent)!important;filter:blur(100px)}body.matrix-mode .code-card{background:rgba(0,30,0,.95)!important;border:1px solid #0f0!important}body.matrix-mode .badge{background:rgba(0,255,0,.2)!important;color:#0f0!important}body.matrix-mode .tagsAnimation .skill-tag{background:0 0!important;color:#0f0!important}body.matrix-mode .timeline-dot{background:#0f0!important;border-color:#000!important;background:var(--primary);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 0 rgba(0,255,0,.7);animation:2s ease-in-out infinite matrixPulse}@keyframes matrixPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,255,0,.7)}50%{box-shadow:0 0 0 10px rgba(0,255,0,0)}}body.matrix-mode .scroll-indicator{border-color:#0f0!important}body.matrix-mode footer{background:#000!important;border-top:1px solid #0f0}.matrix-rain{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.4}@media (max-width:991px){.navbar{display:none!important}.dot-nav{right:15px;gap:25px;opacity:1!important;pointer-events:auto!important}.dot-nav-item .dot{width:14px;height:14px}.dot-nav-item .dot-label{right:25px;font-size:.8rem;padding:.4rem .8rem}.container,section .container{padding-left:70px!important;padding-right:70px!important}.hero-visual{display:none}.timeline-dot,.timeline-line{left:20px}.timeline-card{max-width:100%;margin-left:60px!important;margin-right:0!important}.hero{padding:80px 0 60px}}@media (max-width:768px){.dot-nav{right:12px;gap:20px}.dot-nav-item .dot{width:12px;height:12px}.dot-nav-item .dot-label{right:22px}.container,section .container{padding-left:60px!important;padding-right:60px!important}.hero-content h1,.skill-icon{font-size:2.5rem}.code-preview{font-size:.75rem}.stat-number{font-size:2rem}}@media (max-width:576px){.dot-nav{right:20px;gap:18px}.dot-nav-item .dot{width:12px;height:12px}.dot-nav-item .dot-label{right:20px;font-size:.75rem;padding:.35rem .7rem}.container,section .container{padding-left:55px!important;padding-right:55px!important}.btn{padding:.6rem 1.5rem;font-size:.9rem}.timeline-card{margin-left:40px!important}.timeline-dot,.timeline-line{left:10px}.scroll-indicator{bottom:20px;width:25px;height:40px}}@supports (height:100dvh){.hero,section{min-height:100dvh}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.cursor-trail{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--primary);pointer-events:none;z-index:10000;opacity:0;transition:opacity .3s}.cursor-trail.active{opacity:.6;animation:1s ease-out forwards cursorPulse}@keyframes cursorPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(3);opacity:0}}.tagsAnimationWrapper{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6!important;z-index:10}.tagsAnimation{position:relative;width:100%;height:100%;overflow:hidden;perspective:1000px;perspective-origin:50% 50%}.tagsAnimation .skill-tag{position:absolute;top:50%;left:50%;transform-origin:center center;pointer-events:none;white-space:nowrap;font-weight:600;will-change:transform,filter,opacity}footer p.copy{font-size:.75rem;margin-bottom:0}