:root{
  --bg:#071320;
  --bg-2:#0a1d30;
  --surface:#0c2236;
  --surface-2:#0f2b43;
  --line:rgba(153, 208, 255, 0.18);
  --text:#eef6ff;
  --muted:#a8c2dd;
  --primary:#1ec8ff;
  --primary-2:#59a8ff;
  --accent:#8fe9ff;
  --success:#8ee4b7;
  --shadow:0 24px 70px rgba(0,0,0,.32);
  --radius:24px;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(ellipse at top left, rgba(30,200,255,.16), transparent 34%),
    radial-gradient(ellipse at top right, rgba(89,168,255,.12), transparent 26%),
    linear-gradient(180deg, var(--bg) 0%, #06111d 100%);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(92%, var(--max)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:1000;
  backdrop-filter: blur(14px);
  background:rgba(5,14,24,.72);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
  min-height:84px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{
  display:flex; align-items:center; gap:14px; min-width:0;
}
.brand-mark{
  background:#fff; border-radius:18px; padding:10px 14px; box-shadow:var(--shadow);
}
.brand-mark img{height:42px; width:auto}
.brand-copy{min-width:0}
.brand-copy strong{
  display:block; font-size:1rem; line-height:1.05; letter-spacing:-.02em;
}
.brand-copy span{
  display:block; font-size:.82rem; color:var(--muted); margin-top:4px;
}
.nav{
  display:flex; gap:22px; align-items:center; color:#d8e9f8; flex-wrap:wrap; justify-content:flex-end;
}
.nav a{font-size:.96rem; opacity:.95}
.nav a:hover{color:var(--accent)}
.nav-cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 20px; border-radius:999px; font-weight:800;
  background:linear-gradient(135deg, var(--primary), var(--primary-2));
  color:#fff; box-shadow:var(--shadow);
}
.hero{
  padding:72px 0 42px;
}
.hero-grid{
  display:grid; grid-template-columns:1.08fr .92fr; gap:34px; align-items:center;
}
.kicker{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--primary); font-size:.88rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:18px;
}
.hero h1{
  margin:0 0 18px;
  font-size:clamp(2.7rem, 6vw, 5rem); line-height:.94; letter-spacing:-.055em;
}
.hero p{
  max-width:760px; color:var(--muted); font-size:1.08rem; line-height:1.72;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:28px}
