@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--background:#0a0a0a;--foreground:#ffffff;--accent:#5dd6ff;--muted:#8a8f98;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-secondary:linear-gradient(135deg,#f093fb,#f5576c);--gradient-accent:linear-gradient(135deg,#4facfe,#08b1b9)}@media (prefers-color-scheme:light){:root{--background:#ffffff;--foreground:#171717}}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:light){html{color-scheme:light}}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:8px 12px;background:#000;color:#fff;border-radius:8px;z-index:1000}header.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--background) 80%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid color-mix(in oklab,var(--foreground) 10%,transparent)}header.site-header nav{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}header.site-header a.brand{font-weight:700;letter-spacing:.3px;font-size:1.2rem;display:flex;align-items:center;gap:8px}.mobile-menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:4px;gap:4px}.mobile-menu-toggle span{width:24px;height:2px;background:var(--foreground);transition:.3s}.mobile-menu-toggle.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.nav-menu{list-style:none;display:flex;gap:20px;align-items:center}.nav-menu a{transition:all .2s}.nav-menu a:hover{background:color-mix(in oklab,var(--foreground) 5%,transparent)}.hero{position:relative;min-height:clamp(520px,72svh,900px);overflow:clip;display:grid;place-items:center}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero video[poster]{filter:brightness(.8) saturate(1.1);object-fit:cover}.hero .overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(0,0,0,.1),rgba(0,0,0,.2)),linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.5))}.hero .content{position:relative;z-index:1;text-align:center;padding:0 20px}.hero h1{font-size:clamp(32px,6vw,68px);line-height:1.05;letter-spacing:-.02em;color:#ffffff;text-shadow:0 4px 8px rgba(0,0,0,.8);font-weight:700}.hero p.lead{margin-top:16px;color:#f0f0f0;max-width:70ch;margin-left:auto;margin-right:auto;text-shadow:0 2px 4px rgba(0,0,0,.8);font-size:18px;line-height:1.6}.hero .cta{margin-top:28px;gap:12px}.btn,.hero .cta{display:inline-flex}.btn{align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:12px;border:1px solid color-mix(in oklab,var(--foreground) 12%,transparent);background:color-mix(in oklab,var(--background) 25%,transparent);transition:all .3s ease;font-weight:500;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn.primary{background:var(--gradient-accent);color:var(--background);border:none}.btn.secondary{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1)}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(93,214,255,.3)}.btn.btn-small{height:36px;padding:0 12px;font-size:14px}section.section{position:relative;padding:clamp(48px,8vw,96px) 20px;overflow:hidden;z-index:0}#sobre-mi{background:linear-gradient(135deg,rgba(25,25,25,.95),rgba(35,35,45,.95));position:relative}#sobre-mi:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(240,147,251,.1) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(93,214,255,.1) 0,transparent 50%);z-index:-1}.section .wrap{max-width:1100px;margin:0 auto;position:relative;z-index:1}.section .eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-size:12px;font-weight:600}.section h2{margin-top:8px;font-size:clamp(24px,3.2vw,40px);margin-bottom:24px;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;text-shadow:none;font-weight:700}.section h2:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:var(--gradient-accent);border-radius:2px}.section h3{font-size:clamp(20px,2.5vw,28px);margin-top:32px;margin-bottom:16px;color:#ffffff}.section h3,.section h4{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}.section h4{font-size:18px;margin-top:16px;margin-bottom:8px;color:var(--accent)}.about-content{max-width:800px;margin:0 auto}.about-text p{margin-bottom:16px;line-height:1.7;color:#f0f0f0;font-size:18px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.about-text .lead{font-size:1.3rem;color:#ffffff;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.8)}.skills-section{margin:32px 0;padding:10px 24px;background:rgba(0,0,0,.6);border-radius:16px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.skill-category h4{color:var(--accent);margin-bottom:8px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}.skill-category p{color:#e0e0e0;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.skills-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(93,214,255,.1),transparent);animation:rotate 20s linear infinite;z-index:-1}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.skill-category{transition:all .3s ease;padding:16px;border-radius:12px;border:1px solid transparent}.skill-category:hover{background:rgba(255,255,255,.05);border-color:rgba(93,214,255,.3);transform:translateY(-4px)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-top:16px}.cta-section{margin-top:32px;display:flex;gap:16px;justify-content:center}#proyectos{background:linear-gradient(135deg,rgba(15,15,15,.95),rgba(25,25,35,.95))}#proyectos:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,rgba(26,26,36,0) 100%,rgba(26,26,36,1) 0),linear-gradient(180deg,rgba(8,10,14,.85),rgba(8,10,14,.75) 50%,rgba(8,10,14,.7)),url(/image/poster.jpg);background-attachment:scroll,scroll,fixed;background-size:cover,cover,cover;background-position:50%,50%,top;background-blend-mode:normal,multiply,normal}.projects-grid{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px;max-width:1100px;margin-left:auto;margin-right:auto;padding:0 8px}.project-card{background:rgba(59,49,49,.199);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.project-card: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 ease}.project-card:hover:before{left:100%}.project-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3);border-color:var(--accent)}.project-image{position:relative;overflow:hidden;aspect-ratio:16/9}.project-image>img,.project-image>video,.project-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.project-card:hover .project-thumbnail{transform:scale(1.05)}.project-content{padding:20px}.project-content h3{margin-bottom:12px;color:#ffffff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}.project-content p{color:#e0e0e0;line-height:1.6;margin-bottom:16px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.project-technologies{margin-bottom:16px}.project-technologies h4{font-size:14px;color:#d0d0d0;margin-bottom:8px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}.tech-tags{display:flex;flex-wrap:wrap;gap:6px}.tech-tag{background:rgba(93,214,255,.2);color:var(--accent);padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid rgba(93,214,255,.3)}.tech-tag.small{font-size:11px;padding:2px 6px}.project-tags{margin-bottom:16px}.tag{border:1px solid rgba(255,255,255,.2);padding:4px 8px;border-radius:999px;font-size:12px;color:#d0d0d0;margin-right:6px;margin-bottom:6px;display:inline-block;background:rgba(255,255,255,.05)}.project-links{display:flex;gap:12px;flex-wrap:wrap}#educacion,#experiencia{background:linear-gradient(135deg,rgba(20,20,20,.95),rgba(30,30,40,.95))}#experiencia:before{top:0;left:0;right:0;bottom:0;background-image:url(/image/poster.jpg);background-size:cover;background-position:50%;background-attachment:fixed;opacity:.08;filter:blur(1.5px)}#educacion:before,#experiencia:before{content:"";position:absolute;z-index:-1}#educacion:before{inset:0;background-image:linear-gradient(180deg,rgba(26,26,36,0) 100%,rgba(26,26,36,1) 0),linear-gradient(180deg,rgba(8,10,14,.85),rgba(8,10,14,.75) 50%,rgba(8,10,14,.7)),url(/image/poster.jpg);background-attachment:scroll,scroll,fixed;background-size:cover,cover,cover;background-position:50%,50%,top;background-blend-mode:normal,multiply,normal}.timeline{margin-top:24px;border-left:2px solid var(--accent);padding-left:24px;position:relative}.timeline:before{content:"";position:absolute;left:-2px;top:0;bottom:0;background:linear-gradient(to bottom,var(--accent),transparent);width:2px;opacity:.5}.timeline-item{margin:24px 0;position:relative;padding:20px;background:rgba(59,49,49,.199);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;border:1px solid rgba(255,255,255,.12);transition:all .3s ease;cursor:default}.timeline-item:hover{background:rgba(255,255,255,.05);border-color:rgba(93,214,255,.3);transform:translateX(8px)}.timeline-item:before{content:"";position:absolute;left:-32px;top:20px;width:12px;height:12px;background:var(--accent);border-radius:50%;border:3px solid var(--background);box-shadow:0 0 0 4px rgba(93,214,255,.2)}.timeline-item time{color:var(--accent);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.timeline-item h4{margin-top:8px;color:#ffffff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}.timeline-item .company,.timeline-item .institution{color:var(--accent);font-weight:600;margin-top:4px;margin-bottom:8px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.timeline-item .description{color:#e0e0e0;line-height:1.6;margin-bottom:12px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.timeline-item .technologies{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tech-label{font-size:12px;color:var(--muted);font-weight:500}#contacto{background:linear-gradient(135deg,rgba(25,25,25,.95),rgba(35,35,45,.95));position:relative}#contacto:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(240,147,251,.1) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(93,214,255,.1) 0,transparent 50%);z-index:-1}.contact-content{max-width:820px;margin:0 auto;text-align:center}.contact-content p{color:#e0e0e0;line-height:1.7;margin-bottom:32px;font-size:18px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.contact-download{grid-column:1/-1;display:flex;justify-content:center;margin-top:20px}.contact-download .btn{min-width:255px}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-top:32px;padding:5px}.contact-method{display:block;text-decoration:none;color:inherit}.contact-method h4{margin-bottom:6px;color:#ffffff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8)}.contact-method p{color:var(--accent);font-size:14px;transition:color .2s}.contact-method:hover p{color:white}.site-footer{padding-top:15px;padding-bottom:30px;text-align:center;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.1);margin-top:30px}.site-footer p{color:#aaa;font-size:14px;margin-bottom:8px}.footer-links{display:flex;justify-content:center;gap:16px}.footer-links a{color:var(--accent);font-size:14px;transition:color .2s}.footer-links a:hover{color:var(--foreground)}@media (max-width:1066px){.mobile-menu-toggle{display:flex}.nav-menu{position:fixed;top:0;left:0;right:0;background:var(--background);flex-direction:column;padding:20px;border-top:1px solid color-mix(in oklab,var(--foreground) 10%,transparent);transform:translateY(-100%);opacity:0;transition:transform .3s ease,opacity .3s ease;gap:16px;z-index:1001;pointer-events:none}.nav-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}.site-header nav{position:relative;z-index:1002}.projects-grid{grid-template-columns:1fr;justify-items:center}.project-card{max-width:500px;width:100%;margin:0 auto;flex:0 0 auto}.hero .cta{flex-direction:column;align-items:center}.skills-grid{grid-template-columns:1fr}.cta-section{align-items:center}.cta-section,.project-links{flex-direction:column}.contact-methods{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.hero video{display:none}.project-card:hover{transform:none}.project-thumbnail{transition:none}.contact-method:hover,.timeline-item:hover{transform:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(93,214,255,.3)}50%{box-shadow:0 0 30px rgba(93,214,255,.6)}}.section{animation:fadeInUp .8s ease-out}.section:nth-child(2n){animation:slideInLeft .8s ease-out}.section:after{content:"";position:absolute;top:20px;right:20px;width:4px;height:4px;background:var(--accent);border-radius:50%;opacity:.6;animation:float 3s ease-in-out infinite}.section:nth-child(odd):after{animation-delay:1.5s}html{scroll-behavior:smooth}.nav-menu a{padding:8px 12px;border-radius:6px;transition:all .3s ease;position:relative;overflow:hidden}.nav-menu a:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.nav-menu a:hover:before{width:100%}.nav-menu a:hover{color:var(--accent);background:rgba(93,214,255,.1)}.loading{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.loading:nth-child(2){animation-delay:.1s}.loading:nth-child(3){animation-delay:.2s}.loading:nth-child(4){animation-delay:.3s}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(10,10,10,.9);-webkit-backdrop-filter:saturate(140%) blur(20px);backdrop-filter:saturate(140%) blur(20px);border-bottom:1px solid rgba(93,214,255,.2);transition:all .3s ease}.site-header[data-scrolled=true]{background:rgba(10,10,10,.95);box-shadow:0 4px 20px rgba(0,0,0,.3)}.contact-method{padding:20px;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;position:relative;overflow:hidden}.contact-method:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(93,214,255,.1),rgba(240,147,251,.1));opacity:0;transition:opacity .3s ease;pointer-events:none}.contact-method:hover:before{opacity:1}.contact-method:hover{background:rgba(255,255,255,.08);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 10px 30px rgba(93,214,255,.2)}