/* OMETA – tema mixto claro/oscuro
   Marino #071233 · Azul de marca #1565f0 · Cian #00a3e0 · Claro #f4f7fb
   Las secciones con clase .dk redefinen las variables y todos los componentes se adaptan solos. */
:root{
  --navy:#071233;--navy2:#0d1f45;--b:#1565f0;--b-h:#0f55d4;--c:#00a3e0;
  --bg:#ffffff;--bg2:#f4f7fb;
  --text:#0b1a3f;--muted:#4f5b70;--line:#dde3eb;--panel:#ffffff;
  --kick:#1565f0;--icon:#1565f0;--chip:#eef3fb;--focus:#ffbf47;
  --shadow:0 12px 32px -14px rgba(11,26,63,.22)
}
.dk{
  --text:#eaf0f8;--muted:#b4c0d3;--line:#1f3366;--panel:rgba(255,255,255,.04);
  --kick:#4cc3ff;--icon:#4cc3ff;--chip:rgba(76,195,255,.1);
  --shadow:0 12px 32px -14px rgba(0,0,0,.6);
  background:var(--navy);color:var(--text)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--text);line-height:1.6;background:var(--bg)}
img,svg{max-width:100%}
svg[hidden]{display:none}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--focus);color:#000;padding:10px 14px;z-index:100}
.skip:focus{left:10px;top:10px}
.container{width:min(1160px,92%);margin:auto}
.ico{width:34px;height:34px;color:var(--icon);flex:none}

