@tailwind base;@tailwind components;@tailwind utilities;@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap");:root{--brand-primary:#6366f1;--brand-primary-rgb:99,102,241;--brand-primary-light:#818cf8;--brand-primary-dark:#4338ca;--brand-secondary:#f43f5e;--brand-secondary-rgb:244,63,94;--brand-secondary-light:#fb7185;--brand-secondary-dark:#e11d48;--dark-bg:#0f172a;--dark-bg-secondary:#020617;--dark-overlay:rgba(15,23,42,.9);--light-bg:#f8fafc;--light-bg-secondary:#f1f5f9;--light-text:#334155;--light-text-secondary:#475569;--text-white:#fff;--text-white-90:hsla(0,0%,100%,.9);--text-white-70:hsla(0,0%,100%,.7);--text-muted:#94a3b8;--glass-dark:rgba(15,23,42,.6);--glass-dark-border:hsla(0,0%,100%,.08);--glass-light:hsla(0,0%,100%,0);--glass-light-border:rgba(99,101,241,.116);--glass-blur:blur(24px);--font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-medium:0.4s cubic-bezier(0.4,0,0.2,1);--transition-bounce:0.5s cubic-bezier(0.68,-0.55,0.265,1.55);--container-max:1280px;--section-padding:8rem}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-family);line-height:1.6;overflow-x:hidden;background:var(--dark-bg);color:var(--text-white)}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition-medium)}button{font-family:inherit;cursor:pointer;border:none;background:none}ol,ul{list-style:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem;position:relative;z-index:2}@media (min-width:768px){.container{padding:0 2rem}}.section{position:relative;padding:var(--section-padding) 0;background-clip:padding-box}.services-layout{display:flex;flex-direction:column;gap:3rem;align-items:center}@media (max-width:768px){.hero-cta-group{flex-direction:column!important;width:100%!important;gap:1.5rem!important}.hero-cta-group .btn-glass,.hero-cta-group .btn-primary{width:100%!important;justify-content:center;text-align:center;display:flex;box-sizing:border-box}.hero-cta-group .btn-glass{margin-top:.5rem}.form-grid{grid-template-columns:1fr!important}}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1rem}@media (min-width:1024px){.services-layout{flex-direction:row;align-items:flex-start;justify-content:center;gap:4rem}.services-left{flex:1 1;max-width:500px;text-align:left}.neural-wrapper{max-width:100%}.services-cards{flex:1 1;max-width:500px}}.services-left{display:flex;flex-direction:column;gap:2rem;text-align:center}.services-quote{text-align:center;font-size:1.1rem;font-weight:500;font-style:italic;color:var(--text-muted);line-height:1.6;max-width:450px;margin:0 auto}@media (min-width:1024px){.services-quote{margin:0}}.section-dark{background-color:var(--dark-bg);color:var(--text-white);position:relative}.section-gradient{background:linear-gradient(180deg,var(--dark-bg) 0,var(--dark-bg-secondary) 100%);color:var(--text-white)}.section-light{background-color:var(--light-bg);color:var(--light-text);position:relative}.wave-divider{position:absolute;width:100%;left:0;line-height:0;z-index:5;pointer-events:none}.wave-divider.top{top:-1px;transform:rotate(180deg)}.wave-divider.bottom{bottom:-1px}.wave-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:80px}@media (min-width:768px){.wave-divider svg{height:120px}}.shape-fill{fill:var(--light-bg)}.shape-fill-dark{fill:var(--dark-bg)}.floating-shapes-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.floating-shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.floating-shape,.parallax-shape{animation:float-organic 20s ease-in-out infinite alternate}.parallax-shape{will-change:transform;transition:none!important}.shape-primary{background:var(--brand-primary);width:400px;height:400px}.shape-secondary{background:var(--brand-secondary);width:300px;height:300px}.navbar{position:fixed;top:0;left:0;right:0;z-index:999999;padding:1.5rem 0;transition:var(--transition-medium)}.navbar.scrolled{padding:1rem 0;background:rgba(15,23,42,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid hsla(0,0%,100%,.08)}.nav-container{justify-content:space-between}.logo,.nav-container{display:flex;align-items:center}.logo{gap:.75rem}.logo-text{font-size:1.5rem;font-weight:700;color:var(--text-white)}.logo-accent{color:var(--brand-primary)}.nav-links{display:none;align-items:center;gap:2rem}@media (min-width:768px){.nav-links{display:flex}}.nav-link{color:var(--text-white-70);font-weight:500;position:relative;font-size:.95rem}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--brand-secondary);transition:var(--transition-medium)}.nav-link:hover{color:var(--text-white)}.nav-link:hover:after{width:100%}.nav-cta{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-dark) 100%);color:#fff!important;padding:.75rem 1.75rem;border-radius:50px;font-weight:600;box-shadow:0 4px 20px rgba(99,102,241,.4)}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(99,102,241,.5)}.nav-cta:after{display:none}.mobile-toggle{display:flex;flex-direction:column;gap:6px;width:30px;position:relative;z-index:1000000;cursor:pointer}@media (min-width:768px){.mobile-toggle{display:none}}.mobile-toggle span{width:100%;height:2px;background:#fff;border-radius:2px}.mobile-menu,.mobile-toggle span{transition:var(--transition-medium)}.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#0f172a!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;z-index:999998;opacity:0;pointer-events:none;transform:none!important}.mobile-menu.active{opacity:1;pointer-events:auto}@media (min-width:768px){.mobile-menu{display:none!important}}.mobile-link{font-size:1.5rem;font-weight:600;color:var(--text-white)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:100px}.hero-content{text-align:center;max-width:900px;position:relative;z-index:10}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;margin-bottom:2rem;animation:fadeInDown 1s var(--transition-bounce)}.badge-dot{width:8px;height:8px;background:var(--brand-secondary);border-radius:50%;box-shadow:0 0 10px var(--brand-secondary)}.hero-badge span{font-size:.8rem;font-weight:600;color:var(--text-white-90);letter-spacing:.05em;text-transform:uppercase}.hero-title{font-size:clamp(3rem,7vw,5rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em}.gradient-text{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);-webkit-background-clip:text;background-clip:text}.gradient-text,.hero-gradient-text{-webkit-text-fill-color:transparent}.hero-gradient-text{background:linear-gradient(135deg,#fff 30%,var(--brand-primary-light) 100%);-webkit-background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-muted);max-width:650px;margin:0 auto 3rem;line-height:1.7}.btn-primary{background:var(--brand-primary);color:#fff;padding:1rem 2.5rem;border-radius:12px;font-weight:600;font-size:1.1rem;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition-medium);box-shadow:0 10px 30px rgba(99,102,241,.3)}.btn-primary:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(99,102,241,.5);background:var(--brand-primary-light)}.btn-glass{background:hsla(0,0%,100%,.05);color:#fff;padding:1rem 2.5rem;border-radius:12px;font-weight:600;font-size:1.1rem;border:1px solid hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-medium)}.btn-glass:hover{background:hsla(0,0%,100%,.1);transform:translateY(-4px);border-color:hsla(0,0%,100%,.3)}.glass-card{background:var(--glass-dark);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-light-border);border-radius:20px;padding:2rem;transition:transform .5s ease-out,opacity .5s ease-out,box-shadow .3s ease;position:relative;overflow:hidden}.glass-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.3);border-color:var(--brand-primary)}.section-light .glass-card{background:hsla(0,0%,100%,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(99,102,241,.15);box-shadow:0 8px 32px rgba(99,102,241,.1)}.section-light .glass-card:hover{background:hsla(0,0%,100%,.85);box-shadow:0 15px 45px rgba(99,102,241,.15);transform:translateY(-5px)}.section-dark .glass-card{background:var(--glass-dark);border-color:var(--glass-dark-border)}.grid-2{display:grid;grid-template-columns:1fr;grid-gap:3rem;gap:3rem}@media (min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.neural-wrapper{position:relative;width:100%;max-width:500px;aspect-ratio:1;margin:0 auto;display:flex;align-items:center;justify-content:center}#neuralCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:10}.neural-center-text{position:relative;z-index:20;text-align:center;pointer-events:none;background:rgba(15,23,42,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.5rem;border-radius:50%;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 0 30px rgba(99,102,241,.3);width:140px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s ease}.center-title{font-size:1.2rem;font-weight:700;color:#fff;display:block;line-height:1.2}.center-subtitle{font-size:.8rem;color:var(--brand-secondary);text-transform:uppercase;letter-spacing:.05em}#globalCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;opacity:.45}.footer{background:var(--dark-bg-secondary);padding:6rem 0 3rem;border-top:1px solid hsla(0,0%,100%,.05);position:relative;z-index:10}@keyframes float-organic{0%{transform:translate(0) rotate(0deg)}33%{transform:translate(30px,-50px) rotate(10deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}to{transform:translate(0) rotate(0deg)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{opacity:0;transform:translateY(40px) scale(.95);transition:.8s cubic-bezier(.17,.55,.55,1)}.animate-on-scroll.animated{opacity:1;transform:translateY(0) scale(1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.vision-timeline{position:relative;padding:2rem 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand-primary) 0,var(--brand-secondary) 50%,var(--brand-primary) 100%);border-radius:2px;transform:translateX(-50%);display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding:2rem 0;pointer-events:none}.timeline-node{position:relative;width:20px;height:20px;background:#fff;border:4px solid var(--brand-primary);border-radius:50%;transition:var(--transition-medium);z-index:10;box-shadow:0 0 0 4px rgba(99,102,241,.2);cursor:pointer;pointer-events:auto}.timeline-node:hover{transform:scale(1.2);border-color:var(--brand-secondary)}.timeline-node.active{background:var(--brand-primary);transform:scale(1.3);box-shadow:0 0 20px rgba(99,102,241,.5)}.timeline-node[data-index="0"]:before,.timeline-node[data-index="2"]:before{content:"◄";right:100%;margin-right:8px}.timeline-node[data-index="0"]:before,.timeline-node[data-index="1"]:after,.timeline-node[data-index="2"]:before,.timeline-node[data-index="3"]:after{position:absolute;top:50%;transform:translateY(-50%);font-size:18px;font-weight:700;color:var(--brand-primary);opacity:0;transition:var(--transition-medium)}.timeline-node[data-index="1"]:after,.timeline-node[data-index="3"]:after{content:"►";left:100%;margin-left:8px}.timeline-node.active:after,.timeline-node.active:before{opacity:1}.timeline-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem 6rem;gap:3rem 6rem;position:relative}.vision-timeline-card{position:relative;background:hsla(0,0%,100%,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:2rem;border-radius:20px;border:1px solid hsla(0,0%,100%,.6);box-shadow:0 8px 32px rgba(99,102,241,.08),inset 0 1px 0 hsla(0,0%,100%,.8);transition:var(--transition-medium);text-align:center}.vision-timeline-card.left{grid-column:1}.vision-timeline-card.right{grid-column:2}.vision-timeline-card .icon-box{margin:0 auto 1rem}.vision-timeline-card h3{font-size:1.3rem;font-weight:700;color:var(--dark-bg);margin-bottom:.5rem}.vision-timeline-card p{color:var(--light-text-secondary);font-size:.95rem;line-height:1.6}.vision-timeline-card.active{background:hsla(0,0%,100%,.9);transform:scale(1.02);box-shadow:0 15px 50px rgba(99,102,241,.15),inset 0 1px 0 hsla(0,0%,100%,.9);border-color:var(--brand-primary)}@media (max-width:768px){.timeline-line{left:20px}.timeline-cards{grid-template-columns:1fr;padding-left:60px}.vision-timeline-card.left,.vision-timeline-card.right{text-align:center;grid-column:1}.vision-timeline-card.left .icon-box,.vision-timeline-card.right .icon-box{margin-left:auto;margin-right:auto}.timeline-node[data-index="0"]:before,.timeline-node[data-index="2"]:before{content:"►";left:100%;margin-left:8px;right:auto;margin-right:0}}.icon-box{padding:1rem;border-radius:12px;display:flex;align-items:center;justify-content:center}.icon-box.primary{background:rgba(99,102,241,.1);color:var(--brand-primary)}.icon-box.secondary{background:rgba(244,63,94,.1);color:var(--brand-secondary)}.contact-form-card{max-width:900px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-white-70);font-weight:500}.form-input{width:100%;padding:1rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;color:#fff;font-family:inherit;font-size:1rem;transition:var(--transition-fast)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{outline:none;border-color:var(--brand-primary);background:hsla(0,0%,100%,.08);box-shadow:0 0 0 3px rgba(99,102,241,.2)}.btn-full{width:100%;justify-content:center}.architecture-dashboard-card,.impact-dashboard-card{background:var(--glass-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-light-border);border-radius:20px;padding:1.5rem;box-shadow:0 8px 32px rgba(99,102,241,.08),inset 0 1px 0 hsla(0,0%,100%,.8);transition:var(--transition-medium);position:relative;overflow:hidden}.architecture-dashboard-card:hover,.impact-dashboard-card:hover{background:hsla(0,0%,100%,.322);transform:translateY(-5px);box-shadow:0 15px 45px rgba(99,102,241,.15)}section#impacto h2{text-align:center}.dashboard-item{display:flex;align-items:center;gap:1.25rem;padding:1.2rem 0}.dashboard-icon-wrapper{width:44px!important;height:44px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--brand-primary);flex-shrink:0;background:rgba(99,102,241,.1);border-radius:12px}.impact-icon{width:20px!important;height:20px!important;stroke-width:2px}.dashboard-content{flex:1 1}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.dashboard-divider{height:1px;background:rgba(0,0,0,.05);margin:1rem 0}.impact-label{font-weight:700;color:var(--dark-bg);font-size:1rem}.impact-tech-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--brand-secondary);background:rgba(244,63,94,.1);padding:.2rem .6rem;border-radius:50px}.dashboard-stat-row{display:flex;align-items:baseline;gap:.75rem}.impact-stat{font-size:1.8rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.impact-context{color:var(--light-text-secondary);font-size:.85rem;font-weight:500}section#funcionalidad.section.section-dark .service-card{margin:10px}.form-alert{padding:1rem;border-radius:8px;font-size:.95rem}.form-alert-success{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.4);color:#10b981}.form-alert-error{background:rgba(244,63,94,.15);border:1px solid rgba(244,63,94,.4);color:#f43f5e}