.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 22px; border-radius:999px; font-weight:800; box-shadow:var(--shadow);
}
.button-primary{background:linear-gradient(135deg, var(--primary), var(--primary-2)); color:#fff}
.button-secondary{background:rgba(255,255,255,.06); border:1px solid var(--line)}
.hero-card{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:30px; padding:26px; box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.hero-card::after{
  content:""; position:absolute; width:220px; height:220px; right:-70px; bottom:-70px; border-radius:50%;
  background:radial-gradient(circle, rgba(30,200,255,.28), transparent 70%);
}
.metric-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:18px}
.metric{
  border:1px solid var(--line); background:rgba(255,255,255,.04);
  border-radius:20px; padding:18px;
}
.metric strong{display:block; font-size:1.5rem; margin-bottom:6px}
.metric span{color:var(--muted); font-size:.93rem}
.section{padding:86px 0}
.section-title{
  margin:0 0 14px; font-size:clamp(2rem,4vw,3.2rem); line-height:1.04; letter-spacing:-.04em;
}
.section-subtitle{
  margin:0 0 34px; color:var(--muted); max-width:880px; line-height:1.72; font-size:1.03rem;
}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:28px; padding:24px; box-shadow:var(--shadow);
}
.card h3{margin:0 0 12px; font-size:1.24rem}
.card p, .card li{color:var(--muted); line-height:1.72}
.badge{
  display:inline-flex; padding:8px 12px; border-radius:999px; font-weight:800; font-size:.82rem;
  color:var(--primary); background:rgba(30,200,255,.12); border:1px solid rgba(30,200,255,.18);
  margin-bottom:14px;
}
.list-clean{padding-left:18px; margin:14px 0 0}
.list-clean li+li{margin-top:8px}
.value-strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:26px
}
.value-pill{
  padding:14px 16px; border-radius:18px; border:1px solid var(--line); background:rgba(255,255,255,.04);
  color:#dfefff; font-weight:700;
}
.callout{
  background:linear-gradient(135deg, rgba(30,200,255,.12), rgba(89,168,255,.11));
  border:1px solid rgba(255,255,255,.11); border-radius:28px; padding:30px; box-shadow:var(--shadow);
}
.callout h3{margin:0 0 10px; font-size:1.7rem}
.callout p{color:var(--muted); line-height:1.72}
.highlight{
  color:#fff; font-weight:800;
}
.pricing-note{
  color:var(--accent); font-weight:800; font-size:1rem;
}
.form{
  display:grid; gap:12px; margin-top:18px;
}
.form input, .form select, .form textarea{
  width:100%; padding:14px 16px; border-radius:16px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);
  color:var(--text); font:inherit;
}
.form textarea{min-height:140px; resize:vertical}
.form input::placeholder, .form textarea::placeholder{color:#98b4cf}
.privacy{
  color:var(--muted); font-size:.9rem; line-height:1.6
}
.privacy a{color:var(--accent); text-decoration:underline; text-underline-offset:3px}
.hero-visual{
  min-height:520px; display:grid; gap:16px;
}
.visual-panel{
  padding:22px; border-radius:28px; border:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(7,19,32,.6), rgba(15,43,67,.88)),
    radial-gradient(circle at top right, rgba(30,200,255,.16), transparent 40%);
  box-shadow:var(--shadow);
}
.visual-panel h3{margin:0 0 10px; font-size:1.32rem}
.visual-panel p{margin:0; color:var(--muted); line-height:1.7}
.logo-orbit{
  display:grid; place-items:center; min-height:250px; border-radius:28px;
  border:1px solid var(--line); background:
    radial-gradient(circle at center, rgba(30,200,255,.18), rgba(8,19,31,.14) 42%, transparent 43%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
}
.logo-orbit img{width:min(280px, 70%); filter:drop-shadow(0 16px 40px rgba(0,0,0,.28))}
.service-hero{
  padding:56px 0 24px;
}
.subnav{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:18px
}
.subnav a{
  padding:10px 14px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.04); color:#d8ecff;
}
.faq details{
  border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:20px; padding:16px 18px;
}
.faq details + details{margin-top:12px}
.faq summary{cursor:pointer; font-weight:800}
.faq p{color:var(--muted); line-height:1.72}
.footer{
  padding:34px 0 48px; border-top:1px solid rgba(255,255,255,.07); color:var(--muted);
}
.footer-grid{
  display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:start;
}
.footer small{display:block; margin-top:8px}
.kpis{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.kpi{
  padding:22px; border-radius:22px; background:rgba(255,255,255,.04); border:1px solid var(--line);
}
.kpi strong{display:block; font-size:1.6rem; margin-bottom:6px}
.table-like{
  display:grid; gap:12px;
}
.table-row{
  display:grid; grid-template-columns:1.1fr .9fr; gap:18px;
  padding:18px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.04);
}
.cta-sticky{
  position:fixed; right:18px; bottom:18px; z-index:999;
}
@media (max-width: 1080px){
  .hero-grid,.grid-3,.grid-2,.value-strip,.footer-grid,.kpis,.table-row{grid-template-columns:1fr}
  .nav{display:none}
  .hero-visual{min-height:auto}
}
@media (max-width: 720px){
  .hero{padding-top:52px}
  .section{padding:70px 0}
  .hero h1{font-size:clamp(2.3rem,12vw,4rem)}
}

.ad-hero{
  padding: 82px 0 56px;
}
.ad-banner{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(30,200,255,.22);
  background:rgba(30,200,255,.08);
  color:var(--accent);
  font-size:.85rem;
  font-weight:800;
  margin-bottom:18px;
}
.check-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:10px;
}
.check-list li{
  padding-left:30px;
  position:relative;
  color:var(--muted);
  line-height:1.7;
}
.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--success);
  font-weight:900;
}
.quote-box{
  border-left:4px solid var(--primary);
  padding:18px 20px;
  background:rgba(255,255,255,.04);
  border-radius:18px;
  color:#dfefff;
}
.ad-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
}
.noindex-note{
  color:var(--muted);
  font-size:.88rem;
  margin-top:10px;
}
@media (max-width: 1080px){
  .ad-grid{grid-template-columns:1fr}
}


.page-hero-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:24px;
  align-items:stretch;
}
.page-cover{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  min-height:220px;
}
.page-cover img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  display:block;
}
.page-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,19,32,.10), rgba(7,19,32,.26));
}
.media-card{
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  box-shadow:var(--shadow);
}
.media-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}
.media-card .media-copy{
  padding:20px;
}
.media-card h3{
  margin:0 0 10px;
}
.media-card p{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}
@media (max-width:1080px){
  .page-hero-grid{grid-template-columns:1fr}
  .page-cover,.page-cover img{min-height:260px}
}


.sales-points{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.sales-points div{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  color:#dcecff;
  font-weight:700;
}


.form select option{
  color:#0b1d2f;
  background:#ffffff;
}
.cta-sticky .button{
  padding:16px 24px;
  border-radius:999px;
  font-size:1rem;
  letter-spacing:.01em;
  box-shadow:0 18px 40px rgba(0,0,0,.30);
}
.cta-sticky .button::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  background:#25D366;
  box-shadow:0 0 0 6px rgba(37,211,102,.18);
  display:inline-block;
}


