html{scroll-behavior:smooth}body{color:#e6eaf5;-webkit-font-smoothing:antialiased;background:#05070d;margin:0;font-family:Space Grotesk,sans-serif;overflow-x:hidden}a{color:#7fe0ff;text-decoration:none}a:hover{color:#b3ecff}::selection{color:#fff;background:#1050d0}*{box-sizing:border-box}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes riseIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes waPulse{0%{box-shadow:0 10px 34px #25d36673,0 0 #25d3668c}70%{box-shadow:0 10px 34px #25d36673,0 0 0 18px #25d36600}to{box-shadow:0 10px 34px #25d36673,0 0 #25d36600}}@keyframes waWiggle{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-12deg)}94%{transform:rotate(10deg)}98%{transform:rotate(-4deg)}}nav.main-nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#05070db8;border-bottom:1px solid #7d8fbe1f;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{align-items:center;gap:12px;display:flex}.nav-brand img{object-fit:contain;filter:drop-shadow(0 0 10px #00cafe40);width:42px;height:42px}.nav-brand span{letter-spacing:.12em;color:#f2f5fc;font-size:19px;font-weight:700}.nav-links{align-items:center;gap:28px;display:flex}a.nav-link{color:#a8b3cc;font-size:14px}a.nav-link:hover{color:#fff}.lang-btn{letter-spacing:.08em;color:#7fe0ff;cursor:pointer;background:#00cafe14;border:1px solid #00cafe59;border-radius:999px;padding:7px 16px;font-family:JetBrains Mono,monospace;font-size:12px}.lang-btn:hover{background:#00cafe2e}header#top{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}#canvas-host{z-index:0;position:absolute;inset:0}.hero-fade{z-index:1;pointer-events:none;background:radial-gradient(70% 60% at 28%,#05070de0 0%,#05070d73 55%,#05070d00 100%);position:absolute;inset:0}.hero-wrap{z-index:2;pointer-events:none;width:100%;max-width:1200px;margin:0 auto;padding:120px 40px 80px;position:relative}.hero-inner{pointer-events:auto;flex-direction:column;gap:26px;max-width:620px;display:flex}.hero-badge{letter-spacing:.18em;text-transform:uppercase;color:#7fe0ff;border:1px solid #00cafe4d;border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:8px 18px;font-family:JetBrains Mono,monospace;font-size:12px;animation:.7s both riseIn;display:inline-flex}.hero-badge .dot{background:#00cafe;border-radius:50%;width:7px;height:7px;animation:2.2s infinite pulse}h1.hero-title{letter-spacing:-.02em;color:#f2f5fc;margin:0;font-size:clamp(42px,6vw,74px);font-weight:700;line-height:1.04;animation:.7s .1s both riseIn}h1.hero-title .grad{background:linear-gradient(100deg,#4a78ec,#00cafe);color:#0000;-webkit-background-clip:text;background-clip:text}p.hero-sub{color:#a8b3cc;max-width:520px;margin:0;font-size:18px;line-height:1.65;animation:.7s .2s both riseIn}.hero-ctas{flex-wrap:wrap;gap:16px;animation:.7s .3s both riseIn;display:flex}a.cta-primary{color:#fff;background:linear-gradient(100deg,#1050d0,#0d84dc);border-radius:10px;align-items:center;gap:8px;padding:15px 30px;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 8px 32px #1050d066}a.cta-primary:hover{color:#fff;box-shadow:0 10px 40px #1050d0a6}a.cta-secondary{color:#cdd6ea;border:1px solid #7d8fbe4d;border-radius:10px;align-items:center;padding:15px 30px;font-size:15px;font-weight:500;display:inline-flex}a.cta-secondary:hover{color:#fff;border-color:#00cafe99}.hero-tags{color:#5c6a8a;letter-spacing:.06em;gap:28px;font-family:JetBrains Mono,monospace;font-size:12px;animation:.7s .4s both riseIn;display:flex}.scroll-hint{z-index:2;letter-spacing:.2em;color:#5c6a8a;font-family:JetBrains Mono,monospace;font-size:11px;animation:3s infinite floatY;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.section-head{align-items:baseline;gap:20px;margin-bottom:56px;display:flex}.section-head .num{color:#00cafe;font-family:JetBrains Mono,monospace;font-size:13px}.section-head h2{letter-spacing:-.02em;color:#f2f5fc;margin:0;font-size:clamp(30px,4vw,46px);font-weight:700}#servicios{max-width:1200px;margin:0 auto;padding:110px 40px;position:relative}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.svc-card{background:linear-gradient(160deg,#10143c8c,#080c1866);border:1px solid #7d8fbe24;border-radius:16px;flex-direction:column;gap:14px;padding:30px 28px;transition:border-color .25s,transform .25s;display:flex}.svc-card:hover{border-color:#00cafe73;transform:translateY(-4px)}.svc-icon{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);color:#fff;flex:none;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .3s;display:flex}.svc-icon svg{width:25px;height:25px}.svc-card:hover .svc-icon{transform:rotate(45deg)}.svc-card:hover .svc-icon svg{transform:rotate(-45deg)}.svc-icon svg{transition:transform .3s}.svc-icon.accent-a{background:linear-gradient(135deg,#0d3fb0,#3a6df0);box-shadow:0 10px 24px #1050d059}.svc-icon.accent-b{background:linear-gradient(135deg,#00a7d6,#00cafe);box-shadow:0 10px 24px #00cafe59}.svc-icon.accent-c{background:linear-gradient(135deg,#4a5fec,#00cafe);box-shadow:0 10px 24px #4a5fec59}.svc-card h3{color:#eef2fb;margin:0;font-size:20px;font-weight:600}.svc-card p{color:#93a0bd;margin:0;font-size:14.5px;line-height:1.65}#nosotros{background:linear-gradient(#0d103280,#05070d00);border-top:1px solid #7d8fbe1a;border-bottom:1px solid #7d8fbe1a;position:relative}.about-wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;max-width:1200px;margin:0 auto;padding:110px 40px;display:grid}.about-text{flex-direction:column;gap:24px;display:flex}.about-text .section-head{margin-bottom:0}.about-text p{color:#a8b3cc;margin:0;font-size:17px;line-height:1.75}.stats-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.stat-card{background:#0d103266;border:1px solid #7d8fbe29;border-radius:14px;padding:26px 22px}.stat-card .value{color:#4a78ec;letter-spacing:-.02em;font-size:34px;font-weight:700}.stat-card .label{color:#7d8aa8;letter-spacing:.04em;margin-top:6px;font-family:JetBrains Mono,monospace;font-size:12px}#portafolio{max-width:1200px;margin:0 auto;padding:110px 40px}.work-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.work-item{flex-direction:column;gap:16px;display:flex}.work-img{background:#0d103266;border:1px solid #7d8fbe29;border-radius:16px;height:240px;overflow:hidden}.work-img .img{background-position:50%;background-size:cover;width:100%;height:100%}.work-img .placeholder{color:#5c6a8a;letter-spacing:.06em;text-align:center;border:1px dashed #7d8fbe4d;border-radius:16px;justify-content:center;align-items:center;width:100%;height:100%;padding:0 20px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.work-item .tag{letter-spacing:.14em;text-transform:uppercase;color:#00cafe;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:11px}.work-item h3{color:#eef2fb;margin:0 0 6px;font-size:19px;font-weight:600}.work-item p{color:#93a0bd;margin:0;font-size:14px;line-height:1.6}#contacto{background:linear-gradient(#0d103280,#05070d00);border-top:1px solid #7d8fbe1a}.contact-wrap{grid-template-columns:1fr 1fr;gap:70px;max-width:1200px;margin:0 auto;padding:110px 40px;display:grid}.contact-text{flex-direction:column;gap:24px;display:flex}.contact-text .section-head{margin-bottom:0}.contact-text p{color:#a8b3cc;margin:0;font-size:17px;line-height:1.75}.contact-email{color:#7fe0ff;font-family:JetBrains Mono,monospace;font-size:14px}form.contact-form{flex-direction:column;gap:16px;display:flex}form.contact-form input,form.contact-form textarea{color:#eef2fb;background:#0d103299;border:1px solid #7d8fbe38;border-radius:10px;outline:none;padding:15px 18px;font-family:Space Grotesk,sans-serif;font-size:15px}form.contact-form input:focus,form.contact-form textarea:focus{border-color:#00cafe}form.contact-form textarea{resize:vertical}form.contact-form button{color:#fff;cursor:pointer;background:linear-gradient(100deg,#1050d0,#0d84dc);border:none;border-radius:10px;padding:16px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600;box-shadow:0 8px 32px #1050d059}form.contact-form button:hover{box-shadow:0 10px 40px #1050d099}.form-thanks{color:#7fe0ff;text-align:center;background:#00cafe0f;border:1px solid #00cafe66;border-radius:16px;justify-content:center;align-items:center;padding:60px 40px;font-size:17px;display:flex}footer{border-top:1px solid #7d8fbe1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:36px 40px;display:flex}.footer-left{align-items:center;gap:10px;display:flex}.footer-left img{object-fit:contain;width:26px;height:26px}.footer-note{color:#5c6a8a;font-family:JetBrains Mono,monospace;font-size:12px}a.wa-btn{z-index:60;color:#04160a;background:#25d366;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:14px;font-weight:600;transition:transform .2s;animation:2.6s ease-out infinite waPulse;display:flex;position:fixed;bottom:28px;right:28px}a.wa-btn:hover{color:#04160a;transform:scale(1.06)}a.wa-btn svg{animation:5s ease-in-out infinite waWiggle}a.admin-link{color:#3d4b6e;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:11px}a.admin-link:hover{color:#7fe0ff}.admin-page{background:#05070d;min-height:100vh}.admin-nav{border-bottom:1px solid #7d8fbe1f;justify-content:space-between;align-items:center;padding:16px 40px;display:flex}.admin-brand{align-items:center;gap:12px;display:flex}.admin-brand img{object-fit:contain;width:36px;height:36px}.admin-brand-name{letter-spacing:.12em;color:#f2f5fc;font-size:17px;font-weight:700}.admin-badge{letter-spacing:.14em;text-transform:uppercase;color:#00cafe;border:1px solid #00cafe59;border-radius:999px;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:11px}a.admin-back{font-family:JetBrains Mono,monospace;font-size:12px}.admin-wrap{flex-direction:column;gap:28px;max-width:880px;margin:0 auto;padding:48px 32px 100px;display:flex}.admin-title{letter-spacing:-.02em;color:#f2f5fc;margin:0 0 10px;font-size:32px;font-weight:700}.admin-intro{color:#93a0bd;margin:0;font-size:14.5px;line-height:1.65}.admin-card{background:linear-gradient(160deg,#10143c8c,#080c1866);border:1px solid #7d8fbe2e;border-radius:16px;grid-template-columns:220px 1fr;gap:22px;padding:24px;display:grid}.admin-card-media{flex-direction:column;gap:12px;display:flex}.admin-thumb{background:#0d103280;border:1px dashed #7d8fbe4d;border-radius:10px;justify-content:center;align-items:center;height:150px;display:flex;overflow:hidden}.admin-thumb-img{background-position:50%;background-size:cover;width:100%;height:100%}.admin-thumb-empty{color:#5c6a8a;font-family:JetBrains Mono,monospace;font-size:11px}.admin-upload{text-align:center;color:#7fe0ff;cursor:pointer;border:1px solid #00cafe59;border-radius:8px;padding:9px;font-family:JetBrains Mono,monospace;font-size:11.5px;display:block}.admin-upload:hover{background:#00cafe1a}.admin-upload input{display:none}.admin-clear-img{color:#8a94ad;cursor:pointer;background:0 0;border:1px solid #7d8fbe40;border-radius:8px;padding:7px;font-family:JetBrains Mono,monospace;font-size:11px}.admin-clear-img:hover{color:#f2f5fc}.admin-card-fields{flex-direction:column;gap:12px;display:flex}.admin-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-num{color:#00cafe;font-family:JetBrains Mono,monospace;font-size:12px}.admin-actions{gap:8px;display:flex}.admin-btn-move{color:#a8b3cc;cursor:pointer;background:#0d103299;border:1px solid #7d8fbe40;border-radius:8px;width:32px;height:32px}.admin-btn-move:hover{color:#fff}.admin-btn-delete{color:#f08c8c;cursor:pointer;background:#f0505014;border:1px solid #f050504d;border-radius:8px;width:32px;height:32px}.admin-btn-delete:hover{background:#f0505033}.admin-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-card-fields input,.admin-card-fields textarea{color:#eef2fb;background:#0d103299;border:1px solid #7d8fbe38;border-radius:8px;outline:none;padding:11px 14px;font-family:Space Grotesk,sans-serif;font-size:14px}.admin-card-fields input:focus,.admin-card-fields textarea:focus{border-color:#00cafe}.admin-card-fields textarea{resize:vertical}.admin-add{color:#7fe0ff;cursor:pointer;background:#00cafe0d;border:1px dashed #00cafe66;border-radius:14px;padding:20px;font-family:JetBrains Mono,monospace;font-size:13px}.admin-add:hover{background:#00cafe1f}.admin-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-status{color:#5c6a8a;font-family:JetBrains Mono,monospace;font-size:12px}.admin-reset{color:#8a94ad;cursor:pointer;background:0 0;border:1px solid #7d8fbe40;border-radius:8px;padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:12px}.admin-reset:hover{color:#f08c8c;border-color:#f0505066}.admin-nav-actions{align-items:center;gap:18px;display:flex}.admin-logout{color:#8a94ad;cursor:pointer;background:0 0;border:1px solid #7d8fbe40;border-radius:8px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:12px}.admin-logout:hover{color:#f08c8c;border-color:#f0505066}.admin-login-wrap{justify-content:center;align-items:center;padding:90px 20px;display:flex}.admin-login-card{background:linear-gradient(160deg,#10143c8c,#080c1866);border:1px solid #7d8fbe2e;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:36px 32px;display:flex}.admin-login-card .admin-title{margin:0;font-size:26px}.admin-login-card input{color:#eef2fb;background:#0d103299;border:1px solid #7d8fbe38;border-radius:10px;outline:none;padding:14px 16px;font-family:Space Grotesk,sans-serif;font-size:15px}.admin-login-card input:focus{border-color:#00cafe}.admin-login-card button{color:#fff;cursor:pointer;background:linear-gradient(100deg,#1050d0,#0d84dc);border:none;border-radius:10px;padding:14px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600}.admin-login-card button:disabled{opacity:.5;cursor:not-allowed}.admin-login-error{color:#f08c8c;margin:0;font-family:JetBrains Mono,monospace;font-size:12.5px}@media (max-width:700px){.admin-nav{padding:12px 20px}.admin-wrap{padding:36px 20px 80px}.admin-card{grid-template-columns:1fr}}@media (max-width:900px){.about-wrap,.contact-wrap{grid-template-columns:1fr;gap:44px;padding:70px 24px}#servicios,#portafolio{padding:70px 24px}.hero-wrap{padding:110px 24px 70px}nav.main-nav{padding:12px 20px}nav.main-nav a.nav-link{display:none}footer{padding:28px 20px}a.wa-btn{bottom:18px;right:18px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}}
