:root{--primary-gradient:linear-gradient(135deg, #6e8efb, #a777e3);--secondary-gradient:linear-gradient(135deg, #8e2de2, #4a00e0);--accent-gradient:linear-gradient(135deg, #11998e, #38ef7d);--dark-gradient:linear-gradient(135deg, #2b5876, #4e4376);--primary-color:#6e8efb;--primary-rgb:110,142,251;--primary-color-transparent-light:rgba(110, 142, 251, 0.05);--secondary-color:#a777e3;--text-color:#2d3748;--light-text:#f7fafc;--bg-color:#ffffff;--card-bg:rgba(255, 255, 255, 0.9);--glass-bg:rgba(255, 255, 255, 0.15);--glass-border:rgba(255, 255, 255, 0.2);--glass-shadow:rgba(0, 0, 0, 0.1);--font-heading:'Poppins',sans-serif;--font-body:'Raleway',sans-serif;--border-radius:12px;--card-shadow:0 10px 30px rgba(0, 0, 0, 0.1);--transition-speed:0.3s;--navbar-height:6rem;--breakpoint-sm:600px;--breakpoint-md:768px;--breakpoint-lg:1200px;--z-header:1000;--z-modal:2000;--z-tooltip:10000}*,::after,::before{box-sizing:border-box;margin:0;padding:0;transition:all var(--transition-speed) ease}html{scroll-behavior:smooth;font-size:62.5%;width:100%;overflow-x:hidden}body{font-family:var(--font-body);font-size:1.6rem;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden;width:100%;max-width:100%;background:linear-gradient(135deg,#2b5876,#4e4376)}.hide{display:none!important}.text-center{text-align:center!important}.mt-2{margin-top:2rem!important}.mb-2{margin-bottom:2rem!important}.pt-2{padding-top:2rem!important}.pb-2{padding-bottom:2rem!important}section{min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;padding-left:2rem;padding-right:2rem;padding-bottom:2rem;position:relative;overflow-x:hidden;box-sizing:border-box;background-clip:padding-box}section[id]{scroll-margin-top:var(--navbar-height);border-top:1px solid transparent}.container{width:90%;max-width:1200px;margin:0 auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h1{font-size:clamp(3.6rem, 5vw, 5rem);margin-bottom:3rem}h2{font-size:clamp(3rem, 4vw, 4rem);text-align:center}h3{font-size:clamp(2rem, 2.5vw, 2.5rem);margin:1.5rem 0 1rem}h4{font-size:clamp(1.8rem, 2vw, 2rem);margin:1rem 0 2rem}h5{font-size:clamp(1.6rem, 1.8vw, 1.8rem);margin-bottom:1.2rem}h6{font-size:clamp(1.4rem, 1.6vw, 1.6rem);margin-bottom:1rem}p{margin-bottom:1.5rem;font-size:clamp(1.5rem, 1.6vw, 1.6rem)}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}.btn{display:inline-block;padding:clamp(1rem,1.5vw,1.2rem) clamp(2rem,3vw,3rem);background:var(--primary-gradient);color:var(--light-text);border:none;border-radius:var(--border-radius);font-family:var(--font-heading);font-weight:500;font-size:clamp(1.4rem, 1.6vw, 1.6rem);text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:0 5px 15px rgba(110,142,251,.4);margin:0 auto 2rem;transition:background .3s,color .3s,box-shadow .3s,transform .2s;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--secondary-color);box-shadow:0 0 0 4px rgba(167,119,227,.2)}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(110,142,251,.6)}.btn-secondary{background:var(--secondary-gradient);box-shadow:0 5px 15px rgba(167,119,227,.4)}.btn-outline{background:0 0;border:2px solid var(--primary-color);color:var(--primary-color);box-shadow:none}.btn-outline:hover{background:var(--primary-gradient);color:var(--light-text);border-color:transparent}input:invalid,select:invalid,textarea:invalid{border-color:var(--secondary-color);background:rgba(167,119,227,.05)}input:valid,select:valid,textarea:valid{border-color:var(--primary-color);background:rgba(110,142,251,.03)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.form-message{font-size:1.4rem;margin-top:.5rem;margin-bottom:1rem;padding:1rem 1.5rem;border-radius:var(--border-radius);display:none}.form-message.error{background:#ffeaea;color:#c0392b;border:1px solid #e57373;display:block}.form-message.success{background:#eaffea;color:#27ae60;border:1px solid #81c784;display:block}.topheader{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);padding:1rem 0;backdrop-filter:blur(0px);height:var(--navbar-height)}.topheader.solid{background:var(--dark-gradient);backdrop-filter:blur(10px);box-shadow:0 5px 20px rgba(0,0,0,.1)}.topnav{display:flex;justify-content:space-between;align-items:center;padding:0 clamp(2rem,5vw,4rem);height:100%}.logo{width:clamp(15rem,20vw,20rem);z-index:1001}.logo img{width:80%}.menu{display:flex;list-style:none}.menu li{margin:0 1.5rem}.menu a{font-size:clamp(1.4rem, 1.6vw, 1.6rem);font-weight:500;color:var(--light-text);position:relative;padding:.5rem 0}.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent-gradient)}.menu a.selected::after,.menu a:hover::after{width:100%}.close-menu,.open-menu{display:none;background:0 0;border:none;cursor:pointer;font-size:2.4rem;color:var(--light-text);z-index:1001}.home{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;overflow:hidden;min-height:100vh}.home::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--dark-gradient);z-index:-2}.home::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("../img/cover-home-section.webp");background-size:cover;background-position:center;opacity:.2;z-index:-1}.image{width:clamp(18rem,25vw,22rem);height:clamp(18rem,25vw,22rem);margin-bottom:3rem;border-radius:50%;padding:.5rem;background:var(--primary-gradient);box-shadow:0 10px 30px rgba(0,0,0,.2);animation:float 6s ease-in-out infinite;overflow:hidden}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}100%{transform:translateY(0)}}.image img{border-radius:50%;width:100%;height:100%;object-fit:cover}.greeting{margin-bottom:4rem;width:100%;max-width:90%}.greeting p{font-size:clamp(2.4rem, 3.6vw, 3.6rem);font-weight:300;color:var(--light-text)}.greeting .typed{font-weight:700;color:var(--primary-color);text-shadow:0 2px 10px rgba(110,142,251,.4);white-space:normal;overflow:visible}.typed-cursor{color:var(--primary-color);display:inline}#sobre-mi{position:relative;background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%)}.about-container{width:100%;padding:2rem;text-align:center}.about-image-container{padding:2rem;display:none}.about-image{max-width:100%;border-radius:var(--border-radius);box-shadow:var(--card-shadow);transform:perspective(1000px) rotateY(-15deg)}.about-image:hover{transform:perspective(1000px) rotateY(0)}.description p{font-size:clamp(1.5rem, 1.6vw, 1.6rem);line-height:1.8;color:var(--text-color);margin-bottom:1.5rem}#servicios{position:relative;background:var(--bg-color);text-align:center;width:100%;padding-top:3rem;padding-bottom:4rem}.services-container{display:flex;flex-direction:column;justify-content:center;gap:2rem;margin-top:2rem}.services-title{margin-bottom:2.5rem}.services-title .subtitle{font-family:var(--font-heading);font-size:clamp(1.6rem, 1.8vw, 1.8rem);text-align:center;margin-top:1rem;margin-bottom:4rem;color:var(--secondary-color);opacity:.9}.card{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--card-shadow);padding:3rem;width:100%;max-width:35rem;text-align:center;position:relative;z-index:1;overflow:hidden;margin:0 auto 3rem}.card::before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;background:var(--primary-gradient);z-index:-1}.card:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.2)}.card:hover::before{height:100%;opacity:.05}.card .icon{width:clamp(6rem,8vw,8rem);height:clamp(6rem,8vw,8rem);margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;background:var(--primary-gradient);border-radius:50%;box-shadow:0 8px 20px rgba(110,142,251,.3)}.card .icon i{font-size:clamp(2.2rem, 2.8vw, 2.8rem);color:#fff}.card:hover .icon{transform:translateY(-10px) scale(1.05);box-shadow:0 15px 30px rgba(110,142,251,.5)}.card .title-card{font-size:clamp(1.8rem, 2.2vw, 2.2rem);margin-bottom:1.5rem;background:var(--secondary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card .description-card{font-size:clamp(1.4rem, 1.6vw, 1.6rem);color:var(--text-color);line-height:1.6}#contacto{position:relative;background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%);text-align:center;min-height:auto}#contacto h2{margin-top:1em;margin-bottom:1rem;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.contact-container{width:100%;max-width:120rem;margin:0 auto;padding-bottom:2rem}.contact-info-container{display:flex;flex-direction:column;width:100%;max-width:1100px;margin:0 auto;padding:clamp(2rem,5vw,4rem);background:var(--glass-bg);backdrop-filter:blur(10px);border-radius:var(--border-radius);border:1px solid var(--glass-border);box-shadow:0 10px 30px var(--glass-shadow);justify-content:center;align-items:center;gap:4rem;margin-bottom:3rem}.contact-image-container{width:clamp(200px,70%,280px);aspect-ratio:1/1;border-radius:50%;overflow:hidden;position:relative;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:5px;margin-top:3rem}.contact-image-container img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 15px 30px rgba(110,142,251,.3)}.contact-image-container:hover img{transform:translateY(-5px);box-shadow:0 20px 40px rgba(110,142,251,.4)}.contact-info{flex:1;min-width:30rem;text-align:center}.contact-text p{font-size:clamp(1.6rem, 2vw, 2rem);line-height:1.5;margin-bottom:clamp(1.5rem,3vw,3rem);color:var(--text-color)}.email{display:flex;align-items:center;justify-content:center;width:100%;max-width:450px;margin-left:auto;margin-right:auto;margin-bottom:clamp(1.5rem,3vw,2.5rem);padding:clamp(1rem,2vw,1.5rem);background:rgba(255,255,255,.6);border-radius:var(--border-radius);font-size:clamp(1.4rem, 1.8vw, 1.8rem)}.email i{font-size:clamp(1.8rem, 2vw, 2rem);margin-right:1rem;color:var(--primary-color);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.email:hover{background:rgba(255,255,255,.8);transform:translateX(5px);box-shadow:0 5px 15px rgba(110,142,251,.2)}.social-links{display:flex;justify-content:center;margin-top:1rem;flex-wrap:wrap;gap:clamp(1rem,2vw,2rem);width:100%}.social-icons{width:clamp(3.5rem,5vw,5rem);height:clamp(3.5rem,5vw,5rem);background:var(--primary-gradient);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 15px rgba(110,142,251,.4);color:#fff;font-size:clamp(1.6rem, 1.8vw, 1.8rem)}.social-icons:hover{transform:translateY(-5px)}.contact-text p,.perfiles-title,h4{font-size:clamp(1.6rem, 2.2vw, 2.2rem);text-align:center;width:100%;margin-bottom:clamp(1.5rem,3vw,3rem)}.center-con{position:absolute;bottom:5%;left:50%;transform:translateX(-50%)}.round{width:5rem;height:5rem;border-radius:50%;background:var(--glass-bg);display:flex;justify-content:center;align-items:center;cursor:pointer;position:relative;box-shadow:0 5px 15px rgba(0,0,0,.1);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(110,142,251,.7)}70%{box-shadow:0 0 0 10px rgba(110,142,251,0)}100%{box-shadow:0 0 0 0 rgba(110,142,251,0)}}.round span{position:absolute;width:1.5rem;height:1.5rem;border-left:2px solid var(--light-text);border-bottom:2px solid var(--light-text);transform:rotate(-45deg);animation:scrollDown 2s infinite}@keyframes scrollDown{0%{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(10px) rotate(-45deg)}100%{transform:translateY(0) rotate(-45deg)}}footer{padding:3rem 0;background:var(--dark-gradient);text-align:center}footer p{font-size:1.4rem;color:var(--light-text);opacity:.8;margin:.5rem 0}.main-footer{position:relative}.footer-lang-switcher{position:fixed;bottom:8.5rem;left:2rem;width:4.5rem;height:4.5rem;display:flex;align-items:center;z-index:5001;margin:0;padding:0;overflow:visible!important}@media (max-width:600px){.footer-lang-switcher{bottom:8.5rem!important;left:1.5rem!important;position:fixed!important;transform:none;margin:0;justify-content:flex-start;padding-left:0}}.glass-effect{background:var(--glass-bg);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--border-radius);box-shadow:0 8px 32px var(--glass-shadow)}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.preloader.hidden{opacity:0;visibility:hidden}.preloader-spinner{width:5rem;height:5rem;border:5px solid rgba(110,142,251,.3);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}.back-to-top,.lang-btn,.theme-toggle{background:var(--primary-gradient);color:var(--light-text);border:none;border-radius:50%;width:4.5rem;height:4.5rem;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 30px rgba(110,142,251,.25),0 4px 15px rgba(0,0,0,.1);transition:all .3s ease;margin:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:998}.back-to-top:focus,.back-to-top:hover,.lang-btn:focus,.lang-btn:hover,.theme-toggle:focus,.theme-toggle:hover{background:linear-gradient(135deg,#6e8efb 0,#a777e3 100%);color:#fff;transform:scale(1.1);box-shadow:0 12px 40px rgba(110,142,251,.35),0 6px 20px rgba(0,0,0,.15);outline:0}.back-to-top:active,.lang-btn:active,.theme-toggle:active{transform:scale(.98)}body.dark-mode .back-to-top,body.dark-mode .lang-btn,body.dark-mode .theme-toggle{background:linear-gradient(135deg,#4a5568,#2d3748);color:#e0e0e0;box-shadow:0 8px 30px rgba(0,0,0,.4),0 4px 15px rgba(0,0,0,.2)}body.dark-mode .back-to-top:focus,body.dark-mode .back-to-top:hover,body.dark-mode .lang-btn:focus,body.dark-mode .lang-btn:hover,body.dark-mode .theme-toggle:focus,body.dark-mode .theme-toggle:hover{background:linear-gradient(135deg,#6e8efb 0,#a777e3 100%);color:#fff;transform:scale(1.1);box-shadow:0 12px 40px rgba(110,142,251,.35),0 6px 20px rgba(0,0,0,.15);outline:0}body.dark-mode .back-to-top:active,body.dark-mode .lang-btn:active,body.dark-mode .theme-toggle:active{transform:scale(.98)}body.dark-mode{--bg-color:#121212;--text-color:#e0e0e0;--card-bg:rgba(45, 55, 72, 0.3);--glass-bg:rgba(45, 55, 72, 0.2);--glass-border:rgba(255, 255, 255, 0.1);--glass-shadow:rgba(0, 0, 0, 0.3)}body.dark-mode{background:linear-gradient(135deg,#232946 0,#181c24 100%)!important}body.dark-mode #contacto,body.dark-mode #servicios,body.dark-mode #sobre-mi{background:linear-gradient(135deg,#1a1a1a 0,#2d3748 100%)!important}body.dark-mode #contacto h2,body.dark-mode #contacto h3,body.dark-mode #servicios .subtitle,body.dark-mode #servicios h2,body.dark-mode #servicios h3,body.dark-mode #sobre-mi .description p,body.dark-mode #sobre-mi h2,body.dark-mode #sobre-mi h3,body.dark-mode .card .description-card,body.dark-mode .card .title-card{color:#f0f0f0!important}body.dark-mode #sobre-mi .about-container{background:0 0!important}body.dark-mode .card{background:rgba(45,55,72,.3)!important;border:1px solid rgba(255,255,255,.1)}body.dark-mode .email{background:rgba(30,30,30,.6)}body.dark-mode .email a{color:var(--light-text)}body.dark-mode .topheader.solid{background:linear-gradient(135deg,#232946 0,#2d3748 100%)!important}body.dark-mode .contact-info-container{background:rgba(45,55,72,.2)!important;border:1px solid rgba(255,255,255,.1)}body.dark-mode .social-icons{background:linear-gradient(135deg,#4a5568,#2d3748)}body.dark-mode .preloader{background:#121212}body.dark-mode .tooltip::after{background:rgba(45,55,72,.9)}body.dark-mode .tooltip::before{border-color:transparent transparent rgba(45,55,72,.9) transparent}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:rgba(45,55,72,.3);border:1px solid rgba(255,255,255,.1);color:#f0f0f0}body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{border-color:var(--primary-color);background:rgba(45,55,72,.5)}body.dark-mode .form-message.error{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3);color:#fca5a5}body.dark-mode .form-message.success{background:rgba(34,197,94,.2);border:1px solid rgba(34,197,94,.3);color:#86efac}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.fade-in,.slide-in-left,.slide-in-right,.zoom-in{opacity:0;transition:opacity .7s ease-in-out,transform .7s ease-in-out}.fade-in{transform:translateY(20px)}.slide-in-left{transform:translateX(-50px)}.slide-in-right{transform:translateX(50px)}.zoom-in{transform:scale(.8)}.fade-in.visible,.slide-in-left.visible,.slide-in-right.visible{opacity:1;transform:translate(0)}.zoom-in.visible{opacity:1;transform:scale(1)}.bounce-in{opacity:0;transform:scale(.3) translateY(30px);transition:opacity .8s cubic-bezier(.68, -.55, .265, 1.55),transform .8s cubic-bezier(.68, -.55, .265, 1.55)}.bounce-in.visible{opacity:1;transform:scale(1) translateY(0)}.elastic-in{opacity:0;transform:translateY(40px) rotate(-5deg);transition:opacity .9s cubic-bezier(.175, .885, .32, 1.275),transform .9s cubic-bezier(.175, .885, .32, 1.275)}.elastic-in.visible{opacity:1;transform:translateY(0) rotate(0)}.smooth-scale{opacity:0;transform:scale(.9);transition:opacity .6s cubic-bezier(.25, .46, .45, .94),transform .6s cubic-bezier(.25, .46, .45, .94)}.smooth-scale.visible{opacity:1;transform:scale(1)}.stagger-container .stagger-item{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.stagger-container .stagger-item.visible{opacity:1;transform:translateY(0)}.micro-hover{transition:transform .3s cubic-bezier(.25, .46, .45, .94),box-shadow .3s ease}.micro-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.15)}.card.micro-hover:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 25px 50px rgba(110,142,251,.2)}.micro-pulse{position:relative;overflow:hidden}.micro-pulse::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(110,142,251,.3) 0,transparent 70%);transition:width .6s ease,height .6s ease;transform:translate(-50%,-50%);border-radius:50%;z-index:0}.micro-pulse:hover::before{width:300px;height:300px}.micro-pulse>*{position:relative;z-index:1}.micro-tilt{transition:transform .3s ease}.micro-tilt:hover{transform:perspective(1000px) rotateX(10deg) rotateY(-10deg) rotateZ(2deg)}@media (min-width:768px){html{font-size:70%}#sobre-mi{flex-direction:row;justify-content:space-between;align-items:center;padding:0 5%}.about-container{flex:0 0 55%;padding-right:4rem;text-align:left}.about-container h2{text-align:left}.description p{text-align:left;margin:0 0 1.5rem 0;max-width:100%}.about-image-container{flex:0 0 40%;display:flex!important;justify-content:center;align-items:center;order:2}.services-title{margin-bottom:6rem}.services-container{flex-direction:row;flex-wrap:wrap;justify-content:center;margin:0 auto;max-width:1200px}.card{flex:1;max-width:35rem;margin-bottom:0}#contacto{min-height:100vh;padding-bottom:0;display:flex;flex-direction:column;justify-content:center}.contact-info-container{max-width:85%;margin:3rem auto;padding:4rem 5rem;flex-direction:row;align-items:center;justify-content:space-between;gap:5%}.contact-image-container{flex:0 0 40%;margin:0}.contact-info{flex:0 0 55%;text-align:center;display:flex;flex-direction:column;align-items:center}.contact-info .contact-text,.contact-text p{text-align:center;width:100%;margin-bottom:2rem}.contact-info h4{text-align:center;width:100%;display:block;margin-left:auto;margin-right:auto;margin-top:2rem;margin-bottom:2rem}.email{width:85%;justify-content:center}.social-links{justify-content:center;width:100%}}@media (max-width:767px){.topnav{padding:0 2rem}.menu{position:fixed;top:0;right:-100%;width:80%;height:100vh;background:var(--dark-gradient);flex-direction:column;justify-content:center;align-items:center;transition:right .3s ease;z-index:1000;padding:2rem 0}.menu_opened{right:0}.menu li{margin:1.5rem 0;width:100%;text-align:center}.menu a{display:block;font-size:1.8rem;padding:1.5rem 0;width:100%}.close-menu,.open-menu{display:block}.open-menu{position:fixed;top:2rem;right:2rem;z-index:999}.close-menu{position:fixed;top:2rem;right:2rem;z-index:1002;display:block}.contact-info-container{margin:1.5rem auto;min-height:70vh;display:flex;flex-direction:column;justify-content:space-between}.contact-text p{font-size:clamp(1.3rem, 4vw, 1.6rem);width:90%;margin:0 auto 1.5rem}.email{width:min(85%,320px);font-size:clamp(1.2rem, 3.5vw, 1.5rem);padding:.8rem}.perfiles-title,h4{margin-top:2rem}.back-to-top,.theme-toggle{width:4.5rem;height:4.5rem;font-size:1.8rem}.theme-toggle{bottom:2rem;left:1.5rem}.back-to-top{bottom:2rem;right:1.5rem}.footer-lang-switcher{bottom:8.5rem;left:1.5rem}.lang-btn{width:4.5rem;height:4.5rem;font-size:1.8rem}.back-to-top i,.theme-toggle i{font-size:1.8rem}}@media (max-width:350px){.email{font-size:1.2rem}}html{scroll-padding-top:var(--navbar-height)}body{overflow-x:hidden;scroll-behavior:smooth}.tooltip{position:relative}.tooltip::after{content:attr(data-tooltip);position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:5px 10px;border-radius:5px;font-size:.8rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none;z-index:1000}.tooltip::before{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none;z-index:1000}.tooltip:hover::after,.tooltip:hover::before{opacity:1;visibility:visible}.tooltip:hover::after{transform:translateX(-50%) translateY(-5px)}a:focus,button:focus,input:focus,select:focus{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 3px rgba(110,142,251,.2)}.skip-link{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);opacity:0;z-index:10000;background:#fff;color:#000;padding:1rem 2rem;border-radius:8px;font-weight:700;text-decoration:none}.skip-link:focus{left:10px;top:10px;width:auto;height:auto;clip:auto;opacity:1;outline:3px solid var(--primary-color);box-shadow:0 0 0 3px rgba(110,142,251,.2)}.footer-lang-switcher{position:fixed;bottom:8.5rem;left:2rem;width:4.5rem;height:4.5rem;display:flex;align-items:center;z-index:5001;margin:0;padding:0;overflow:visible!important}.lang-btn{position:absolute;top:0;left:0;background:var(--primary-gradient);color:var(--light-text);border:none;border-radius:50%;width:4.5rem;height:4.5rem;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 30px rgba(110,142,251,.25),0 4px 15px rgba(0,0,0,.1);transition:all .3s ease;margin:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:998}.lang-btn:focus,.lang-btn:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(110,142,251,.35),0 6px 20px rgba(0,0,0,.15);outline:0}.lang-btn:active{transform:scale(.98)}.lang-menu{position:absolute!important;left:0;bottom:6rem;z-index:5002!important;min-width:10rem;overflow:visible!important}body.dark-mode .lang-menu{z-index:5002!important}.lang-option{background:0 0;border:none;color:var(--text-color);font-family:inherit;font-size:1.5rem;cursor:pointer;padding:.2em .7em;border-radius:6px;transition:background .2s,color .2s;margin-left:.3rem;margin-right:.3rem}.lang-option:focus,.lang-option:hover{background:var(--primary-color-transparent-light);color:var(--primary-color);outline:0}.lang-divider{color:var(--primary-color);opacity:.7;margin:0 .5em;font-size:1.4rem}.cvlac-link{color:var(--primary-color)!important;font-weight:600;text-decoration:underline;text-decoration-color:var(--primary-color);text-underline-offset:3px;transition:all .3s ease;cursor:pointer;word-break:break-all}.cvlac-link:hover{color:var(--secondary-color)!important;text-decoration-color:var(--secondary-color)}.credentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.credential-card{background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);text-align:center;box-shadow:var(--card-shadow);transition:transform .3s ease}.credential-card:hover{transform:translateY(-5px)}.credential-icon{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}body.dark-mode .lang-btn{background:linear-gradient(135deg,#4a5568,#2d3748);color:#e0e0e0;box-shadow:0 8px 30px rgba(0,0,0,.4),0 4px 15px rgba(0,0,0,.2)}body.dark-mode .lang-btn:focus,body.dark-mode .lang-btn:hover{background:linear-gradient(135deg,#6e8efb 0,#a777e3 100%);color:#fff}body.dark-mode .lang-menu{background:#232946;color:#e0e0e0;box-shadow:0 5px 20px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08);z-index:5000}body.dark-mode .lang-option{color:#e0e0e0}body.dark-mode .lang-option:focus,body.dark-mode .lang-option:hover{background:rgba(110,142,251,.15);color:#6e8efb}body.dark-mode .main-footer{background:linear-gradient(135deg,#232946 0,#2d3748 100%)!important;color:#fff!important}
/* --- MODO OSCURO MODERNO Y COHESIVO --- */
body.dark-mode, body.dark-mode main {
  background: linear-gradient(135deg, #232946 0, #2d3748 100%) !important;
}
body.dark-mode .toolkit-header, body.dark-mode .toolkit-controls, body.dark-mode .toolkit-description, body.dark-mode .toolkit-content, body.dark-mode section {
  background: none !important;
}
body.dark-mode .card, body.dark-mode .modal-content {
  background: rgba(35, 41, 70, 0.55) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(12px) !important;
}
body.dark-mode .btn, body.dark-mode .btn-secondary, body.dark-mode .btn-outline {
  background: linear-gradient(135deg, #6e8efb 0, #a777e3 100%) !important;
  color: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(110,142,251,0.18), 0 4px 15px rgba(0,0,0,0.18) !important;
  border: none !important;
}
body.dark-mode .btn-outline {
  background: transparent !important;
  color: #a777e3 !important;
  border: 2px solid #a777e3 !important;
}
body.dark-mode .btn:hover, body.dark-mode .btn:focus, body.dark-mode .btn-secondary:hover, body.dark-mode .btn-secondary:focus {
  background: linear-gradient(135deg, #a777e3 0, #6e8efb 100%) !important;
  color: #fff !important;
}
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
}
body.dark-mode p, body.dark-mode li, body.dark-mode label, body.dark-mode span, body.dark-mode .toolkit-description {
  color: #e0e0e0 !important;
}
body.dark-mode a {
  color: #a777e3 !important;
  text-decoration: none !important;
  text-underline-offset: 2px;
}
body.dark-mode a:hover {
  color: #6e8efb !important;
  text-decoration: underline !important;
}
body.dark-mode .main-footer {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
body.dark-mode .menu a,
body.dark-mode .menu a:hover {
  color: #a777e3 !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
body.dark-mode .menu a.selected::after,
body.dark-mode .menu a:hover::after {
  display: block !important;
}