.page-cover{
  aspect-ratio: 16 / 9;
  min-height: unset;
  max-height: 240px;
}
.page-cover img{
  height: 100%;
  min-height: unset;
  max-height: 240px;
}
@media (max-width:1080px){
  .page-cover{
    max-height: 200px;
  }
  .page-cover img{
    max-height: 200px;
  }
}

.cta-sticky .button{
  padding:16px 22px;
  font-size:.98rem;
  font-weight:900;
}



/* V7 layout fix: text card left, image right */
.page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:28px;
  align-items:center;
}
.page-hero-grid > .card{
  order:1;
}
.page-hero-grid > .page-cover{
  order:2;
}
.page-cover{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  box-shadow:var(--shadow);
  aspect-ratio: 16 / 10;
  max-height:340px;
  align-self:center;
}
.page-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sales-points{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.sales-points div{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  color:#dcecff;
  font-weight:700;
}
@media (max-width:1080px){
  .page-hero-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .page-cover{
    max-height:240px;
  }
}



/* V11 mobile-first refinements */
@media (max-width: 900px){
  .site-header{
    position: sticky;
    top: 0;
  }
  .header-inner{
    min-height: 72px;
    gap: 12px;
    padding: 10px 0;
  }
  .brand{
    gap: 10px;
    align-items: center;
  }
  .brand-mark{
    padding: 8px 10px;
    border-radius: 14px;
  }
  .brand-mark img{
    height: 34px;
  }
  .brand-copy strong{
    font-size: .94rem;
    line-height: 1.05;
  }
  .brand-copy span{
    font-size: .74rem;
    line-height: 1.3;
  }
  .nav{
    gap: 10px;
    row-gap: 8px;
  }
  .nav a{
    font-size: .88rem;
  }
  .nav-cta{
    padding: 12px 16px;
    font-size: .9rem;
  }

  .hero,
  .service-hero{
    padding-top: 34px;
    padding-bottom: 18px;
  }
  .hero-grid,
  .grid-3,
  .grid-2,
  .kpis,
  .footer-grid,
  .page-hero-grid{
    grid-template-columns: 1fr !important;
    gap: 18px;
  }
  .hero h1,
  .section-title{
    font-size: clamp(2rem, 9vw, 3.2rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    margin-bottom: 14px;
  }
  .hero p,
  .section-subtitle{
    font-size: 1rem;
    line-height: 1.7;
  }
  .hero-card,
  .card,
  .callout{
    padding: 20px;
    border-radius: 22px;
  }
  .metric-grid{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .metric, .kpi, .value-pill{
    padding: 14px;
    border-radius: 16px;
  }
  .value-strip{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .media-card img{
    height: 160px !important;
  }
  .page-cover{
    max-height: 210px !important;
    border-radius: 20px;
  }
  .page-cover img{
    max-height: 210px !important;
  }
  .sales-points div{
    padding: 11px 12px;
    font-size: .95rem;
    line-height: 1.45;
  }
  .subnav{
    gap: 8px;
  }
  .subnav a{
    font-size: .86rem;
    padding: 9px 12px;
  }
  .hero-actions{
    gap: 10px;
  }
  .button,
  .button-primary,
  .button-secondary{
    width: 100%;
    min-height: 50px;
    padding: 14px 18px;
    font-size: .98rem;
  }
  .form{
    gap: 10px;
  }
  .form input,
  .form select,
  .form textarea{
    min-height: 50px;
    font-size: 16px;
    border-radius: 14px;
    padding: 14px 15px;
  }
  .form textarea{
    min-height: 120px;
  }
  .privacy{
    font-size: .88rem;
    line-height: 1.55;
  }
  .cta-sticky{
    right: 12px;
    bottom: 12px;
  }
  .cta-sticky .button{
    min-height: 48px;
    width: auto;
    padding: 14px 16px;
    font-size: .92rem;
    border-radius: 999px;
  }
}

@media (max-width: 640px){
  .container{
    width: min(94%, var(--max));
  }
  .brand-copy strong{
    font-size: .9rem;
  }
  .brand-copy span{
    display: none;
  }
  .nav{
    display: none;
  }
  .hero h1,
  .section-title{
    font-size: clamp(1.9rem, 10vw, 2.7rem);
  }
  .metric-grid,
  .value-strip{
    grid-template-columns: 1fr;
  }
  .hero-card .page-cover{
    max-height: 170px !important;
  }
  .page-cover{
    max-height: 190px !important;
  }
  .page-cover img{
    max-height: 190px !important;
  }
  .media-card img{
    height: 150px !important;
  }
  .cta-sticky{
    left: 12px;
    right: 12px;
    bottom: 10px;
  }
  .cta-sticky .button{
    width: 100%;
    justify-content: center;
  }
  .footer{
    padding-bottom: 88px;
  }
}

/* Anti-spam: campo invisible para bots, sin afectar el diseño */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