/* Nav */
nav.top{position:sticky;top:0;z-index:20;background:rgba(7,18,51,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #ffffff14;color:#fff}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:block;line-height:0}
.logo img{height:30px;width:auto}
.navlinks{display:flex;gap:22px;font-size:14px;align-items:center}
.navlinks a{color:#eaf0f8;text-decoration:none}
.navlinks a:hover{color:#4cc3ff}
.menu-btn{display:none;background:none;border:1px solid #ffffff44;color:#fff;border-radius:8px;padding:8px 12px;font:inherit;font-size:14px;cursor:pointer}

.btn{display:inline-block;padding:13px 22px;border-radius:8px;text-decoration:none;border:0;font:inherit;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .15s,color .15s,border-color .15s}
.primary{background:var(--b);color:#fff}
.primary:hover{background:var(--b-h);box-shadow:0 8px 24px -8px #1565f0aa}
.outline{border:1px solid #ffffff66;color:#fff;margin-left:8px}
.outline:hover{border-color:#4cc3ff;color:#4cc3ff}
.ghost{border:1px solid var(--b);color:var(--b);background:transparent}
.ghost:hover{background:var(--b);color:#fff}
.dk .ghost{border-color:#4cc3ff;color:#4cc3ff}
.dk .ghost:hover{background:#4cc3ff;color:var(--navy)}

.k{color:var(--kick);font-weight:800;letter-spacing:2px;text-transform:uppercase;font-size:12.5px}
.tagline{letter-spacing:.35em}

/* Hero */
.hero{position:relative;overflow:hidden;padding:96px 0 104px;
  background:
    radial-gradient(ellipse 55% 60% at 85% 20%,rgba(0,163,224,.22),transparent 70%),
    radial-gradient(ellipse 50% 60% at 0% 100%,rgba(21,101,240,.28),transparent 70%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),
    linear-gradient(135deg,#071233,#0b1f52)}
.grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
h1{font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-1.5px;margin:16px 0 22px}
h1 .accent{background:linear-gradient(90deg,#4cc3ff,#9fe3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:19px;color:var(--muted);max-width:640px}
.hero-ctas{margin-top:30px}

/* Tarjeta producto estrella */
.star{position:relative;background:linear-gradient(160deg,#1565f0,#0b3aa8);border-radius:18px;padding:30px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);color:#fff}
.star .pill{display:inline-block;background:rgba(255,255,255,.16);color:#fff;font-size:12px;font-weight:800;letter-spacing:1.5px;padding:6px 12px;border-radius:6px;text-transform:uppercase}
.star h2{font-size:28px;line-height:1.1;margin:16px 0 8px}
.star p{color:#dbe7ff;font-size:16px;margin:0}
.star .radar{position:absolute;right:-70px;top:30px;width:200px;height:200px;opacity:.3;color:#fff}
.star>*:not(.radar){position:relative}
.star .bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:28px}
.star .slogan{color:#bfe9ff;font-size:14px;line-height:1.35}
.price-pill{background:#fff;color:var(--b);font-weight:800;font-size:16px;padding:10px 20px;border-radius:999px;white-space:nowrap;text-decoration:none}
.price-pill:hover{background:#eaf3ff}

/* Pilares */
.pillars{padding:0;background:#0a1a45;border-top:1px solid #ffffff12}
.pillars .row{display:grid;grid-template-columns:repeat(3,1fr)}
.pillar{padding:38px 34px;display:flex;gap:18px;align-items:flex-start;border-left:1px solid var(--line)}
.pillar:first-child{border-left:0;padding-left:0}
.pillar h2{font-size:24px;margin:0 0 4px}
.pillar p{margin:0;color:var(--muted)}
.pillar .ico{width:42px;height:42px}

/* Secciones */
section{padding:84px 0}
.light{background:var(--bg2)}
.head{max-width:740px;margin-bottom:40px}
.head h2,.split h2,.about h2{font-size:36px;line-height:1.15;margin:10px 0}
.head p,.split p,.about p{color:var(--muted)}

/* Tarjetas comunes */
.plan,.line,.card,.fin-item,.cert{background:var(--panel);border:1px solid var(--line);border-radius:16px;transition:border-color .15s,box-shadow .15s,transform .15s}
.plan:hover,.line:hover,.card:hover,.fin-item:hover,.cert:hover{border-color:var(--b);box-shadow:var(--shadow);transform:translateY(-2px)}
.dk .fin-item:hover{border-color:#4cc3ff}

/* CyberCheck */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.price-note{font-size:15px;color:var(--muted)}
.darkbox{background:linear-gradient(160deg,#071233,#0d1f45);color:#eaf0f8;padding:36px;border-radius:18px;box-shadow:var(--shadow)}
.darkbox h3{margin-top:0}
.check{list-style:none;padding:0;margin:0}
.check li{padding:8px 0;color:#d5def0;border-bottom:1px dashed rgba(255,255,255,.12)}
.check li:last-child{border-bottom:0}
.check li::before{content:"✓";color:#4cc3ff;font-weight:800;margin-right:10px}

/* Catálogo */
.catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.plan{position:relative;padding:26px;display:flex;flex-direction:column}
.plan.featured{border:2px solid var(--b);box-shadow:var(--shadow)}
.plan .tag{position:absolute;top:-12px;left:22px;background:var(--b);color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:6px}
.plan h3{margin:14px 0 2px;font-size:19px;line-height:1.25}
.plan .type{color:var(--b);font-size:13px;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:1px}
.plan ul{padding-left:18px;color:var(--muted);font-size:14px;margin:14px 0 20px;flex:1}
.plan .btn{text-align:center;padding:11px 16px;font-size:15px}
.catalog-note{color:var(--muted);font-size:13px;margin-top:18px}

/* Líneas de servicio */
.lines{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.line{padding:28px}
.line h3{font-size:15px;letter-spacing:1.5px;text-transform:uppercase;margin:16px 0 10px}
.line ul{margin:0;padding-left:18px;color:var(--muted);font-size:15px}
.line li{padding:2px 0}
.line li::marker{color:var(--c)}

/* Sector financiero */
.fin{background:radial-gradient(ellipse 60% 60% at 100% 0%,rgba(0,163,224,.18),transparent 70%),linear-gradient(135deg,#071233,#0b1f52)}
.fin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fin-item{padding:24px}
.fin-item h3{margin:0 0 6px;font-size:18px}
.fin-item p{margin:0;color:var(--muted);font-size:15px}
.fin-cta{margin-top:30px}

/* Capacitación */
.certs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cert{padding:24px;display:flex;flex-direction:column}
.cert .issuer{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--b);font-weight:700}
.cert h3{margin:8px 0 6px;font-size:18px;line-height:1.3}
.cert p{margin:0 0 16px;color:var(--muted);font-size:15px;flex:1}
.cert .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cert .meta span{font-size:12px;background:var(--chip);border-radius:999px;padding:4px 10px;color:var(--text)}
.cert .btn{align-self:flex-start;padding:9px 16px;font-size:14px}
.partner{margin-top:26px;display:flex;gap:18px;align-items:center;padding:22px 26px;border-radius:16px;background:linear-gradient(120deg,#071233,#0d2a6b);color:#eaf0f8}
.partner .ico{color:#4cc3ff;width:40px;height:40px}
.partner strong{font-size:18px}
.partner p{margin:4px 0 0;color:#c3cee0;font-size:15px}
.partner .btn{margin-left:auto;white-space:nowrap}
@media(max-width:760px){.partner{flex-direction:column;align-items:flex-start}.partner .btn{margin-left:0}}

.consult-grid{grid-template-columns:repeat(4,1fr)}
.consult-grid .cert .ico{margin-bottom:10px}
@media(max-width:1000px){.consult-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.consult-grid{grid-template-columns:1fr}}

/* Metodología */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;padding:0;margin:0}
.steps h3{margin:0 0 6px}
.steps p{color:var(--muted);margin:0}
.sn{width:44px;height:44px;border-radius:50%;background:var(--b);color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:14px;box-shadow:0 0 0 6px #1565f01f}

/* Nosotros */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.aboutbox{background:linear-gradient(160deg,#071233,#0d1f45);color:#eaf0f8;border-radius:18px;padding:40px;box-shadow:var(--shadow)}
.aboutbox p{color:#c3cee0}
.big{font-size:56px;font-weight:800;line-height:1}
.big span{color:#4cc3ff}
.principles{list-style:none;padding:0;margin:18px 0 0}
.principles li{padding:6px 0;color:#eaf0f8}
.principles li::before{content:"✓";color:#4cc3ff;font-weight:800;margin-right:10px}
.founder{display:flex;gap:16px;align-items:center;margin-top:26px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--b),var(--c));display:grid;place-items:center;color:#fff;font-weight:800;font-size:20px;flex:none}
.avatar .ico{color:#fff;width:28px;height:28px}
.founder strong{display:block}
.founder span{color:var(--muted);font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0;list-style:none}
.tags li{background:var(--chip);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--text)}

/* Sectores */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{padding:28px}
.card h3{margin:14px 0 6px}
.card p{color:var(--muted);margin:0}

/* FAQ */
.faq{max-width:840px}
details{border-bottom:1px solid var(--line);padding:17px 0}
summary{cursor:pointer;font-weight:700}
summary::marker{color:var(--b)}
details p{color:var(--muted);margin-bottom:0}

/* Contacto */
.cta{background:radial-gradient(ellipse 60% 70% at 0% 100%,rgba(0,163,224,.2),transparent 70%),linear-gradient(135deg,#071233,#0b1f52)}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.cta h2{font-size:38px;line-height:1.15;margin:10px 0}
.cta p{color:var(--muted)}
.cta .alt{margin-top:22px;font-size:15px}
.cta .alt a{color:#4cc3ff}
form.lead{background:#fff;color:#0b1a3f;border-radius:18px;padding:30px;display:grid;gap:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}
input,select,textarea{width:100%;font:inherit;font-size:15px;padding:11px 12px;border:1px solid #c5cfdc;border-radius:8px;background:#fff;color:#0b1a3f}
input:focus,select:focus,textarea:focus{border-color:var(--b)}
textarea{min-height:90px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#4f5b70;font-weight:400}
.consent input{width:auto;margin-top:4px;accent-color:var(--b)}
.consent a{color:var(--b)}
.form-note{font-size:12px;color:#4f5b70;margin:0}
.req{color:#c0262d}

/* Footer */
footer{background:#040b22;color:#a9b5c8;padding:40px 0;font-size:13px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot img{height:24px;width:auto;display:block;margin-bottom:8px}
footer a{color:#eaf0f8}
footer .tl{color:#4cc3ff;letter-spacing:.25em}

/* Página legal */
.legal{max-width:820px;padding:60px 0}
.legal h1{font-size:clamp(32px,4vw,44px);letter-spacing:-1px;line-height:1.1}
.legal h2{font-size:22px;margin-top:36px}
.legal p,.legal li{color:#3a4458}
.legal a{color:var(--b)}
.legal .ph{background:#fff4ce;border:1px dashed #c9a300;padding:0 4px;border-radius:4px}
.legal .meta{color:var(--muted);font-size:14px}

/* Responsivo */
@media(max-width:1000px){.catalog,.lines{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .menu-btn{display:block}
  .navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:0;padding:8px 4% 16px;border-top:1px solid #ffffff1a}
  .navlinks.open{display:flex}
  .navlinks a{padding:12px 0;border-bottom:1px solid #ffffff14;font-size:16px}
  .nav-cta{display:none}
  .grid,.split,.about,.contact{grid-template-columns:1fr}
  .pillars .row{grid-template-columns:1fr}
  .pillar{border-left:0;border-top:1px solid var(--line);padding:28px 0}
  .pillar:first-child{border-top:0}
  .cards,.fin-grid,.steps,.certs{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  section{padding:56px 0}
  .hero{padding:60px 0 70px}
  .head h2,.split h2,.about h2,.cta h2{font-size:28px}
  .catalog,.lines,.cards,.steps,.fin-grid,.certs,.row2{grid-template-columns:1fr}
  .outline{margin-left:0;margin-top:10px}
  .hero-ctas .btn{display:block;text-align:center}
  .star .bottom{flex-direction:column;align-items:flex-start}
  form.lead{padding:22px}
}
