*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#020713;--card:rgba(8,22,41,.78);--card2:rgba(13,34,61,.72);--line:rgba(88,172,255,.22);--blue:#008cff;--cyan:#00d4ff;--green:#23d18b;--text:#fff;--muted:#b9c8d9}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 76% 12%,rgba(0,140,255,.26),transparent 30%),radial-gradient(circle at 8% 30%,rgba(0,212,255,.16),transparent 30%),linear-gradient(180deg,#020713,#061426 48%,#020713);color:var(--text);overflow-x:hidden}
a{text-decoration:none;color:inherit}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px;z-index:-1}
.header{position:sticky;top:0;z-index:999;background:rgba(2,7,19,.88);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav{width:min(1440px,calc(100% - 42px));height:82px;margin:auto;display:grid;grid-template-columns:280px 1fr 205px;align-items:center;gap:20px}
.brand img{width:220px;display:block}
.menu{display:flex;justify-content:center;gap:25px;list-style:none;font-size:14px;font-weight:900;text-transform:uppercase}
.menu a{color:#e9f4ff;opacity:.9}.menu a:hover{color:var(--cyan)}
.nav-cta{justify-self:end;background:linear-gradient(135deg,var(--blue),#005dff);padding:14px 18px;border-radius:9px;font-weight:900;box-shadow:0 16px 38px rgba(0,111,255,.35)}
.menu-btn{display:none}

.hero{position:relative;min-height:720px;padding:72px 0 40px;overflow:hidden}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.08) 1px,transparent 1px);background-size:76px 76px;mask-image:radial-gradient(circle at 70% 50%,black,transparent 62%)}
.orb{position:absolute;border-radius:999px;filter:blur(10px);opacity:.55}.orb-a{right:8%;top:80px;width:280px;height:280px;background:radial-gradient(circle,var(--cyan),transparent 70%)}.orb-b{left:-80px;bottom:110px;width:260px;height:260px;background:radial-gradient(circle,#005eff,transparent 68%)}
.hero-inner{position:relative;width:min(1440px,calc(100% - 42px));margin:auto;display:grid;grid-template-columns:1fr .98fr;align-items:center;gap:48px}
.badge{display:inline-flex;color:var(--cyan);border:1px solid rgba(0,212,255,.28);background:rgba(0,112,255,.10);padding:9px 13px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:22px}
.hero h1{font-size:clamp(43px,5.2vw,76px);line-height:1.02;letter-spacing:-.055em;max-width:850px;margin-bottom:24px}
.hero p{color:#d4dfec;font-size:19px;line-height:1.58;max-width:720px;margin-bottom:32px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 24px;border-radius:10px;font-weight:900}
.btn-primary{background:linear-gradient(135deg,var(--blue),#005dff);box-shadow:0 18px 44px rgba(0,111,255,.36)}
.btn-secondary{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05)}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap}.hero-pills span{color:#d9e8f7;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:8px 11px;border-radius:999px;font-size:13px}

.macro-dashboard{background:linear-gradient(145deg,rgba(8,26,49,.92),rgba(3,10,24,.88));border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.38),0 0 70px rgba(0,140,255,.16)}
.macro-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.macro-top small{color:var(--cyan);font-weight:900}.macro-top strong{display:block;font-size:26px;margin-top:6px}.live{background:rgba(35,209,139,.15);color:var(--green);border:1px solid rgba(35,209,139,.4);border-radius:999px;padding:9px 14px;font-weight:900}
.macro-map{height:350px;border-radius:22px;background:radial-gradient(circle at center,rgba(0,212,255,.18),transparent 28%),linear-gradient(rgba(0,212,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.08) 1px,transparent 1px);background-size:auto,50px 50px,50px 50px;position:relative;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.center-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:108px;height:108px;border-radius:28px;display:grid;place-items:center;background:rgba(0,140,255,.18);border:1px solid rgba(0,212,255,.55);box-shadow:0 0 52px rgba(0,212,255,.38)}
.center-core span{font-size:34px;font-weight:900;color:var(--cyan)}.center-core small{color:#d6e8f9;margin-top:-20px;font-weight:900}
.service-node{position:absolute;display:flex;align-items:center;gap:8px;background:rgba(4,16,34,.78);border:1px solid rgba(0,212,255,.35);border-radius:999px;padding:10px 12px;color:#e8f6ff;font-size:13px;font-weight:900;box-shadow:0 0 22px rgba(0,212,255,.12);transition:.25s ease}
.service-node:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 0 34px rgba(0,212,255,.26)}
.service-node b{font-size:18px}.node-security{left:30px;top:50px}.node-soc{right:42px;top:48px}.node-cloud{left:35px;bottom:72px}.node-m365{right:35px;bottom:75px}.node-ai{left:50%;top:25px;transform:translateX(-50%)}.node-ai:hover{transform:translateX(-50%) translateY(-4px)}.node-web{left:50%;bottom:28px;transform:translateX(-50%)}.node-web:hover{transform:translateX(-50%) translateY(-4px)}
.macro-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.macro-metrics div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.macro-metrics strong{display:block;color:var(--cyan);font-size:24px}.macro-metrics small{color:var(--muted)}
.event-feed{margin-top:14px;display:grid;gap:9px}.event-feed p{font-size:14px;color:#cbd7e6;margin:0}.event-feed span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:8px}

.tech-strip{width:min(1440px,calc(100% - 42px));margin:0 auto 34px;display:grid;grid-template-columns:repeat(8,minmax(0,auto));justify-content:space-between;align-items:center;gap:20px;padding:28px;border:1px solid rgba(88,172,255,.18);border-radius:18px;background:rgba(4,13,28,.42);overflow:hidden}
.tech-logo{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82);font-size:clamp(14px,1.35vw,22px);white-space:nowrap}.tech-logo strong{font-weight:800}.brand-icon{width:34px;height:34px;display:inline-grid;place-items:center;flex:none}
.microsoft-brand{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.microsoft-brand i:nth-child(1){background:#f25022}.microsoft-brand i:nth-child(2){background:#7fba00}.microsoft-brand i:nth-child(3){background:#00a4ef}.microsoft-brand i:nth-child(4){background:#ffb900}
.cloudflare-brand{position:relative}.cloudflare-brand:before{content:"";position:absolute;left:2px;bottom:8px;width:30px;height:16px;background:#f58220;border-radius:18px;box-shadow:12px -6px 0 #f58220}.cloudflare-brand:after{content:"";position:absolute;left:0;bottom:6px;width:34px;height:7px;background:#ffb366;border-radius:8px}
.proxmox-brand{font-size:34px;color:#f28c28;font-weight:900}.mikrotik-brand{font-family:Georgia,serif;font-size:26px;font-style:italic;color:#fff}.vmware-brand{font-size:15px;font-weight:900;color:#d6dce5}.acronis-brand{border:2px solid #8fd1ff;border-radius:9px;color:#8fd1ff;font-weight:900}.linux-brand{font-size:24px}.windows-brand{font-size:28px;color:#00a4ef}

.quick-services{width:min(1440px,calc(100% - 42px));margin:0 auto 34px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;overflow:hidden}
.quick-card{min-width:0;min-height:315px;background:linear-gradient(145deg,rgba(16,38,67,.88),rgba(8,22,41,.86));border:1px solid var(--line);border-radius:9px;padding:28px 24px 26px;position:relative;box-shadow:0 22px 60px rgba(0,0,0,.22);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.quick-card:hover{transform:translateY(-8px);border-color:rgba(0,212,255,.65);box-shadow:0 32px 80px rgba(0,0,0,.36),0 0 35px rgba(0,212,255,.18);background:linear-gradient(145deg,rgba(24,58,96,.92),rgba(8,22,41,.9))}
.quick-card h3{font-size:clamp(19px,1.55vw,25px);line-height:1.15;margin:8px 0 20px 76px;overflow-wrap:anywhere}.quick-card p{color:#d1dceb;font-size:clamp(15px,1.1vw,18px);line-height:1.44;margin-left:76px}.quick-card a{display:inline-flex;margin:26px 0 0 76px;color:var(--cyan);font-size:clamp(18px,1.35vw,22px);font-weight:900}
.quick-icon{position:absolute;left:24px;top:32px;width:54px;height:54px}
.shield-css{clip-path:polygon(50% 0,90% 16%,80% 76%,50% 100%,20% 76%,10% 16%);border:4px solid var(--blue);filter:drop-shadow(0 0 12px var(--blue))}.shield-css:after{content:"✓";position:absolute;color:var(--cyan);font-size:27px;font-weight:900;left:17px;top:11px}
.cloud-css{border:5px solid var(--blue);border-radius:18px;height:32px;top:61px;box-shadow:0 0 18px rgba(0,140,255,.45)}.cloud-css:before{content:"";position:absolute;width:51px;height:31px;border:5px solid var(--blue);border-bottom:0;border-radius:35px 35px 0 0;left:-4px;top:-39px}.cloud-css:after{content:"";position:absolute;width:8px;height:8px;background:var(--cyan);border-radius:50%;left:20px;top:9px}
.microsoft-css{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;width:54px;height:54px}.microsoft-css span:nth-child(1){background:#f25022}.microsoft-css span:nth-child(2){background:#7fba00}.microsoft-css span:nth-child(3){background:#00a4ef}.microsoft-css span:nth-child(4){background:#ffb900}
.ai-css{border:5px solid #8d63ff;border-radius:50%;box-shadow:0 0 25px rgba(141,99,255,.9)}.ai-css:before,.ai-css:after{content:"";position:absolute;border:5px solid #8d63ff;border-radius:24px}.ai-css:before{width:22px;height:54px;left:11px;top:-5px}.ai-css:after{width:54px;height:22px;left:-5px;top:11px}
.web-css{border:5px solid var(--cyan);border-radius:15px;box-shadow:0 0 25px rgba(0,212,255,.8)}.web-css:before{content:"";position:absolute;left:9px;right:9px;top:15px;height:5px;background:var(--cyan);box-shadow:0 14px 0 rgba(0,212,255,.9)}.web-css:after{content:"www";position:absolute;color:var(--cyan);font-size:11px;font-weight:900;left:9px;bottom:4px}

.stats{width:min(1440px,calc(100% - 42px));margin:0 auto 80px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;background:rgba(4,13,28,.65);overflow:hidden}
.stats div{padding:28px;border-right:1px solid rgba(255,255,255,.08)}.stats div:last-child{border-right:0}.stats strong{display:block;color:var(--cyan);font-size:36px}.stats span{color:#d8e5f4}
section{width:min(1180px,calc(100% - 42px));margin:0 auto 86px}
.section-head{margin-bottom:34px}.section-head h2,.contact h2{font-size:clamp(32px,4.5vw,56px);line-height:1.05;letter-spacing:-.04em;margin-bottom:18px}.section-head p,.contact p{color:var(--muted);font-size:18px;line-height:1.6;max-width:900px}
.soc-grid,.services-grid,.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.glass-card,.service,.clients,.insight,.contact{background:linear-gradient(145deg,rgba(14,35,64,.76),rgba(4,13,29,.78));border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 22px 70px rgba(0,0,0,.22);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.glass-card:hover,.service:hover,.insight:hover{transform:translateY(-6px);border-color:rgba(0,212,255,.55);box-shadow:0 28px 85px rgba(0,0,0,.34),0 0 32px rgba(0,212,255,.12)}
.glass-card h3,.service h3,.insight h3{font-size:28px;margin-bottom:12px}.glass-card p,.service p,.insight p{color:#c8d6e7;line-height:1.55}.glass-card ul,.service ul{margin:18px 0 0;padding-left:20px;color:#d4dfec;line-height:1.75}
.service{position:relative;overflow:hidden;min-height:100%}.service:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(0,212,255,.13),transparent 40%);opacity:.9}.service>*{position:relative}.service .icon{font-size:38px;margin-bottom:16px}.service a{display:inline-flex;margin-top:22px;color:var(--cyan);font-weight:900}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.client-grid div{min-height:120px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.04);display:grid;place-items:center;text-align:center;padding:18px}.client-grid strong{display:block;font-size:18px}.client-grid span{color:var(--cyan);font-weight:800}
.insight span{color:var(--cyan);font-weight:900;font-size:13px;text-transform:uppercase}.insight h3{margin-top:12px}
.contact{display:grid;grid-template-columns:.95fr 1.05fr;gap:38px}.contact-links{display:grid;gap:12px;margin-top:24px}.contact-links a{color:var(--cyan);font-weight:900}
form{display:grid;gap:14px}input,textarea,select{width:100%;padding:16px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;outline:none}select option{color:#061426}button{border:0;border-radius:10px;padding:16px 20px;background:linear-gradient(135deg,var(--blue),#005dff);color:#fff;font-weight:900;cursor:pointer}.form-message{display:none;padding:14px;border-radius:10px;font-weight:800}.form-message.success{display:block;background:rgba(35,209,139,.14);border:1px solid rgba(35,209,139,.35);color:#8df3c6}.form-message.error{display:block;background:rgba(255,83,83,.14);border:1px solid rgba(255,83,83,.35);color:#ffb3b3}
.whatsapp{position:fixed;right:22px;bottom:20px;z-index:99;background:#20cf63;color:#fff;font-weight:900;border-radius:999px;padding:14px 20px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.footer{text-align:center;color:#8799ad;border-top:1px solid rgba(255,255,255,.07);padding:34px 20px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.reveal.show{opacity:1;transform:translateY(0)}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.5)}}

@media(max-width:1320px){.quick-services{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1180px){.nav{grid-template-columns:240px 1fr}.nav-cta{display:none}.hero-inner{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.client-grid{grid-template-columns:repeat(2,1fr)}.quick-services{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-dashboard{max-width:760px}}
@media(max-width:860px){.nav{display:flex;justify-content:space-between;height:auto;padding:18px 0}.brand img{width:185px}.menu-btn{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:9px;padding:9px 13px;font-size:22px}.menu{display:none;position:absolute;top:78px;left:21px;right:21px;flex-direction:column;background:rgba(2,7,19,.98);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px}.menu.open{display:flex}.hero{padding-top:45px;min-height:auto}.hero h1{font-size:40px}.macro-dashboard{display:none}.stats,.soc-grid,.services-grid,.insight-grid,.contact,.client-grid,.quick-services,.tech-strip{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.glass-card,.service,.clients,.insight,.contact{padding:24px}.quick-card{min-height:auto}.quick-card h3,.quick-card p,.quick-card a{margin-left:74px}.whatsapp{right:14px;bottom:14px}}


.core-logo{
  width:72px;
  filter:drop-shadow(0 0 18px rgba(0,212,255,.35));
}

.center-core{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

.tech-strip{
  align-items:center;
}

.tech-logo{
  justify-content:center;
  text-align:center;
  min-width:0;
}

.tech-logo strong{
  color:#f3f8ff;
  font-size:clamp(16px,1.2vw,24px);
  font-weight:900;
}

.brand-icon{
  width:38px;
  height:38px;
}

.cloudflare-brand:before{
  background:#ff9a2f;
  box-shadow:12px -6px 0 #ff9a2f;
}

.cloudflare-brand:after{
  background:#ffd1a1;
}

.proxmox-brand{
  color:#ff9c2b;
}

.vmware-brand{
  color:#ffffff;
  font-size:18px;
}

.windows-brand{
  color:#00c2ff;
}

.acronis-brand{
  color:#8fd1ff;
  border-color:#8fd1ff;
}

.linux-brand{
  font-size:26px;
}

.tech-strip{
  box-shadow:0 0 40px rgba(0,140,255,.08);
}


/* V7 TECHNOLOGY STRIP PREMIUM */
.tech-strip{
  grid-template-columns:repeat(9,minmax(0,auto));
  gap:18px;
  justify-content:center;
  align-items:center;
  padding:26px 28px;
}

.tech-logo{
  gap:10px;
  padding:8px 10px;
  border-radius:14px;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.tech-logo:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.045);
  box-shadow:0 0 24px rgba(0,212,255,.12);
}

.tech-logo strong{
  font-size:clamp(14px,1.05vw,20px);
  letter-spacing:-.02em;
}

.brand-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  position:relative;
}

/* Microsoft 365 professional icon */
.microsoft365-icon{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:3px;
  border-radius:8px;
  overflow:hidden;
  padding:2px;
}

.microsoft365-icon i:nth-child(1){background:#f25022}
.microsoft365-icon i:nth-child(2){background:#7fba00}
.microsoft365-icon i:nth-child(3){background:#00a4ef}
.microsoft365-icon i:nth-child(4){background:#ffb900}

/* Cloudflare icon */
.cloudflare-icon{
  width:42px;
}

.cloudflare-icon i:nth-child(1){
  position:absolute;
  width:27px;
  height:18px;
  left:2px;
  bottom:9px;
  border-radius:20px;
  background:#f6821f;
}

.cloudflare-icon i:nth-child(2){
  position:absolute;
  width:26px;
  height:22px;
  right:0;
  bottom:11px;
  border-radius:20px;
  background:#ff9f43;
}

.cloudflare-icon i:nth-child(3){
  position:absolute;
  width:40px;
  height:8px;
  left:0;
  bottom:7px;
  border-radius:8px;
  background:#ffd1a3;
}

/* Fortinet icon */
.fortinet-icon{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:4px;
  padding:5px;
  border:2px solid #ef3340;
  box-shadow:0 0 16px rgba(239,51,64,.25);
}

.fortinet-icon i{
  background:#ef3340;
  border-radius:2px;
}

/* Proxmox */
.proxmox-icon{
  color:#ff9c2b;
  font-size:34px;
  font-weight:900;
  text-shadow:0 0 18px rgba(255,156,43,.45);
}

/* MikroTik */
.mikrotik-icon{
  border:2px solid rgba(255,255,255,.32);
  font-family:Georgia,serif;
  font-style:italic;
  font-size:25px;
  color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.02));
}

/* VMware */
.vmware-icon{
  color:#dfe7f2;
  font-weight:900;
  font-size:15px;
  border:2px solid rgba(223,231,242,.35);
  background:rgba(255,255,255,.04);
}

/* Acronis */
.acronis-icon{
  color:#8fd1ff;
  border:2px solid #8fd1ff;
  font-weight:900;
  font-size:22px;
  box-shadow:0 0 18px rgba(143,209,255,.18);
}

/* Linux */
.linux-icon{
  font-size:24px;
}

/* Windows */
.windows-icon{
  color:#00a4ef;
  font-size:30px;
  text-shadow:0 0 18px rgba(0,164,239,.45);
}

/* V7 INSIGHT ICONS */
.insight{
  position:relative;
}

.insight-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  font-size:20px;
  font-weight:900;
  color:#061426;
  background:linear-gradient(135deg,var(--cyan),#3b82f6);
  box-shadow:0 0 28px rgba(0,212,255,.22);
}

.phishing-icon{
  background:linear-gradient(135deg,#ffcc00,#ff7a00);
}

.ransomware-icon{
  background:linear-gradient(135deg,#ff4d4d,#b00020);
  color:#fff;
}

.firewall-icon{
  background:linear-gradient(135deg,#ef3340,#ff9c2b);
  color:#fff;
}

.backup-icon{
  background:linear-gradient(135deg,#23d18b,#00d4ff);
}

.automation-icon{
  background:linear-gradient(135deg,#8d63ff,#00d4ff);
  color:#fff;
}

.identity-icon{
  background:linear-gradient(135deg,#00d4ff,#005eff);
  color:#fff;
}

@media(max-width:1320px){
  .tech-strip{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:860px){
  .tech-strip{
    grid-template-columns:1fr;
    justify-items:start;
  }
}


/* V8 PREMIUM REFINEMENTS */

/* Center and contain technology strip */
.tech-strip{
  width:min(1380px, calc(100% - 52px));
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center !important;
  align-items:center !important;
  gap:18px 26px !important;
  padding:26px 34px !important;
  margin:0 auto 42px !important;
  border-radius:22px !important;
}

.tech-logo{
  flex:0 1 auto;
  min-width:auto !important;
  justify-content:center !important;
  align-items:center !important;
  padding:10px 12px !important;
}

.tech-logo strong{
  font-size:clamp(15px,1.05vw,20px) !important;
  line-height:1;
}

/* Better Fortinet icon */
.fortinet-icon{
  width:38px !important;
  height:38px !important;
  border:0 !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  grid-template-rows:repeat(3,1fr) !important;
  gap:3px !important;
  padding:3px !important;
  border-radius:8px !important;
  background:transparent !important;
}

.fortinet-icon i{
  display:block;
  background:#ef3340 !important;
  border-radius:2px !important;
}

.fortinet-icon i:nth-child(1){grid-column:1;grid-row:1}
.fortinet-icon i:nth-child(2){grid-column:2;grid-row:1}
.fortinet-icon i:nth-child(3){grid-column:1;grid-row:2}
.fortinet-icon i:nth-child(4){grid-column:3;grid-row:2}
.fortinet-icon::before{
  content:"";
  grid-column:2;
  grid-row:3;
  background:#ef3340;
  border-radius:2px;
}
.fortinet-pro strong{
  text-transform:none;
}

/* Add SOC quick icon */
.soc-css{
  border:4px solid var(--cyan);
  border-radius:14px;
  box-shadow:0 0 24px rgba(0,212,255,.45);
}
.soc-css::before{
  content:"SOC";
  position:absolute;
  color:var(--cyan);
  font-size:14px;
  font-weight:900;
  left:8px;
  top:16px;
}
.soc-css::after{
  content:"";
  position:absolute;
  left:9px;
  right:9px;
  bottom:10px;
  height:4px;
  border-radius:999px;
  background:var(--cyan);
  box-shadow:0 -11px 0 rgba(0,212,255,.65);
}

/* Quick cards 6-column friendly */
.quick-services{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  width:min(1440px, calc(100% - 52px)) !important;
  gap:16px !important;
}
.quick-card{
  min-height:330px;
}
.quick-card h3{
  font-size:clamp(18px,1.25vw,22px) !important;
}
.quick-card p{
  font-size:clamp(14px,1vw,16px) !important;
}

/* Visual solution cards with image-like backgrounds */
.visual-solutions{
  width:min(1440px, calc(100% - 52px));
  margin:0 auto 86px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.visual-card{
  min-height:260px;
  border-radius:24px;
  border:1px solid rgba(0,212,255,.24);
  padding:30px;
  position:relative;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.25);
}
.visual-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.92;
}
.visual-card::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-35px;
  bottom:-45px;
  border-radius:50%;
  border:1px solid rgba(0,212,255,.32);
  box-shadow:0 0 60px rgba(0,212,255,.2);
}
.visual-card > *{
  position:relative;
  z-index:2;
}
.visual-card span{
  color:var(--cyan);
  font-weight:900;
  letter-spacing:.18em;
}
.visual-card h3{
  font-size:32px;
  margin:52px 0 14px;
}
.visual-card p{
  color:#d2deed;
  max-width:420px;
  line-height:1.55;
}
.cyber-visual::before{
  background:
    radial-gradient(circle at 75% 30%,rgba(0,212,255,.24),transparent 28%),
    linear-gradient(135deg,rgba(4,20,39,.95),rgba(7,45,73,.82)),
    linear-gradient(rgba(0,212,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,212,255,.08) 1px,transparent 1px);
  background-size:auto,auto,34px 34px,34px 34px;
}
.cloud-visual::before{
  background:
    radial-gradient(circle at 72% 25%,rgba(35,209,139,.20),transparent 30%),
    linear-gradient(135deg,rgba(4,20,39,.95),rgba(10,58,78,.80)),
    linear-gradient(rgba(35,209,139,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(35,209,139,.08) 1px,transparent 1px);
  background-size:auto,auto,34px 34px,34px 34px;
}
.ai-visual::before{
  background:
    radial-gradient(circle at 72% 25%,rgba(141,99,255,.25),transparent 30%),
    linear-gradient(135deg,rgba(4,20,39,.95),rgba(29,28,82,.82)),
    linear-gradient(rgba(141,99,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,99,255,.08) 1px,transparent 1px);
  background-size:auto,auto,34px 34px,34px 34px;
}

/* Enterprise CTA */
.enterprise-cta{
  width:min(1080px, calc(100% - 52px));
  margin:0 auto 78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px;
  border-radius:24px;
  border:1px solid rgba(0,212,255,.24);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.16),transparent 38%),
    linear-gradient(135deg,rgba(12,36,65,.78),rgba(4,13,29,.82));
  box-shadow:0 24px 75px rgba(0,0,0,.25);
}
.enterprise-cta h2{
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.08;
  margin-bottom:12px;
}
.enterprise-cta p{
  color:#cbd8e8;
  max-width:740px;
  line-height:1.55;
}

/* Contact more compact and professional */
.contact{
  width:min(980px, calc(100% - 52px)) !important;
  grid-template-columns:.85fr 1fr !important;
  padding:34px !important;
  border-radius:24px !important;
}
.contact h2{
  font-size:clamp(28px,3.2vw,42px) !important;
}
.contact p{
  font-size:16px !important;
}
form{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  padding:20px;
  border-radius:18px;
}
input,textarea,select{
  padding:14px 15px !important;
}
textarea{
  min-height:125px;
}
button{
  transition:transform .22s ease,box-shadow .22s ease;
}
button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,111,255,.25);
}

/* Improve insights layout */
.insight-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.insight{
  min-height:270px;
}

@media(max-width:1320px){
  .quick-services{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:1100px){
  .visual-solutions{
    grid-template-columns:1fr;
  }
  .contact{
    grid-template-columns:1fr !important;
  }
  .enterprise-cta{
    flex-direction:column;
    align-items:flex-start;
  }
  .insight-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:860px){
  .quick-services,
  .insight-grid{
    grid-template-columns:1fr !important;
  }
  .tech-strip{
    justify-content:flex-start !important;
  }
}


/* V9 Secure Core */
.core-shield{
  position:relative;
  width:120px;
  height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

.shield-ring{
  position:absolute;
  inset:0;
  border-radius:30px;
  border:1px solid rgba(0,212,255,.55);
  background:
    radial-gradient(circle at center,rgba(0,140,255,.28),rgba(0,212,255,.08));
  box-shadow:
    0 0 40px rgba(0,212,255,.18),
    inset 0 0 30px rgba(0,212,255,.08);
}

.shield-icon{
  position:relative;
  z-index:2;
  font-size:44px;
  filter:drop-shadow(0 0 18px rgba(0,212,255,.55));
}

.core-shield small{
  position:relative;
  z-index:2;
  margin-top:6px;
  color:#dff6ff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}

/* Better command center */
.macro-map{
  border-radius:28px !important;
  box-shadow:inset 0 0 80px rgba(0,212,255,.06);
}

/* Compact premium contact */
.contact{
  width:min(820px, calc(100% - 52px)) !important;
  margin-top:20px !important;
  padding:26px !important;
  gap:26px !important;
}

.contact form{
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.10),transparent 35%),
    rgba(255,255,255,.035);
  border:1px solid rgba(0,212,255,.18);
  border-radius:22px;
  padding:22px;
  box-shadow:
    0 18px 50px rgba(0,0,0,.22),
    inset 0 0 30px rgba(0,212,255,.03);
}

.contact input,
.contact textarea,
.contact select{
  background:rgba(3,15,28,.72) !important;
  border:1px solid rgba(0,212,255,.12) !important;
  border-radius:14px !important;
  transition:.25s ease;
  font-size:15px;
}

.contact input:focus,
.contact textarea:focus,
.contact select:focus{
  border-color:rgba(0,212,255,.55) !important;
  box-shadow:0 0 0 4px rgba(0,212,255,.08);
}

.contact button{
  height:52px;
  border-radius:14px !important;
  font-size:15px;
  letter-spacing:.04em;
  background:linear-gradient(135deg,#00b7ff,#005eff) !important;
}

.contact button:hover{
  box-shadow:
    0 20px 45px rgba(0,111,255,.35),
    0 0 25px rgba(0,212,255,.18);
}

.contact .badge{
  margin-bottom:16px;
}

.contact h2{
  margin-bottom:14px !important;
}

.contact p{
  color:#d3e2f1 !important;
}

.form-message{
  border-radius:14px !important;
  font-size:14px;
}

/* Better service nodes */
.service-node{
  padding:13px 18px !important;
  border-radius:999px !important;
  background:rgba(4,18,35,.88) !important;
  box-shadow:
    0 0 26px rgba(0,212,255,.10),
    inset 0 0 20px rgba(0,212,255,.03);
}

.service-node span{
  font-size:14px;
}

.service-node b{
  font-size:20px;
}


/* V10 SERVICES GRID FIX + HELPDESK */
.quick-services{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch;
}

.quick-card{
  min-height:285px !important;
  padding:28px 24px !important;
}

.quick-card h3{
  font-size:clamp(20px,1.45vw,24px) !important;
  line-height:1.15 !important;
  margin-left:76px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.quick-card p{
  font-size:clamp(15px,1.04vw,17px) !important;
  margin-left:76px !important;
}

.quick-card a{
  margin-left:76px !important;
  font-size:clamp(18px,1.25vw,21px) !important;
}

.helpdesk-css{
  border:4px solid var(--cyan);
  border-radius:50%;
  box-shadow:0 0 24px rgba(0,212,255,.5);
}

.helpdesk-css::before{
  content:"";
  position:absolute;
  width:34px;
  height:24px;
  border:4px solid var(--cyan);
  border-bottom:0;
  border-radius:25px 25px 0 0;
  left:6px;
  top:7px;
}

.helpdesk-css::after{
  content:"";
  position:absolute;
  width:18px;
  height:12px;
  border-right:4px solid var(--cyan);
  border-bottom:4px solid var(--cyan);
  right:7px;
  bottom:8px;
  border-radius:0 0 12px 0;
}

.services-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

@media(max-width:1320px){
  .quick-services{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:980px){
  .quick-services{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:680px){
  .quick-services,
  .services-grid{
    grid-template-columns:1fr !important;
  }
}


/* V11 ERP SERVICE */
.quick-services{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.erp-css{
  border:4px solid var(--cyan);
  border-radius:14px;
  box-shadow:0 0 24px rgba(0,212,255,.45);
}

.erp-css::before{
  content:"ERP";
  position:absolute;
  color:var(--cyan);
  font-size:15px;
  font-weight:900;
  left:8px;
  top:16px;
}

.erp-css::after{
  content:"";
  position:absolute;
  right:-6px;
  top:-6px;
  width:18px;
  height:18px;
  border-radius:6px;
  background:linear-gradient(135deg,#23d18b,#00d4ff);
  box-shadow:
    -28px 28px 0 rgba(0,212,255,.22),
    0 0 22px rgba(35,209,139,.45);
}

/* V11 Professional Cyber Insight Icons */
.insight-icon{
  position:relative;
  overflow:hidden;
  color:#fff !important;
}

.insight-icon::after{
  content:"";
  position:absolute;
  inset:-22px;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.32),transparent 35%);
  opacity:.55;
}

.insight-icon span{
  position:relative;
  z-index:2;
}

.mini-shield{
  width:28px;
  height:34px;
  display:block;
  border:3px solid #fff;
  clip-path:polygon(50% 0,90% 16%,80% 76%,50% 100%,20% 76%,10% 16%);
}

.mini-shield::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  border-left:3px solid #fff;
  border-bottom:3px solid #fff;
  transform:rotate(-45deg);
  left:20px;
  top:23px;
}

.mini-backup{
  width:30px;
  height:30px;
  display:block;
  border:3px solid #051426;
  border-radius:50%;
  border-right-color:transparent;
  position:relative;
}

.mini-backup::after{
  content:"";
  position:absolute;
  right:-2px;
  top:0;
  width:0;
  height:0;
  border-left:8px solid #051426;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  transform:rotate(30deg);
}

.mini-ai{
  width:30px;
  height:30px;
  display:block;
  border:3px solid #fff;
  border-radius:50%;
  position:relative;
}

.mini-ai::before,
.mini-ai::after{
  content:"";
  position:absolute;
  background:#fff;
}

.mini-ai::before{
  width:3px;
  height:30px;
  left:11px;
  top:-3px;
}

.mini-ai::after{
  height:3px;
  width:30px;
  left:-3px;
  top:11px;
}

.mini-mail{
  width:34px;
  height:24px;
  display:block;
  border:3px solid #061426;
  border-radius:5px;
  position:relative;
}

.mini-mail::before{
  content:"";
  position:absolute;
  left:4px;
  top:1px;
  width:19px;
  height:19px;
  border-left:3px solid #061426;
  border-bottom:3px solid #061426;
  transform:rotate(-45deg);
}

.mini-lock{
  width:30px;
  height:24px;
  display:block;
  border:3px solid #fff;
  border-radius:7px;
  position:relative;
  margin-top:8px;
}

.mini-lock::before{
  content:"";
  position:absolute;
  width:18px;
  height:17px;
  left:3px;
  top:-18px;
  border:3px solid #fff;
  border-bottom:0;
  border-radius:14px 14px 0 0;
}

.mini-firewall{
  width:34px;
  height:30px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
}

.mini-firewall::before,
.mini-firewall::after{
  content:"";
}

.mini-firewall{
  background:
    linear-gradient(#fff,#fff) 0 0/9px 7px,
    linear-gradient(#fff,#fff) 13px 0/9px 7px,
    linear-gradient(#fff,#fff) 26px 0/9px 7px,
    linear-gradient(#fff,#fff) 6px 11px/9px 7px,
    linear-gradient(#fff,#fff) 19px 11px/9px 7px,
    linear-gradient(#fff,#fff) 0 22px/9px 7px,
    linear-gradient(#fff,#fff) 13px 22px/9px 7px,
    linear-gradient(#fff,#fff) 26px 22px/9px 7px;
  background-repeat:no-repeat;
}

/* More elegant insights */
.insight{
  border-radius:24px !important;
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.10),transparent 32%),
    linear-gradient(145deg,rgba(14,35,64,.82),rgba(4,13,29,.82)) !important;
}

/* ERP detailed card slight distinction */
#erp{
  background:
    radial-gradient(circle at top right,rgba(35,209,139,.14),transparent 36%),
    linear-gradient(145deg,rgba(14,35,64,.82),rgba(4,13,29,.82)) !important;
}

@media(max-width:1320px){
  .quick-services{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:980px){
  .quick-services{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:680px){
  .quick-services{
    grid-template-columns:1fr !important;
  }
}


/* V12 FINAL REFINEMENTS */

/* More professional central secure icon */
.core-shield{
  width:126px !important;
  height:126px !important;
}

.secure-emblem{
  position:relative;
  z-index:2;
  width:54px;
  height:64px;
  margin-top:4px;
  filter:drop-shadow(0 0 20px rgba(0,212,255,.55));
}

.secure-emblem::before{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(50% 0,92% 15%,82% 73%,50% 100%,18% 73%,8% 15%);
  border:3px solid #dff8ff;
  background:linear-gradient(145deg,rgba(0,212,255,.20),rgba(0,94,255,.08));
}

.secure-emblem::after{
  content:"";
  position:absolute;
  left:18px;
  top:24px;
  width:19px;
  height:10px;
  border-left:4px solid #00d4ff;
  border-bottom:4px solid #00d4ff;
  transform:rotate(-45deg);
  border-radius:2px;
}

.secure-emblem span{
  position:absolute;
  inset:-13px;
  border-radius:50%;
  border:1px solid rgba(0,212,255,.30);
  animation:securePulse 2.8s ease-in-out infinite;
}

@keyframes securePulse{
  0%,100%{transform:scale(.92);opacity:.35}
  50%{transform:scale(1.08);opacity:.8}
}

/* Fix contact anchor offset */
#formulario-contacto{
  scroll-margin-top:110px;
}

/* Compact centered premium contact */
.contact{
  width:min(760px, calc(100% - 52px)) !important;
  grid-template-columns:1fr !important;
  text-align:center;
  padding:28px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact > div{
  max-width:620px;
  margin:0 auto;
}

.contact h2{
  font-size:clamp(28px,3vw,40px) !important;
}

.contact p{
  max-width:560px !important;
  margin:0 auto 10px !important;
}

.contact form{
  max-width:560px;
  margin:0 auto;
  text-align:left;
  padding:24px !important;
  border-radius:24px !important;
}

.form-title{
  text-align:center;
  margin-bottom:8px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.form-title strong{
  display:block;
  font-size:22px;
  color:#fff;
  margin-bottom:6px;
}

.form-title span{
  display:block;
  color:#b9c8d9;
  font-size:14px;
}

.contact input,
.contact textarea,
.contact select{
  min-height:50px;
  font-size:15px !important;
}

.contact textarea{
  min-height:118px !important;
}

.contact button{
  width:100%;
  margin-top:4px;
}

.contact-links{
  display:none !important;
}

/* Make contact menu target reliable if old id remains absent */
.menu a[href="#formulario-contacto"],
.nav-cta[href="#formulario-contacto"]{
  cursor:pointer;
}

/* Slightly improve command center node overlap on common screens */
.node-security{left:38px !important;top:70px !important;}
.node-soc{right:40px !important;top:70px !important;}
.node-ai{top:38px !important;}
.node-cloud{left:45px !important;bottom:86px !important;}
.node-m365{right:45px !important;bottom:86px !important;}
.node-web{bottom:34px !important;}

@media(max-width:860px){
  .contact{
    width:min(100% - 34px, 680px) !important;
    padding:22px !important;
  }
  .contact form{
    padding:18px !important;
  }
}


/* V13 fixes */
.core-shield small{
  display:none !important;
}

.secure-emblem{
  margin-top:0 !important;
}

#contacto{
  scroll-margin-top:120px;
}

/* Cookie banner */
.cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:1000;
  max-width:760px;
  margin:0 auto;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid rgba(0,212,255,.28);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.14),transparent 35%),
    rgba(4,13,29,.96);
  backdrop-filter:blur(18px);
  box-shadow:0 24px 80px rgba(0,0,0,.38);
}

.cookie-banner.show{
  display:flex;
}

.cookie-banner strong{
  display:block;
  color:#fff;
  font-size:17px;
  margin-bottom:4px;
}

.cookie-banner p{
  color:#b9c8d9;
  font-size:14px;
  line-height:1.45;
}

.cookie-banner button{
  width:auto;
  white-space:nowrap;
  padding:12px 18px;
  border-radius:14px;
  background:linear-gradient(135deg,#00b7ff,#005eff);
  color:white;
  border:0;
  font-weight:900;
  cursor:pointer;
}

@media(max-width:700px){
  .cookie-banner{
    flex-direction:column;
    align-items:flex-start;
    left:14px;
    right:14px;
    bottom:14px;
  }
  .cookie-banner button{
    width:100%;
  }
}


/* V14 contact anchor + anti robot */
.contact-anchor{
  height:1px;
  scroll-margin-top:120px;
}

#contacto{
  scroll-margin-top:120px;
}

.hp-field{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  width:0 !important;
  position:absolute !important;
  left:-9999px !important;
}

.captcha-label{
  color:#d3e2f1;
  font-size:14px;
  font-weight:800;
  margin-top:2px;
}

.captcha-box{
  display:grid;
  grid-template-columns:1fr 145px;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(0,212,255,.18);
  border-radius:16px;
  background:rgba(3,15,28,.60);
}

.captcha-box span{
  color:#fff;
  font-weight:900;
}

.captcha-box input{
  min-height:44px !important;
  text-align:center;
  font-weight:900;
}

@media(max-width:620px){
  .captcha-box{
    grid-template-columns:1fr;
  }
}


/* V15 Professional anti-bot and cookie fixes */
#contacto{
  scroll-margin-top:130px !important;
}

.security-check{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:14px;
  padding:15px;
  border-radius:18px;
  border:1px solid rgba(0,212,255,.26);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.10),transparent 38%),
    rgba(3,15,28,.78);
  cursor:pointer;
  user-select:none;
}

.security-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.check-visual{
  width:38px;
  height:38px;
  border-radius:12px;
  border:2px solid rgba(0,212,255,.55);
  display:grid;
  place-items:center;
  transition:.25s ease;
  box-shadow:inset 0 0 18px rgba(0,212,255,.05);
}

.security-check input:checked + .check-visual{
  background:linear-gradient(135deg,#00d4ff,#005eff);
  border-color:#00d4ff;
  box-shadow:0 0 24px rgba(0,212,255,.35);
}

.security-check input:checked + .check-visual::after{
  content:"✓";
  color:white;
  font-size:24px;
  font-weight:900;
}

.security-check strong{
  display:block;
  color:#fff;
  font-size:15px;
}

.security-check small{
  display:block;
  color:#b9c8d9;
  margin-top:2px;
  font-size:12px;
}

.security-check b{
  color:#00d4ff;
  font-size:12px;
  white-space:nowrap;
  letter-spacing:.08em;
}

.captcha-label,
.captcha-box{
  display:none !important;
}

/* Cookie banner fixed */
.cookie-banner{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:99999;
  width:min(720px, calc(100% - 32px));
  display:none;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:16px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(0,212,255,.32);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.16),transparent 38%),
    rgba(4,13,29,.98);
  backdrop-filter:blur(20px);
  box-shadow:0 28px 90px rgba(0,0,0,.45),0 0 35px rgba(0,212,255,.12);
}

.cookie-banner.show{
  display:grid !important;
}

.cookie-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(0,212,255,.10);
  border:1px solid rgba(0,212,255,.22);
}

.cookie-text strong{
  color:#fff;
  display:block;
  margin-bottom:4px;
  font-size:16px;
}

.cookie-text p{
  color:#b9c8d9;
  font-size:14px;
  line-height:1.4;
}

.cookie-banner button{
  width:auto;
  white-space:nowrap;
  padding:12px 16px;
  border-radius:14px;
  background:linear-gradient(135deg,#00b7ff,#005eff);
  color:white;
  border:0;
  font-weight:900;
}

@media(max-width:720px){
  .security-check{
    grid-template-columns:42px 1fr;
  }
  .security-check b{
    grid-column:1/-1;
  }
  .cookie-banner{
    grid-template-columns:1fr;
    text-align:left;
  }
  .cookie-banner button{
    width:100%;
  }
}


/* V16 CCTV service */
.quick-card h3{
  word-break:keep-all !important;
}

/* Stronger contact anchor */
#contacto{
  position:relative;
  scroll-margin-top:140px !important;
}

/* Improve navbar click target */
.menu a{
  position:relative;
  z-index:10;
  cursor:pointer;
}


/* V17 CCTV icon replacement */
.erp-css{
  display:none !important;
}

.cctv-css{
  border:4px solid var(--cyan);
  border-radius:14px;
  box-shadow:0 0 24px rgba(0,212,255,.45);
}

.cctv-css::before{
  content:"";
  position:absolute;
  left:7px;
  top:12px;
  width:30px;
  height:20px;
  border:4px solid var(--cyan);
  border-radius:8px;
}

.cctv-css::after{
  content:"";
  position:absolute;
  right:2px;
  top:18px;
  width:13px;
  height:10px;
  background:var(--cyan);
  clip-path:polygon(0 0,100% 50%,0 100%);
  box-shadow:
    -23px 22px 0 -2px rgba(0,212,255,.85);
}

.cctv-css span{
  display:none;
}

/* Camera lens + access dot */
.cctv-css{
  background:
    radial-gradient(circle at 22px 24px, var(--cyan) 0 4px, transparent 5px),
    radial-gradient(circle at 43px 8px, #23d18b 0 7px, transparent 8px);
}

/* V17 client logos */
.client-logo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:28px;
}

.client-logo-card{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px;
  border-radius:22px;
  border:1px solid rgba(0,212,255,.20);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.10),transparent 35%),
    rgba(255,255,255,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.20);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.client-logo-card:hover{
  transform:translateY(-6px);
  border-color:rgba(0,212,255,.55);
  box-shadow:0 28px 80px rgba(0,0,0,.26),0 0 28px rgba(0,212,255,.12);
}

.client-logo-card img{
  max-width:100%;
  max-height:120px;
  object-fit:contain;
}

/* Dark card exception for logo with white backgrounds remains clean */
.clients{
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.11),transparent 36%),
    linear-gradient(145deg,rgba(14,35,64,.76),rgba(4,13,29,.78)) !important;
}

@media(max-width:920px){
  .client-logo-grid{
    grid-template-columns:1fr;
  }
}


/* V18 CONTACT CLICK FIX */
#contacto,
#contacto-anchor{
  scroll-margin-top:140px !important;
}

.contacto-anchor{
  height:1px;
  width:100%;
}

.js-contact-link,
.nav-cta{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative;
  z-index:1002;
}

/* V19 SEO ENTERPRISE PAGES */
.seo-hero{width:min(1180px,calc(100% - 42px));margin:0 auto 50px;padding:92px 0 20px}.seo-hero h1{font-size:clamp(42px,5.4vw,72px);line-height:1.02;letter-spacing:-.05em;max-width:940px;margin-bottom:22px}.seo-hero p{color:#d4dfec;font-size:20px;line-height:1.6;max-width:820px;margin-bottom:30px}.seo-content{width:min(1180px,calc(100% - 42px));margin:0 auto 70px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.seo-card,.seo-faq{background:linear-gradient(145deg,rgba(14,35,64,.76),rgba(4,13,29,.78));border:1px solid rgba(88,172,255,.22);border-radius:24px;padding:32px;box-shadow:0 22px 70px rgba(0,0,0,.22)}.seo-card h2,.seo-faq h2{font-size:32px;margin-bottom:18px}.seo-card ul{padding-left:22px;color:#d4dfec;line-height:1.85}.seo-faq{width:min(1180px,calc(100% - 42px));margin:0 auto 90px}.seo-faq details{border-top:1px solid rgba(255,255,255,.10);padding:18px 0}.seo-faq summary{cursor:pointer;font-weight:900;color:#fff}.seo-faq p{color:#c8d6e7;margin-top:12px;line-height:1.6}@media(max-width:860px){.seo-content{grid-template-columns:1fr}}


/* V20 Home trimmed + Governance service */
.quick-services{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:1440px;
}

.governance-css{
  border:4px solid var(--cyan);
  border-radius:14px;
  box-shadow:0 0 24px rgba(0,212,255,.45);
}

.governance-css::before{
  content:"";
  position:absolute;
  left:10px;
  top:8px;
  width:30px;
  height:38px;
  border:3px solid var(--cyan);
  border-radius:5px;
}

.governance-css::after{
  content:"✓";
  position:absolute;
  left:19px;
  top:15px;
  color:var(--cyan);
  font-size:24px;
  font-weight:900;
}

@media(max-width:1100px){
  .quick-services{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:680px){
  .quick-services{
    grid-template-columns:1fr !important;
  }
}


/* V21 dropdown services menu */
.nav{
  grid-template-columns:260px 1fr !important;
}

.nav-cta{
  display:none !important;
}

.menu{
  justify-content:flex-end !important;
}

.dropdown{
  position:relative;
}

.dropdown-toggle{
  cursor:pointer;
}

.dropdown-menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(12px);
  min-width:310px;
  list-style:none;
  background:rgba(3,10,24,.98);
  border:1px solid rgba(0,212,255,.22);
  border-radius:18px;
  padding:12px;
  box-shadow:0 28px 80px rgba(0,0,0,.42),0 0 32px rgba(0,212,255,.12);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  z-index:9999;
}

.dropdown:hover .dropdown-menu,
.dropdown.open .dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(4px);
}

.dropdown-menu li{
  width:100%;
}

.dropdown-menu a{
  display:block;
  padding:12px 14px !important;
  color:#dce9f7 !important;
  border-radius:12px;
  font-size:13px;
  font-weight:900;
  text-transform:none;
  white-space:nowrap;
}

.dropdown-menu a:hover{
  background:rgba(0,212,255,.10);
  color:#00d4ff !important;
}

.dropdown-menu a::after{
  display:none !important;
}

/* Mobile dropdown */
@media(max-width:860px){
  .nav{
    display:flex !important;
  }

  .menu{
    justify-content:flex-start !important;
  }

  .dropdown-menu{
    position:static;
    transform:none !important;
    min-width:100%;
    width:100%;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    display:none;
    margin-top:8px;
    box-shadow:none;
    background:rgba(255,255,255,.04);
  }

  .dropdown.open .dropdown-menu{
    display:block;
  }

  .dropdown:hover .dropdown-menu{
    display:none;
  }

  .dropdown.open:hover .dropdown-menu{
    display:block;
  }
}


/* V22 PROFESSIONAL HOME SERVICE GRID */
.quick-services{
  width:min(1320px, calc(100% - 52px)) !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  margin-top:26px !important;
  margin-bottom:54px !important;
}

.quick-card{
  min-height:230px !important;
  display:grid !important;
  grid-template-columns:78px 1fr !important;
  grid-template-rows:auto auto 1fr !important;
  column-gap:22px !important;
  padding:30px 32px !important;
  align-items:start !important;
}

.quick-card .quick-icon{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  grid-row:1 / span 3 !important;
  margin-top:3px !important;
}

.quick-card h3{
  margin:0 0 14px 0 !important;
  font-size:clamp(22px,1.6vw,28px) !important;
  line-height:1.12 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.quick-card p{
  margin:0 !important;
  font-size:clamp(15px,1.05vw,17px) !important;
  line-height:1.52 !important;
  max-width:520px;
}

.quick-card a{
  margin:24px 0 0 0 !important;
  font-size:clamp(18px,1.25vw,22px) !important;
  align-self:end;
}

/* Make home cards balanced */
.quick-card:hover{
  transform:translateY(-7px) !important;
}

/* V22 METRICS */
.stats{
  width:min(1440px, calc(100% - 52px)) !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  border-radius:22px !important;
}

.stats div{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 32px !important;
}

.stats strong{
  font-size:clamp(34px,3vw,48px) !important;
  letter-spacing:-.04em;
}

.stats span{
  font-size:clamp(15px,1.2vw,19px) !important;
  font-weight:700;
}

/* V22 WHATSAPP OFFICIAL STYLE */
.whatsapp{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  background:#25D366 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 45px rgba(37,211,102,.28),0 10px 30px rgba(0,0,0,.32) !important;
  padding:13px 18px !important;
}

.whatsapp:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 55px rgba(37,211,102,.36),0 10px 30px rgba(0,0,0,.32) !important;
}

.wa-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#ffffff;
  position:relative;
  display:inline-block;
}

.wa-icon::before{
  content:"";
  position:absolute;
  left:7px;
  top:5px;
  width:8px;
  height:12px;
  border:3px solid #25D366;
  border-left:0;
  border-top:0;
  transform:rotate(35deg);
  border-radius:0 0 6px 0;
}

.wa-icon::after{
  content:"";
  position:absolute;
  left:3px;
  bottom:-2px;
  width:8px;
  height:8px;
  background:#ffffff;
  clip-path:polygon(0 0,100% 35%,20% 100%);
}

/* Responsive */
@media(max-width:980px){
  .quick-services{
    grid-template-columns:1fr !important;
  }

  .stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .quick-card{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .quick-card .quick-icon{
    grid-row:auto !important;
  }

  .stats{
    grid-template-columns:1fr !important;
  }
}


/* V23 CIA TRIAD SECTION */
.cia-section{
  width:min(1380px, calc(100% - 52px));
  margin:24px auto 58px;
}

.cia-header{
  margin-bottom:26px;
}

.cia-header h2{
  font-size:clamp(38px,4vw,62px);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:12px 0 16px;
}

.cia-header p{
  max-width:820px;
  color:#d4dfec;
  font-size:19px;
  line-height:1.7;
}

.cia-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.cia-card{
  position:relative;
  overflow:hidden;
  min-height:280px;
  border-radius:24px;
  padding:34px 32px;
  border:1px solid rgba(88,172,255,.18);
  background:
    linear-gradient(145deg,rgba(14,35,64,.84),rgba(4,13,29,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 24px 70px rgba(0,0,0,.22);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.cia-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(0,212,255,.14), transparent 42%);
  pointer-events:none;
}

.cia-card:hover{
  transform:translateY(-7px);
  border-color:rgba(0,212,255,.36);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 28px 90px rgba(0,0,0,.32),
    0 0 36px rgba(0,212,255,.12);
}

.cia-icon{
  width:72px;
  height:72px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  margin-bottom:26px;
  background:linear-gradient(135deg,#0f2e58,#091d3b);
  border:1px solid rgba(0,212,255,.22);
  box-shadow:0 0 28px rgba(0,212,255,.16);
}

.cia-card h3{
  font-size:32px;
  line-height:1.08;
  margin-bottom:16px;
  letter-spacing:-.04em;
}

.cia-card p{
  color:#d4dfec;
  line-height:1.7;
  font-size:17px;
}

.confidentiality .cia-icon{
  box-shadow:0 0 34px rgba(0,212,255,.22);
}

.integrity .cia-icon{
  box-shadow:0 0 34px rgba(86,155,255,.22);
}

.availability .cia-icon{
  box-shadow:0 0 34px rgba(0,255,170,.16);
}

@media(max-width:980px){
  .cia-grid{
    grid-template-columns:1fr;
  }
}


/* V25 BLOG ENTERPRISE */
.blog-featured{
  width:min(1320px, calc(100% - 52px));
  margin:0 auto 42px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
}

.featured-post,
.blog-kpis,
.blog-card,
.blog-cta{
  border:1px solid rgba(88,172,255,.22);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.12),transparent 36%),
    linear-gradient(145deg,rgba(14,35,64,.82),rgba(4,13,29,.88));
  border-radius:24px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.featured-post{
  padding:38px;
  min-height:300px;
}

.featured-post span,
.blog-card span{
  color:var(--cyan);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.featured-post h2{
  font-size:clamp(32px,3.4vw,52px);
  line-height:1.06;
  letter-spacing:-.05em;
  margin:18px 0;
}

.featured-post p{
  color:#d4dfec;
  font-size:18px;
  line-height:1.7;
  max-width:880px;
}

.featured-post a{
  display:inline-flex;
  margin-top:26px;
  color:var(--cyan);
  font-weight:900;
  font-size:20px;
}

.blog-kpis{
  padding:26px;
  display:grid;
  gap:14px;
}

.blog-kpis div{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
  background:rgba(255,255,255,.04);
}

.blog-kpis strong{
  display:block;
  color:#fff;
  font-size:22px;
  margin-bottom:6px;
}

.blog-kpis small{
  color:#b9c8d9;
  line-height:1.5;
}

.blog-grid{
  width:min(1320px, calc(100% - 52px));
  margin:0 auto 60px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.blog-card{
  padding:28px;
  min-height:300px;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.blog-card:hover{
  transform:translateY(-7px);
  border-color:rgba(0,212,255,.45);
  box-shadow:0 28px 90px rgba(0,0,0,.34),0 0 34px rgba(0,212,255,.12);
}

.blog-icon{
  width:62px;
  height:62px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:30px;
  margin-bottom:22px;
  background:linear-gradient(135deg,rgba(0,212,255,.18),rgba(0,94,255,.12));
  border:1px solid rgba(0,212,255,.26);
  box-shadow:0 0 28px rgba(0,212,255,.12);
}

.blog-card h3{
  font-size:28px;
  line-height:1.12;
  letter-spacing:-.04em;
  margin:12px 0 14px;
}

.blog-card p{
  color:#d4dfec;
  line-height:1.65;
}

.blog-cta{
  width:min(980px, calc(100% - 52px));
  margin:0 auto 90px;
  text-align:center;
  padding:42px;
}

.blog-cta h2{
  font-size:clamp(30px,3.5vw,48px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin-bottom:16px;
}

.blog-cta p{
  color:#d4dfec;
  max-width:760px;
  margin:0 auto 26px;
  line-height:1.7;
  font-size:18px;
}

@media(max-width:1080px){
  .blog-featured,
  .blog-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .featured-post,
  .blog-card,
  .blog-cta{
    padding:24px;
  }
}


/* V28 SERVICE IMAGES */
.service-visual-section{
  width:min(1180px, calc(100% - 42px));
  margin:0 auto 62px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:28px;
  align-items:center;
}

.service-visual-copy{
  padding:30px;
  border-radius:24px;
  border:1px solid rgba(88,172,255,.22);
  background:
    radial-gradient(circle at top right,rgba(0,212,255,.12),transparent 36%),
    linear-gradient(145deg,rgba(14,35,64,.80),rgba(4,13,29,.88));
  box-shadow:0 22px 70px rgba(0,0,0,.22);
}

.service-visual-copy h2{
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.05;
  letter-spacing:-.04em;
  margin:10px 0 16px;
}

.service-visual-copy p{
  color:#d4dfec;
  font-size:17px;
  line-height:1.65;
}

.service-visual-image{
  position:relative;
  overflow:hidden;
  min-height:360px;
  border-radius:28px;
  border:1px solid rgba(0,212,255,.24);
  background:rgba(3,10,24,.78);
  box-shadow:
    0 28px 90px rgba(0,0,0,.32),
    0 0 40px rgba(0,212,255,.10);
}

.service-visual-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}

.service-visual-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,transparent 60%,rgba(2,7,19,.44)),
    radial-gradient(circle at top right,rgba(0,212,255,.16),transparent 38%);
  pointer-events:none;
}

.service-visual-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  background:
    radial-gradient(circle at center,rgba(0,212,255,.18),transparent 38%),
    linear-gradient(145deg,rgba(14,35,64,.88),rgba(4,13,29,.92)) !important;
}

.gov-visual-icon{
  width:94px;
  height:94px;
  border-radius:26px;
  display:grid;
  place-items:center;
  font-size:46px;
  border:1px solid rgba(0,212,255,.28);
  background:rgba(0,212,255,.08);
  box-shadow:0 0 40px rgba(0,212,255,.18);
}

.service-visual-placeholder strong{
  color:#fff;
  font-size:34px;
  letter-spacing:-.04em;
}

.service-visual-placeholder span{
  color:#b9c8d9;
  font-weight:800;
}

@media(max-width:980px){
  .service-visual-section{
    grid-template-columns:1fr;
  }
  .service-visual-image,
  .service-visual-image img{
    min-height:280px;
  }
}


/* V30 based on V28 - fixed service images */
.service-visual-image img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  object-position:center;
}

@media(max-width:980px){
  .service-visual-image,
  .service-visual-image img{
    min-height:280px;
  }
}
