*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-base:#050511;--color-cyan:#00f0ff;--color-magenta:#f05;--color-violet:#8a2be2;--color-text-main:#fff;--color-text-muted:#ffffffa6;--glass-bg:#ffffff08;--glass-bg-hover:#ffffff14;--glass-border:#ffffff14;--glass-border-highlight:#fff3;--font-display:"Outfit", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .6vw, 1.25rem);--text-xl:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-3xl:clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem);--text-4xl:clamp(2.25rem, 1.8rem + 2vw, 3.75rem);--text-5xl:clamp(3rem, 2.25rem + 3vw, 5.5rem);--text-display:clamp(4rem, 3rem + 5vw, 8rem);--text-overline:.8rem;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-normal:1.6;--line-height-relaxed:1.8;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:10rem;--space-4xl:16rem;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--shadow-cyan:0 4px 30px #00f0ff4d;--shadow-magenta:0 4px 30px #ff00554d;--shadow-glass:0 8px 32px 0 #0000004d;--ease-elastic:cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth:cubic-bezier(.25, 1, .5, 1);--duration-fast:.2s;--duration-normal:.4s;--duration-slow:.8s;--z-base:0;--z-elevated:10;--z-nav:100;--z-overlay:1000;--z-modal:2000}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-base);color:var(--color-text-main);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height-relaxed);background-image:radial-gradient(at 0 0,#8a2be226 0,#0000 50%),radial-gradient(at 100% 0,#00f0ff1a 0,#0000 50%),radial-gradient(at 100% 100%,#ff00551a 0,#0000 50%),radial-gradient(at 0 100%,#00f0ff1a 0,#0000 50%);background-size:200% 200%;background-attachment:fixed;animation:20s ease-in-out infinite alternate bg-mesh;overflow-x:hidden}@keyframes bg-mesh{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 100%}}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}a{color:var(--color-cyan);transition:all var(--duration-fast) var(--ease-smooth);text-decoration:none}a:hover{color:var(--color-magenta);text-shadow:0 0 10px #f056}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--color-cyan);outline-offset:4px}::selection{background-color:var(--color-cyan);color:var(--color-base)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-base)}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#fff3}::-webkit-scrollbar-thumb:hover{background:var(--color-cyan)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.03em;margin-bottom:var(--space-md);color:var(--color-text-main)}h1{font-size:var(--text-display)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl);font-weight:600}h6{font-size:var(--text-lg);font-weight:500}p{max-width:70ch;margin-bottom:var(--space-md);color:var(--color-text-muted)}.overline{font-family:var(--font-display);font-size:var(--text-overline);text-transform:uppercase;letter-spacing:.3em;color:var(--color-cyan);margin-bottom:var(--space-sm);background:linear-gradient(90deg, var(--color-cyan), var(--color-violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800;display:inline-block}.container{width:100%;max-width:1400px;padding-inline:var(--space-lg);margin-inline:auto}.section{padding-block:var(--space-3xl);position:relative}.section:after{content:"";background:linear-gradient(90deg, transparent, var(--glass-border-highlight), transparent);height:1px;position:absolute;bottom:0;left:10%;right:10%}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass)}.reveal{opacity:0;transition:opacity 1s var(--ease-elastic), transform 1s var(--ease-elastic);transform:translateY(40px)scale(.98)}.reveal.visible{opacity:1;transform:translateY(0)scale(1)}.reveal--delay-1{transition-delay:.15s}.reveal--delay-2{transition-delay:.3s}.reveal--delay-3{transition-delay:.45s}.reveal--delay-4{transition-delay:.6s}
.nav-logo{align-items:center;gap:var(--space-xs);transition:opacity var(--duration-normal) var(--ease-smooth);display:flex}.nav-logo h1{font-size:var(--text-xl);letter-spacing:-.05em;background:linear-gradient(90deg, var(--color-text-main), var(--color-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-weight:800}.btn{justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-pill);transition:all var(--duration-normal) var(--ease-elastic);z-index:1;padding:1rem 2.5rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn-primary{color:var(--color-base);border:1px solid var(--color-cyan);background:0 0}.btn-primary:before{content:"";background:var(--color-cyan);z-index:-1;transition:all var(--duration-normal) var(--ease-elastic);position:absolute;inset:0}.btn-primary:hover{color:var(--color-text-main);box-shadow:var(--shadow-cyan);transform:translateY(-4px)}.btn-primary:hover:before{background:var(--color-magenta)}.btn-secondary{background:var(--glass-bg);color:var(--color-text-main);border:1px solid var(--glass-border-highlight);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--glass-bg-hover);border-color:var(--color-cyan);box-shadow:var(--shadow-cyan);transform:translateY(-4px)}.navbar{z-index:var(--z-nav);padding:var(--space-md) var(--space-lg);transition:all var(--duration-normal) var(--ease-smooth);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--glass-border);background:#050511b3;box-shadow:0 10px 30px #00000080}.nav-menu{align-items:center;gap:var(--space-xl);list-style:none;display:flex}.nav-link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-smooth);font-weight:500;text-decoration:none;position:relative}.nav-link:hover,.nav-link.active{color:var(--color-text-main);text-shadow:0 0 10px #ffffff4d}.nav-link:after{content:"";background-color:var(--color-cyan);opacity:0;width:4px;height:4px;transition:all var(--duration-normal) var(--ease-elastic);box-shadow:var(--shadow-cyan);border-radius:50%;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.nav-link:hover:after,.nav-link.active:after{opacity:1;transform:translate(-50%)scale(1.5)}.project-card{border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);transition:all var(--duration-slow) var(--ease-elastic);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--glass-border-highlight);box-shadow:0 20px 40px #00000080, inset 0 0 0 1px var(--color-cyan);transform:translateY(-12px)scale(1.02)}.project-card__content{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.project-card__category{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.2em;color:var(--color-cyan);font-weight:800}.project-card__title{font-size:var(--text-2xl);color:var(--color-text-main);font-weight:700}.stat-large{align-items:flex-start;gap:var(--space-xs);padding:var(--space-lg);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:transform var(--duration-normal);flex-direction:column;display:flex;box-shadow:inset 0 0 20px #ffffff05}.stat-large:hover{border-color:var(--color-magenta);box-shadow:var(--shadow-magenta);transform:translateY(-5px)}.stat-number{font-family:var(--font-display);background:linear-gradient(135deg, var(--color-cyan), var(--color-violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,1.5vw + 1.5rem,3.5rem);font-weight:800;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-size:clamp(.75rem,.5rem + .5vw,.9rem)}.hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__background,.hero__map{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.hero__map svg{object-fit:cover;opacity:.6;width:100%;height:100%}.hero__content{z-index:1;text-align:center;max-width:1200px;padding:var(--space-3xl) var(--space-lg);position:relative}.hero__title{font-size:var(--text-display);letter-spacing:-.04em;margin-bottom:var(--space-xl);background:linear-gradient(#fff 0%,#ffffff80 100%);-webkit-text-fill-color:transparent;text-shadow:0 10px 40px #ffffff1a;-webkit-background-clip:text;background-clip:text;font-weight:900;line-height:.95}.hero__subtitle{font-size:var(--text-2xl);max-width:800px;margin-inline:auto;margin-bottom:var(--space-2xl);color:var(--color-text-muted);font-weight:300}.hero__cta{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.mision__grid{gap:var(--space-2xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.mision__dropcap{font-family:var(--font-display);font-size:var(--text-5xl);float:left;margin-right:var(--space-sm);color:var(--color-cyan);text-shadow:var(--shadow-cyan);font-weight:900;line-height:.8}.mision__quote{font-size:var(--text-2xl);color:var(--color-text-main);padding:var(--space-lg);border-left:4px solid var(--color-magenta);margin:var(--space-xl) 0;border-radius:0 var(--radius-md) var(--radius-md) 0;background:linear-gradient(90deg,#ff00551a,#0000);font-weight:600}.map-container{aspect-ratio:16/9;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.map-container svg{filter:drop-shadow(0 0 20px #00f0ff33);width:80%;height:80%}.pulse-point{fill:var(--color-cyan);animation:2s infinite svg-pulse}@keyframes svg-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3)}}.form-group{margin-bottom:var(--space-lg);text-align:left}input,select,textarea{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-main);font-family:var(--font-body);font-size:var(--text-base);transition:all var(--duration-fast);background:#ffffff0d;padding:1.2rem}input:focus,select:focus,textarea:focus{border-color:var(--color-cyan);background:#ffffff1a;outline:none;box-shadow:0 0 15px #00f0ff33}label{margin-bottom:var(--space-xs);color:var(--color-text-muted);font-weight:600;display:block}.footer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:var(--space-md) var(--space-lg);background:#00000080}.footer__grid{gap:var(--space-xl);grid-template-columns:2fr repeat(auto-fit,minmax(150px,1fr));max-width:1400px;margin:0 auto;display:grid}.footer__brand h4{font-family:var(--font-display);font-size:var(--text-2xl);background:linear-gradient(90deg, var(--color-cyan), var(--color-violet));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.footer__links a{color:var(--color-text-muted);transition:all var(--duration-fast);overflow-wrap:anywhere;word-break:break-word}.footer__links a:hover{color:var(--color-cyan);text-shadow:var(--shadow-cyan);padding-left:4px}.nav-toggle{padding:var(--space-xs);z-index:1001;flex-direction:column;gap:6px;display:none}.nav-toggle span{background-color:var(--color-text-main);width:24px;height:2px;transition:all var(--duration-fast) var(--ease-smooth);display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}@media (max-width:1024px){.mision__grid{grid-template-columns:1fr}.mision__dropcap{margin-bottom:var(--space-sm)}.footer__grid{gap:var(--space-xl);grid-template-columns:1fr 1fr}.chat-window{width:min(400px,95vw);height:60vh;max-height:500px;bottom:85px;right:2.5vw}}.chat-toggle{background:var(--color-bg);border:1px solid var(--color-cyan);width:64px;height:64px;color:var(--color-cyan);cursor:pointer;z-index:1000;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 0 20px #00ffee4d}.chat-toggle:hover{border-color:#fff;box-shadow:0 0 30px #00ffee80}.chat-toggle__status{background:var(--color-cyan);border:2px solid var(--color-bg);width:12px;height:12px;box-shadow:0 0 5px var(--color-cyan);border-radius:50%;position:absolute;top:4px;right:4px}.chat-window{-webkit-backdrop-filter:blur(25px);border-radius:var(--radius-xl);z-index:1001;background:#08080efa;border:1px solid #00ffee80;flex-direction:column;width:min(400px,90vw);height:min(500px,70vh);display:flex;position:fixed;bottom:6rem;right:2rem;overflow:hidden;box-shadow:0 30px 60px #000c,inset 0 0 20px #00ffee1a}.chat-window__header{background:#00ffee1a;border-bottom:1px solid #00ffee1a;justify-content:space-between;align-items:center;padding:1rem;display:flex}.chat-window__info{align-items:center;gap:.75rem;display:flex}.chat-window__avatar{background:var(--color-cyan);width:32px;height:32px;color:var(--color-bg);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.chat-window__title{color:#fff;font-size:1rem;font-weight:600}.chat-window__subtitle{color:var(--color-text-muted);font-size:.75rem}.chat-window__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.5rem}.chat-window__messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-welcome{text-align:center;color:var(--color-text-muted);padding:1rem;font-size:.9rem}.chat-bubble{border-radius:var(--radius-lg);max-width:85%;padding:.75rem 1rem;font-size:.95rem;line-height:1.4}.chat-bubble.user{background:var(--color-cyan);color:var(--color-bg);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.model{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-bottom-left-radius:4px;align-self:flex-start}.chat-window__input{border-top:1px solid #ffffff0d;gap:.5rem;padding:1rem;display:flex}.chat-window__input input{border-radius:var(--radius-md);color:#fff;background:#ffffff08;border:1px solid #ffffff1a;flex:1;padding:.6rem 1rem;font-size:.9rem}.chat-window__input input:focus{border-color:var(--color-cyan);outline:none;box-shadow:0 0 10px #00ffee1a}.chat-window__input button{background:var(--color-cyan);color:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.chat-window__input button:disabled{opacity:.5;cursor:not-allowed}.typing span{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;margin:0 2px;animation:1.4s infinite both typing;display:inline-block}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:768px){.section{padding-block:var(--space-2xl)}.hero__content{padding-block:var(--space-xl)}.nav-toggle{display:flex}.nav-menu{-webkit-backdrop-filter:blur(20px);justify-content:center;gap:var(--space-xl);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-smooth);z-index:1000;background:#050511f2;flex-direction:column;position:fixed;inset:0}.nav-menu.active{opacity:1;pointer-events:all}.nav-menu .nav-link{font-size:var(--text-2xl)}.footer__grid{gap:var(--space-lg);grid-template-columns:1fr}}
