@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";.admin-shell,.admin-login-page{--a-bg: #0a0e17;--a-panel: #0d1f3c;--a-panel-2: #0f2547;--a-border: rgba(11, 165, 50, .22);--a-border-soft: rgba(255, 255, 255, .08);--a-green: #0ba532;--a-green-2: #05a74b;--a-cyan: #007aff;--a-text: #e6edf5;--a-muted: #8892a0;--a-danger: #ff3b5c;font-family:"IBM Plex Sans",sans-serif;color:var(--a-text)}.admin-shell *,.admin-login-page *{box-sizing:border-box}.admin-login-page{position:fixed;inset:0;z-index:2000;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 20% 10%,rgba(11,165,50,.1),transparent 45%),radial-gradient(circle at 85% 90%,rgba(0,122,255,.1),transparent 45%),var(--a-bg)}.admin-login-card{width:100%;max-width:420px;background:linear-gradient(135deg,#1a3a6e8c,#0d1f3cf5);border:1px solid var(--a-border);border-radius:20px;padding:48px 40px;box-shadow:0 20px 60px #0000008c,0 0 40px #0ba5320f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.admin-login-header{text-align:center;margin-bottom:34px}.admin-login-logo{width:80px;height:80px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(5,167,75,.5);border-radius:50%;color:var(--a-green);font-size:34px;box-shadow:0 0 24px #0ba53259;animation:adminPulse 2.4s ease-in-out infinite}@keyframes adminPulse{0%,to{box-shadow:0 0 #0ba53259}50%{box-shadow:0 0 0 12px #0ba53200}}.admin-login-title{font-family:"IBM Plex Sans",sans-serif;font-size:32px;font-weight:800;color:#fff;letter-spacing:1px;margin-bottom:6px}.admin-login-subtitle{color:var(--a-cyan);font-size:13px;letter-spacing:3px;text-transform:uppercase}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-error{background:#ff3b5c1a;border:1px solid rgba(255,59,92,.35);color:#ff8095;padding:12px 15px;border-radius:8px;font-size:14px}.admin-login-footer{text-align:center;margin-top:26px}.admin-login-footer a{color:var(--a-muted);text-decoration:none;font-size:14px;transition:color .25s ease}.admin-login-footer a:hover{color:var(--a-green)}.admin-input{width:100%;padding:12px 15px;font-family:"IBM Plex Sans",sans-serif;font-size:15px;background:#050c1899;border:1px solid var(--a-border);border-radius:8px;color:var(--a-text);transition:border-color .25s ease,box-shadow .25s ease}.admin-input::placeholder{color:#ffffff59}.admin-input:focus{outline:none;border-color:var(--a-green);box-shadow:0 0 0 3px #0ba5321f}textarea.admin-input{resize:vertical;min-height:80px;line-height:1.5}.admin-textarea-tall{min-height:220px}.admin-input-sm{padding:7px 10px;font-size:13px}select.admin-input{cursor:pointer}select.admin-input option{background:#0d1f3c;color:#fff}.admin-input-wrap{position:relative}.admin-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#0ba53299;font-size:17px;display:flex;pointer-events:none}.admin-input-iconed{padding-left:42px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"IBM Plex Sans",sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;padding:11px 20px;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .25s ease}.admin-btn svg{font-size:15px}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn-primary{background:linear-gradient(135deg,var(--a-green),var(--a-green-2));color:#06210f}.admin-btn-primary:hover:not(:disabled){box-shadow:0 0 20px #0ba53273;transform:translateY(-1px)}.admin-btn-ghost{background:#0ba53214;border-color:var(--a-border);color:var(--a-green)}.admin-btn-ghost:hover:not(:disabled){background:#0ba53229;border-color:var(--a-green)}.admin-btn-danger{background:#ff3b5c1f;border-color:#ff3b5c59;color:#ff8095}.admin-btn-danger:hover:not(:disabled){background:#ff3b5c38;border-color:var(--a-danger)}.admin-btn-block{width:100%}.admin-btn-sm{padding:8px 14px;font-size:11px}.admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;cursor:pointer;background:#ffffff0a;border:1px solid var(--a-border-soft);color:var(--a-muted);font-size:16px;transition:all .2s ease}.admin-icon-danger:hover{color:var(--a-danger);border-color:#ff3b5c66;background:#ff3b5c1a}.admin-spinner{width:16px;height:16px;border:2px solid rgba(6,33,15,.4);border-top-color:#06210f;border-radius:50%;animation:adminSpin .7s linear infinite}@keyframes adminSpin{to{transform:rotate(360deg)}}.admin-shell{min-height:100vh;display:flex;background:radial-gradient(circle at 80% -10%,rgba(0,122,255,.06),transparent 40%),var(--a-bg)}.admin-sidebar{width:250px;flex-shrink:0;background:linear-gradient(180deg,#0c1a33,#0a0e17);border-right:1px solid var(--a-border);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:12px;padding:4px 6px 22px}.admin-brand-logo{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid rgba(5,167,75,.5);border-radius:50%;color:var(--a-green);font-size:22px}.admin-brand-name{font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:18px;color:#fff}.admin-brand-sub{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--a-cyan)}.admin-nav{display:flex;flex-direction:column;gap:4px;flex:1}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;background:transparent;border:1px solid transparent;color:var(--a-muted);font-family:"IBM Plex Sans",sans-serif;font-size:15px;font-weight:600;letter-spacing:.5px;cursor:pointer;text-align:left;transition:all .2s ease}.admin-nav-item svg{font-size:18px;flex-shrink:0}.admin-nav-item:hover{color:#fff;background:#ffffff0a}.admin-nav-item.active{color:var(--a-green);background:#0ba5321f;border-color:var(--a-border)}.admin-sidebar-foot{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--a-border-soft)}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-topbar{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--a-border-soft);background:#0a0e17d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.admin-topbar-title{font-family:"IBM Plex Sans",sans-serif;font-size:18px;font-weight:700;color:#fff;flex:1}.admin-topbar-actions{display:flex;gap:8px}.admin-hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}.admin-hamburger span{width:22px;height:2px;background:var(--a-green);border-radius:2px}.admin-content{padding:28px 24px 60px;max-width:1100px;width:100%}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--a-border-soft)}.admin-section-title{font-family:"IBM Plex Sans",sans-serif;font-size:22px;font-weight:700;color:#fff}.admin-section-sub{color:var(--a-muted);font-size:14px;margin-top:4px}.admin-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-status{font-family:"IBM Plex Sans",sans-serif;font-size:13px;font-weight:600;letter-spacing:.5px;padding:4px 10px;border-radius:6px}.admin-status-saving{color:var(--a-cyan);background:#007aff1f}.admin-status-ok{color:var(--a-green);background:#0ba53224}.admin-status-err{color:var(--a-danger);background:#ff3b5c24}.admin-field{margin-bottom:16px}.admin-field label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--a-muted)}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-checks{display:flex;gap:22px;margin-top:6px}.admin-check{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--a-text);cursor:pointer}.admin-check input{width:17px;height:17px;accent-color:var(--a-green);cursor:pointer}.admin-pw-form{max-width:460px;display:flex;flex-direction:column;gap:4px}.admin-pw-form .admin-btn{margin-top:8px;align-self:flex-start}.admin-photo-block{margin-top:8px;padding-top:18px;border-top:1px solid var(--a-border-soft)}.admin-photo-title{display:block;margin-bottom:12px;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--a-muted)}.admin-photo-row{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.admin-photo-preview{flex:0 0 auto;width:180px;height:120px;border:1px solid var(--a-border);border-radius:12px;overflow:hidden;background:#0d1f3c99}.admin-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.admin-photo-controls{flex:1 1 240px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.admin-photo-input{color:var(--a-text);font-size:14px;max-width:100%}.admin-photo-input::file-selector-button{font-family:"IBM Plex Sans",sans-serif;font-weight:600;letter-spacing:.5px;color:var(--a-text);cursor:pointer;background:#007aff1f;border:1px solid var(--a-border);padding:8px 14px;border-radius:8px;margin-right:12px}.admin-photo-input:disabled{opacity:.6;cursor:default}.admin-photo-note{margin:0;color:var(--a-muted);font-size:13px}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.admin-card{background:linear-gradient(135deg,#1a3a6e47,#0d1f3c99);border:1px solid var(--a-border);border-radius:14px;padding:20px}.admin-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.admin-card-tag{font-family:"IBM Plex Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--a-cyan);padding:3px 10px;border-radius:6px;background:#007aff1a}.admin-table-wrap{overflow-x:auto;border:1px solid var(--a-border-soft);border-radius:12px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table thead th{text-align:left;padding:12px 14px;font-family:"IBM Plex Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--a-muted);background:#ffffff08;border-bottom:1px solid var(--a-border)}.admin-table tbody td{padding:12px 14px;border-bottom:1px solid var(--a-border-soft);vertical-align:middle;color:var(--a-text)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff05}.admin-table a{color:var(--a-cyan);text-decoration:none}.admin-table a:hover{text-decoration:underline}.admin-cell-msg{max-width:240px;white-space:normal;color:var(--a-muted)}.admin-row-cerrado{opacity:.6}.admin-muted{color:var(--a-muted);font-size:15px;padding:8px 0}.admin-alert-err{background:#ff3b5c1a;border:1px solid rgba(255,59,92,.35);color:#ff8095;padding:12px 15px;border-radius:8px;font-size:14px;margin-bottom:16px}.admin-alert-ok{background:#0ba5321a;border:1px solid var(--a-border);color:var(--a-green);padding:12px 15px;border-radius:8px;font-size:14px;margin-bottom:16px}.admin-backdrop{display:none}@media(max-width:900px){.admin-hamburger{display:flex}.admin-topbar-actions{display:none}.admin-sidebar{position:fixed;top:0;left:0;z-index:100;transform:translate(-100%);transition:transform .28s ease}.admin-sidebar.open{transform:translate(0);box-shadow:0 0 60px #0009}.admin-backdrop{display:block;position:fixed;inset:0;z-index:90;background:#0000008c}}@media(max-width:560px){.admin-grid-2,.admin-cards{grid-template-columns:1fr}.admin-content{padding:20px 14px 50px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table tr{border:1px solid var(--a-border);border-radius:10px;margin-bottom:12px;padding:6px}.admin-table tbody td{border:none;padding:7px 10px;display:flex;justify-content:space-between;gap:12px}.admin-table tbody td:before{content:attr(data-label);font-family:"IBM Plex Sans",sans-serif;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--a-muted);flex-shrink:0}.admin-cell-msg{max-width:none;text-align:right}}:root{--primary-blue: #1a3a6e;--primary-blue-dark: #0d1f3c;--primary-blue-light: #2a4a8e;--accent-green: #05a74b;--neon-green: #0ba532;--neon-cyan: #007aff;--neon-blue: #0088ff;--white: #ffffff;--gray-light: #e0e6ed;--gray: #8892a0;--cyber-pink: #ff0080;--cyber-purple: #8000ff;--glow-green: 0 0 20px rgba(11,165,50, .5), 0 0 40px rgba(11,165,50, .3);--glow-cyan: 0 0 20px rgba(0,122,255, .5), 0 0 40px rgba(0,122,255, .3)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"IBM Plex Sans",sans-serif;background:transparent;color:var(--white);overflow-x:hidden;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--primary-blue-dark)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--neon-green),var(--neon-cyan));border-radius:4px}.glass{background:#1a3a6e33;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1)}.glow-green{box-shadow:var(--glow-green)}.glow-text{text-shadow:0 0 10px currentColor,0 0 20px currentColor}.cyber-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:linear-gradient(180deg,#0d1f3c73,#0d1f3c59,#0d1f3c80),url(/globe-bg.jpg) center center / cover no-repeat}.cyber-grid{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:linear-gradient(rgba(11,165,50,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(11,165,50,.055) 1px,transparent 1px),linear-gradient(rgba(47,127,212,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(47,127,212,.045) 1px,transparent 1px);background-size:50px 50px,50px 50px,200px 200px,200px 200px;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 66% 68%,transparent 0 40%,rgba(0,0,0,.55) 55%,#000 72%);mask-image:radial-gradient(circle at 66% 68%,transparent 0 40%,rgba(0,0,0,.55) 55%,#000 72%)}.particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:var(--neon-green);border-radius:50%;animation:float 15s infinite;opacity:.6;box-shadow:0 0 6px rgba(11,165,50,.55)}@keyframes float{0%,to{transform:translateY(100vh);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100vh);opacity:0}}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}96%{transform:translate(-2px,-2px)}98%{transform:translate(2px,2px)}}.btn-cyber{position:relative;padding:15px 40px;font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;background:transparent;border:2px solid var(--neon-green);color:var(--neon-green);cursor:pointer;overflow:hidden;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:10px;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px))}.btn-cyber:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--neon-green),transparent);transition:left .5s ease}.btn-cyber:hover{background:var(--neon-green);color:var(--primary-blue-dark);box-shadow:var(--glow-green)}.btn-cyber:hover:before{left:100%}.btn-cyber-filled{background:linear-gradient(135deg,var(--neon-green),var(--accent-green));color:var(--primary-blue-dark);border:none}.cyber-card{position:relative;background:linear-gradient(135deg,#1a3a6e40,#0d1f3c59);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(11,165,50,.3);border-radius:4px;padding:30px;transition:all .4s ease;overflow:hidden}.cyber-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--neon-green),var(--neon-cyan),var(--neon-blue))}.cyber-card:hover{transform:translateY(-10px);border-color:var(--neon-green);box-shadow:0 20px 40px #0000004d,0 0 30px #0ba53233}.cyber-input{width:100%;padding:15px 20px;font-family:"IBM Plex Sans",sans-serif;font-size:16px;background:#0d1f3c66;border:1px solid rgba(11,165,50,.3);border-radius:4px;color:var(--white);transition:all .3s ease}.cyber-input:focus{outline:none;border-color:var(--neon-green);box-shadow:0 0 20px #0ba53233}.section-title{font-family:"IBM Plex Sans",sans-serif;font-size:clamp(30px,5vw,50px);font-weight:700;text-transform:uppercase;letter-spacing:-1px;margin-bottom:20px;color:#eef4ff;background:none;-webkit-text-fill-color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.45)}.container{max-width:1400px;margin:0 auto;padding:0 20px}.pulse{animation:pulse 2s ease-in-out infinite}.cyber-loader{width:50px;height:50px;border:3px solid transparent;border-top-color:var(--neon-green);border-radius:50%;animation:spin 1s linear infinite}@keyframes scanline{0%{top:0}to{top:100%}}@keyframes borderGlow{0%,to{border-color:#0ba5324d}50%{border-color:#0ba532cc}}@media(max-width:768px){.container{padding:0 15px}.cyber-card{padding:20px}.btn-cyber{padding:12px 25px;font-size:12px}}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--primary-blue-dark)}.loading-screen p{font-family:"IBM Plex Sans",sans-serif;color:#ffffffb3;letter-spacing:2px}.cyber-loader{width:50px;height:50px;border:3px solid transparent;border-top-color:var(--neon-green);border-radius:50%;animation:spin 1s linear infinite;position:relative}.cyber-loader:before{content:"";position:absolute;inset:5px;border:3px solid transparent;border-top-color:var(--neon-cyan);border-radius:50%;animation:spin 2s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.page-with-header{padding-top:96px;min-height:calc(100vh - 200px)}.full-width{width:100%}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:20px 0;transition:all .3s ease}.navbar.scrolled{background:#0d1f3cf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:15px 0;border-bottom:1px solid rgba(11,165,50,.2)}.nav-container{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.logo-img{height:40px;width:auto;transition:transform .3s ease}.logo:hover .logo-img{transform:scale(1.04)}.navbar.scrolled .logo-img{height:34px}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a,.nav-links .nav-link{color:#fffc;text-decoration:none;font-family:"IBM Plex Sans",sans-serif;font-size:16px;font-weight:500;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease;position:relative;display:inline-block}.nav-links .nav-link.active{color:#0ba532}.nav-links .nav-link.active:after{width:100%}.nav-links .nav-link:hover{color:#0ba532}.nav-links a:after,.nav-links .nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:linear-gradient(90deg,#0ba532,#007aff);transition:width .3s ease}.nav-links a:hover:after{width:100%}.lang-toggle{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#0ba5321a;border:1px solid rgba(11,165,50,.3);border-radius:20px;color:#0ba532;font-family:"IBM Plex Sans",sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;letter-spacing:1px}.lang-toggle:hover{background:#0ba53233;border-color:#0ba532}.mobile-toggle{display:none;background:transparent;border:none;color:#fff;font-size:24px;cursor:pointer}@media(max-width:968px){.nav-links{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background:#0d1f3cfa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;gap:25px;transition:right .3s ease;border-left:1px solid rgba(11,165,50,.2)}.nav-links.open{right:0}.mobile-toggle{display:block;z-index:1001}.logo-x{font-size:28px}.logo-air,.logo-net{font-size:20px}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__globe,.hero__overlay{display:none}.hero__content{position:relative;z-index:2;text-align:center;max-width:800px;padding:0 24px}.hero__badge{display:inline-flex;align-items:center;gap:10px;padding:8px 22px;background:#0ba53214;border:1px solid rgba(11,165,50,.25);border-radius:50px;font-family:"IBM Plex Sans",sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.1em;color:var(--neon-green);margin-bottom:48px;text-transform:uppercase}.hero__badge-dot{width:7px;height:7px;background:var(--neon-green);border-radius:50%;box-shadow:0 0 8px #0ba53299;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{opacity:1;box-shadow:0 0 4px #0ba53266}50%{opacity:.5;box-shadow:0 0 12px #0ba532cc}}.hero__title{font-family:"IBM Plex Sans",sans-serif;font-weight:900;line-height:.95;margin-bottom:16px;letter-spacing:-2.5px}.hero__title-x{font-size:clamp(90px,18vw,160px);color:#fff;font-style:italic}.hero__title-air{font-size:clamp(56px,11vw,100px);color:#fff;font-weight:700}.hero__title-net{font-size:clamp(56px,11vw,100px);color:var(--accent-green);font-weight:900;text-shadow:0 0 40px rgba(5,167,75,.35)}.hero__wifi-icon{font-size:clamp(40px,8vw,70px);color:var(--accent-green);filter:drop-shadow(0 0 20px rgba(5,167,75,.6));margin-bottom:8px}.hero__logo-wrap{position:relative;display:inline-block;margin:4px 0 6px;isolation:isolate}.hero__logo{position:relative;z-index:1;width:clamp(280px,55vw,620px);height:auto}.hero__logo-glow{display:none}@keyframes heroLogoPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hero__title--typing{font-size:clamp(70px,14vw,130px);font-weight:900;letter-spacing:-2px}.hero__title--typing .hero__title-x{color:#fff;font-style:italic}.hero__title--typing .hero__title-air{color:#fff}.hero__title--typing .hero__title-net{color:var(--accent-green);text-shadow:0 0 40px rgba(5,167,75,.35)}.hero__cursor{color:var(--neon-green);font-weight:400;animation:none}.hero__cursor--blink{animation:cursorBlink 1s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.hero__slogan{display:inline-block;font-family:"IBM Plex Sans",sans-serif;font-size:clamp(14px,2.5vw,20px);font-weight:600;font-style:italic;letter-spacing:3px;text-transform:lowercase;color:var(--primary-blue-dark);background:#ffffffeb;padding:5px 32px;border-radius:50px;margin-bottom:28px;box-shadow:0 4px 20px #0003}.hero__desc{font-family:"IBM Plex Sans",sans-serif;font-size:1.1rem;font-weight:400;color:#ffffffa6;line-height:1.7;max-width:560px;margin:0 auto 40px}.hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:64px}.hero__btn{display:inline-flex;align-items:center;gap:8px;font-family:"IBM Plex Sans",sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:14px 36px;border-radius:4px;transition:all .3s ease;cursor:pointer;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.hero__btn--primary{background:linear-gradient(135deg,var(--neon-green),var(--accent-green));color:var(--primary-blue-dark);border:none}.hero__btn--primary:hover{box-shadow:0 0 30px #0ba53266,0 0 60px #0ba53226;transform:translateY(-2px)}.hero__btn--ghost{background:transparent;color:var(--neon-green);border:1.5px solid rgba(11,165,50,.4)}.hero__btn--ghost:hover{background:#0ba5321a;border-color:var(--neon-green);box-shadow:0 0 20px #0ba53226;transform:translateY(-2px)}.hero__stats{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}.hero__stat{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:120px}.hero__stat-icon{font-size:1.2rem;color:var(--neon-green);margin-bottom:4px;opacity:.8}.hero__stat-val{font-family:"IBM Plex Sans",sans-serif;font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:-.02em}.hero__stat-lbl{font-family:"IBM Plex Sans",sans-serif;font-size:.75rem;font-weight:500;color:#fff6;text-transform:uppercase;letter-spacing:.1em}.hero__scroll{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:2;color:#ffffff4d;font-size:1.5rem;text-decoration:none;transition:color .3s ease}.hero__scroll:hover{color:var(--neon-green)}@media(max-width:768px){.hero{min-height:100svh}.hero__badge{font-size:.7rem;margin-bottom:32px}.hero__actions{flex-direction:column;align-items:center;margin-bottom:48px}.hero__stats{gap:24px}.hero__stat-val{font-size:1.3rem}.hero__desc{font-size:1rem}}.plans-section{padding:100px 0;position:relative}.section-header{text-align:center;margin-bottom:60px}.section-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#0ba5321a;border:1px solid rgba(11,165,50,.3);border-radius:50px;font-size:14px;color:#0ba532;margin-bottom:20px;text-transform:uppercase;letter-spacing:2px}.section-subtitle{font-size:18px;color:#ffffffb3;max-width:600px;margin:0 auto}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1080px;margin:0 auto;align-items:stretch}@media(max-width:1100px){.plans-grid{grid-template-columns:repeat(2,1fr);gap:24px}}@media(max-width:640px){.plans-grid{grid-template-columns:1fr}}.plan-card{position:relative;background:linear-gradient(135deg,#0d1f3cee,#06101cf2);border:1px solid rgba(143,160,189,.16);border-radius:20px;padding:40px 30px;text-align:center;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .35s ease;will-change:transform}.plan-features{flex:1 1 auto}.plan-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,transparent,rgba(11,165,50,.5),transparent)}.plan-card:hover{border-color:#0ba53280}.plan-card.popular{border-color:#0ba532;background:linear-gradient(135deg,#0ba53266,#0a4d24ee)}.plan-card.popular:before{background:linear-gradient(90deg,#0ba532,#007aff,#0ba532);height:4px}.popular-badge{position:absolute;top:20px;right:-30px;background:linear-gradient(90deg,#0ba532,#05a74b);color:#0d1f3c;padding:8px 40px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transform:rotate(45deg);display:flex;align-items:center;gap:5px}.plan-header{margin-bottom:30px}.plan-name{font-family:"IBM Plex Sans",sans-serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:10px;letter-spacing:.5px}.plan-speed{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#007aff1a;border:1px solid rgba(0,122,255,.3);border-radius:50px;max-width:100%;flex-wrap:nowrap;white-space:nowrap}.speed-up-to{flex-shrink:0;font-family:"IBM Plex Sans",sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#007affd9;padding:2px 5px;border-radius:4px;background:#007aff2e;border:1px solid rgba(0,122,255,.4);line-height:1}.speed-value{font-family:"IBM Plex Sans",sans-serif;font-size:clamp(13px,1.3vw,16px);font-weight:600;color:#007aff;line-height:1;white-space:nowrap}.plan-price{margin-bottom:30px;display:flex;align-items:flex-start;justify-content:center;gap:2px}.price-currency{font-size:24px;color:#0ba532;margin-top:10px}.price-value{font-family:"IBM Plex Sans",sans-serif;font-size:60px;font-weight:900;color:#fff;line-height:1}.price-cents{font-size:24px;color:#ffffffb3;margin-top:10px}.price-period{font-size:16px;color:#ffffff80;margin-top:40px;margin-left:5px}.plan-features{list-style:none;margin-bottom:30px;text-align:left}.plan-features li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fffc;font-size:15px}.plan-features li:last-child{border-bottom:none}.check-icon{color:#0ba532;font-size:18px;flex-shrink:0}.plan-install-options{display:flex;gap:8px;margin-bottom:20px}.install-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;background:#0ba5320d;border:1px solid rgba(11,165,50,.15);border-radius:8px;transition:all .3s ease}.install-option:hover{border-color:#0ba53266;background:#0ba5321a}.install-label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.install-price{font-family:"IBM Plex Sans",sans-serif;font-size:16px;font-weight:700;color:#0ba532}.install-sub{font-size:10px;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px}.plan-card .btn-cyber{width:100%;justify-content:center}.plan-glow{position:absolute;bottom:-50%;left:50%;transform:translate(-50%);width:200%;height:200px;background:radial-gradient(ellipse at center,rgba(11,165,50,.1) 0%,transparent 70%);pointer-events:none;opacity:0;transition:opacity .4s ease}.plan-card:hover .plan-glow{opacity:1}.plan-card.gamer{border-color:#a855f78c;background:radial-gradient(circle at 20% 0%,rgba(255,0,200,.22),transparent 55%),radial-gradient(circle at 80% 100%,rgba(0,234,255,.18),transparent 55%),radial-gradient(circle at 50% 50%,rgba(128,0,255,.18),transparent 60%),linear-gradient(135deg,#280050d9,#0d0524f2);background-size:200% 200%,200% 200%,200% 200%,100% 100%;animation:gamerMesh 14s ease-in-out infinite alternate;box-shadow:0 0 0 1px #a855f740,0 8px 30px #8000ff2e}@keyframes gamerMesh{0%{background-position:0% 0%,100% 100%,50% 50%,0 0}50%{background-position:60% 30%,30% 70%,70% 30%,0 0}to{background-position:30% 70%,70% 30%,30% 70%,0 0}}.plan-card.gamer:before{background:linear-gradient(90deg,#007aff,#8000ff,#ff00c8);height:4px;background-size:200% 100%;animation:gamerStripe 4s linear infinite}@keyframes gamerStripe{0%{background-position:0% 0%}to{background-position:200% 0%}}.plan-card.gamer:after{content:"";position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(168,85,247,.1) 45%,rgba(255,0,200,.18) 50%,rgba(168,85,247,.1) 55%,transparent 100%);animation:gamerScan 6s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}@keyframes gamerScan{0%,to{transform:translate(0);opacity:0}50%{transform:translate(300%);opacity:1}}.plan-card.gamer:hover{border-color:#a855f7e6;transform:translateY(-4px) scale(1.01);box-shadow:0 20px 50px #00000059,0 0 60px #a855f766,0 0 100px #ff00c833}.plan-card.gamer .speed-up-to{color:#f0c5ff;background:#a855f740;border-color:#a855f780}.plan-card.gamer .plan-speed{background:#a855f71f;border-color:#a855f766}.gamer-badge{position:absolute;top:20px;right:-30px;background:linear-gradient(90deg,#8000ff,#ff0080);color:#fff;padding:8px 40px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transform:rotate(45deg);display:flex;align-items:center;gap:5px}.plan-card.gamer .speed-value,.plan-card.gamer .check-icon{color:#a855f7}.plan-card.gamer .plan-glow{background:radial-gradient(ellipse at center,rgba(168,85,247,.22) 0%,transparent 70%)}.gamer-brands{margin:14px 0 16px;padding:10px 8px 8px;border-radius:12px;background:linear-gradient(135deg,#a855f71f,#ff00c814);border:1px solid rgba(168,85,247,.25);width:100%;box-sizing:border-box;overflow:hidden}.gamer-brands-label{display:flex;align-items:center;justify-content:center;gap:4px;font-family:"IBM Plex Sans",sans-serif;font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e0baff;margin-bottom:8px;white-space:nowrap}.gamer-brands-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 4px;align-items:center;justify-items:center;width:100%}.gamer-brand{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#d8b4ff;font-size:14px;transition:transform .25s ease,color .25s ease,filter .25s ease;filter:drop-shadow(0 0 4px rgba(168,85,247,.4))}.gamer-brand:hover{color:#fff;transform:translateY(-1px) scale(1.18);filter:drop-shadow(0 0 8px rgba(255,0,200,.8))}.plans-install-note{text-align:center;margin-top:30px;color:#ffffff80;font-size:14px;letter-spacing:1px}@media(max-width:768px){.plans-section{padding:60px 0}.plan-card{padding:30px 20px}.price-value{font-size:48px}}.services-section{padding:100px 0;position:relative;background:transparent}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:60px}.service-card{position:relative;background:linear-gradient(135deg,#1a3a6e4d,#0d1f3c80);border:1px solid rgba(11,165,50,.15);border-radius:16px;padding:40px 30px;text-align:center;transition:all .4s ease;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 40%,rgba(11,165,50,.05) 100%);opacity:0;transition:opacity .4s ease}.service-card:hover{border-color:#0ba53266;transform:translateY(-8px);box-shadow:0 20px 40px #0000004d,0 0 40px #0ba5321a}.service-card:hover:before{opacity:1}.service-icon-wrapper{position:relative;width:100px;height:100px;margin:0 auto 30px;display:flex;align-items:center;justify-content:center}.service-icon{font-size:40px;color:#0ba532;z-index:1;transition:all .3s ease}.icon-ring{position:absolute;width:100%;height:100%;border:2px solid rgba(11,165,50,.3);border-radius:50%;transition:all .3s ease}.service-card:hover .icon-ring{border-color:#0ba53299;transform:scale(1.1)}.icon-glow{position:absolute;width:60%;height:60%;background:radial-gradient(circle,rgba(11,165,50,.3) 0%,transparent 70%);filter:blur(15px);opacity:0;transition:opacity .3s ease}.service-card:hover .icon-glow{opacity:1}.service-card:hover .service-icon{transform:scale(1.1);filter:drop-shadow(0 0 20px rgba(11,165,50,.5))}.service-title{font-family:"IBM Plex Sans",sans-serif;font-size:20px;font-weight:600;color:#fff;margin-bottom:15px;letter-spacing:1px}.service-description{font-size:15px;color:#ffffffb3;line-height:1.6;margin-bottom:25px}.service-line{width:50px;height:2px;background:linear-gradient(90deg,#0ba532,#007aff);margin:0 auto 20px;transition:width .3s ease}.service-card:hover .service-line{width:80px}.service-link{color:#0ba532;text-decoration:none;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease;display:inline-block}.service-link:hover{color:#007aff}.services-cta{display:flex;align-items:center;justify-content:space-between;padding:40px;background:linear-gradient(135deg,#0ba53214,#0d1f3c80);border:1px solid rgba(11,165,50,.3);border-radius:16px;flex-wrap:wrap;gap:30px}.cta-content h3{font-family:"IBM Plex Sans",sans-serif;font-size:24px;color:#fff;margin-bottom:10px}.cta-content p{color:#ffffffb3;font-size:16px}@media(max-width:768px){.services-section{padding:60px 0}.services-cta{flex-direction:column;text-align:center;padding:30px 20px}.service-card{padding:30px 20px}}.coverage-section{padding:100px 0;position:relative;overflow:hidden}.coverage-content{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center}.coverage-map{position:relative}.map-container{position:relative;background:linear-gradient(135deg,#0d1f3c59,#1a3a6e40);border:1px solid rgba(11,165,50,.3);border-radius:20px;padding:20px;overflow:hidden}.map-glow-1{position:absolute;top:20%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(11,165,50,.3) 0%,transparent 70%);filter:blur(40px);pointer-events:none;animation:glowPulse 4s ease-in-out infinite}.map-glow-2{position:absolute;bottom:20%;right:15%;width:150px;height:150px;background:radial-gradient(circle,rgba(0,122,255,.25) 0%,transparent 70%);filter:blur(30px);pointer-events:none;animation:glowPulse 4s ease-in-out infinite reverse}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.map-image-wrapper{position:relative;border-radius:12px;overflow:hidden}.pr-map-image{width:100%;height:auto;display:block;border-radius:12px;filter:saturate(1.2) contrast(1.1)}.map-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(11,165,50,.05) 0%,transparent 30%,transparent 70%,rgba(0,136,255,.08) 100%);pointer-events:none}.map-scanline{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,transparent,rgba(11,165,50,.8),transparent);animation:scanline 3s linear infinite;pointer-events:none}@keyframes scanline{0%{top:0;opacity:1}to{top:100%;opacity:0}}.wifi-signals{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.wifi-point{position:absolute;display:flex;align-items:center;justify-content:center;color:#0ba532;font-size:24px;filter:drop-shadow(0 0 10px rgba(11,165,50,.8))}.wifi-pulse{position:absolute;width:50px;height:50px;border:2px solid rgba(11,165,50,.5);border-radius:50%;animation:wifiPulse 2s ease-out infinite}@keyframes wifiPulse{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}.data-streams{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.stream{position:absolute;width:2px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(11,165,50,.8) 50%,transparent 100%);animation:dataStream 2s linear infinite}.stream-1{left:20%;animation-delay:0s}.stream-2{left:50%;animation-delay:.7s}.stream-3{left:80%;animation-delay:1.4s}@keyframes dataStream{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}to{transform:translateY(100%);opacity:0}}.corner-accent{position:absolute;width:30px;height:30px;border-color:#0ba532;border-style:solid;z-index:10}.corner-accent.top-left{top:10px;left:10px;border-width:3px 0 0 3px}.corner-accent.top-right{top:10px;right:10px;border-width:3px 3px 0 0}.corner-accent.bottom-left{bottom:10px;left:10px;border-width:0 0 3px 3px}.corner-accent.bottom-right{bottom:10px;right:10px;border-width:0 3px 3px 0}.map-stats{display:flex;justify-content:center;gap:40px;margin-top:25px;padding-top:20px;border-top:1px solid rgba(11,165,50,.2)}.map-stat{text-align:center}.stat-number{display:block;font-family:"IBM Plex Sans",sans-serif;font-size:28px;font-weight:700;color:#0ba532;text-shadow:0 0 20px rgba(11,165,50,.5)}.stat-text{font-size:13px;color:#fff9;text-transform:uppercase;letter-spacing:1px}.coverage-areas h3{font-family:"IBM Plex Sans",sans-serif;font-size:28px;color:#fff;margin-bottom:15px}.areas-desc{color:#fff9;font-size:16px;line-height:1.6;margin-bottom:30px}.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:35px}.area-item{position:relative;display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#1a3a6e33,#0d1f3c4d);border:1px solid rgba(11,165,50,.2);border-radius:10px;transition:all .3s ease;overflow:hidden}.area-item:hover{border-color:#0ba53280;transform:translate(8px);background:linear-gradient(135deg,#0ba5321a,#0d1f3ccc)}.area-item:hover .area-glow{opacity:1}.area-check{color:#0ba532;font-size:18px;flex-shrink:0}.area-item span{font-size:15px;color:#ffffffe6;font-weight:500}.area-glow{position:absolute;top:0;right:0;width:100px;height:100%;background:linear-gradient(90deg,transparent,rgba(11,165,50,.1));opacity:0;transition:opacity .3s ease}.coverage-cta{display:flex;align-items:center;gap:20px;padding:25px;background:linear-gradient(135deg,#0ba5320f,#0d1f3c4d);border:1px solid rgba(11,165,50,.25);border-radius:16px;flex-wrap:wrap}.cta-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#0ba53226;border:1px solid rgba(11,165,50,.3);border-radius:12px;color:#0ba532;font-size:22px;animation:pulse 2s ease-in-out infinite}.cta-text{flex:1}.cta-text p{color:#fff;font-size:16px;font-weight:600;margin-bottom:3px}.cta-text span{color:#fff9;font-size:14px}@keyframes pulse{0%,to{box-shadow:0 0 #0ba53266}50%{box-shadow:0 0 0 10px #0ba53200}}@media(max-width:1024px){.coverage-content{grid-template-columns:1fr;gap:40px}.map-stats{gap:25px}.stat-number{font-size:24px}}@media(max-width:600px){.coverage-section{padding:60px 0}.areas-grid{grid-template-columns:repeat(2,1fr)}.coverage-cta{flex-direction:column;text-align:center}.wifi-point{font-size:18px}.corner-accent{width:20px;height:20px;border-width:2px}}.ai-section{padding:100px 0;position:relative;background:transparent}.ai-badge{background:#8000ff1a!important;border-color:#8000ff4d!important;color:#a855f7!important}.ai-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.ai-visual{position:relative}.ai-card-container{position:relative;padding:20px}.ai-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;animation:orbFloat 10s ease-in-out infinite}.ai-orb-1{width:200px;height:200px;background:#8000ff;top:-50px;left:-50px}.ai-orb-2{width:150px;height:150px;background:#0ba532;bottom:-30px;right:-30px;animation-delay:-3s}.ai-orb-3{width:100px;height:100px;background:#007aff;top:50%;right:0;animation-delay:-6s}@keyframes orbFloat{0%,to{transform:translate(0)}50%{transform:translate(20px,-20px)}}.ai-main-card{position:relative;background:linear-gradient(135deg,#1a3a6e59,#0d1f3c8c);border:1px solid rgba(128,0,255,.3);border-radius:20px;padding:30px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1}.ai-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.ai-status{display:flex;align-items:center;gap:10px;font-size:14px;color:#0ba532;font-weight:500}.status-dot{width:10px;height:10px;background:#0ba532;border-radius:50%;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 10px #0ba53280}.ai-logo{font-size:28px;color:#a855f7}.ai-chat-demo{margin-bottom:25px}.chat-message{padding:12px 16px;border-radius:16px;margin-bottom:10px;max-width:85%;font-size:14px;line-height:1.5}.chat-message.incoming{background:#ffffff1a;color:#ffffffe6;border-bottom-left-radius:4px}.chat-message.outgoing{background:linear-gradient(135deg,#0ba53233,#05a74b4d);color:#fff;margin-left:auto;border-bottom-right-radius:4px;border:1px solid rgba(11,165,50,.3)}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:#ffffff1a;border-radius:16px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:#ffffff80;border-radius:50%;animation:typing 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-5px);opacity:1}}.ai-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.metric{text-align:center}.metric-value{display:block;font-family:"IBM Plex Sans",sans-serif;font-size:24px;font-weight:700;color:#0ba532;margin-bottom:5px}.metric-label{font-size:12px;color:#fff9;text-transform:uppercase;letter-spacing:1px}.ai-features{position:relative}.ai-features-title{display:flex;align-items:center;gap:15px;font-family:"IBM Plex Sans",sans-serif;font-size:28px;color:#fff;margin-bottom:20px}.title-icon{color:#a855f7;font-size:32px}.ai-features-desc{font-size:16px;color:#ffffffb3;line-height:1.7;margin-bottom:40px}.features-list{display:flex;flex-direction:column;gap:25px;margin-bottom:40px}.feature-item{display:flex;gap:20px;padding:20px;background:#1a3a6e26;border:1px solid rgba(128,0,255,.2);border-radius:12px;transition:all .3s ease}.feature-item:hover{border-color:#8000ff66;transform:translate(10px);background:#8000ff1a}.feature-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#8000ff33;border-radius:12px;color:#a855f7;font-size:24px;flex-shrink:0}.feature-content h4{font-family:"IBM Plex Sans",sans-serif;font-size:16px;color:#fff;margin-bottom:8px}.feature-content p{font-size:14px;color:#fff9;line-height:1.5}.ai-cta{display:flex;gap:20px}.ai-cta .btn-cyber-filled{background:linear-gradient(135deg,#a855f7,#8000ff)}.ai-cta .btn-cyber-filled:hover{box-shadow:0 0 30px #a855f780}@media(max-width:968px){.ai-content{grid-template-columns:1fr;gap:40px}.ai-visual{order:1}.ai-features{order:2}}@media(max-width:480px){.ai-metrics{grid-template-columns:1fr}.feature-item{flex-direction:column;text-align:center}.feature-icon{margin:0 auto}}.nosotros-section{padding:80px 0;position:relative}.nosotros-section .container{max-width:1200px;margin:0 auto;padding:0 20px}.nosotros-section .section-header{text-align:center;margin-bottom:50px}.nosotros-section .section-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:#007aff1a;border:1px solid rgba(0,122,255,.3);border-radius:50px;color:#007aff;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}.nosotros-section .section-title{font-family:"IBM Plex Sans",sans-serif;font-size:clamp(30px,4.4vw,50px);font-weight:700;letter-spacing:-1px;text-transform:uppercase;background:none;color:#eef4ff;-webkit-text-fill-color:#eef4ff;text-shadow:0 1px 3px rgba(0,0,0,.45)}.nosotros-hero{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:center;margin-bottom:60px}@media(max-width:900px){.nosotros-hero{grid-template-columns:1fr;gap:30px;text-align:center}}.nosotros-logo-wrap{position:relative;padding:40px 30px;background:linear-gradient(135deg,#001a3c73,#00081ab3);border:1px solid rgba(0,122,255,.18);border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.nosotros-logo-glow{position:absolute;inset:-40%;background:radial-gradient(circle,rgba(0,122,255,.18),transparent 60%);pointer-events:none;animation:nosotrosLogoPulse 6s ease-in-out infinite}@keyframes nosotrosLogoPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.07)}}.nosotros-logo{position:relative;width:100%;max-width:320px;height:auto;filter:drop-shadow(0 0 30px rgba(0,122,255,.35))}.nosotros-tagline{position:relative;margin-top:14px;font-family:"IBM Plex Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#0ba532d9}.nosotros-intro p{font-size:16px;line-height:1.75;color:#ffffffc7;margin-bottom:16px}.nosotros-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.nosotros-stats .stat{padding:16px 12px;background:#007aff0d;border:1px solid rgba(0,122,255,.2);border-radius:14px;text-align:center}.nosotros-stats .stat-value{display:block;font-family:"IBM Plex Sans",sans-serif;font-size:28px;font-weight:700;color:#007aff;line-height:1}.nosotros-stats .stat-label{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c}.nosotros-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:40px}@media(max-width:900px){.nosotros-pillars{grid-template-columns:1fr}}.pillar{position:relative;padding:28px;background:linear-gradient(135deg,#1a3a6e40,#0d1f3c80);border:1px solid rgba(11,165,50,.18);border-radius:18px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.pillar:hover{transform:translateY(-4px);border-color:#0ba53273;box-shadow:0 18px 40px #0000004d,0 0 25px #0ba53226}.pillar-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#0ba5321f;border:1px solid rgba(11,165,50,.3);color:#0ba532;font-size:22px;margin-bottom:16px}.pillar h3{font-family:"IBM Plex Sans",sans-serif;font-size:18px;font-weight:600;color:#fff;margin-bottom:10px;letter-spacing:.05em}.pillar p{font-size:14px;line-height:1.65;color:#ffffffb8}.nosotros-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:18px;background:#007aff0a;border:1px solid rgba(0,122,255,.18);border-radius:16px}.contact-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#00081a80;border:1px solid rgba(255,255,255,.08);border-radius:50px;color:#ffffffd9;font-size:13px;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease}.contact-pill svg{color:#007aff;flex-shrink:0}.contact-pill:hover{color:#007aff;border-color:#007aff66;background:#007aff14}.contact-section{padding:100px 0;position:relative;background:transparent}.promotions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:60px}.promo-card{display:flex;align-items:center;gap:15px;padding:20px 30px;background:linear-gradient(135deg,#0ba53214,#05a74b08);border:1px solid rgba(11,165,50,.3);border-radius:12px;animation:promoGlow 3s ease-in-out infinite}@keyframes promoGlow{0%,to{box-shadow:0 0 20px #0ba5321a}50%{box-shadow:0 0 30px #0ba5324d}}.promo-icon{font-size:24px;color:#0ba532}.promo-content h4{font-family:"IBM Plex Sans",sans-serif;font-size:16px;color:#0ba532;margin-bottom:5px}.promo-content p{font-size:14px;color:#ffffffb3}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-card{background:linear-gradient(135deg,#1a3a6e4d,#0d1f3c80);border:1px solid rgba(11,165,50,.2);border-radius:20px;padding:40px;margin-bottom:30px}.contact-item{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}.contact-item:last-child{border-bottom:none}.contact-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#0ba5321a;border:1px solid rgba(11,165,50,.3);border-radius:12px;font-size:22px;color:#0ba532;flex-shrink:0}.contact-icon.whatsapp{background:#25d3661a;border-color:#25d3664d;color:#25d366}.contact-details h4{font-family:"IBM Plex Sans",sans-serif;font-size:14px;color:#fff9;margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}.contact-details a,.contact-details p{color:#fff;font-size:18px;text-decoration:none;transition:color .3s ease}.contact-details a:hover{color:#0ba532}.social-links{display:flex;gap:20px}.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 25px;border-radius:12px;text-decoration:none;font-size:16px;font-weight:600;transition:all .3s ease}.social-btn.facebook{background:#1877f233;border:1px solid rgba(24,119,242,.4);color:#1877f2}.social-btn.facebook:hover{background:#1877f24d;transform:translateY(-3px)}.social-btn.whatsapp{background:#25d36633;border:1px solid rgba(37,211,102,.4);color:#25d366}.social-btn.whatsapp:hover{background:#25d3664d;transform:translateY(-3px)}.contact-form-container{background:linear-gradient(135deg,#1a3a6e4d,#0d1f3c80);border:1px solid rgba(11,165,50,.2);border-radius:20px;padding:40px}.contact-form h3{font-family:"IBM Plex Sans",sans-serif;font-size:24px;color:#fff;margin-bottom:30px;text-align:center}.cyber-input{width:100%;padding:15px 20px;background:#0d1f3c66;border:1px solid rgba(11,165,50,.2);border-radius:10px;color:#fff;font-family:"IBM Plex Sans",sans-serif;font-size:16px;transition:all .3s ease}.cyber-input::placeholder{color:#fff6}.cyber-input:focus{outline:none;border-color:#0ba532;box-shadow:0 0 20px #0ba53233}select.cyber-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230ba532' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:20px}textarea.cyber-input{resize:vertical;min-height:100px}.btn-cyber.full-width{width:100%;justify-content:center;padding:18px;font-size:16px}.form-success{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#0ba5321a;border:1px solid rgba(11,165,50,.3);border-radius:8px;color:#0ba532;font-size:14px;margin-bottom:15px}.form-error{padding:12px 16px;background:#ff00501a;border:1px solid rgba(255,0,80,.3);border-radius:8px;color:#ff0050;font-size:14px;margin-bottom:15px}@media(max-width:968px){.contact-content{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr}.social-links{flex-direction:column}}.footer{position:relative;background:linear-gradient(180deg,transparent 0%,rgba(13,31,60,.55) 20%);padding:80px 0 30px;margin-top:50px;overflow:hidden}.footer-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(11,165,50,.5),transparent)}.footer-content{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px;margin-bottom:50px}.footer-brand{max-width:350px}.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:10px}.footer-logo .logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(5,167,75,.5);border-radius:50%;color:#05a74b;font-size:20px}.footer-logo .logo-text{font-family:"IBM Plex Sans",sans-serif;font-size:24px;font-weight:700;color:#fff}.footer-logo .logo-x{color:#fff}.footer-logo .logo-net{color:#05a74b}.footer-tagline{font-style:italic;color:#007aff;font-size:14px;margin-bottom:15px;letter-spacing:2px}.footer-desc{color:#fff9;font-size:14px;line-height:1.6}.footer-links h4,.footer-contact h4{font-family:"IBM Plex Sans",sans-serif;font-size:14px;color:#0ba532;text-transform:uppercase;letter-spacing:2px;margin-bottom:25px}.footer-links ul{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{color:#ffffffb3;text-decoration:none;font-size:15px;transition:all .3s ease;display:inline-block}.footer-links a:hover{color:#0ba532;transform:translate(5px)}.footer-contact .contact-info{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.footer-contact .contact-info a,.footer-contact .contact-info span{display:flex;align-items:center;gap:10px;color:#ffffffb3;text-decoration:none;font-size:14px;transition:color .3s ease}.footer-contact .contact-info a:hover{color:#0ba532}.footer-contact .contact-info svg{color:#0ba532;font-size:18px}.footer-social{display:flex;gap:15px}.footer-social a{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#0ba5321a;border:1px solid rgba(11,165,50,.3);border-radius:10px;color:#0ba532;font-size:20px;transition:all .3s ease}.footer-social a:hover{background:#0ba53233;transform:translateY(-3px);box-shadow:0 5px 20px #0ba53233}.footer-bottom{padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.footer-bottom p{color:#ffffff80;font-size:14px}.powered-by .ad3x{color:#a855f7;font-family:"IBM Plex Sans",sans-serif;font-weight:600}@media(max-width:968px){.footer-content{grid-template-columns:1fr 1fr;gap:40px}}@media(max-width:600px){.footer-content{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;text-align:center}}.footer-logo-img{height:56px;width:auto;object-fit:contain;transition:transform .3s ease}.footer-logo:hover .footer-logo-img{transform:scale(1.04)}.footer-logo-brand{display:flex;flex-direction:column;align-items:flex-start}.footer-wifi-wrap{display:flex;flex-direction:column;align-items:center;margin-left:4px;margin-bottom:-2px}.footer-wifi-icon{color:#05a74b;font-size:16px;filter:drop-shadow(0 0 6px rgba(5,167,75,.6))}.footer-wifi-dot{width:4px;height:4px;background:#05a74b;border-radius:50%;margin-top:-1px}.footer-wordmark{font-family:"IBM Plex Sans",sans-serif;font-weight:800;line-height:1;display:flex;align-items:baseline}.footer-x{font-size:32px;color:#fff;font-style:italic;font-weight:900}.footer-air{font-size:22px;color:#fff;font-weight:600}.footer-net-text{font-size:22px;color:#05a74b;font-weight:800}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:420px;background:linear-gradient(135deg,#1a3a6e99,#0d1f3cf2);border:1px solid rgba(11,165,50,.3);border-radius:20px;padding:50px 40px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:80px;height:80px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(5,167,75,.5);border-radius:50%;animation:pulse 2s ease-in-out infinite}.login-logo .logo-icon{font-size:36px;color:#05a74b}.login-header h1{font-family:"IBM Plex Sans",sans-serif;font-size:32px;color:#fff;margin-bottom:5px}.login-header p{color:#007aff;font-size:14px;letter-spacing:3px;text-transform:uppercase}.login-form .form-group{margin-bottom:20px}.input-wrapper{position:relative}.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#0ba53280;font-size:18px}.input-wrapper .cyber-input{padding-left:45px}.error-message{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#ff6b6b;padding:12px 15px;border-radius:8px;margin-bottom:20px;font-size:14px}.loading-spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.login-footer{text-align:center;margin-top:30px}.login-footer a{color:#fff9;text-decoration:none;font-size:14px;transition:color .3s ease}.login-footer a:hover{color:#0ba532}.admin-dashboard{display:flex;min-height:100vh;background:var(--primary-blue-dark)}.admin-sidebar{width:260px;background:linear-gradient(180deg,#1a3a6ecc,#0d1f3cf2);border-right:1px solid rgba(11,165,50,.2);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100}.sidebar-header{padding:25px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{font-size:28px;color:#05a74b}.sidebar-header span{font-family:"IBM Plex Sans",sans-serif;font-size:16px;color:#fff;font-weight:600}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:15px;width:100%;padding:15px 25px;background:transparent;border:none;color:#ffffffb3;font-size:15px;cursor:pointer;transition:all .3s ease;text-decoration:none}.nav-item:hover{background:#0ba5321a;color:#fff}.nav-item.active{background:#0ba53226;color:#0ba532;border-left:3px solid #0ba532}.nav-item svg{font-size:20px}.sidebar-footer{padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}.nav-item.logout{color:#ff6b6b}.nav-item.logout:hover{background:#ff6b6b1a}.admin-main{flex:1;margin-left:260px;min-height:100vh}.admin-header{padding:25px 40px;background:#0d1f3ccc;border-bottom:1px solid rgba(11,165,50,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-header h1{font-family:"IBM Plex Sans",sans-serif;font-size:24px;color:#fff}.save-message{padding:10px 20px;border-radius:8px;font-size:14px}.save-message.success{background:#0ba5321a;border:1px solid rgba(11,165,50,.3);color:#0ba532}.save-message.error{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.admin-content{padding:30px 40px}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;color:#ffffffb3}.editor-section{max-width:1200px}.editor-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.editor-card{background:linear-gradient(135deg,#1a3a6e66,#0d1f3ccc);border:1px solid rgba(11,165,50,.2);border-radius:16px;padding:30px;margin-bottom:20px}.editor-card h3{font-family:"IBM Plex Sans",sans-serif;font-size:18px;color:#fff;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header h4{font-family:"IBM Plex Sans",sans-serif;font-size:14px;color:#0ba532}.form-group{margin-bottom:20px}.form-group label{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffb3;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.delete-btn{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.delete-btn:hover{background:#ff6b6b33}.delete-btn.small{width:32px;height:32px}.feature-input{display:flex;gap:10px;margin-bottom:10px}.feature-input .cyber-input{flex:1}.add-feature-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px dashed rgba(11,165,50,.3);color:#0ba532;padding:10px 15px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .3s ease;width:100%;justify-content:center}.add-feature-btn:hover{background:#0ba5321a;border-style:solid}.plans-editor-grid,.services-editor-grid,.promotions-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.add-area-form{display:flex;gap:15px;margin-bottom:30px}.add-area-form .cyber-input{flex:1}.coverage-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:30px}.coverage-item{display:flex;align-items:center;gap:12px;padding:15px;background:#0ba5320d;border:1px solid rgba(11,165,50,.2);border-radius:10px}.coverage-item .area-icon{color:#0ba532;font-size:18px}.coverage-item span{flex:1;color:#fff}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px!important;text-transform:none!important}.checkbox-label input{display:none}.checkmark{width:22px;height:22px;border:2px solid rgba(11,165,50,.5);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.checkbox-label input:checked+.checkmark{background:#0ba532;border-color:#0ba532}.checkbox-label input:checked+.checkmark:after{content:"✓";color:var(--primary-blue-dark);font-weight:700}@media(max-width:1024px){.admin-sidebar{width:70px}.sidebar-header span,.nav-item span{display:none}.admin-main{margin-left:70px}.nav-item{justify-content:center;padding:15px}.admin-content{padding:20px}}@media(max-width:768px){.admin-sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:70px;flex-direction:row;border-right:none;border-top:1px solid rgba(11,165,50,.2)}.sidebar-header{display:none}.sidebar-nav{display:flex;padding:0;overflow-x:auto}.sidebar-footer{display:none}.nav-item{flex-direction:column;gap:5px;padding:10px 15px;font-size:10px}.nav-item.active{border-left:none;border-top:3px solid #0ba532}.admin-main{margin-left:0;margin-bottom:70px}.form-row,.plans-editor-grid,.services-editor-grid{grid-template-columns:1fr}}.submissions-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.submission-item{background:#0d1f3c99;border:1px solid rgba(11,165,50,.15);border-radius:10px;padding:16px;transition:border-color .3s ease}.submission-item:hover{border-color:#0ba53266}.submission-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.submission-info{display:flex;align-items:center;gap:10px}.submission-info strong{color:#fff;font-size:16px}.submission-date{color:#fff6;font-size:12px}.submission-details{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:8px}.submission-details span{display:flex;align-items:center;gap:5px;color:#fff9;font-size:13px}.submission-message{color:#ffffffb3;font-size:14px;padding:8px 12px;background:#0003;border-radius:6px;margin-bottom:10px;line-height:1.5}.submission-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.speedtest-page{position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;overflow-x:hidden}.speedtest-header{position:fixed;top:0;left:0;width:100%;z-index:100;background:#0d1f3ceb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(11,165,50,.15);padding:14px 0}.speedtest-header-inner{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.speedtest-logo{text-decoration:none;display:flex;align-items:center}.speedtest-header-center{display:flex;align-items:center;gap:10px;font-family:"IBM Plex Sans",sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--neon-green)}.speedtest-header-icon{font-size:1.2rem;filter:drop-shadow(0 0 6px rgba(11,165,50,.5))}.speedtest-back-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff9;font-family:"IBM Plex Sans",sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.05em;transition:color .3s ease}.speedtest-back-link:hover{color:var(--neon-green)}.speedtest-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:100px 24px 60px;width:100%;max-width:900px;margin:0 auto;flex:1}.speedtest-subtitle{font-family:"IBM Plex Sans",sans-serif;font-size:1.05rem;font-weight:400;color:#ffffff80;text-align:center;margin-bottom:32px;letter-spacing:.02em}.speedtest-gauge-container{position:relative;width:100%;max-width:420px;margin-bottom:20px}.speedtest-gauge-svg{width:100%;height:auto;overflow:visible}.speedtest-gauge-arc{transition:stroke-dashoffset .4s cubic-bezier(.25,.46,.45,.94)}.speedtest-needle{transition:transform .35s cubic-bezier(.25,.46,.45,.94);transform-origin:170px 175px}.speedtest-gauge-container.testing .speedtest-gauge-arc{animation:gaugeGlow 1.5s ease-in-out infinite}@keyframes gaugeGlow{0%,to{filter:url(#glow);opacity:1}50%{filter:url(#glowStrong);opacity:.85}}.speedtest-gauge-center{position:absolute;bottom:16px;left:50%;transform:translate(-50%);text-align:center;pointer-events:none}.speedtest-gauge-value-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.speedtest-gauge-idle{font-family:"IBM Plex Sans",sans-serif;font-size:.95rem;font-weight:500;color:#ffffff59;letter-spacing:.05em;text-transform:uppercase}.speedtest-gauge-speed{font-family:"IBM Plex Sans",sans-serif;font-size:2.8rem;font-weight:900;color:#fff;line-height:1;letter-spacing:-.02em;text-shadow:0 0 20px rgba(11,165,50,.25)}.speedtest-gauge-unit{font-family:"IBM Plex Sans",sans-serif;font-size:.85rem;font-weight:600;color:var(--neon-green);letter-spacing:.1em;text-transform:uppercase}.speedtest-gauge-label{font-family:"IBM Plex Sans",sans-serif;font-size:.75rem;font-weight:500;color:#fff6;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.speedtest-progress-bar{width:100%;max-width:360px;height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:24px}.speedtest-progress-fill{height:100%;background:linear-gradient(90deg,var(--neon-green),var(--neon-cyan, #007aff));border-radius:2px;transition:width .3s ease;box-shadow:0 0 8px #0ba53266}.speedtest-server-info{display:flex;align-items:center;gap:8px;margin-bottom:28px;font-family:"IBM Plex Sans",sans-serif;font-size:.85rem;color:#fff6}.speedtest-server-icon{color:var(--neon-green);font-size:.9rem;opacity:.7}.speedtest-server-label{font-weight:500;text-transform:uppercase;letter-spacing:.05em}.speedtest-server-name{color:#fff9;font-weight:600}.speedtest-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 48px;font-family:"IBM Plex Sans",sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-blue-dark, #0d1f3c);background:linear-gradient(135deg,var(--neon-green),#05a74b);border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));margin-bottom:40px;min-width:220px;min-height:54px}.speedtest-start-btn:hover:not(:disabled){box-shadow:0 0 30px #0ba53259,0 0 60px #0ba53226;transform:translateY(-2px)}.speedtest-start-btn:disabled{cursor:not-allowed;opacity:.8}.speedtest-start-btn.testing{background:#0ba5321f;color:var(--neon-green);border:1.5px solid rgba(11,165,50,.3);clip-path:none;border-radius:4px}.speedtest-start-btn.complete{background:transparent;color:var(--neon-green);border:1.5px solid rgba(11,165,50,.4);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}.speedtest-start-btn.complete:hover{background:#0ba5321a;border-color:var(--neon-green)}.speedtest-spinner{width:18px;height:18px;border:2px solid rgba(11,165,50,.2);border-top-color:var(--neon-green);border-radius:50%;animation:spinnerRotate .8s linear infinite}@keyframes spinnerRotate{to{transform:rotate(360deg)}}.speedtest-results{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-width:700px}.speedtest-result-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;background:#1a3a6e26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:8px;transition:all .3s ease}.speedtest-result-card:hover{border-color:#0ba53233;background:#1a3a6e40;box-shadow:0 0 20px #0ba5320f;transform:translateY(-2px)}.speedtest-result-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.1rem}.speedtest-result-icon.download{background:#0ba5321a;color:#0ba532;box-shadow:0 0 12px #0ba53226}.speedtest-result-icon.upload{background:#00c8ff1a;color:#00c8ff;box-shadow:0 0 12px #00c8ff26}.speedtest-result-icon.ping-card{background:#ffc8001a;color:#ffc800;box-shadow:0 0 12px #ffc80026}.speedtest-result-icon.jitter-card{background:#c800ff1a;color:#c800ff;box-shadow:0 0 12px #c800ff26}.speedtest-result-label{font-family:"IBM Plex Sans",sans-serif;font-size:.7rem;font-weight:500;color:#fff6;text-transform:uppercase;letter-spacing:.1em}.speedtest-result-value{font-family:"IBM Plex Sans",sans-serif;font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.02em}.speedtest-result-unit{font-family:"IBM Plex Sans",sans-serif;font-size:.7rem;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:.08em}.speedtest-page .logo-brand{display:flex;flex-direction:column;align-items:center;position:relative}.speedtest-page .logo-wifi-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:-2px}.speedtest-page .logo-wifi{color:#05a74b;font-size:16px;filter:drop-shadow(0 0 6px rgba(5,167,75,.6))}.speedtest-page .logo-wifi-dot{width:4px;height:4px;background:#05a74b;border-radius:50%;margin-top:-1px;box-shadow:0 0 6px #05a74bcc}.speedtest-page .logo-wordmark{font-family:"IBM Plex Sans",sans-serif;font-weight:800;line-height:1;display:flex;align-items:baseline}.speedtest-page .logo-x{font-size:28px;color:#fff;font-style:italic;font-weight:900}.speedtest-page .logo-air{font-size:20px;color:#fff;font-weight:600}.speedtest-page .logo-net{font-size:20px;color:#05a74b;font-weight:800}@media(max-width:768px){.speedtest-content{padding-top:90px;padding-bottom:40px}.speedtest-gauge-container{max-width:320px}.speedtest-gauge-speed{font-size:2.2rem}.speedtest-results{grid-template-columns:repeat(2,1fr);gap:12px}.speedtest-result-value{font-size:1.3rem}.speedtest-header-center span,.speedtest-back-link span{display:none}.speedtest-start-btn{padding:14px 36px;font-size:.8rem;min-width:190px;min-height:48px}}@media(max-width:480px){.speedtest-gauge-container{max-width:280px}.speedtest-gauge-speed{font-size:1.8rem}.speedtest-gauge-unit{font-size:.7rem}.speedtest-results{grid-template-columns:repeat(2,1fr);gap:10px}.speedtest-result-card{padding:18px 12px}.speedtest-result-value{font-size:1.1rem}.speedtest-subtitle{font-size:.9rem}}.speedtest-gauge-container:before{content:"";position:absolute;top:50%;left:50%;width:260px;height:260px;transform:translate(-50%,-60%);background:radial-gradient(circle,rgba(11,165,50,.06) 0%,rgba(11,165,50,.02) 40%,transparent 70%);border-radius:50%;pointer-events:none;z-index:-1}.speedtest-gauge-container.testing:before{animation:ambientPulse 2s ease-in-out infinite}@keyframes ambientPulse{0%,to{opacity:.6;transform:translate(-50%,-60%) scale(1)}50%{opacity:1;transform:translate(-50%,-60%) scale(1.1)}}.cyber-bg{background:linear-gradient(180deg,#0a1830cc,#0a1830ad,#0a1830db),url(/globe-bg.jpg) center center / cover no-repeat!important}.section-title,.section-subtitle,.service-title,.service-description,.nosotros-intro,.nosotros-tagline,.hero__desc,.hero__slogan,.coverage-section .section-subtitle,.ai-section .section-subtitle{text-shadow:0 1px 3px rgba(0,0,0,.55)}.section-subtitle{color:#c3ccd8!important}.service-card,.plan-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.service-card:hover,.plan-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #00000073,0 0 0 1px #0ba53247}.btn-cyber{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn-cyber:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-cyber-filled:hover{box-shadow:0 10px 28px #0ba53273}.service-link{transition:gap .2s ease,color .2s ease,transform .2s ease}.service-link:hover{transform:translate(3px)}.footer-social a{transition:transform .2s ease,color .2s ease,border-color .2s ease}.footer-social a:hover{transform:translateY(-3px)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #007aff;outline-offset:2px}.stream-section{position:relative;padding:90px 0;z-index:1}.stream-head{text-align:center;max-width:760px;margin:0 auto 46px}.stream-badge{display:inline-block;font-family:"IBM Plex Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--neon-green);border:1px solid rgba(11,165,50,.35);border-radius:100px;padding:7px 18px;margin-bottom:18px;background:#0ba5320f}.stream-title{font-family:"IBM Plex Sans",sans-serif;font-size:clamp(28px,4vw,44px);font-weight:800;color:#fff;letter-spacing:1px;margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.5)}.stream-sub{color:#c3ccd8;font-size:17px;line-height:1.6;text-shadow:0 1px 3px rgba(0,0,0,.5)}.stream-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;max-width:1000px;margin:0 auto}.stream-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:118px;background:none;border:0;padding:8px;transition:transform .25s ease}.stream-logo-icon{display:block;width:50px;height:50px;background-color:var(--c);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;opacity:.95;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));transition:transform .25s ease}.stream-logo-name{font-size:12px;color:var(--gray-light);font-weight:600;letter-spacing:.3px;opacity:.72;transition:opacity .25s ease}.stream-logo:hover{transform:translateY(-6px)}.stream-logo:hover .stream-logo-icon{transform:scale(1.14)}.stream-logo:hover .stream-logo-name{opacity:1}@media(max-width:640px){.stream-logo{width:96px}.stream-logo-icon{width:40px;height:40px}}.fam-section{position:relative;padding:80px 0;z-index:1}.fam-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.fam-media{position:relative}.fam-frame{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(11,165,50,.25);box-shadow:0 24px 60px #00000080,0 0 0 1px #007aff14}.fam-frame img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}.fam-corner{position:absolute;width:22px;height:22px;border:2px solid var(--neon-green);z-index:2;pointer-events:none}.fam-corner.tl{top:12px;left:12px;border-right:0;border-bottom:0}.fam-corner.tr{top:12px;right:12px;border-left:0;border-bottom:0}.fam-corner.bl{bottom:12px;left:12px;border-right:0;border-top:0}.fam-corner.br{bottom:12px;right:12px;border-left:0;border-top:0}.fam-frame-badge{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#080c14d1;backdrop-filter:blur(6px);border:1px solid rgba(11,165,50,.35);z-index:2}.fam-frame-badge-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--neon-green),#059d3f);color:#04121d;font-size:18px}.fam-frame-badge-text{display:flex;flex-direction:column;line-height:1.1}.fam-frame-badge-text strong{font-family:"IBM Plex Sans",sans-serif;font-size:18px;color:#fff}.fam-frame-badge-text small{font-size:12px;color:var(--gray)}.fam-badge{display:inline-block;font-family:"IBM Plex Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--neon-green);border:1px solid rgba(11,165,50,.35);border-radius:100px;padding:7px 18px;margin-bottom:20px;background:#0ba5320f}.fam-title{font-family:"IBM Plex Sans",sans-serif;font-size:clamp(26px,3.4vw,40px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:18px}.fam-desc{color:#c3ccd8;font-size:17px;line-height:1.65;margin-bottom:26px}.fam-list{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:14px}.fam-list li{display:flex;align-items:center;gap:12px;color:#e0e6ed;font-size:16px}.fam-check{display:grid;place-items:center;min-width:26px;height:26px;border-radius:7px;background:#0ba53224;color:var(--neon-green);font-size:15px}.fam-cta{display:inline-flex}@media(max-width:860px){.fam-grid{grid-template-columns:1fr;gap:34px}.fam-media{order:-1}}.nosotros-team{margin:56px 0 8px;text-align:center}.nosotros-team-title{font-size:22px;margin:0 0 22px;color:#fff}.nosotros-team .fam-frame img{width:100%;height:auto;display:block}.cobertura-infra{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:64px 0 8px}.cobertura-infra-media img{width:100%;height:auto;display:block}.cobertura-infra-text h3{font-size:26px;color:#fff;margin:0 0 14px}.cobertura-infra-text p{color:#9fb3c8;font-size:16px;line-height:1.6;margin:0}@media(max-width:860px){.cobertura-infra{grid-template-columns:1fr;gap:28px}.cobertura-infra-media{order:-1}}@media(max-width:480px){#ad3x-chat-window{position:fixed!important;inset:auto 8px 86px!important;width:auto!important;max-width:none!important;height:74vh!important;max-height:calc(100vh - 100px)!important}}
/* --- tarjetas de plan: interacción (usa translate/scale, NO transform:
   las tarjetas llevan un transform en línea de la animación de entrada
   que gana a cualquier transform del CSS) --- */
