@keyframes float1{0%,to{transform:translate(0,0) scale(1)}33%{transform:translate(-30px,40px) scale(1.05)}66%{transform:translate(20px,-20px) scale(.95)}}@keyframes float2{0%,to{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes float3{0%,to{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,-40px) scale(1.15)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}*,::after,::before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0a0f;--bg-card:rgba(255, 255, 255, 0.03);--bg-card-hover:rgba(255, 255, 255, 0.06);--border:rgba(255, 255, 255, 0.08);--border-hover:rgba(124, 58, 237, 0.4);--text:#e4e4e7;--text-muted:#8c8c96;--text-dim:#52525b;--accent:#7c3aed;--accent-light:#a78bfa;--accent-glow:rgba(124, 58, 237, 0.15);--green:#22c55e;--mono:'JetBrains Mono', 'Fira Code', monospace}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:"Inter",system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.6;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:.5rem 1.5rem;border-radius:0 0 8px 8px;font-size:.875rem;font-weight:600;z-index:200;transition:top .2s}.skip-to-content:focus{top:0}.cursor-glow,.noise{position:fixed;pointer-events:none}.noise{inset:0;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.cursor-glow{width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);z-index:1;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}.bento__item:hover::before,.sobre__link:hover svg,body:hover .cursor-glow{opacity:1}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 1.5rem}.header{position:fixed;top:0;left:0;right:0;z-index:100;background-color:rgba(10,10,15,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.header .container{display:flex;align-items:center;justify-content:space-between;height:60px}.header__logo,.header__nav a{font-weight:500;color:var(--text-muted)}.header__logo{font-family:var(--mono);font-size:.9rem;letter-spacing:-.02em}.header__logo span{color:var(--text);font-weight:700}.footer__logo em,.header__logo em{font-style:normal;color:var(--accent)}.header__nav{display:none;align-items:center;gap:2.5rem}.header__nav a{font-size:.8125rem;transition:color .2s;letter-spacing:.01em}.header__nav a:hover{color:var(--text)}.nav-cta{color:var(--accent-light)!important;padding:.4rem 1rem;border:1px solid var(--border-hover);border-radius:6px;transition:all .2s!important}.nav-cta:hover{background:var(--accent-glow);border-color:var(--accent)}.btn,.header__menu{border:0;cursor:pointer}.header__menu{display:flex;flex-direction:column;gap:5px;background:0 0;padding:4px}.header__menu span{display:block;width:20px;height:2px;background:var(--text-muted);border-radius:2px;transition:all .3s}.header__menu:hover span{background:var(--text)}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;border-radius:8px;transition:all .25s;text-align:center;position:relative}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 0 20px var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.1)}.btn--primary:hover{background:#6d28d9;box-shadow:0 0 30px rgba(124,58,237,.3),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-1px)}.btn--ghost{background:0 0;color:var(--text-muted);border:1px solid var(--border)}.btn--ghost:hover{color:var(--text);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.03)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:6rem 0 4rem;overflow:hidden}.hero__bg{position:absolute;inset:0;overflow:hidden}.hero__orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.hero__orb--1{width:500px;height:500px;background:var(--accent);top:-20%;right:-10%;animation:float1 15s ease-in-out infinite}.hero__orb--2{width:400px;height:400px;background:#06b6d4;bottom:-15%;left:-10%;animation:float2 18s ease-in-out infinite}.hero__orb--3{width:300px;height:300px;background:#ec4899;top:40%;left:50%;animation:float3 12s ease-in-out infinite}.hero__content{position:relative;z-index:2}.hero__badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--green);background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);padding:.375rem 1rem;border-radius:100px;margin-bottom:2rem;animation:fadeUp .8s ease both}.hero__badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s ease-in-out infinite}.hero__name{font-size:clamp(2.5rem,7vw,4.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-bottom:1.5rem}.hero__line{display:block;animation:fadeUp .8s ease both}.hero__line:nth-child(1){animation-delay:.1s}.hero__line:nth-child(2){animation-delay:.2s}.hero__line:nth-child(3){animation-delay:.3s}.hero__line--accent{background:linear-gradient(135deg,var(--accent-light),#06b6d4,#ec4899);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:fadeUp .8s ease both,gradient 6s ease infinite;animation-delay:.2s}.hero__tagline{font-size:1.125rem;color:var(--text-muted);margin-bottom:2.5rem;max-width:500px;animation:fadeUp .8s ease .4s both}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .8s ease .5s both}.section__header{margin-bottom:3rem}.section__label{display:inline-block;font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--accent-light);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.section__title{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;letter-spacing:-.03em;color:var(--text)}.servicios{padding:6rem 0}.bento{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);border-radius:16px;overflow:hidden}.bento__item{background:var(--bg-card);padding:2rem;transition:background .3s;position:relative}.bento__item::before{content:"";position:absolute;inset:0;border-radius:0;background:linear-gradient(135deg,var(--accent-glow),transparent 50%);opacity:0;transition:opacity .4s}.bento__item:hover{background:var(--bg-card-hover)}.bento__item--highlight{background:rgba(124,58,237,.06)}.bento__item--highlight:hover{background:rgba(124,58,237,.1)}.bento__icon{position:relative;color:var(--accent-light);margin-bottom:1rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);border-radius:10px}.bento__title{position:relative;font-size:1.0625rem;font-weight:700;margin-bottom:.5rem;color:var(--text)}.bento__desc{position:relative;font-size:.875rem;color:var(--text-muted);line-height:1.6}.casos{padding:6rem 0}.casos__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.caso{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;transition:border-color .3s;display:flex;flex-direction:column}.caso:hover{border-color:var(--border-hover)}.caso__tag{display:inline-block;font-family:var(--mono);font-size:.6875rem;font-weight:500;color:var(--accent-light);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.caso__title{font-size:1.125rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.caso__desc{font-size:.875rem;color:var(--text-muted);line-height:1.6;flex:1}.caso__metrics{display:flex;gap:2rem;padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid var(--border)}.caso__metric-number{display:block;font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.03em;line-height:1;margin-bottom:.25rem}.caso__metric-label,.sobre__text p{font-size:.75rem;color:var(--text-muted)}.proceso{padding:6rem 0}.timeline,.timeline__item{display:flex;position:relative}.timeline{flex-direction:column;gap:0}.timeline::before{content:"";position:absolute;left:19px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--accent),var(--border))}.timeline__item{gap:1.5rem;align-items:flex-start;padding:2rem 0}.timeline__number{font-family:var(--mono);font-size:.8125rem;font-weight:700;color:var(--accent-light);background:var(--bg);border:1px solid var(--border-hover);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:2}.timeline__title{font-size:1.125rem;font-weight:700;margin-bottom:.375rem;color:var(--text)}.timeline__desc{font-size:.9375rem;color:var(--text-muted);max-width:400px}.sobre{padding:6rem 0;border-top:1px solid var(--border)}.sobre__content{display:flex;flex-direction:column;gap:3rem}.sobre__text p{font-size:1rem;line-height:1.7;margin-top:1rem}.sobre__text p:first-of-type{margin-top:1.5rem}.sobre__link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.875rem;font-weight:500;color:var(--text-muted);transition:color .2s}.sobre__link:hover,.testimonio__linkedin:hover{color:var(--accent-light)}.sobre__link svg{opacity:.7;transition:opacity .2s}.sobre__stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:16px;overflow:hidden}.sobre__text{max-width:720px}.stat{background:var(--bg-card);padding:1.25rem;text-align:center}.stat__number{display:block;font-family:var(--mono);font-size:1.75rem;font-weight:700;color:var(--text);letter-spacing:-.03em;line-height:1;margin-bottom:.375rem}.stat__label{font-size:.75rem;color:var(--text-muted);line-height:1.3}.testimonios{padding:6rem 0}.testimonios__slider{position:relative;overflow:hidden}.testimonios__track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}.testimonio{flex:0 0 100%;min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;position:relative;margin:0 .5rem}.testimonio::before{content:"“";font-family:Georgia,serif;font-size:4rem;line-height:1;color:var(--accent);opacity:.2;position:absolute;top:1rem;right:1.5rem}.testimonio__text{font-size:.9375rem;color:var(--text);line-height:1.7;font-style:italic;margin-bottom:1.25rem}.testimonio__author{display:flex;align-items:center;gap:.75rem}.testimonio__avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-glow);color:var(--accent-light);font-family:var(--mono);font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.testimonio__info{flex:1;min-width:0}.testimonio__info strong{display:block;font-size:.875rem;font-weight:600;color:var(--text)}.testimonio__info span{font-size:.8125rem;color:var(--text-muted)}.testimonio__linkedin{color:var(--text-dim);transition:color .2s;flex-shrink:0}.testimonios__dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.testimonios__dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:0;cursor:pointer;padding:0;transition:all .3s}.testimonios__dot:hover{background:var(--text-muted)}.testimonios__dot.is-active{background:var(--accent);transform:scale(1.25)}.stack{padding:6rem 0}.stack__marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.stack__track{display:flex;gap:1rem;width:max-content;animation:marquee 25s linear infinite}.stack__marquee:hover .stack__track{animation-play-state:paused}.stack__item{font-family:var(--mono);font-size:.875rem;font-weight:500;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:100px;padding:.625rem 1.25rem;white-space:nowrap;transition:all .3s;cursor:default}.stack__item:hover{color:var(--text);border-color:var(--accent);background:var(--accent-glow)}.contacto{padding:6rem 0}.contacto__card{background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(6,182,212,.05));border:1px solid var(--border);border-radius:20px;padding:3rem 2rem;position:relative;overflow:hidden}.contacto__card::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.contacto__card .section__header{margin-bottom:1rem}.contacto__card,.contacto__card .section__label,.contacto__card .section__title{text-align:center}.contacto__text{font-size:1.0625rem;color:var(--text-muted);margin-bottom:2rem}.contacto__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.footer{padding:2.5rem 0;border-top:1px solid var(--border)}.footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer__logo{font-family:var(--mono);font-size:.85rem;font-weight:500;color:var(--text-muted)}.footer__logo span{color:var(--text-dim);font-weight:700}.footer__right{display:flex;align-items:center;gap:.75rem}.footer__social{color:var(--text-dim);transition:color .2s;display:flex}.footer__social:hover{color:var(--accent-light)}.footer p,.footer__sep{color:var(--text-dim);font-size:.75rem}.footer p{font-size:.8125rem}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal-stagger.is-visible>*,.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal-stagger.is-visible>:nth-child(1){transition-delay:.05s}.reveal-stagger.is-visible>:nth-child(2){transition-delay:.1s}.reveal-stagger.is-visible>:nth-child(3){transition-delay:.15s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.2s}.reveal-stagger.is-visible>:nth-child(5){transition-delay:.25s}.reveal-stagger.is-visible>:nth-child(6){transition-delay:.3s}.reveal-stagger.is-visible>:nth-child(7){transition-delay:.35s}.reveal-stagger.is-visible>:nth-child(8){transition-delay:.4s}.reveal-stagger.is-visible>:nth-child(9){transition-delay:.45s}.reveal-stagger.is-visible>:nth-child(10){transition-delay:.5s}.reveal-stagger.is-visible>:nth-child(11){transition-delay:.55s}.reveal-stagger.is-visible>:nth-child(12){transition-delay:.6s}@media (min-width:640px){.bento{grid-template-columns:1fr 1fr}.bento__item--wide{grid-column:span 2}.hero__name{font-size:clamp(3rem,7vw,4.5rem)}.testimonio{flex:0 0 calc(50% - 1rem)}.casos__grid{grid-template-columns:1fr 1fr}}@media (min-width:768px){.header__nav{display:flex}.header__menu{display:none}.hero{padding:0}.bento{grid-template-columns:1fr 1fr 1fr}.bento__item--wide{grid-column:span 2}.bento__item--highlight{grid-column:span 3}.bento__item{padding:2.5rem}.testimonio{flex:0 0 calc(33.333% - 1rem)}.casos__grid{grid-template-columns:repeat(3,1fr)}.timeline{flex-direction:row;justify-content:space-between}.timeline::before{left:0;right:0;top:19px;bottom:auto;width:auto;height:1px;background:linear-gradient(to right,var(--accent),var(--border))}.timeline__item{flex-direction:column;align-items:center;text-align:center;flex:1;padding:0}.timeline__number{margin-bottom:1.5rem}.timeline__desc{max-width:260px}.sobre__content{flex-direction:row;align-items:center;gap:4rem}.sobre__text{flex:1}.sobre__stats{flex-shrink:0;width:280px}.contacto__card{padding:4rem 3rem}.section__header{margin-bottom:4rem}}@media (min-width:1024px){.container{max-width:1100px}}@media (max-width:767px){.header__nav{display:none;position:fixed;inset:60px 0 0 0;background:rgba(10,10,15,.95);backdrop-filter:blur(16px);flex-direction:column;align-items:center;justify-content:center;gap:2rem}.header__nav.is-open{display:flex}.header__nav a{font-size:1.125rem}.nav-cta{font-size:1rem!important}}