/* Ajustes de Blue Corporation sobre la plantilla Aivora */
:root{ --color-primary:#3cf5c8; --blue:#3b82ff; }
.ai-agency{ --color-primary:#3cf5c8; }

/* Animaciones de entrada (reemplazo de wow.js) */
.wow:not(.animated){ visibility:hidden; animation-name:none !important; }
.wow.animated{ visibility:visible; animation-duration:var(--d,1s); animation-fill-mode:both; }
@media (prefers-reduced-motion:reduce){ .wow:not(.animated){visibility:visible} .scale-animation{opacity:1;transform:none} .blue-marquee-track{animation:none!important} }

/* Marquesina CSS (reemplazo de react-fast-marquee) */
.blue-marquee{ overflow:hidden; width:100%; display:flex; }
.blue-marquee-track{ display:flex; flex:none; width:max-content; animation:blueMq var(--dur,40s) linear infinite; }
.blue-marquee-track > *{ flex:none; }
.blue-marquee.reverse .blue-marquee-track{ animation-direction:reverse; }
@keyframes blueMq{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.xb-about-img-wrap .blue-marquee-track{ gap:0; }
.xb-about-img-item .xb-img img{ width:100%; height:100%; object-fit:cover; }
.xb-brand-inner{ gap:0; flex-wrap:nowrap; }
.xb-industries-inner{ flex-wrap:nowrap; }
.xb-indus-marquee-inner .blue-marquee + .blue-marquee{ margin-top:0; }

/* Encabezado */
.blue-event-tag{ display:inline-block; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--color-primary); border:1px solid rgba(60,245,200,.35); border-radius:999px; padding:6px 16px; margin-bottom:26px; }
.blue-burger{ width:44px; height:44px; display:grid; place-content:center; gap:5px; background:transparent; border:1px solid rgba(255,255,255,.25); border-radius:10px; }
.blue-burger span{ display:block; width:20px; height:2px; background:#fff; }
.blue-mobile-menu{ display:none; flex-direction:column; background:rgba(0,2,15,.97); border:1px solid rgba(255,255,255,.12); border-radius:16px; margin-top:12px; padding:8px 18px; }
.blue-mobile-menu.open{ display:flex; }
.blue-mobile-menu a{ color:#fff; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08); font-weight:500; }
.blue-mobile-menu a:last-child{ border-bottom:0; color:var(--color-primary); }
@media (max-width:991px){ .header-btn{ display:none; } }

/* Estadísticas bajo el carrusel */
.blue-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); border-radius:20px; overflow:hidden; margin-top:70px; }
.blue-stats > div{ background:#00020f; padding:26px 24px; }
.blue-stats b{ display:block; font-family:var(--font-heading); font-size:46px; line-height:1.05; color:#fff; font-weight:400; }
.blue-stats span{ display:block; margin-top:8px; color:var(--color-gray); font-size:14px; line-height:1.45; }
@media (max-width:767px){ .blue-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } .blue-stats b{ font-size:34px; } }

/* Imagen isométrica dentro del acordeón de servicios */
.blue-sol-img{ display:block !important; }
.blue-sol-img img{ width:100% !important; max-width:420px; height:auto !important; border-radius:16px; background:#001872; }

/* Clientes como logotipos en gris */
.blue-brand{ min-width:220px; height:120px; display:grid !important; place-items:center; padding:0 26px; }
.blue-brand .wm{ font-family:var(--font-heading); font-size:24px; color:#9ba3b8; text-align:center; line-height:1.1; white-space:nowrap; }
.blue-brand .wm small{ display:block; font-family:var(--font-body); font-size:11px; letter-spacing:.16em; text-transform:uppercase; margin-top:4px; }
.blue-brand svg{ height:46px; width:auto; fill:#9ba3b8; }

/* Proyectos: fondos de foto real con velo para que el texto se lea */
.xb-project-item{ position:relative; }
.xb-project-item::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,2,15,.15),rgba(0,2,15,.55)); border-radius:inherit; pointer-events:none; }
.xb-project-item[data-cover="blue"]{ background-size:contain !important; background-repeat:no-repeat !important; background-position:left center !important; background-color:#001872; }
.xb-project-content{ position:relative; z-index:1; }

/* Formulario */
.blue-offer-text{ color:var(--color-gray); margin-top:22px; max-width:520px; }
.xb-contact-form .form-heading .mode-pill{ display:none; color:var(--color-primary); font-weight:600; font-size:13px; margin-top:8px; }
.blue-chip-label{ font-weight:600; margin-bottom:10px; color:#fff; }
.blue-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.blue-chips input{ display:none; }
.blue-chips span{ display:inline-block; padding:8px 14px; border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:14px; cursor:pointer; user-select:none; color:#dfe3ee; transition:all .2s; }
.blue-chips input:checked + span{ background:var(--color-primary); border-color:var(--color-primary); color:#00020f; font-weight:600; }
.blue-consent{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--color-gray); cursor:pointer; }
.blue-consent input{ width:18px; height:18px; margin-top:4px; flex:0 0 18px; accent-color:var(--color-primary); }
.blue-err{ display:none; color:#ff8a8a; font-weight:600; margin-top:14px; }
.blue-success{ display:none; text-align:center; padding:30px 10px; }
.blue-success h3{ font-family:var(--font-heading); font-size:34px; margin-bottom:12px; }
.blue-success p{ color:var(--color-gray); }
.blue-success .actions{ display:grid; gap:12px; justify-items:center; margin-top:20px; }
.blue-ghost{ background:transparent !important; border:1px solid rgba(255,255,255,.35) !important; color:#fff !important; }
.xb-input-field select{ width:100%; }
.blue-phones{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:40px; }
.blue-phones div{ border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:14px 16px; background:rgba(255,255,255,.03); }
.blue-phones span{ display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--color-primary); }
.blue-phones b{ font-size:17px; font-weight:600; white-space:nowrap; }
@media (max-width:575px){ .blue-phones{ grid-template-columns:1fr; } }

/* Citas */
.blue-quotes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.blue-quotes .xb-testimonial-item{ height:100%; }
.blue-quotes .xb-item--inner{ height:100%; }
.blue-avatar{ width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#1f5fe0,#3cf5c8); color:#00020f; font-weight:700; margin-right:14px; }
@media (max-width:991px){ .blue-quotes{ grid-template-columns:1fr; } }

/* Panel de leads */
#leadsView{ display:none; min-height:100vh; padding:60px 0; background:#00020f; }
.blue-back{ color:var(--color-primary); font-weight:600; }
.blue-lv-title{ font-family:var(--font-heading); font-size:40px; margin:18px 0; }
.lv-bar{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.lv-count{ color:var(--color-gray); }
.table-wrap{ overflow:auto; border:1px solid rgba(255,255,255,.12); border-radius:14px; }
.table-wrap table{ border-collapse:collapse; width:100%; font-size:14px; }
.table-wrap th,.table-wrap td{ padding:11px 12px; border-bottom:1px solid rgba(255,255,255,.1); text-align:left; vertical-align:top; }
.table-wrap th{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--color-gray); }
.lv-msg{ padding:30px; text-align:center; color:var(--color-gray); }
@media (max-width:575px){
  .about-sec-title .title{ font-size:32px !important; line-height:1.25 !important; overflow-wrap:anywhere; }
  .sec-title .title{ overflow-wrap:anywhere; }
  .hero-content .title{ font-size:36px !important; }
}


/* Videos */
.hero{ overflow:hidden; }
.blue-hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.38; z-index:0; pointer-events:none; }
.hero::before{ content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(0,2,15,.92) 0%,rgba(0,2,15,.55) 55%,rgba(0,2,15,.25) 100%),linear-gradient(0deg,rgba(0,2,15,1) 0%,rgba(0,2,15,0) 35%); pointer-events:none; }
.blue-hero-inner{ position:relative; z-index:2; }
.hero-icon img{ filter:drop-shadow(0 0 40px rgba(59,130,255,.45)); animation:blueFloat 6s ease-in-out infinite; }
@keyframes blueFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
.blue-video-band{ position:relative; min-height:620px; display:flex; align-items:center; overflow:hidden; padding:120px 0; }
.blue-video-band video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blue-video-band::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,2,15,.9) 0%,rgba(0,2,15,.6) 45%,rgba(0,2,15,.1) 100%),linear-gradient(0deg,#00020f 0%,rgba(0,2,15,0) 25%),linear-gradient(180deg,#00020f 0%,rgba(0,2,15,0) 20%); }
.blue-video-band .container{ position:relative; z-index:1; }
.blue-video-copy{ max-width:620px; }
.blue-video-copy h2{ font-family:var(--font-heading); font-size:clamp(34px,5vw,60px); line-height:1.08; margin-bottom:20px; color:#fff; }
.blue-video-copy p{ color:#d6dbe8; font-size:18px; margin-bottom:30px; }
@media (prefers-reduced-motion:reduce){ .hero-icon img{animation:none} }
/* Íconos 3D generados */
.xb-feature-item .xb-item--icon img, .xb-feature-item2 .xb-item--icon img{ object-fit:contain; }
.xb-industries-item .xb-icon img{ width:70%; height:70%; object-fit:contain; }
.hero-content .title{ line-height:1.12; }
.sec-title .title{ line-height:1.2; }
.xb-contact-conent .shape--1{ display:none; }
.blue-event-tag{ letter-spacing:.12em !important; }
/* Elementos 3D dentro de los títulos */
.sec-title .title img{ object-fit:contain !important; background:transparent !important; }
.about-sec-title .title span{ display:inline-block; vertical-align:middle; margin:0 6px; }
.about-sec-title .title span img{ height:78px !important; width:auto !important; max-width:120px !important; }
@media (max-width:767px){ .about-sec-title .title span img{ height:46px !important; } }
/* Botón de música */
.blue-sound{ position:fixed; left:20px; bottom:20px; z-index:999; display:flex; align-items:center; gap:10px; padding:10px 16px 10px 12px; border-radius:999px; border:1px solid rgba(60,245,200,.4); background:rgba(0,2,15,.82); backdrop-filter:blur(10px); color:#fff; font-size:13px; cursor:pointer; box-shadow:0 8px 30px rgba(0,0,0,.4); }
.blue-sound:hover{ border-color:var(--color-primary); }
.blue-sound .bars{ display:flex; align-items:flex-end; gap:3px; height:16px; }
.blue-sound .bars i{ display:block; width:3px; height:4px; background:var(--color-primary); border-radius:2px; }
.blue-sound.on .bars i{ animation:blueBars 1s ease-in-out infinite; }
.blue-sound.on .bars i:nth-child(2){ animation-delay:.2s } .blue-sound.on .bars i:nth-child(3){ animation-delay:.4s } .blue-sound.on .bars i:nth-child(4){ animation-delay:.1s }
@keyframes blueBars{ 0%,100%{height:4px} 50%{height:16px} }
@media (max-width:575px){ .blue-sound .lbl{ display:none; } .blue-sound{ padding:12px; } }
@media (prefers-reduced-motion:reduce){ .blue-sound.on .bars i{ animation:none; height:10px; } }

/* ===== Línea gráfica "Asimetría positiva": azul rey, red de nodos, arcos amarillos, chevrones ===== */
:root, .ai-agency{ --royal:#0a2a9a; --royal2:#0b4fd6; --cyan:#29c5ff; --sky:#8fe6ff; --yellow:#f2d43a; --lime:#c8e63a; --color-primary:#c8e63a; --color-body:#0a2a9a; }
body{ background:#0a2a9a; }
.ai-agency{ background:linear-gradient(180deg,rgba(5,22,110,.35),rgba(5,22,110,.35)), url(../images/blue/bgnet.jpg) center/cover fixed, linear-gradient(160deg,#0b4fd6 0%,#0a2a9a 45%,#071c6e 100%); }
@media (max-width:991px){ .ai-agency{ background-attachment:scroll; background-size:auto, 1400px auto, auto; } }
/* secciones transparentes para que se vea la red */
main > section.bg_img, main > div.bg_img, main > section.industries, main > section.about, main > section.service, footer.footer, .xb-about-img-wrap, .xb-service-wrap{ background-image:none !important; background-color:transparent !important; }
main > section:not(.hero):not(.blue-video-band):not(.blue-plus-hero), main > div.bg_img{ position:relative; }
.hero{ background:linear-gradient(90deg,rgba(7,28,110,.95) 0%,rgba(10,42,154,.6) 55%,rgba(11,79,214,.2) 100%), url(../images/blue/bgnet.jpg) center/cover !important; }
.hero::before{ background:linear-gradient(90deg,rgba(7,28,110,.85) 0%,rgba(10,42,154,.35) 60%,rgba(11,79,214,0) 100%),linear-gradient(0deg,rgba(10,42,154,.9) 0%,rgba(10,42,154,0) 30%); }
.blue-hero-video{ opacity:.28; mix-blend-mode:screen; }
/* títulos con degradado blanco → celeste */
.hero-content .title, .sec-title .title, .bpp-title, .blue-video-copy h2, .xb-footer-heading .title{ background:linear-gradient(180deg,#ffffff 0%,#d9f5ff 45%,#6fd6ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.sec-title .title img, .hero-content .title img{ -webkit-text-fill-color:initial; }
.hero-content .title{ text-transform:uppercase; font-size:clamp(34px,4.2vw,56px) !important; line-height:1.08 !important; }
.sec-title .sub-title{ color:var(--sky) !important; }
.sec-title .sub-title::before, .sec-title .sub-title::after{ background:var(--yellow) !important; }
/* botones lima como el arte */
.thm-btn{ background:var(--lime) !important; color:#071c6e !important; }
.thm-btn .arrow{ background:#071c6e !important; }
.thm-btn:hover{ background:#e3f56b !important; }
.blue-event-tag{ color:var(--yellow); border-color:rgba(242,212,58,.45); }
/* tarjetas tipo vidrio sobre azul */
.xb-border::after{ background:linear-gradient(135deg,rgba(143,230,255,.55),rgba(255,255,255,.08),rgba(41,197,255,.35)) !important; }
.xb-feature-item .xb-item--inner, .xb-contact-form, .xb-testimonial-item .xb-item--inner, .xb-industries-item, .xb-brand-wrap{ background:rgba(6,24,110,.45) !important; backdrop-filter:blur(14px); }
.blue-stats > div{ background:rgba(6,24,110,.6); }
.blue-stats b{ color:var(--sky); }
.xb-contact-item .xb-item--number{ color:#071c6e; }
/* arcos amarillos y chevrones */
.blue-arc{ position:absolute; border-radius:50%; border:3px solid transparent; pointer-events:none; z-index:1; }
.arc-hero{ width:720px; height:720px; left:-360px; top:120px; border-right-color:var(--yellow); border-top-color:rgba(242,212,58,.0); transform:rotate(-20deg); opacity:.9; }
.arc-a{ width:620px; height:620px; right:-200px; top:-160px; border-left-color:var(--yellow); transform:rotate(25deg); }
.arc-b{ width:900px; height:900px; left:-520px; bottom:-560px; border-top-color:rgba(242,212,58,.7); border-right-color:rgba(242,212,58,.7); }
.blue-chev{ width:300px; height:auto; display:block; filter:drop-shadow(0 6px 24px rgba(41,197,255,.35)); }
.hero-chev{ position:absolute; right:4%; top:110px; width:220px; opacity:.85; z-index:1; }
@media (max-width:991px){ .hero-chev{ display:none; } .arc-hero{ display:none; } }

/* Sección Internet Blue++ */
.blue-plus-hero{ position:relative; overflow:hidden; padding:130px 0 120px; background:radial-gradient(60% 80% at 80% 40%,rgba(41,197,255,.35),transparent 60%),linear-gradient(135deg,#0b4fd6 0%,#0a2a9a 55%,#071c6e 100%); border-top:1px solid rgba(143,230,255,.25); border-bottom:1px solid rgba(143,230,255,.25); }
.blue-plus-hero .container{ position:relative; z-index:2; }
.bpp-logo{ display:flex; align-items:center; gap:18px; margin-bottom:26px; }
.bpp-logo .bpp-internet{ display:none; }
.bpp-word{ position:relative; font-family:var(--font-heading); font-style:italic; font-size:64px; line-height:1; color:#fff; letter-spacing:-.01em !important; transform:skewX(-8deg); }
.bpp-word b{ font-weight:400; color:#fff; }
.bpp-word::before{ content:"INTERNET"; position:absolute; left:4px; top:-26px; font-size:22px; color:var(--cyan); letter-spacing:.06em !important; }
.bpp-logo .blue-chev{ width:200px; }
.bpp-title{ font-family:var(--font-heading); text-transform:uppercase; font-size:clamp(46px,7vw,96px); line-height:.95; margin:18px 0 22px; }
.bpp-lead{ font-size:19px; line-height:1.6; color:#e6f3ff; max-width:640px; }
.bpp-lead strong{ color:var(--lime); font-weight:400; }
.bpp-compare{ margin:30px 0 22px; padding:22px 24px; border-radius:20px; background:rgba(6,24,110,.55); border:1px solid rgba(143,230,255,.3); max-width:640px; }
.bpp-row{ display:grid; grid-template-columns:170px minmax(0,1fr); gap:16px; align-items:center; padding:10px 0; }
.bpp-row + .bpp-row{ border-top:1px solid rgba(143,230,255,.18); }
.bpp-name{ font-family:var(--font-heading); font-size:16px; color:#c9d9ff; }
.bpp-row.plus .bpp-name{ color:#fff; }
.bpp-bars > div{ display:flex; align-items:center; gap:10px; margin:5px 0; }
.bpp-bars i{ display:block; height:12px; border-radius:6px; background:linear-gradient(90deg,#2f6bff,#29c5ff); max-width:70%; flex:none; }
.bpp-bars i.weak{ background:rgba(255,255,255,.35); }
.bpp-bars i.up{ background:linear-gradient(90deg,#c8e63a,#f2d43a); box-shadow:0 0 18px rgba(200,230,58,.6); }
.bpp-bars em{ font-style:normal; font-size:13px; color:#c9d9ff; white-space:nowrap; }
.bpp-note{ font-size:12px; color:#9fb5e8; margin:8px 0 0; }
.bpp-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.bpp-chips span{ border:1px solid rgba(143,230,255,.45); border-radius:999px; padding:7px 14px; font-size:13.5px; color:#fff; background:rgba(255,255,255,.04); }
.bpp-visual{ position:relative; text-align:center; }
.bpp-visual::before{ content:""; position:absolute; inset:8% 6%; border-radius:50%; border:3px solid transparent; border-top-color:var(--yellow); border-left-color:rgba(242,212,58,.6); transform:rotate(-30deg); }
.bpp-visual img{ position:relative; width:100%; max-width:520px; filter:drop-shadow(0 0 60px rgba(41,197,255,.45)); animation:blueFloat 6s ease-in-out infinite; }
@media (max-width:991px){ .bpp-visual{ margin-top:40px; } .bpp-word{ font-size:48px; } .bpp-row{ grid-template-columns:minmax(0,1fr); gap:6px; } .bpp-bars i{ max-width:60%; } }
/* Estamos siempre azulado */
.blue-azulado{ position:relative; overflow:hidden; padding:130px 0; background:radial-gradient(50% 70% at 20% 50%,rgba(41,197,255,.25),transparent 60%),linear-gradient(135deg,#0b4fd6 0%,#0a2a9a 60%,#071c6e 100%); border-top:1px solid rgba(143,230,255,.25); border-bottom:1px solid rgba(143,230,255,.25); }
.blue-azulado .container{ position:relative; z-index:2; }
.azul-photo{ position:relative; max-width:360px; margin:0 auto 40px; }
.azul-photo img{ width:100%; border-radius:28px; clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,0 100%); box-shadow:0 30px 80px rgba(0,0,0,.35); }
.azul-chev{ position:absolute; right:-60px; top:30px; width:190px; }
.azul-title{ font-family:var(--font-heading); text-transform:uppercase; font-size:clamp(40px,5.6vw,78px); line-height:.98; margin:18px 0 22px; color:#fff; }
.azul-title span{ font-size:1.45em; background:linear-gradient(180deg,#bff0ff 0%,#29c5ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.azul-points{ display:grid; gap:12px; margin:28px 0 32px; max-width:560px; }
.azul-points div{ display:flex; align-items:center; gap:14px; padding:12px 16px; border-radius:16px; background:rgba(6,24,110,.5); border:1px solid rgba(143,230,255,.28); }
.azul-points img{ width:44px; height:44px; object-fit:contain; flex:none; }
.azul-points span{ color:#e6f3ff; }
@media (max-width:991px){ .azul-chev{ right:-10px; width:130px; } }
/* Soluciones de telecomunicaciones */
.blue-telecom{ padding:120px 0 110px; position:relative; }
.telecom-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.telecom-card{ border-radius:24px; overflow:hidden; background:rgba(6,24,110,.55); border:1px solid rgba(143,230,255,.28); display:flex; flex-direction:column; backdrop-filter:blur(12px); transition:transform .3s, border-color .3s; }
.telecom-card:hover{ transform:translateY(-6px); border-color:var(--cyan); }
.telecom-card.star{ border:2px solid var(--lime); box-shadow:0 0 40px rgba(200,230,58,.18); }
.tc-img{ position:relative; aspect-ratio:16/10; background-size:cover; background-position:center; }
.tc-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,28,110,0) 40%,rgba(7,28,110,.9) 100%); }
.tc-badge{ position:absolute; z-index:1; left:16px; top:16px; background:var(--lime); color:#071c6e; font-size:12px; padding:6px 12px; border-radius:999px; letter-spacing:.08em !important; text-transform:uppercase; }
.tc-body{ padding:24px 26px 28px; display:flex; flex-direction:column; gap:12px; flex:1; }
.tc-body h3{ font-family:var(--font-heading); text-transform:uppercase; font-size:30px; line-height:1.05; background:linear-gradient(180deg,#fff,#8fe6ff); -webkit-background-clip:text; background-clip:text; color:transparent; margin:0; }
.tc-body p{ color:#dbe8ff; margin:0; flex:1; }
.tc-spec{ display:flex; align-items:baseline; gap:10px; border-top:1px solid rgba(143,230,255,.2); padding-top:14px; }
.tc-spec b{ font-family:var(--font-heading); font-weight:400; font-size:30px; color:var(--yellow); }
.tc-spec span{ color:#a9c2f0; font-size:14px; }
.tc-link{ color:var(--lime); }
@media (max-width:991px){ .telecom-grid{ grid-template-columns:minmax(0,1fr); } }

/* =====================================================================
   SISTEMA ESTANDARIZADO (prevalece sobre todo lo anterior)
   Paleta: 3 azules de marca + cian como acento informativo
           + lima SOLO para botones de acción y la subida de Blue++
   ===================================================================== */
:root, .ai-agency{
  --b-deep:#071c6e; --b-base:#0a2a9a; --b-bright:#0b4fd6;
  --b-accent:#29c5ff; --b-accent-soft:#8fe6ff; --b-cta:#c8e63a;
  --b-text:#eaf2ff; --b-muted:#a9c2f0; --b-line:rgba(143,230,255,.22);
  --b-card:rgba(7,28,110,.62); --b-radius:20px;
  --color-primary:var(--b-accent); --yellow:var(--b-accent); --lime:var(--b-cta); --cyan:var(--b-accent); --sky:var(--b-accent-soft);
}
/* Ritmo de secciones: espaciado uniforme y fondos alternos */
main > section:not(.hero):not(.blue-video-band){ padding-top:110px !important; padding-bottom:110px !important; }
main > div.bg_img > section.feature{ padding-top:110px !important; }
main > div.bg_img > section.brand{ padding-top:80px !important; padding-bottom:110px !important; }
#quienes, main > div.bg_img, #blue-en-accion, .testimonial{ background:var(--b-deep) !important; }
.blue-plus-hero, .blue-azulado{ background:linear-gradient(135deg,var(--b-bright) 0%,var(--b-base) 60%,var(--b-deep) 100%) !important; border-color:var(--b-line) !important; }
main > section + section, main > section + div, main > div + section{ border-top:1px solid var(--b-line); }
/* Encabezados de sección: un solo patrón */
.sec-title .sub-title{ color:var(--b-accent-soft) !important; text-transform:uppercase; font-size:13px !important; letter-spacing:.14em !important; }
.sec-title .sub-title::before, .sec-title .sub-title::after{ background:var(--b-accent) !important; }
.sec-title .title{ font-size:clamp(32px,3.8vw,52px) !important; line-height:1.15 !important; }
.blue-event-tag{ color:var(--b-accent-soft) !important; border-color:rgba(143,230,255,.45) !important; }
/* Acento único: arcos y chevrones en cian, sin amarillo */
.blue-arc{ border-width:2px !important; opacity:.55; }
.arc-hero{ border-right-color:var(--b-accent) !important; }
.arc-a{ border-left-color:var(--b-accent) !important; }
.arc-b{ border-top-color:rgba(41,197,255,.6) !important; border-right-color:rgba(41,197,255,.6) !important; }
.bpp-visual::before{ border-top-color:var(--b-accent) !important; border-left-color:rgba(41,197,255,.5) !important; }
/* Tarjetas: un solo estilo */
.telecom-card, .azul-points div, .bpp-compare, .blue-stats, .blue-phones div, .xb-contact-form, .xb-feature-item .xb-item--inner, .xb-testimonial-item .xb-item--inner, .xb-industries-item, .xb-brand-wrap{ background:var(--b-card) !important; border-radius:var(--b-radius) !important; }
.telecom-card, .azul-points div, .bpp-compare, .blue-phones div{ border:1px solid var(--b-line) !important; }
.telecom-card.star{ border:1px solid var(--b-accent) !important; box-shadow:0 0 0 1px rgba(41,197,255,.35), 0 20px 50px rgba(0,0,0,.25) !important; }
.tc-badge{ background:var(--b-accent) !important; color:var(--b-deep) !important; }
.tc-spec b, .blue-stats b{ color:#fff !important; }
.tc-link{ color:var(--b-accent-soft) !important; }
.blue-stats > div{ background:transparent !important; }
/* Fotos en duotono azul para que todo hable el mismo color */
.xb-project-item{ background-color:var(--b-base) !important; background-blend-mode:luminosity !important; }
.xb-project-item::before{ background:linear-gradient(90deg,rgba(7,28,110,.35),rgba(7,28,110,.7)) !important; }
.tc-img:not([style*="cloudup"]){ background-color:var(--b-base) !important; background-blend-mode:luminosity !important; }
.blue-hero-video, .blue-video-band video{ filter:grayscale(1) contrast(1.1) brightness(.9); }
.blue-video-band::after{ background:linear-gradient(90deg,rgba(7,28,110,.95) 0%,rgba(10,42,154,.7) 50%,rgba(11,79,214,.35) 100%), linear-gradient(0deg,var(--b-deep) 0%,rgba(7,28,110,0) 25%) !important; }
.blue-video-band video{ mix-blend-mode:normal; }
/* Restos verdes/menta de la plantilla → azul */
.xb-contact-conent{ background:linear-gradient(135deg,var(--b-bright),var(--b-base)) !important; border-radius:var(--b-radius) !important; }
.xb-contact-item .xb-item--number, .xb-contact-item .xb-item--content{ color:#fff !important; }
.xb-footer-heading .mail{ background:var(--b-bright) !important; color:#fff !important; }
.blue-chips input:checked + span{ background:var(--b-accent) !important; border-color:var(--b-accent) !important; color:var(--b-deep) !important; }
.blue-consent input{ accent-color:var(--b-accent); }
.blue-phones span, .xb-contact-form .form-heading .mode-pill{ color:var(--b-accent-soft) !important; }
.blue-avatar{ background:linear-gradient(135deg,var(--b-bright),var(--b-accent)) !important; color:#fff !important; }
.blue-sound{ border-color:var(--b-line) !important; background:rgba(7,28,110,.9) !important; }
.blue-sound .bars i{ background:var(--b-accent) !important; }
.bpp-chips span{ border-color:var(--b-line) !important; }
.xb-industries-item .xb-icon{ background:rgba(41,197,255,.08) !important; }
/* Servicios: elementos 3D sobre panel azul */
.blue-sol-img img{ background:radial-gradient(circle at 50% 60%,rgba(41,197,255,.18),transparent 70%) !important; padding:10px; max-width:340px; }
/* Botones: lima, único color de acción */
.thm-btn{ background:var(--b-cta) !important; color:var(--b-deep) !important; }
.thm-btn .arrow{ background:var(--b-deep) !important; }
.blue-ghost{ background:transparent !important; color:#fff !important; border:1px solid var(--b-line) !important; }
/* Ajustes finales de consistencia */
.agency-btn .text, .thm-btn.agency-btn .text{ background:var(--b-cta) !important; color:var(--b-deep) !important; }
.agency-btn .arrow{ background:var(--b-deep) !important; }
.thm-btn.agency-btn{ background:transparent !important; }
.xb-contact-inner{ background:linear-gradient(135deg,var(--b-bright) 0%,var(--b-base) 100%) !important; padding:40px 35px !important; border:1px solid var(--b-line); border-radius:var(--b-radius) !important; }
.xb-contact-conent{ margin-top:40px !important; background:none !important; }
.xb-footer-heading .mail::before{ background:linear-gradient(52deg,var(--b-bright) 0%,var(--b-accent) 100%) !important; }
.xb-footer-heading .mail{ background:none !important; color:#fff !important; }
footer.footer{ background:var(--b-deep) !important; }
footer .contact-item img, .xb-footer-heading .mail img{ filter:brightness(0) invert(1); opacity:.85; }
.xb-testimonial-item .xb-item--rating li{ background:rgba(41,197,255,.12) !important; color:var(--b-accent-soft) !important; }
.xb-project-pagination li.active{ border-color:var(--b-accent) !important; color:var(--b-accent) !important; }
.footer, .footer .xb-footer-wrap, .xb-footer-bottom, .xb-social-media-wrap{ background:var(--b-deep) !important; background-image:none !important; }
.footer::before, .footer::after{ display:none !important; }
.xb-testimonial-item .xb-item--rating{ background:transparent !important; }
.xb-testimonial-item .xb-item--rating li{ background:rgba(41,197,255,.12) !important; border-radius:6px; }
/* Selección de idioma */
body.lang-open{ overflow:hidden; }
.lang-gate{ position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; background:linear-gradient(180deg,rgba(7,28,110,.82),rgba(7,28,110,.92)), url(../images/blue/bgnet.jpg) center/cover; transition:opacity .45s ease; }
.lang-gate.closing{ opacity:0; pointer-events:none; }
.lang-box{ width:min(520px,100%); text-align:center; padding:44px 34px 30px; border-radius:24px; background:rgba(7,28,110,.6); border:1px solid rgba(143,230,255,.3); backdrop-filter:blur(14px); box-shadow:0 30px 80px rgba(0,0,0,.4); }
.lang-logo{ width:210px; margin:0 auto 26px; }
.lang-title{ font-family:var(--font-heading); font-size:30px; line-height:1.2; color:#fff; margin-bottom:28px; }
.lang-title span{ display:block; font-family:var(--font-body); font-size:16px; color:var(--b-accent-soft,#8fe6ff); margin-top:6px; }
.lang-btns{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.lang-btns button{ display:flex; flex-direction:column; gap:4px; padding:20px 16px; border-radius:18px; border:1px solid rgba(143,230,255,.35); background:rgba(255,255,255,.05); color:#fff; cursor:pointer; transition:all .2s; }
.lang-btns button b{ font-family:var(--font-heading); font-size:22px; font-weight:400; }
.lang-btns button small{ font-size:13px; color:#a9c2f0; }
.lang-btns button:hover, .lang-btns button:focus-visible{ background:var(--b-cta,#c8e63a); border-color:var(--b-cta,#c8e63a); outline:none; }
.lang-btns button:hover b, .lang-btns button:focus-visible b, .lang-btns button:hover small, .lang-btns button:focus-visible small{ color:#071c6e; }
.lang-foot{ margin:24px 0 0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8fa6dc; }
.lang-toggle{ margin-left:auto; margin-right:14px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(143,230,255,.45); background:rgba(7,28,110,.6); color:#fff; font-weight:600; font-size:13px; cursor:pointer; }
.lang-toggle:hover{ border-color:var(--b-accent,#29c5ff); }
@media (max-width:991px){ .lang-toggle{ display:none; } }
@media (max-width:480px){ .lang-btns{ grid-template-columns:1fr; } .lang-title{ font-size:24px; } }
/* Equipo */
.blue-staff{ background:var(--b-deep) !important; }
.staff-group-title{ font-family:var(--font-heading); font-weight:400; font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--b-accent-soft); margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--b-line); }
.staff-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.staff-grid.one{ grid-template-columns:minmax(0,1fr); }
.staff-row2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:44px; }
.staff-row2 .staff-card{ max-width:none; }
.staff-card{ background:var(--b-card); border:1px solid var(--b-line); border-radius:var(--b-radius); overflow:hidden; transition:transform .3s, border-color .3s; }
.staff-card:hover{ transform:translateY(-6px); border-color:var(--b-accent); }
.staff-photo img{ display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }
.staff-row2 .staff-photo img{ aspect-ratio:4/5; }
.staff-info{ padding:18px 22px 22px; }
.staff-area{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--b-accent-soft); }
.staff-info h3{ font-family:var(--font-heading); font-size:24px; color:#fff; margin:6px 0 4px; }
.staff-info p{ margin:0; color:var(--b-cta); font-size:16px; }
@media (min-width:992px){ .staff-row2{ grid-template-columns:repeat(2,minmax(0,1fr)); width:66.6%; margin-left:auto; margin-right:auto; } }
@media (max-width:767px){ .staff-grid, .staff-row2{ grid-template-columns:minmax(0,1fr); } }
/* Equipo compacto: tarjetas a 1/4 del tamaño anterior */
.staff-grid.five{ grid-template-columns:repeat(5,minmax(0,205px)); justify-content:center; gap:18px; }
.staff-grid.five .staff-photo img{ aspect-ratio:3/4 !important; }
.staff-grid.five .staff-info{ padding:12px 14px 14px; }
.staff-grid.five .staff-area{ font-size:10px; letter-spacing:.08em; }
.staff-grid.five .staff-info h3{ font-size:17px; margin:4px 0 2px; }
.staff-grid.five .staff-info p{ font-size:14px; }
@media (max-width:1100px){ .staff-grid.five{ grid-template-columns:repeat(3,minmax(0,205px)); } }
@media (max-width:640px){ .staff-grid.five{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.staff-grid.five .staff-area{ display:block; line-height:1.35; min-height:2.7em; }
/* Agenda */
.blue-agenda{ background:var(--b-deep) !important; }
.agenda-list{ display:grid; gap:16px; max-width:900px; margin:0 auto; }
.agenda-item{ display:flex; align-items:center; gap:26px; padding:22px 26px; border-radius:var(--b-radius); background:var(--b-card); border:1px solid var(--b-line); }
.agenda-item.now{ border-color:var(--b-accent); box-shadow:0 0 0 1px rgba(41,197,255,.3); }
.agenda-date{ flex:none; width:120px; text-align:center; padding:12px 8px; border-radius:16px; background:linear-gradient(135deg,var(--b-bright),var(--b-base)); }
.agenda-date b{ display:block; font-family:var(--font-heading); font-weight:400; font-size:34px; line-height:1.1; color:#fff; }
.agenda-date span{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--b-accent-soft); }
.agenda-body{ flex:1; }
.agenda-tag{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--b-accent-soft); }
.agenda-body h3{ font-family:var(--font-heading); font-size:26px; color:#fff; margin:4px 0 4px; }
.agenda-body p{ margin:0; color:#dbe8ff; }
@media (max-width:767px){ .agenda-item{ flex-wrap:wrap; gap:16px; } .agenda-date{ width:100px; } }
/* Videos */
.blue-videos{ background:var(--b-base) !important; }
.video-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.video-card{ display:block; border-radius:var(--b-radius); overflow:hidden; background:var(--b-card); border:1px solid var(--b-line); transition:transform .3s,border-color .3s; }
.video-card:hover{ transform:translateY(-6px); border-color:var(--b-accent); }
.vthumb{ position:relative; aspect-ratio:16/9; background-size:cover; background-position:center; background-color:var(--b-base); background-blend-mode:luminosity; display:grid; place-items:center; }
.vthumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,28,110,.2),rgba(7,28,110,.75)); }
.vplay{ position:relative; z-index:1; width:78px; height:78px; border-radius:50%; background:var(--b-cta); display:grid; place-items:center; box-shadow:0 0 0 10px rgba(200,230,58,.2); transition:transform .3s; }
.video-card:hover .vplay{ transform:scale(1.08); }
.vplay svg{ width:30px; height:30px; fill:var(--b-deep); margin-left:4px; }
.vbody{ padding:20px 24px 24px; }
.vtag{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--b-accent-soft); }
.vbody h3{ font-family:var(--font-heading); font-size:26px; color:#fff; margin:6px 0 6px; }
.vbody p{ margin:0; color:var(--b-cta); }
.hero-btn{ display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.hero-video-link{ display:inline-flex; align-items:center; gap:12px; color:#fff; font-weight:500; }
.hero-video-link .vplay{ width:52px; height:52px; box-shadow:0 0 0 7px rgba(200,230,58,.2); }
.hero-video-link .vplay svg{ width:20px; height:20px; }
.hero-video-link:hover{ color:var(--b-accent-soft); }
@media (max-width:767px){ .video-grid{ grid-template-columns:minmax(0,1fr); } }
.header__wrap{ flex-wrap:nowrap !important; gap:12px; }
.main-menu ul{ flex-wrap:nowrap; }
@media (max-width:1439px){ .main-menu ul li a{ padding:8px 13px !important; font-size:14px !important; } .main-menu ul{ gap:6px !important; } .header-btn .thm-btn{ padding:12px 18px !important; font-size:13px !important; white-space:nowrap; } .xb-header-logo img{ width:120px !important; } }
@media (max-width:1199px){ .main-menu ul li a{ padding:7px 10px !important; font-size:13px !important; } }
/* Comparativo 3 escenarios */
.bpp-name small{ display:block; font-family:var(--font-body); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--b-muted); margin-top:3px; }
.bpp-bars i.mid{ background:linear-gradient(90deg,#2f6bff,#29c5ff); opacity:.75; }
.bpp-row.plus{ background:rgba(200,230,58,.07); border-radius:14px; padding:12px 10px; margin:4px -10px 0; border-top:0 !important; box-shadow:0 0 0 1px rgba(200,230,58,.35); }
.bpp-best{ margin:16px 0 0; font-family:var(--font-heading); text-transform:uppercase; font-size:22px; color:var(--b-cta); letter-spacing:.02em; }
/* Internet seguro */
.blue-seguro{ background:var(--b-deep) !important; }
.seg-img img{ width:100%; max-width:460px; border-radius:24px; display:block; margin:0 auto 30px; box-shadow:0 30px 70px rgba(0,0,0,.35); }
/* Talento */
.staff-talent{ margin:48px auto 0; max-width:820px; text-align:center; padding:28px 30px; border-radius:var(--b-radius); background:var(--b-card); border:1px solid var(--b-line); }
.st-main{ font-family:var(--font-heading); font-size:24px; line-height:1.3; color:#fff; margin:0 0 10px; }
.st-main b{ font-weight:400; color:var(--b-accent-soft); }
.st-sub{ margin:0; color:#dbe8ff; }
.st-sub a{ color:var(--b-cta); text-decoration:underline; text-underline-offset:3px; }
/* Cobertura */
.blue-cobertura{ background:var(--b-base) !important; }
.cob-wrap img{ width:100%; max-width:1000px; display:block; margin:0 auto; border-radius:24px; border:1px solid var(--b-line); box-shadow:0 30px 70px rgba(0,0,0,.3); }
.cob-flags{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:24px; }
.cob-flags span{ border:1px solid var(--b-line); border-radius:999px; padding:8px 18px; color:#fff; background:rgba(255,255,255,.04); }
/* Logos de clientes */
.blue-brand img{ max-height:58px; max-width:170px; width:auto; height:auto; opacity:.8; }
.blue-brand:hover img{ opacity:1; }
/* Equipo por divisiones */
.staff-groups{ display:flex; flex-wrap:wrap; justify-content:center; gap:28px 22px; }
.sg-cards{ display:flex; gap:18px; }
.sg .staff-card{ width:205px; }
.sg .staff-photo img{ aspect-ratio:3/4 !important; }
.sg .staff-info{ padding:12px 14px 14px; }
.sg .staff-area{ display:block; font-size:10px; letter-spacing:.08em; line-height:1.35; min-height:2.7em; }
.sg .staff-info h3{ font-size:17px; margin:4px 0 2px; }
.sg .staff-info p{ font-size:14px; }
.sg .staff-group-title{ font-size:13px; text-align:center; margin-bottom:14px; padding-bottom:10px; }
@media (max-width:640px){ .sg-cards{ flex-wrap:wrap; justify-content:center; } .sg .staff-card{ width:calc(50vw - 30px); } }
.sg-1{ width:205px; } .sg-2{ width:428px; }
.sg .staff-group-title{ min-height:3.2em; display:flex; align-items:flex-end; justify-content:center; font-size:12px; line-height:1.35; }
.staff-groups{ gap:28px 18px; }
@media (max-width:1100px){ .staff-groups{ gap:24px 14px; } }
@media (max-width:640px){ .sg-1,.sg-2{ width:100%; } }
.sg .staff-group-title{ height:3.6em; min-height:0; box-sizing:border-box; }
/* 20 años */
.aniv{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; margin-top:80px; }
.aniv-img img{ width:100%; border-radius:24px; display:block; box-shadow:0 30px 70px rgba(0,0,0,.4); border:1px solid var(--b-line); }
.aniv-txt h3{ font-family:var(--font-heading); text-transform:uppercase; font-size:clamp(36px,4.6vw,64px); line-height:1; color:#fff; margin:18px 0 18px; }
.aniv-txt h3 span{ font-size:.55em; background:linear-gradient(180deg,#fff2c4,#e6b84a); -webkit-background-clip:text; background-clip:text; color:transparent; }
.aniv-txt p{ color:#dbe8ff; font-size:17px; }
.aniv-ms{ list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.aniv-ms li{ border:1px solid var(--b-line); border-radius:14px; padding:12px; background:var(--b-card); color:#cfe0ff; font-size:13px; }
.aniv-ms b{ display:block; font-family:var(--font-heading); font-weight:400; font-size:22px; color:#fff; }
@media (max-width:900px){ .aniv{ grid-template-columns:minmax(0,1fr); gap:28px; } .aniv-ms{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* Correcciones de traslape en pantallas de computadora */
.arc-hero{ display:none !important; }
.hero-icon{ max-width:100%; overflow:visible; text-align:right; }
.hero-icon img{ width:100% !important; max-width:420px !important; height:auto !important; }
@media (max-width:1599px){ .hero-chev{ display:none !important; } .hero-content .title{ font-size:clamp(34px,3.6vw,52px) !important; } .hero-content{ max-width:760px; } }
@media (max-width:1399px){ .hero-icon img{ max-width:320px !important; } }
.hero .row:first-child > .col-lg-9{ position:relative; z-index:2; }
/* Botón de música compacto: solo ícono, no tapa contenido */
.blue-sound{ padding:12px !important; width:48px; height:48px; justify-content:center; }
.blue-sound .lbl{ display:none !important; }
/* Contadores 20 años / 99.95%: 30% más pequeños y sin traslape */
.xb-contact-inner{ gap:24px; flex-wrap:nowrap; }
.xb-contact-item{ flex:1 1 0; min-width:0; }
.xb-contact-item .xb-item--number{ font-size:49px !important; line-height:1.1; white-space:nowrap; }
.xb-contact-item .xb-item--content{ font-size:15px !important; }
@media (max-width:1199px){ .xb-contact-item .xb-item--number{ font-size:42px !important; } }
@media (max-width:1023px){ .xb-contact-item .xb-item--number{ font-size:34px !important; } }
@media (max-width:480px){ .xb-contact-inner{ flex-wrap:wrap; } }
.xb-contact-inner{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.xb-contact-item .xb-item--number{ font-size:clamp(28px,2.9vw,42px) !important; white-space:nowrap; }
@media (max-width:1023px){ .xb-contact-item .xb-item--number{ font-size:32px !important; } }
@media (max-width:480px){ .xb-contact-inner{ grid-template-columns:minmax(0,1fr); gap:18px; } }