.plan-card{transition:translate .45s cubic-bezier(.22,1,.36,1),scale .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .35s ease!important;will-change:translate,scale}
.plan-card:hover,.plan-card:focus-within{translate:0 -14px;scale:1.015;border-color:rgba(11,165,50,.75);
 box-shadow:0 26px 60px -18px rgba(0,0,0,.75),0 0 0 1px rgba(11,165,50,.28),0 0 44px -12px rgba(11,165,50,.45)}
.plan-card.popular{translate:0 -6px}
.plan-card.popular:hover,.plan-card.popular:focus-within{translate:0 -20px;scale:1.02}
.plan-card.gamer:hover,.plan-card.gamer:focus-within{translate:0 -14px;scale:1.015;
 border-color:rgba(168,85,247,.75);box-shadow:0 26px 60px -18px rgba(0,0,0,.75),0 0 44px -12px rgba(168,85,247,.5)}
/* halo superior */
.plan-card:before{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;z-index:0;
 background:radial-gradient(420px circle at 50% -10%,rgba(11,165,50,.16),transparent 60%);
 opacity:0;transition:opacity .45s ease}
.plan-card.gamer:before{background:radial-gradient(420px circle at 50% -10%,rgba(168,85,247,.18),transparent 60%)}
.plan-card:hover:before,.plan-card:focus-within:before{opacity:1}
/* línea que se dibuja arriba */
.plan-card:after{content:"";position:absolute;top:0;left:50%;width:0;height:3px;border-radius:3px;z-index:1;
 background:linear-gradient(90deg,#2f7fd4,#0ba532);translate:-50% 0;transition:width .5s cubic-bezier(.22,1,.36,1)}
.plan-card.gamer:after{background:linear-gradient(90deg,#2f7fd4,#a855f7)}
.plan-card:hover:after,.plan-card:focus-within:after{width:82%}
/* detalles internos */
.plan-card .price-value{transition:scale .45s cubic-bezier(.22,1,.36,1);display:inline-block}
.plan-card:hover .price-value{scale:1.06}
.plan-card li{transition:translate .4s cubic-bezier(.22,1,.36,1)}
.plan-card:hover li{translate:3px 0}
.plan-card:hover li:nth-child(2){transition-delay:.04s}
.plan-card:hover li:nth-child(3){transition-delay:.08s}
.plan-card:hover li:nth-child(4){transition-delay:.12s}
.plan-card:hover li:nth-child(5){transition-delay:.16s}
.plan-card .btn-cyber{transition:translate .35s ease,box-shadow .35s ease}
.plan-card:hover .btn-cyber{translate:0 -2px;box-shadow:0 12px 26px -10px rgba(11,165,50,.6)}
.plan-card:focus-within{outline:2px solid rgba(11,165,50,.5);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
 .plan-card,.plan-card *{transition:none!important}
 .plan-card:hover,.plan-card:focus-within,.plan-card.popular,.plan-card.popular:hover{translate:none;scale:none}
 .plan-card:after{display:none}
}
@media (max-width:900px){
 .plan-card.popular{translate:none}
 .plan-card:hover,.plan-card:focus-within{translate:0 -6px;scale:1}
}
/* ===== TARJETAS FLOTANTES, SIN BORDES (preferencia del dueño) ===== */
.plan-card,.service-card,.contact-card,.contact-form-container,.metric,.feature-card,
.coverage-areas,.nosotros-card,.stat,.map-stat,.ai-feature,.cta-content,.area-item,
.tl__item,.case-card,.info-card{border:0!important;outline:0}
.plan-card,.service-card,.contact-card,.contact-form-container{
 background:linear-gradient(160deg,rgba(21,42,78,.62),rgba(9,18,36,.72));
 box-shadow:0 18px 44px -20px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.045);
 backdrop-filter:blur(2px)}
.plan-card:hover,.plan-card:focus-within{
 box-shadow:0 30px 66px -20px rgba(0,0,0,.8),0 0 46px -14px var(--acc,rgba(11,165,50,.5))}
.plan-card.popular{background:linear-gradient(160deg,rgba(11,165,50,.26),rgba(8,44,22,.72))}
.plan-card.gamer{background:linear-gradient(160deg,rgba(124,60,190,.28),rgba(26,10,44,.74))}
.plan-card{--acc:rgba(11,165,50,.55)} .plan-card.gamer{--acc:rgba(168,85,247,.55)}
/* la línea superior se queda: es el único "borde" y sólo al pasar */
.plan-card:after{height:3px}

/* ===== TARJETAS DE SERVICIO: un color por servicio ===== */
.service-card{position:relative;overflow:hidden;transition:translate .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;will-change:translate}
.service-card:hover,.service-card:focus-within{translate:0 -10px;
 box-shadow:0 28px 60px -22px rgba(0,0,0,.8),0 0 40px -14px var(--sc,rgba(11,165,50,.55))}
.service-card:before{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(360px circle at 50% 0%,var(--sc-soft,rgba(11,165,50,.14)),transparent 62%);
 opacity:0;transition:opacity .45s ease}
.service-card:hover:before,.service-card:focus-within:before{opacity:1}
.service-card .svc-ico{width:64px;height:64px;display:block;transition:scale .45s cubic-bezier(.22,1,.36,1)}
.service-card:hover .svc-ico{scale:1.1}
.service-card .service-icon{background:none!important;border:0!important}
.service-card .icon-ring{border-color:var(--sc,rgba(11,165,50,.45))!important;opacity:.5}
.service-card .icon-glow{background:var(--sc-soft,rgba(11,165,50,.2))!important}
.service-card .service-line{background:linear-gradient(90deg,var(--sc),transparent)!important;height:2px;border-radius:2px}
.service-card .service-link{color:var(--sc)!important}
.services-grid .service-card:nth-child(1){--sc:#0BA532;--sc-soft:rgba(11,165,50,.16)}
.services-grid .service-card:nth-child(2){--sc:#2F7FD4;--sc-soft:rgba(47,127,212,.16)}
.services-grid .service-card:nth-child(3){--sc:#22C3D6;--sc-soft:rgba(34,195,214,.16)}
.services-grid .service-card:nth-child(4){--sc:#7C5CFF;--sc-soft:rgba(124,92,255,.16)}
.services-grid .service-card:nth-child(5){--sc:#FF7A45;--sc-soft:rgba(255,122,69,.16)}
.services-grid .service-card:nth-child(6){--sc:#E9B54D;--sc-soft:rgba(233,181,77,.16)}
.services-grid .service-card:nth-child(7){--sc:#FF4D8D;--sc-soft:rgba(255,77,141,.16)}
@media (prefers-reduced-motion:reduce){
 .service-card,.service-card *{transition:none!important}
 .service-card:hover{translate:none}
}
/* aro del icono: sombra en vez de borde (un border de 2px se ve dentado
   cuando el navegador está a 90% u otro zoom fraccionado) */
.service-card .icon-ring{border:0!important;
 box-shadow:0 0 0 2px var(--sc,rgba(11,165,50,.4)) inset;opacity:.45}
.service-card:hover .icon-ring{opacity:.85}
.service-card .service-icon-wrapper:before{content:"";position:absolute;inset:8%;border-radius:50%;
 background:radial-gradient(circle,var(--sc-soft,rgba(11,165,50,.16)),transparent 70%);opacity:.9}
.service-card .svc-ico{position:relative;z-index:2;image-rendering:auto}
/* variante sin aro (se activa poniendo la clase sin-aro en body) */
body.sin-aro .service-card .icon-ring{display:none}
body.sin-aro .service-card .service-icon-wrapper:before{inset:0;
 background:radial-gradient(circle,var(--sc-soft,rgba(11,165,50,.22)),transparent 68%)}
body.sin-aro .service-card .svc-ico{width:76px;height:76px}
/* ===== el aro del icono fuera (orden del dueño) ===== */
.service-card .icon-ring{display:none!important}
.service-card .service-icon-wrapper:before{inset:0;
 background:radial-gradient(circle,var(--sc-soft,rgba(11,165,50,.22)),transparent 68%)}
.service-card .svc-ico{width:76px;height:76px}
.service-card:hover .svc-ico{scale:1.08}

/* ===== etiqueta de sección: fuera la píldora verde ===== */
.section-badge{display:inline-flex;align-items:center;gap:12px;padding:0;margin-bottom:18px;
 background:none!important;border:0!important;border-radius:0;
 font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
 color:#9fb3cc!important}
.section-badge:before{content:"";width:34px;height:2px;border-radius:2px;
 background:linear-gradient(90deg,#2f7fd4,#0ba532);flex:0 0 auto}
.section-badge svg{width:15px;height:15px;color:#0ba532;opacity:.9}
.nosotros-section .section-badge{background:none!important;border:0!important;color:#9fb3cc!important}
/* ===== iconos de Nosotros y AI: mismo tratamiento que Servicios ===== */
.pillar-icon img,.ai-feature img,.feature-card img,.ai-features-grid img{width:56px;height:56px;display:block}
.pillar-icon{background:none!important;border:0!important;display:inline-flex;align-items:center;justify-content:center;
 width:auto;height:auto;padding:0;margin-bottom:14px}
.pillar-icon svg{width:56px;height:56px}
.pillar{border:0!important;background:linear-gradient(160deg,rgba(21,42,78,.5),rgba(9,18,36,.62));
 box-shadow:0 16px 40px -22px rgba(0,0,0,.7);border-radius:18px;padding:26px 24px}
/* ===== chips de pueblos en cobertura: sin línea, flotantes ===== */
.area-item{border:0!important;background:linear-gradient(160deg,rgba(21,42,78,.55),rgba(9,18,36,.6))!important;
 box-shadow:0 10px 26px -16px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.04);
 border-radius:12px;padding:13px 16px;
 transition:translate .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,background .35s ease}
.area-item:hover{translate:0 -3px;
 background:linear-gradient(160deg,rgba(11,165,50,.2),rgba(9,18,36,.66))!important;
 box-shadow:0 18px 34px -18px rgba(0,0,0,.8),0 0 26px -12px rgba(11,165,50,.5)}
.area-item svg,.area-item .area-check{color:#0ba532}
@media (prefers-reduced-motion:reduce){.area-item{transition:none}.area-item:hover{translate:none}}
/* iconos de contacto y de AI: mismo tratamiento */
.contact-icon{background:none!important;border:0!important;width:auto;height:auto;padding:0;
 display:inline-flex;align-items:center;justify-content:center}
.contact-icon img{width:44px;height:44px;display:block}
.feature-icon{background:none!important;border:0!important;padding:0}
.feature-icon img{width:52px;height:52px;display:block}
.feature-item{border:0!important;background:linear-gradient(160deg,rgba(21,42,78,.5),rgba(9,18,36,.62));
 box-shadow:0 16px 40px -22px rgba(0,0,0,.7);border-radius:16px;padding:22px 20px;
 transition:translate .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}
.feature-item:hover{translate:0 -6px;box-shadow:0 24px 50px -22px rgba(0,0,0,.8),0 0 30px -14px rgba(11,165,50,.45)}
@media (prefers-reduced-motion:reduce){.feature-item{transition:none}.feature-item:hover{translate:none}}
.contact-icon.whatsapp{background:none!important;border:0!important}
.contact-icon.whatsapp img,.contact-icon img{width:44px;height:44px;display:block}
/* check de las ventajas del plan: icono Solar teñido con el color del plan */
.plan-features li{display:flex;align-items:flex-start;gap:10px}
.plan-features li>svg{display:none!important}
.plan-features li:before{content:"";flex:0 0 auto;width:22px;height:22px;margin-top:1px;
 background:var(--acc-solid,#0ba532);
 -webkit-mask:url("/icons/check.svg") center/contain no-repeat;
 mask:url("/icons/check.svg") center/contain no-repeat}
.plan-card{--acc-solid:#0ba532}
.plan-card.gamer{--acc-solid:#a855f7}
.plan-card.popular{--acc-solid:#12d03c}
/* ===== AI: la tarjeta del chat sube (estaba centrada verticalmente) ===== */
.ai-content{align-items:start!important}
.ai-visual{position:sticky;top:96px}
.ai-card-header{justify-content:space-between}
@media (max-width:900px){.ai-visual{position:static}}
/* ===== el chat se escribe solo, en bucle de 16 s =====
   Cada mensaje tiene SU PROPIO keyframe (no delay): con delay, los ciclos
   se desfasan y los mensajes desaparecen en desorden. */
.ai-chat-demo{min-height:230px;display:flex;flex-direction:column;gap:10px}
.ai-chat-demo .chat-message{opacity:0;animation-duration:16s;animation-iteration-count:infinite;
 animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}
.ai-chat-demo .chat-message:nth-of-type(1){animation-name:cm1}
.ai-chat-demo .chat-message:nth-of-type(2){animation-name:cm2}
.ai-chat-demo .chat-message:nth-of-type(3){animation-name:cm3}
@keyframes cm1{0%{opacity:0;transform:translateY(8px)}  6%,93%{opacity:1;transform:none} 99%,100%{opacity:0}}
@keyframes cm2{0%,26%{opacity:0;transform:translateY(8px)} 32%,93%{opacity:1;transform:none} 99%,100%{opacity:0}}
@keyframes cm3{0%,56%{opacity:0;transform:translateY(8px)} 62%,93%{opacity:1;transform:none} 99%,100%{opacity:0}}
/* "escribiendo…" justo antes de cada burbuja */
.ai-chat-demo .typing-indicator{opacity:0;animation:cmTyping 16s infinite both}
@keyframes cmTyping{
 0%,17%{opacity:0} 19%,25%{opacity:1}
 27%,47%{opacity:0} 49%,55%{opacity:1}
 57%,74%{opacity:0} 76%,88%{opacity:1}
 90%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
 .ai-chat-demo .chat-message,.ai-chat-demo .typing-indicator{animation:none!important;opacity:1!important;transform:none!important}}

/* ===== Planes: cargo de instalación + sistema mesh (2026-09-24) ===== */
.plans-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1080px;margin:28px auto 0}
.xn-card{position:relative;display:flex;gap:20px;align-items:flex-start;padding:28px 30px;border-radius:22px;background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));backdrop-filter:blur(10px);transition:translate .35s cubic-bezier(.22,1,.36,1),background .35s,box-shadow .35s}
.xn-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 8% 0,var(--xnc,#22C3D6)22,transparent 62%);opacity:.55;pointer-events:none;transition:opacity .35s}
.xn-card:hover{translate:0 -6px;background:linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.03));box-shadow:0 26px 60px -28px var(--xnc,#22C3D6)}
.xn-card:hover:before{opacity:1}
.xn-card--inst{--xnc:#22C3D6}
.xn-card--mesh{--xnc:#12D03C}
.xn-card__ico{width:52px;height:52px;flex:0 0 52px;position:relative;z-index:1;transition:scale .35s cubic-bezier(.22,1,.36,1)}
.xn-card:hover .xn-card__ico{scale:1.09}
.xn-card__body{position:relative;z-index:1;flex:1;min-width:0}
.xn-card__body h3{margin:0 0 8px;font-size:1.22rem;font-weight:600;letter-spacing:-.01em;color:#fff}
.xn-card__body>p{margin:0 0 18px;font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.7)}
.xn-inst-row{display:flex;flex-wrap:wrap;gap:10px}
.xn-inst{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.05);transition:background .28s,translate .28s}
.xn-inst:hover{background:rgba(34,195,214,.14);translate:0 -3px}
.xn-inst__lbl{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55)}
.xn-inst__price{font-size:1.12rem;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.xn-nota{margin:16px 0 0;font-size:.82rem;line-height:1.5;color:rgba(255,255,255,.52)}
.xn-mesh-price{display:flex;align-items:baseline;gap:7px;margin-bottom:18px}
.xn-mesh__desde{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55)}
.xn-mesh-price strong{font-size:2rem;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;line-height:1}
.xn-mesh__mes{font-size:.86rem;color:rgba(255,255,255,.6)}
.xn-card--mesh .btn-cyber{display:inline-flex}
@media (max-width:900px){.plans-extras{grid-template-columns:1fr}}
@media (max-width:520px){.xn-card{flex-direction:column;padding:24px}.xn-inst{flex:1 1 30%}}

/* ===== Nuestro equipo: los 8 retratos reales (2026-09-24) ===== */
.nosotros-team-sub{margin:-6px auto 30px;max-width:620px;text-align:center;font-size:.98rem;line-height:1.6;color:rgba(255,255,255,.62)}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1000px;margin:0 auto}
.team-card{position:relative;overflow:hidden;border-radius:20px;aspect-ratio:5/6;background:linear-gradient(170deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:translate .4s cubic-bezier(.22,1,.36,1),background .4s,box-shadow .4s}
.team-card:before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 105%,rgba(18,208,60,.3),transparent 70%);opacity:0;transition:opacity .4s}
.team-card:hover{translate:0 -8px;background:linear-gradient(170deg,rgba(255,255,255,.11),rgba(255,255,255,.03));box-shadow:0 30px 60px -30px rgba(18,208,60,.65)}
.team-card:hover:before{opacity:1}
.team-card img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:bottom center;transition:scale .5s cubic-bezier(.22,1,.36,1)}
.team-card:hover img{scale:1.045}
@media (max-width:860px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media (max-width:560px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* FIX (2026-09-24): .plan-card.gamer:after tiene MÁS especificidad que la línea
   superior genérica, así que conservaba la geometría y la animación gamerScan del
   diseño anterior (banda que barre la tarjeta) y solo le cambiaba el fondo: salía
   una barra azul sólida encima del plan GAMER. Se le da la misma línea que a las
   otras dos tarjetas y se apaga el barrido. */
.plan-card.gamer:after{top:0;left:50%;width:0;height:3px;border-radius:3px;z-index:1;
  background:linear-gradient(90deg,#2f7fd4,#a855f7);translate:-50% 0;animation:none;
  mix-blend-mode:normal;transition:width .5s cubic-bezier(.22,1,.36,1)}
.plan-card.gamer:hover:after,.plan-card.gamer:focus-within:after{width:82%}

/* Equipo (2026-09-24, 2ª pasada): 7 retratos, algo más pequeños y con la última
   fila centrada — con 7 en rejilla de 4 columnas la segunda fila quedaba pegada
   a la izquierda, así que va en flex. */
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:840px}
.team-card{flex:0 0 calc(25% - 12px)}
@media (max-width:860px){.team-grid{gap:14px;max-width:560px}.team-card{flex:0 0 calc(33.333% - 10px)}}
@media (max-width:560px){.team-grid{gap:12px;max-width:360px}.team-card{flex:0 0 calc(50% - 6px)}}

/* Aire bajo la barra en las páginas interiores (2026-09-24).
   Se sumaban dos separaciones: .page-with-header reservaba 96px para la barra
   fija (que mide 80) y encima la sección metía sus 80-100px de siempre, así que
   entre la barra y el título había ~117px de vacío en TODOS los tabs. Ahora la
   página reserva justo la barra y la primera sección respira lo justo. */
.page-with-header{padding-top:80px}
.page-with-header>section{padding-top:52px}
@media (max-width:768px){
  .page-with-header{padding-top:72px}
  .page-with-header>section{padding-top:36px}
}

/* Instalación gratis con contrato de 2 años (2026-09-24): se marca en verde
   porque es el gancho de la tarjeta. */
.xn-inst--free{background:rgba(18,208,60,.14)}
.xn-inst--free:hover{background:rgba(18,208,60,.22)}
.xn-inst--free .xn-inst__price{color:#3ce56a;letter-spacing:.01em}

/* Equipo (2026-09-24, 3ª pasada): el fondo de la tarjeta dibujaba un rectángulo
   visible detrás de cada retrato — exactamente la línea de borde que no queremos.
   Los retratos flotan sobre el fondo de la página; al pasar por encima solo se
   enciende un halo verde detrás, sin panel ni caja. */
.team-card{background:none;box-shadow:none;overflow:visible}
.team-card:before{content:"";position:absolute;inset:auto 8% 4% 8%;height:62%;border-radius:50%;
  background:radial-gradient(60% 60% at 50% 100%,rgba(18,208,60,.34),transparent 72%);
  opacity:0;filter:blur(12px);transition:opacity .4s ease}
.team-card:hover{background:none;box-shadow:none}
.team-card:hover:before{opacity:1}

/* Equipo (2026-09-24, 4ª pasada): los retratos vienen cortados a la altura del
   pecho, así que el cuerpo terminaba en una raya recta sobre el fondo. Se
   desvanece el último tramo para que se funda con la página en vez de cortarse. */
.team-card img{
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 72%,rgba(0,0,0,.55) 88%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 0,#000 72%,rgba(0,0,0,.55) 88%,transparent 100%)}

/* "Conecta a toda tu familia" y "Entretenimiento sin límites" (2026-09-25).
   Los dos bubbles llevaban píldora con línea verde de borde; se igualan al
   resto del sitio (raya de color + texto, sin caja) y los checks pasan de un
   cuadradito con fondo a un icono Solar limpio, sin contenedor. */
.fam-badge,.stream-badge{
  display:inline-flex;align-items:center;gap:12px;padding:0;
  background:none!important;border:0!important;border-radius:0;
  font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:#9fb3cc!important}
.fam-badge:before,.stream-badge:before{content:"";width:34px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#2f7fd4,#0ba532);flex:0 0 auto}

.fam-check{background:none!important;min-width:24px;width:24px;height:24px;border-radius:0;
  background-image:url("/icons/check-circle.svg")!important;background-size:22px 22px;
  background-repeat:no-repeat;background-position:center;
  transition:scale .3s cubic-bezier(.22,1,.36,1),filter .3s ease}
.fam-check svg{display:none}
.fam-list li{transition:translate .3s cubic-bezier(.22,1,.36,1),color .3s ease}
.fam-list li:hover{translate:4px 0}
.fam-list li:hover .fam-check{scale:1.12;filter:drop-shadow(0 0 8px rgba(18,208,60,.55))}

/* FIX: en la regla anterior el atajo `background:none!important` marcaba como
   importantes TODOS sus longhands (incluidos background-size:auto y
   background-position:0 0), así que se comía el tamaño y la posición que venían
   después y solo se veía un cuarto del icono. Aquí van todos en longhand. */
.fam-check{
  background-color:transparent!important;
  background-image:url("/icons/check-circle.svg")!important;
  background-size:22px 22px!important;
  background-repeat:no-repeat!important;
  background-position:center center!important}

/* Cinco planes (2026-09-25): la rejilla era de 3 columnas fijas, así que con
   cinco tarjetas la última fila quedaba pegada a la izquierda. En flex las dos
   de abajo se centran solas y las tarjetas conservan su tamaño. */
.plans-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:1080px}
.plans-grid > *{flex:0 0 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}
@media (max-width:1024px){.plans-grid > *{flex:0 0 calc(50% - 12px);max-width:calc(50% - 12px)}}
@media (max-width:720px){.plans-grid > *{flex:0 0 100%;max-width:100%}}

/* FIX planes (2026-09-25): .plan-card lleva `height:100%`, que en la rejilla
   CSS anterior resolvía contra la fila. Al pasar a flex, un height distinto de
   auto DESACTIVA el estirado, así que cada tarjeta se quedaba con el alto de su
   contenido y GAMER (2 características más + la consola de plataformas) salía
   mucho más alta que TURBO. Con height:auto vuelve a mandar align-items:stretch
   y las de una misma fila quedan iguales. */
.plans-grid{align-items:stretch}
.plans-grid > .plan-card{height:auto}
/* La consola de plataformas del GAMER pasa a una sola fila para que la
   diferencia de alto entre las dos tarjetas de abajo no sea tan bestia. */
.gamer-brands-row{display:flex!important;flex-wrap:nowrap;justify-content:center;gap:10px}
.gamer-brands-row .gamer-brand{flex:0 0 auto}

/* Planes (2026-09-25): las características llevaban una raya separadora debajo
   de cada una — otra línea de borde, y además estiraba la tarjeta. Fuera las
   rayas y filas algo más juntas. Y la consola del GAMER se compacta: era lo que
   más diferencia de alto metía contra TURBO. */
.plan-features li{border-bottom:0!important;padding:9px 0}
.plan-features{margin-bottom:22px}
.gamer-brands{margin:10px 0 12px;padding:8px 8px 7px;border:0!important;
  background:linear-gradient(135deg,rgba(168,85,247,.16),rgba(255,0,200,.09))}
.gamer-brands-label{margin-bottom:6px}
.gamer-brand{width:18px;height:18px;font-size:12px}

/* La consola "OPTIMIZADO PARA" pasa a UNA línea (rótulo a la izquierda, iconos
   a la derecha). Ocupaba ~90px de alto y era lo que hacía que la tarjeta GAMER
   descolgara respecto a TURBO. */
.gamer-brands{display:flex;align-items:center;gap:10px;margin:6px 0 14px;padding:7px 12px;border-radius:999px}
.gamer-brands-label{margin:0;flex:0 0 auto;font-size:7.5px;letter-spacing:.14em}
.gamer-brands-row{flex:1 1 auto;gap:8px}
.gamer-brand{width:16px;height:16px;font-size:11px}

/* Los 5 planes en UNA fila (2026-09-25). La rejilla se ensancha y las tarjetas
   se aprietan un poco; por debajo de 1280 vuelven a 3 + 2, luego 2 y luego 1. */
.plans-grid{max-width:1340px;gap:16px}
.plans-grid > .plan-card{flex:0 0 calc(20% - 12.8px);max-width:calc(20% - 12.8px);padding:30px 18px}
.plans-grid > .plan-card:nth-child(4),
.plans-grid > .plan-card:nth-child(5){margin:0}
@media (max-width:1280px){
  .plans-grid{max-width:1080px;gap:24px}
  .plans-grid > .plan-card{flex:0 0 calc(33.333% - 16px);max-width:calc(33.333% - 16px);padding:40px 30px}
}
@media (max-width:1024px){
  .plans-grid > .plan-card{flex:0 0 calc(50% - 12px);max-width:calc(50% - 12px)}
}
@media (max-width:720px){
  .plans-grid > .plan-card{flex:0 0 100%;max-width:100%}
}

/* Con los 5 planes en una fila la tarjeta GAMER se estrecha a ~255px y en la
   consola de plataformas no caben los 8 iconos en línea con el rótulo: se
   recortaban 4. En ese ancho el rótulo pasa a su propia línea. */
@media (min-width:1281px){
  .gamer-brands{flex-wrap:wrap;justify-content:center;padding:7px 8px;border-radius:14px}
  .gamer-brands-label{flex:1 0 100%;justify-content:center;margin-bottom:5px}
  .gamer-brands-row{flex:1 1 100%;justify-content:center;gap:6px}
  .gamer-brand{width:15px;height:15px;font-size:10px}
}

/* 8ª tarjeta de Servicios (Servicios de IA, 2026-09-25): los colores por
   servicio solo llegaban hasta la séptima, así que salía sin acento. Violeta,
   a juego con su icono y con la sección de AI Services. */
.service-card:nth-child(8){--sc:#A855F7;--sc-soft:rgba(168,85,247,.16)}

/* ===== Clientes y aliados (2026-09-25) =====
   Banda CLARA a propósito: los logos de terceros están hechos para fondo blanco;
   en monocromo los escudos redondos (Capitanes, las farmacias) se convierten en
   manchas, y en color sobre el navy los que llevan texto oscuro desaparecen. */
.ali-section{position:relative;padding:72px 0 78px;background:linear-gradient(180deg,#f4f7fb,#e9eef6);overflow:hidden}
.ali-head{text-align:center;margin-bottom:38px}
.ali-badge{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;
  font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#5b7391}
.ali-badge:before{content:"";width:34px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#2f7fd4,#0ba532)}
.ali-title{margin:0 0 10px;font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700;letter-spacing:-.02em;color:#122036}
.ali-sub{margin:0 auto;max-width:620px;font-size:1rem;line-height:1.6;color:#54657e}

.ali-marquee{position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.ali-track{display:flex;width:max-content;animation:aliScroll 46s linear infinite}
.ali-marquee:hover .ali-track{animation-play-state:paused}
.ali-row{display:flex;align-items:center;flex:0 0 auto}
.ali-item{flex:0 0 auto;display:grid;place-items:center;width:190px;height:78px;padding:0 14px;
  opacity:.72;filter:saturate(.9);transition:opacity .3s ease,filter .3s ease,scale .35s cubic-bezier(.22,1,.36,1)}
.ali-item:hover{opacity:1;filter:none;scale:1.07}
.ali-item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
@keyframes aliScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ali-track{animation:none}.ali-marquee{overflow-x:auto}}
@media (max-width:768px){
  .ali-section{padding:52px 0 56px}
  .ali-item{width:140px;height:62px;padding:0 10px}
  .ali-track{animation-duration:34s}
}

/* Aliados, 2ª pasada (2026-09-25): la franja ocupaba demasiado alto y el
   desplazamiento se notaba pesado. Se compacta todo y la pista se promueve a su
   propia capa para que el navegador la mueva en la GPU y no repinte en cada
   fotograma. Velocidad ~60 px/s, que es lo cómodo para leer un logo al pasar. */
.ali-section{padding:44px 0 46px}
.ali-head{margin-bottom:22px}
.ali-badge{margin-bottom:10px;font-size:11.5px;letter-spacing:.22em}
.ali-badge:before{width:26px}
.ali-title{font-size:clamp(1.35rem,2.6vw,1.85rem);margin-bottom:7px}
.ali-sub{max-width:540px;font-size:.93rem;line-height:1.55}
.ali-item{width:158px;height:58px;padding:0 12px}
.ali-track{animation-duration:37s;will-change:transform;transform:translateZ(0);backface-visibility:hidden}
@media (max-width:768px){
  .ali-section{padding:34px 0 36px}
  .ali-head{margin-bottom:16px}
  .ali-item{width:120px;height:48px;padding:0 8px}
  .ali-track{animation-duration:28s}
}

/* Aliados, 3ª pasada (2026-09-25): logos más grandes y el rótulo casi pegado al
   borde de arriba, para que la banda gris ocupe lo mínimo. */
.ali-section{padding:18px 0 30px}
.ali-head{margin-bottom:18px}
.ali-badge{margin-bottom:8px}
.ali-sub{max-width:520px;font-size:.9rem}
.ali-item{width:196px;height:78px;padding:0 14px}
.ali-track{animation-duration:42s}
@media (max-width:768px){
  .ali-section{padding:16px 0 24px}
  .ali-head{margin-bottom:14px}
  .ali-item{width:148px;height:62px;padding:0 10px}
  .ali-track{animation-duration:32s}
}

/* Aliados, 4ª pasada (2026-09-25): CADA LOGO OCUPA LO SUYO.
   Antes iban en casillas de 196px fijos: los estrechos (Capitanes, las
   farmacias) quedaban flotando en medio del hueco y los anchos casi pegados.
   Ahora la imagen viene recortada al ras y con su tamaño real, la casilla se
   ajusta sola y la separación la pone un gap único e igual para todos.
   El padding derecho de cada fila mantiene esa misma separación en el empalme
   de las dos copias, que es donde se notaría el salto. */
.ali-row{gap:58px;padding-right:58px}
.ali-item{width:auto;height:auto;min-width:0;padding:0;display:grid;place-items:center}
.ali-item img{width:auto;height:auto;max-width:none;max-height:none;display:block}
@media (max-width:768px){.ali-row{gap:38px;padding-right:38px}}

/* El tamaño de cada logo va en estilo en línea (lo calcula la normalización
   óptica); aquí solo se quitan los topes para que nada lo recorte. */
.ali-item img{max-width:none!important;max-height:none!important;object-fit:contain}

/* Planes (2026-09-25): las cinco tarjetas miden lo mismo (255x653 medido), pero
   TURBO y GAMER PARECÍAN más grandes por dos motivos:
     - TURBO iba levantada 6px sobre la fila (`translate:0 -6px`). Existían
       reglas que lo anulaban, pero solo dentro de @media reduced-motion y
       max-width:900px, así que en escritorio seguía elevada.
     - GAMER llevaba un aro de 1px y un halo morado de más, que engordan su
       silueta frente al resto.
   Se igualan el asiento y la sombra en reposo; el color, el lazo y el botón
   relleno se quedan, que son la distinción buscada. */
.plan-card.popular{translate:none}
.plan-card.gamer{box-shadow:0 18px 44px -20px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.045)}

/* Mapa de la oficina en Contacto (2026-09-25). OpenStreetMap incrustado, sin
   clave de API; el filtro lo pasa a oscuro para que no cante sobre el resto de
   la página, y el alfiler va encima, centrado, porque el de OSM se volvería de
   un color raro con ese mismo filtro. */
.xn-mapa{position:relative;margin-top:18px;border-radius:18px;overflow:hidden;
  aspect-ratio:16/10;background:#0b1220;box-shadow:0 18px 44px -20px rgba(0,0,0,.72)}
.xn-mapa__frame{position:absolute;inset:0;width:100%;height:100%;border:0;
  filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.95) saturate(.7)}
.xn-mapa__pin{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;
  border-radius:50%;background:#12d03c;box-shadow:0 0 0 4px rgba(18,208,60,.28),0 0 16px rgba(18,208,60,.8);
  pointer-events:none}
.xn-mapa__pin:after{content:"";position:absolute;inset:-14px;border-radius:50%;
  border:2px solid rgba(18,208,60,.55);animation:xnPing 2.4s ease-out infinite}
@keyframes xnPing{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.xn-mapa__dir{position:absolute;left:14px;bottom:14px;max-width:62%;padding:8px 12px;border-radius:10px;
  background:rgba(8,14,26,.82);backdrop-filter:blur(6px);color:#cfe0f2;font-size:.78rem;line-height:1.35}
.xn-mapa__cta{position:absolute;right:14px;bottom:14px;padding:8px 14px;border-radius:10px;
  background:rgba(18,208,60,.16);color:#3ce56a;font-size:.78rem;font-weight:600;letter-spacing:.04em;
  text-decoration:none;backdrop-filter:blur(6px);transition:background .25s ease,translate .25s ease}
.xn-mapa__cta:hover{background:rgba(18,208,60,.3);translate:0 -2px}
@media (max-width:520px){
  .xn-mapa{aspect-ratio:4/3}
  .xn-mapa__dir{max-width:none;left:12px;right:12px;bottom:52px}
  .xn-mapa__cta{left:12px;right:auto;bottom:12px}
}

/* La barra de atribución de OpenStreetMap va abajo del iframe y hay que dejarla
   legible (es condición de la licencia): las etiquetas suben por encima. */
.xn-mapa__dir,.xn-mapa__cta{bottom:34px}
@media (max-width:520px){.xn-mapa__dir{bottom:76px}.xn-mapa__cta{bottom:34px}}

/* El mapa pasa DEBAJO y a todo el ancho: dentro de la columna izquierda
   estiraba esa card y el formulario de al lado quedaba desproporcionado. */
.xn-mapa{margin:32px 0 0;aspect-ratio:24/7}
@media (max-width:900px){.xn-mapa{margin-top:24px;aspect-ratio:16/9}}
@media (max-width:520px){.xn-mapa{aspect-ratio:4/3}}

/* === Fotos en las tarjetas de Instalación y Mesh (2026-09-26): foto ARRIBA a
   todo el ancho (el dueño la quería más grande; al lado quedaba en 169 px),
   fundida con la tarjeta sin línea de corte. La del mesh son 3 routers con la
   "X" del webchat compuesta encima (la IA deforma logos). === */
.plans-extras .xn-card{flex-direction:column;align-items:stretch;padding:0;overflow:hidden}
.plans-extras .xn-card__ico{flex:none;width:100%;height:300px;min-height:0;object-fit:cover;border-radius:22px 22px 0 0;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 92px),rgba(0,0,0,.6) calc(100% - 54px),rgba(0,0,0,.22) calc(100% - 24px),transparent);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 92px),rgba(0,0,0,.6) calc(100% - 54px),rgba(0,0,0,.22) calc(100% - 24px),transparent)}
.plans-extras .xn-card--inst .xn-card__ico{object-position:50% 35%}
.plans-extras .xn-card--mesh .xn-card__ico{object-position:50% 58%}
.plans-extras .xn-card__body{padding:4px 30px 28px}
.plans-extras .xn-card:hover .xn-card__ico{scale:1.03}
@media (max-width:520px){
  .plans-extras .xn-card__ico{height:240px}
  .plans-extras .xn-card__body{padding:4px 22px 24px}
}

/* === Clientes y aliados más compacto (2026-09-26): sin título ni subtítulo
   ("nos confían su conexión" se podía malinterpretar: Claro y Liberty no son
   clientes de la red), solo la etiqueta y los logos. === */
.ali-section{padding:14px 0 20px}
.ali-head{margin-bottom:12px}
.ali-badge{margin-bottom:0}
@media (max-width:768px){.ali-section{padding:12px 0 18px}.ali-head{margin-bottom:10px}}

/* === /ai en móvil: la esfera animada .ai-orb-2 se salía 35 px por la derecha y
   daba scroll horizontal. clip recorta solo en X, sin crear contenedor de scroll. === */
.ai-section{overflow-x:clip}

/* === Globo del home: la Tierra ENTERA (foto NASA EPIC/DSCOVR, 2026-08-18, dominio
   público), redonda y centrada detrás del logo. La foto anterior solo traía la
   mitad de arriba del planeta y se veía cortada. La máscara de la cuadrícula se
   centra en el globo: estaba al 66 % del ancho y la dejaba visible solo a la
   izquierda. === */
:root{--globo:min(135vh,150vw);--g-top:28vh}
/* Grande y detrás, como la foto de antes, pero redonda: la Tierra asoma desde
   el 28 % de la pantalla y se hunde por abajo; la imagen trae un halo de 4,55 %
   por cada lado, de ahí la corrección de la posición. (2026-09-26, el dueño la
   quería más grande: centrada y entera se veía pequeña.) */
.cyber-bg{background:linear-gradient(180deg,#0a1830cc,#0a1830ad,#0a1830db),url(/globe-full.webp) 50% calc(var(--g-top) - var(--globo)*.0455)/var(--globo) auto no-repeat,#0a1830!important}
.cyber-grid{-webkit-mask-image:radial-gradient(circle at 50% calc(var(--g-top) + var(--globo)*.4545),transparent 0 calc(var(--globo)*.42),rgba(0,0,0,.55) calc(var(--globo)*.5),#000 calc(var(--globo)*.6))!important;mask-image:radial-gradient(circle at 50% calc(var(--g-top) + var(--globo)*.4545),transparent 0 calc(var(--globo)*.42),rgba(0,0,0,.55) calc(var(--globo)*.5),#000 calc(var(--globo)*.6))!important}
