*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,Lato,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#7877c680,#ff77c680);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#7877c6cc,#ff77c6cc)}::selection{background:#7877c64d;color:#fff}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(-45deg,#0f0f23,#1a1a2e,#16213e,#0f3460);background-size:400% 400%;animation:gradientShift 3s ease infinite;display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease}.loading-screen.fade-out{opacity:0}.loader-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px}.loader-ring{width:80px;height:80px;border:3px solid transparent;border-top:3px solid rgba(120,119,198,.8);border-radius:50%;position:absolute;animation:spin 1.5s linear infinite}.loader-ring:nth-child(2){width:100px;height:100px;border-top-color:#ff77c699;animation-duration:2s;animation-direction:reverse}.loader-ring:nth-child(3){width:120px;height:120px;border-top-color:#78dbe266;animation-duration:2.5s}.loader-text{margin-top:80px;color:#fffc;font-family:Inter,sans-serif;font-size:1.2rem;font-weight:300;letter-spacing:2px;animation:pulse 2s ease-in-out infinite}.particles-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:#fff9;border-radius:50%;animation:floatParticle 8s linear infinite}.particle:nth-child(1){left:10%;animation-delay:0s;animation-duration:8s}.particle:nth-child(2){left:20%;animation-delay:1s;animation-duration:10s}.particle:nth-child(3){left:30%;animation-delay:2s;animation-duration:12s}.particle:nth-child(4){left:40%;animation-delay:3s;animation-duration:9s}.particle:nth-child(5){left:50%;animation-delay:4s;animation-duration:11s}.particle:nth-child(6){left:60%;animation-delay:5s;animation-duration:8s}.particle:nth-child(7){left:70%;animation-delay:6s;animation-duration:13s}.particle:nth-child(8){left:80%;animation-delay:7s;animation-duration:10s}.particle:nth-child(9){left:90%;animation-delay:8s;animation-duration:9s}.particle:nth-child(10){left:95%;animation-delay:9s;animation-duration:14s}.container{display:flex;justify-content:center;align-items:center;height:100vh;font-family:Inter,Lato,sans-serif;padding:0 20px;background:linear-gradient(-45deg,#0f0f23,#1a1a2e,#16213e,#0f3460);background-size:400% 400%;animation:gradientShift 15s ease infinite;position:relative;overflow:hidden;opacity:0;transition:opacity 1s ease}.container.fade-in{opacity:1}.container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.15) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,226,.1) 0%,transparent 50%);animation:floatingLights 20s ease-in-out infinite}.container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.15),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.1),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.1),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.1),transparent),radial-gradient(2px 2px at 160px 30px,rgba(255,255,255,.1),transparent);background-repeat:repeat;background-size:200px 150px;animation:sparkle 25s linear infinite;pointer-events:none}.card-container{display:flex;width:832px;height:514px;background:#ffffff14;backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a;animation:slideIn 1s ease-out .5s both,cardFloat 6s ease-in-out infinite 2s;position:relative;z-index:1;transition:all .4s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d}.card-container:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 25px 80px #0006,inset 0 1px #fff3,0 0 40px #7877c626}.image{display:flex;justify-content:center;align-items:center;animation:fadeIn 1.5s ease-in-out 1s both;flex:1;padding:51px 51px 51px 30px;position:relative;min-height:100%}.image-container{position:relative;animation:imageEntrance 1.2s cubic-bezier(.175,.885,.32,1.275) 1.5s both;display:flex;align-items:center;justify-content:center}.image:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:linear-gradient(45deg,#7877c640,#ff77c640);animation:pulseRing 3s ease-in-out infinite 2s;z-index:-1;filter:blur(2px)}.profile-image{width:200px;height:200px;border-radius:50%;object-fit:cover;object-position:center;transition:all .5s cubic-bezier(.175,.885,.32,1.275);border:3px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d,0 4px 16px #7877c626;position:relative;z-index:2;filter:contrast(1.1) saturate(1.15) brightness(1.05) blur(0px)}.image-overlay{position:absolute;top:0;left:0;width:200px;height:200px;border-radius:50%;background:linear-gradient(45deg,#7877c60d,#ff77c60d);opacity:.7;transition:opacity .3s ease;z-index:3;mix-blend-mode:soft-light}.image-container:hover .profile-image{transform:scale(1.1) rotate(5deg);border-color:#7877c6cc;box-shadow:0 20px 60px #7877c666;filter:contrast(1.2) saturate(1.3) brightness(1.1) blur(0px)}.image-container:hover .image-overlay{opacity:1;background:linear-gradient(45deg,#7877c61a,#ff77c61a)}.descripcion{display:flex;justify-content:center;align-items:flex-start;flex-direction:column;flex:1.618;padding:51px 45px 51px 51px;text-align:left;color:#e8e8e8;position:relative;min-height:100%}.content-wrapper{animation:contentSlideIn 1s ease-out .8s both;width:100%;max-width:100%;display:flex;flex-direction:column;height:100%;justify-content:space-between}.descripcion:before{content:"";position:absolute;top:51px;left:0;width:4px;height:60px;background:linear-gradient(to bottom,#7877c6cc,#ff77c6cc);border-radius:2px;animation:slideDown 1.2s ease-out 1.2s both}.name-title{font-weight:700;font-size:2.375rem;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.5);margin-bottom:12px;background:linear-gradient(135deg,#fff,#e0e0e0,#fff);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textGlow 2s ease-in-out infinite alternate,shimmer 3s linear infinite;line-height:1.2;margin-top:0}.position-title{line-height:1.5;font-weight:400;font-size:1rem;color:#7877c6e6;margin-bottom:32px;text-transform:uppercase;letter-spacing:1.5px;position:relative;animation:typewriter 2s steps(20) 1.5s both}.position-title:after{content:"";position:absolute;bottom:-12px;left:0;width:50px;height:2px;background:linear-gradient(to right,rgba(120,119,198,.8),transparent);animation:expandLine 1.5s ease-out 2s both}.about-text{padding-top:0;line-height:1.618;font-weight:300;font-size:1.025rem;color:#ffffffd9;width:100%;text-align:justify;animation:fadeInText 1s ease-out 2.2s both;flex-grow:1;margin-bottom:20px}.descripcion .icons{margin-top:0;display:flex;gap:25px;animation:iconsSlideUp 1s ease-out 2.5s both;align-self:flex-start}.social-link{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;color:#ffffffb3;font-size:24px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;transform:translateY(20px);opacity:0}.social-link:nth-child(1){animation:iconSlideIn .6s ease-out 2.6s both}.social-link:nth-child(2){animation:iconSlideIn .6s ease-out 2.8s both}.social-link:nth-child(3){animation:iconSlideIn .6s ease-out 3s both}.social-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.social-link:hover:before{left:100%}.ripple-effect{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);pointer-events:none}.ripple-effect.animate{animation:ripple .6s linear}.social-link:hover{transform:translateY(-8px) scale(1.1);color:#fff;background:#7877c633;border-color:#7877c680;box-shadow:0 10px 30px #7877c64d}.social-link.linkedin:hover{background:#0077b533;border-color:#0077b580;box-shadow:0 10px 30px #0077b54d}.social-link.github:hover{background:#58a6ff33;border-color:#58a6ff80;box-shadow:0 10px 30px #58a6ff4d}.social-link.resume:hover{background:#ffc10733;border-color:#ffc10780;box-shadow:0 10px 30px #ffc1074d}.tooltip-text{position:absolute;top:-55px;left:50%;transform:translate(-50%);z-index:10;white-space:nowrap;color:#fff;font-size:12px;font-weight:500;background:#000000e6;backdrop-filter:blur(15px);border-radius:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 30px #0006;font-family:Inter,sans-serif}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}#fade{opacity:0;transform:translate(-50%) translateY(-15px) scale(.8);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.hover-text:hover #fade{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.hover-text{position:relative;display:inline-block;font-family:Inter,sans-serif;font-weight:300}@media (max-width: 900px){.card-container{width:720px;height:445px}.descripcion{padding:44px 35px}.name-title{font-size:2.1rem}.profile-image{width:175px;height:175px}.image:before{width:210px;height:210px}}@media (max-width: 768px){.container{height:100vh;padding:20px}.card-container{flex-direction:column-reverse;width:400px;height:648px;margin:0}.image{flex:1;padding:30px 20px 25px;justify-content:center}.image:before{width:156px;height:156px}.image img,.profile-image,.image-overlay{width:130px;height:130px}.descripcion{flex:1.618;padding:35px 30px 40px;align-items:center;text-align:center}.descripcion:before{display:none}.content-wrapper{max-width:100%;align-items:center;text-align:center}.name-title{font-size:1.8rem;text-align:center}.position-title{font-size:.9rem;text-align:center;margin-bottom:28px}.position-title:after{left:50%;transform:translate(-50%);width:40px}.about-text{font-size:.95rem;text-align:center;line-height:1.618;margin-bottom:25px}.descripcion .icons{margin-top:0;gap:20px;justify-content:center;align-self:center}.social-link{width:44px;height:44px;font-size:20px}}@media (max-width: 480px){.container{padding:15px}.card-container{width:340px;height:550px}.descripcion{padding:20px 25px 30px}.name-title{font-size:1.6rem}.position-title{font-size:.85rem}.about-text{font-size:.9rem}.image{padding:25px 15px 15px}.image:before{width:140px;height:140px}.image img,.profile-image,.image-overlay{width:115px;height:115px}.social-link{width:40px;height:40px;font-size:18px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes floatParticle{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-10vh) rotate(180deg);opacity:0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatingLights{0%,to{opacity:.5;transform:translateY(0) rotate(0)}50%{opacity:.8;transform:translateY(-20px) rotate(180deg)}}@keyframes sparkle{0%{transform:translate(0) translateY(0)}to{transform:translate(-200px) translateY(-150px)}}@keyframes pulseRing{0%{transform:scale(.8);opacity:.8}50%{transform:scale(1.2);opacity:.3}to{transform:scale(.8);opacity:.8}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes textGlow{0%{text-shadow:2px 2px 8px rgba(0,0,0,.5)}to{text-shadow:2px 2px 8px rgba(0,0,0,.5),0 0 20px rgba(120,119,198,.3)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes typewriter{0%{width:0;border-right:3px solid rgba(120,119,198,.8)}to{width:100%;border-right:none}}@keyframes slideDown{0%{height:0;opacity:0}to{height:60px;opacity:1}}@keyframes expandLine{0%{width:0;opacity:0}to{width:50px;opacity:1}}@keyframes contentSlideIn{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInText{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes imageEntrance{0%{transform:scale(.3) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes iconsSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes iconSlideIn{0%{transform:translateY(20px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes ripple{to{transform:scale(4);opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{transform:translateY(100px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
