:root { --navy:#0a2342; --sky:#4db8ff; --dark:#1a1a1a; }
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Segoe UI',system-ui,sans-serif; color:#333; overflow-x:hidden; }

/* NAVBAR */
.pres-nav {
  position:fixed; top:0; left:0; right:0; z-index:999;
  padding:12px 40px;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .4s, box-shadow .4s;
}
.pres-nav.scrolled {
  background:rgba(10,35,66,.96); backdrop-filter:blur(12px);
  box-shadow:0 2px 16px rgba(0,0,0,.3); padding:8px 40px;
}
.nav-brand { display:flex; align-items:center; gap:9px; color:#fff; font-weight:800; font-size:1.05rem; }
.nav-brand .nb-icon {
  width:36px; height:36px; background:var(--sky); border-radius:9px;
  display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.nav-links { display:flex; align-items:center; gap:22px; }
.nav-links a { color:rgba(255,255,255,.8); font-size:.85rem; font-weight:600; text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:#fff; }
.btn-nav {
  background:var(--sky); color:#fff; border:none;
  padding:8px 20px; border-radius:9px; font-weight:700; font-size:.85rem;
  text-decoration:none; display:inline-flex; align-items:center; gap:7px;
  transition:opacity .2s, transform .15s;
}
.btn-nav:hover { opacity:.88; transform:translateY(-1px); color:#fff; }

/* HERO */
.hero {
  min-height:78vh;
  background:
    linear-gradient(135deg,
      rgba(8,26,54,0.91)  0%,
      rgba(10,40,80,0.82) 45%,
      rgba(12,58,100,0.78) 100%),
    url('https://static.vecteezy.com/system/resources/thumbnails/048/854/634/small/modern-smartphone-navigation-concept-on-digital-map-with-real-time-gps-tracking-photo.jpeg')
    center / cover no-repeat;
  display:flex; align-items:center;
  position:relative; overflow:hidden;
  padding:82px 0 40px;
}
/* Grilla de puntos decorativos — simula señal GPS */
.hero::before {
  content:'';
  position:absolute; inset:0;
  background-image:radial-gradient(rgba(77,184,255,.15) 1px,transparent 1px);
  background-size:36px 36px;
  pointer-events:none;
}
.blob { position:absolute; border-radius:50%; pointer-events:none; }
.blob1 { width:600px;height:600px; background:radial-gradient(circle,rgba(77,184,255,.12) 0%,transparent 70%); top:-130px;right:-80px; }
.blob2 { width:380px;height:380px; background:radial-gradient(circle,rgba(77,184,255,.08) 0%,transparent 70%); bottom:-60px;left:60px; }
.blob3 { width:160px;height:160px; background:rgba(77,184,255,.06); top:40%;left:46%; animation:pulse 4s ease-in-out infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:.5} 50%{transform:scale(1.3);opacity:.8} }

.hero-title { font-size:clamp(1.9rem,4.5vw,2.9rem); font-weight:900; color:#fff; line-height:1.15; }
.hero-title .ht-acc { color:var(--sky); }
.hero-sub { font-size:.95rem; color:rgba(255,255,255,.75); max-width:460px; line-height:1.65; margin:14px 0 22px; }
.btn-hero {
  background:var(--sky); color:#fff; border:none;
  padding:11px 26px; border-radius:10px; font-weight:700; font-size:.88rem;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:opacity .2s,transform .15s; box-shadow:0 5px 16px rgba(77,184,255,.4);
}
.btn-hero:hover { opacity:.9; transform:translateY(-2px); color:#fff; }
.btn-hero-out {
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.45);
  padding:10px 22px; border-radius:10px; font-weight:600; font-size:.88rem;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:border-color .2s,background .2s;
}
.btn-hero-out:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* Hero card de tracking */
.hero-visual { position:relative; display:flex; align-items:center; justify-content:center; }
.track-card {
  background:rgba(255,255,255,.08); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.15); border-radius:18px;
  padding:20px; width:320px; color:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.3);
}
.tc-hdr { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.tc-ico { width:38px;height:38px; background:var(--sky); border-radius:9px; display:flex;align-items:center;justify-content:center; font-size:1.15rem; }

/* Mini mapa simulado */
.mini-map {
  background:linear-gradient(135deg,#0d2137,#0a3352);
  border-radius:10px; height:110px; position:relative; overflow:hidden;
  margin-bottom:12px;
}
.map-grid {
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(77,184,255,.08) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(77,184,255,.08) 1px,transparent 1px);
  background-size:20px 20px;
}
.map-route {
  position:absolute; top:30px; left:20px;
  width:200px; height:2px;
  background:linear-gradient(90deg,transparent,var(--sky),transparent);
  border-radius:2px;
}
.map-dot {
  position:absolute; width:10px;height:10px;
  background:var(--sky); border-radius:50%;
  box-shadow:0 0 10px var(--sky);
  animation:blink 1.5s ease-in-out infinite;
}
.map-dot.d1 { top:26px; left:70px; }
.map-dot.d2 { top:50px; left:150px; animation-delay:.5s; }
.map-dot.d3 { top:65px; left:50px;  animation-delay:1s; }
@keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }

.veh-row { display:flex; align-items:center; justify-content:space-between; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:.75rem; }
.veh-row:last-child { border-bottom:none; }
.veh-badge { padding:2px 8px; border-radius:5px; font-size:.68rem; font-weight:700; }
.veh-badge.activo  { background:rgba(74,222,128,.2);  color:#4ade80; }
.veh-badge.parado  { background:rgba(250,204,21,.2);  color:#facc15; }
.veh-badge.offline { background:rgba(239,68,68,.2);   color:#ef4444; }

.fbadge {
  position:absolute; background:#fff; border-radius:10px; padding:8px 12px;
  display:flex; align-items:center; gap:7px;
  box-shadow:0 7px 20px rgba(0,0,0,.18);
  font-size:.75rem; font-weight:600; color:#333;
  animation:float 3s ease-in-out infinite;
}
.fbadge.fb1 { top:-16px;right:-24px; }
.fbadge.fb2 { bottom:-12px;left:-20px; animation-delay:1.5s; }
.fbadge .fbi { width:26px;height:26px; border-radius:7px; display:flex;align-items:center;justify-content:center; font-size:.9rem; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

/* SECCIONES */
section { padding:42px 0; }
.sec-badge {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(77,184,255,.1); color:var(--sky);
  border:1px solid rgba(77,184,255,.22);
  padding:4px 13px; border-radius:30px;
  font-size:.75rem; font-weight:700; letter-spacing:.4px; margin-bottom:10px;
}
.sec-title { font-size:clamp(1.45rem,3vw,2rem); font-weight:900; color:var(--navy); line-height:1.2; }
.sec-title .st-acc { color:var(--sky); }
.sec-sub { color:#64748b; font-size:.875rem; max-width:520px; line-height:1.65; margin-top:10px; }

/* STATS STRIPE */
.stats-stripe { background:linear-gradient(135deg,var(--navy) 0%,#0e3a6e 100%); padding:26px 0; }
.stat-item { text-align:center; padding:10px; }
.stat-num { font-size:clamp(1.8rem,3.5vw,2.4rem); font-weight:900; color:var(--sky); line-height:1; }
.stat-lbl { font-size:.8rem; color:rgba(255,255,255,.7); margin-top:5px; font-weight:500; }

/* SERVICIOS */
#servicios { background:#f8fafc; }
.serv-card {
  background:#fff; border:1px solid #e2e8f0; border-radius:14px;
  padding:18px 20px; height:100%;
  display:flex; align-items:flex-start; gap:14px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.serv-card:hover { transform:translateY(-5px); box-shadow:0 14px 35px rgba(10,35,66,.1); border-color:var(--sky); }
.serv-ico {
  width:46px;height:46px; flex-shrink:0;
  background:linear-gradient(135deg,var(--navy),var(--sky));
  border-radius:12px; display:flex;align-items:center;justify-content:center;
  font-size:1.3rem; color:#fff; box-shadow:0 5px 14px rgba(10,35,66,.22);
}
.serv-body h6 { font-weight:800; color:var(--navy); margin-bottom:4px; font-size:.9rem; }
.serv-body p  { color:#64748b; font-size:.8rem; line-height:1.55; margin:0 0 8px; }
.serv-tags { display:flex; flex-wrap:wrap; gap:4px; }
.serv-tag { background:rgba(77,184,255,.1); color:#0077cc; border-radius:5px; padding:2px 8px; font-size:.7rem; font-weight:600; }

/* NOSOTROS */
#nosotros { background:#fff; }
.about-visual {
  background:
    linear-gradient(160deg, rgba(10,35,66,.72) 0%, rgba(14,74,128,.60) 100%),
    url('https://www.sigis.com.ve/images/blog/blog_sigis_glosario_rastreo_satelital%20.webp')
    center / cover no-repeat;
  border-radius:16px; height:240px;
  display:flex;align-items:center;justify-content:center;
  color:#fff; font-size:4rem;
  box-shadow:0 14px 40px rgba(10,35,66,.30); position:relative;
}
.af { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.af-ico { width:38px;height:38px; flex-shrink:0; background:linear-gradient(135deg,var(--navy),var(--sky)); border-radius:10px; display:flex;align-items:center;justify-content:center; color:#fff; font-size:1rem; }
.af h6 { font-weight:700; color:var(--navy); margin-bottom:2px; font-size:.875rem; }
.af p  { font-size:.8rem; color:#64748b; margin:0; line-height:1.55; }

/* PROCESO */
#proceso { background:#f8fafc; }
.ps { display:flex; align-items:flex-start; gap:12px; padding:16px; background:#fff; border-radius:12px; border:1px solid #e2e8f0; height:100%; transition:box-shadow .25s; }
.ps:hover { box-shadow:0 8px 24px rgba(10,35,66,.09); }
.ps-num { width:40px;height:40px; flex-shrink:0; background:linear-gradient(135deg,var(--navy),var(--sky)); border-radius:10px; display:flex;align-items:center;justify-content:center; color:#fff; font-size:1rem; font-weight:900; }
.ps h6 { font-weight:700; color:var(--navy); margin-bottom:4px; font-size:.875rem; }
.ps p  { font-size:.8rem; color:#64748b; margin:0; line-height:1.55; }

/* TECH + CTA */
.tech-cta { background:linear-gradient(135deg,var(--navy) 0%,#0e3a6e 100%); padding:42px 0; }
.tech-pill {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  border-radius:50px; padding:5px 14px;
  font-size:.78rem; font-weight:600; color:rgba(255,255,255,.85);
  margin:4px; transition:background .2s;
}
.tech-pill:hover { background:rgba(255,255,255,.2); }
.tech-pill i { color:var(--sky); }

/* FOOTER */
footer { background:#0a1628; color:rgba(255,255,255,.6); padding:28px 0 16px; }
.footer-brand { color:#fff; font-weight:800; font-size:1rem; }
.footer-link { color:rgba(255,255,255,.55); text-decoration:none; font-size:.8rem; display:inline-block; margin-right:16px; margin-bottom:4px; transition:color .2s; }
.footer-link:hover { color:var(--sky); }
.social-link { width:32px;height:32px; background:rgba(255,255,255,.08); border-radius:7px; display:inline-flex;align-items:center;justify-content:center; color:rgba(255,255,255,.6); text-decoration:none; transition:background .2s,color .2s; margin-right:5px; }
.social-link:hover { background:var(--sky); color:#fff; }

/* REVEAL */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .5s ease,transform .5s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

@media(max-width:768px) { .pres-nav { padding:10px 16px; } .hero { padding:72px 0 30px; min-height:auto; } }
