/* =========================================================
   VOLTDO, SRL — Light Enterprise UI (Azul + Amarillo)
   Brand (logo): Azul #004A8F | Amarillo #FFD201
   Estética: corporativa, industrial, clara, consistente.
   ========================================================= */

:root{
  /* BRAND (oficial) */
  --brand:#004A8F;     /* Azul VOLTDO */
  --accent:#FFD201;    /* Amarillo VOLTDO */

  /* Light base */
  --bg:#FFFFFF;
  --bg2:#F6F8FB;
  --surface:#FFFFFF;
  --surface2:#FBFCFE;
  --line: rgba(15, 23, 42, .12);

  /* Text */
  --ink:#0B1220;
  --muted:#4B5563;
  --subtle:#6B7280;

  /* Header glass */
  --glass: rgba(255,255,255,.88);
  --glass2: rgba(255,255,255,.96);

  /* Radius / shadows */
  --radius: 6px;
  --radius-sm: 8px;
  --radius-lg: 12px;

  --shadow: 0 22px 70px rgba(2, 6, 23, .12);
  --shadow-sm: 0 10px 34px rgba(2, 6, 23, .10);

  /* Layout */
  --container: 1700px;

  /* Focus ring */
  --ring: 0 0 0 4px rgba(0, 74, 143, .18);
}

*{ box-sizing:border-box; }
html, body{ height:100%; }

body{
  margin:0;
  font-family:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(1100px 800px at 12% 10%, rgba(0,74,143,.10), transparent 60%),
    radial-gradient(900px 650px at 88% 12%, rgba(255,210,1,.12), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg));
  line-height:1.65;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; }

.container{
  width: min(var(--container), calc(100% - 36px));
  margin: 0 auto;
}

/* Sections */
.section{ padding: 86px 0; }
.section--tight{ padding: 58px 0; }
.section--soft{
  background: var(--bg2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* Typography */
.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  color: rgba(11,18,32,.62);
}
.h1{
  font-size: clamp(2.15rem, 1.6rem + 1.9vw, 3.35rem);
  line-height:1.10;
  letter-spacing:-0.04em;
  margin: 12px 0 10px 0;
}
.h2{
  font-size: clamp(1.6rem, 1.2rem + .9vw, 2.2rem);
  letter-spacing:-0.02em;
  margin:0 0 10px 0;
}
.lead{
  max-width: 78ch;
  color: var(--muted);
  margin:0;
}
.hr{
  height:1px;
  background: var(--line);
  border:0;
  margin: 18px 0;
}

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{
  background: #0B1220;
  color: rgba(255,255,255,.86);
  font-size:.92rem;
}
.topbar .row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding: 10px 0;
  align-items:center;
}
.topbar .mini{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.topbar a{ color: rgba(255,255,255,.92); }
.topbar a:hover{
  text-decoration: underline;
  text-decoration-color: rgba(255,210,1,.70);
  text-underline-offset: 3px;
}

/* =========================================================
   HEADER / NAV
   ========================================================= */
header{
  position: sticky;
  top:0;
  z-index:999;
  background: var(--glass);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}

.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  padding: 14px 0;
}

.logo img{
  height: 74px;
  width:auto;
  filter: drop-shadow(0 10px 20px rgba(2,6,23,.10));
}

#nav-toggle{ display:none; }

.nav-toggle{
  display:none;
  user-select:none;
  font-weight:900;
  color: var(--ink);
  border: 1px solid var(--line);
  background: #fff;
  padding: 10px 12px;
  border-radius: 12px;
}

nav{
  display:flex;
  align-items:center;
  gap: 10px;
}
nav ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  gap: 4px;
}
nav a{
  font-weight:900;
  font-size:.95rem;
  padding:10px 12px;
  border-radius: 12px;
  color: rgba(11,18,32,.86);
  transition: background-color .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease;
}
nav a:hover{
  background: rgba(0,74,143,.08);
  color: var(--brand);
}
nav a:active{ transform: translateY(1px); }

.nav-cta{
  display:flex;
  gap:10px;
  margin-left: 8px;
  flex-wrap:wrap;
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  border:1px solid transparent;
  font-weight:900;
  letter-spacing:.01em;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease, filter .12s ease;
  white-space:nowrap;
}
.btn:active{ transform: translateY(1px); }

.btn-primary{
  background: linear-gradient(135deg, var(--brand), #003A70);
  color:#fff;
  box-shadow: var(--shadow-sm);
}
.btn-primary:hover{ filter: brightness(1.02); }

.btn-outline{
  background:#fff;
  color: var(--brand);
  border-color: rgba(0,74,143,.28);
}
.btn-outline:hover{
  border-color: rgba(0,74,143,.42);
  box-shadow: var(--shadow-sm);
}

.btn-accent{
  background: var(--accent);
  color:#111827;
  box-shadow: 0 12px 30px rgba(255,210,1,.18);
}
.btn-accent:hover{ filter: brightness(.98); }

.arrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.arrow::after{ content:"→"; font-weight:900; }

/* =========================================================
   HERO (Light enterprise)
   ========================================================= */
.hero{
  color: var(--ink);
  padding: 92px 0 76px 0;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(900px 550px at 14% 18%, rgba(255,210,1,.18), transparent 60%),
    radial-gradient(900px 550px at 86% 22%, rgba(0,74,143,.18), transparent 62%),
    linear-gradient(180deg, #FFFFFF, #F7FAFF);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 28px;
  align-items: center;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  margin-top: 18px;
}
.badges{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 18px;
}
.badge{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0,74,143,.08);
  border:1px solid rgba(0,74,143,.14);
  color: rgba(11,18,32,.82);
  font-weight:800;
  font-size:.92rem;
}
.hero-card{
  background: rgba(255,255,255,.92);
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow-sm);
}
.hero-card h3{ margin:0 0 10px 0; font-size: 1.05rem; }
.hero-card ul{ margin:0; padding: 0 0 0 18px; color: var(--muted); }
.hero-card li{ margin: 8px 0; }

/* =========================================================
   GRIDS / CARDS / TILES
   ========================================================= */
.grid-2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 22px;
}
.grid-3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
}

.card{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 20px;
}
.card h3{
  margin: 8px 0 8px 0;
  font-size: 1.15rem;
  letter-spacing:-0.01em;
  color: var(--ink);
}
.card p{ margin:0; color: var(--muted); }
.card .meta{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size:.95rem;
}
.card .tag{
  display:inline-flex;
  font-weight:900;
  color: var(--brand);
  font-size:.92rem;
  letter-spacing:.02em;
}

.tile{
  padding: 22px;
  border-radius: var(--radius-lg);
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease;
}
.tile:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(0,74,143,.22);
  background: var(--surface2);
}
.tile .top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.pill{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius:999px;
  background: rgba(255,210,1,.18);
  border:1px solid rgba(255,210,1,.30);
  color: rgba(11,18,32,.85);
  font-weight:900;
  font-size:.88rem;
}

/* =========================================================
   METRICS
   ========================================================= */
.metrics{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.metric{
  background: var(--surface);
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
.metric .n{
  font-weight:900;
  font-size: 1.65rem;
  letter-spacing:-0.02em;
  color: var(--brand);
}
.metric .t{
  margin-top: 4px;
  color: var(--muted);
  font-weight:700;
  font-size:.95rem;
}

/* =========================================================
   CALLOUT
   ========================================================= */
.callout{
  border-radius: var(--radius-lg);
  padding: 20px;
  background: linear-gradient(135deg, rgba(0,74,143,.08), rgba(255,210,1,.12));
  border: 1px solid rgba(0,74,143,.14);
}
.callout strong{ color: var(--brand); }

/* =========================================================
   FORMS
   ========================================================= */
.form{ display:grid; gap: 12px; }
label{
  font-weight:900;
  font-size:.95rem;
  color: rgba(11,18,32,.85);
}
.input, textarea, select{
  width:100%;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font: inherit;
  outline:none;
}
textarea{ min-height: 140px; resize: vertical; }
.input:focus, textarea:focus, select:focus{
  border-color: rgba(0,74,143,.45);
  box-shadow: var(--ring);
}
.note{ color: var(--subtle); font-size:.95rem; }

/* =========================================================
   FOOTER
   ========================================================= */
footer{
  background: #0B1220;
  color: rgba(255,255,255,.88);
  padding: 58px 0;
  margin-top: 44px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 22px;
  align-items:start;
}
footer a{ color: rgba(255,255,255,.92); }
footer a:hover{
  text-decoration: underline;
  text-decoration-color: rgba(255,210,1,.70);
  text-underline-offset: 3px;
}
.small{ font-size:.95rem; color: rgba(255,255,255,.72); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  .hero-grid{ grid-template-columns: 1fr; }
  .grid-3{ grid-template-columns: 1fr; }
  .grid-2{ grid-template-columns: 1fr; }
  .metrics{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px){
  .logo img{ height: 54px; }
  .nav-toggle{ display:inline-flex; }
  nav{
    position:absolute;
    left:0; right:0;
    top: 70px;
    display:none;
    background: var(--glass2);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
    padding: 10px 0 14px 0;
  }
  nav ul{
    flex-direction: column;
    align-items: stretch;
    padding: 10px 18px;
  }
  .nav-cta{
    padding: 0 18px;
    margin-left:0;
    flex-wrap:wrap;
  }
  #nav-toggle:checked ~ nav{ display:block; }
}

/* =========================================================
   JS Enhancements (app.js)
   ========================================================= */
header.is-scrolled{
  box-shadow: 0 14px 40px rgba(2, 6, 23, .12);
}
.reveal{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}
nav a.is-active{
  background: rgba(0,74,143,.10);
  color: var(--brand);
  box-shadow: inset 0 0 0 1px rgba(0,74,143,.18);
}
.backtop{
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--brand), #003A70);
  color: #fff;
  font-weight: 900;
  font-size: 18px;
  border: 1px solid rgba(15, 23, 42, .14);
  cursor: pointer;
  box-shadow: 0 18px 46px rgba(2, 6, 23, .18);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, filter .12s ease;
  z-index: 9999;
}
.backtop.show{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.backtop:hover{ filter: brightness(1.04); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .backtop{ transition:none; }
}

/* =========================================================
   HERO con imagen + overlays (Enterprise)
   ========================================================= */

.hero{
  position: relative;
  overflow: hidden;

  /* Imagen */
  background-image: url("imagenes/hero/hero-industrial.jpeg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* Tu padding original */
  padding: 92px 0 76px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(
      180deg,
      rgba(11,18,32,.60) 0%,
      rgba(11,18,32,.45) 45%,
      rgba(11,18,32,.75) 100%
    );
  pointer-events:none;
}

.hero > *{
  position: relative;
  z-index: 1;
}

.hero .kicker,
.hero .h1,
.hero .lead{
  color: rgba(255,255,255,.96);
  text-shadow:
    0 2px 12px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.35);
}
.hero .lead{ color: rgba(255,255,255,.88); }
.hero .h1{ font-weight: 800; }

/* =========================================================
   TILE con imagen de fondo + overlay (UNA sola versión)
   ========================================================= */

.tile{
  position: relative;
  overflow: hidden;
  color: rgba(255,255,255,.92);
  border-color: rgba(0,0,0,.08);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.tile::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(
      180deg,
      rgba(11,18,32,.10) 0%,
      rgba(11,18,32,.35) 45%,
      rgba(11,18,32,.82) 100%
    ),
    radial-gradient(
      900px 520px at 20% 25%,
      rgba(0,74,143,.20),
      transparent 60%
    ),
    radial-gradient(
      900px 560px at 90% 10%,
      rgba(255,210,1,.10),
      transparent 55%
    );
}

.tile::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background: rgba(255,255,255,.05);
  opacity: 0;
  transition: opacity .12s ease;
}
.tile:hover::after{ opacity: 1; }

.tile > *{
  position: relative;
  z-index: 1;
}

.tile h3{ color:#fff; margin-top: 10px; }
.tile p{ color: rgba(255,255,255,.82); }

.tile .pill{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
}
.tile .arrow{ color: rgba(255,255,255,.92); }

/* Variantes tiles */
.tile--software{ background-image: url("imagenes/tiles/software.jpeg"); }
.tile--consultoria{ background-image: url("imagenes/tiles/consultoria.jpeg"); }
.tile--soporte{ background-image: url("imagenes/tiles/soporte.jpeg"); }
.tile--industrial{ background-image: url("imagenes/tiles/industrial.jpeg"); }

/* Tamaño de tiles */
a.tile{
  min-height: 340px;
  padding: 60px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
}
@media (max-width: 980px){
  a.tile{ min-height: 300px; padding: 26px; }
}
@media (max-width: 520px){
  a.tile{ min-height: 260px; padding: 22px; }
}

/* =========================================================
   PATCH FINAL VOLTDO — Cards claras por defecto,
   Cards con imagen SOLO cuando tengan class="card card--xxxx"
   ========================================================= */

/* Card base: clara SIEMPRE */
.card{
  background: var(--surface);
  color: var(--ink);
  overflow: hidden; /* mantiene esquinas recortadas */
  background-image: none;
}

/* Sin overlay por defecto */
.card::before{ content:none; }

/* Tipografía base clara */
.card h3{ color: var(--ink); text-shadow:none; }
.card p{ color: var(--muted); text-shadow:none; }
.card .meta{
  color: var(--muted);
  border-top: 1px solid var(--line);
  text-shadow:none;
}
.card .tag{ color: var(--brand); text-shadow:none; }

/* SOLO variantes con imagen */
.card--levantamiento,
.card--implementacion,
.card--entrega,
.card--mantenimiento,
.card--monitoreo,
.card--desarrollo,
.card--automatizacion,
.card--diagnostico,
.card--Implementacion,
.card--diseño,
.card--mejoras,
.card--mision,
.card--vision{
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 360px;
}

/* Overlay SOLO en variantes */

.card--levantamiento::before,
.card--implementacion::before,
.card--entrega::before,
.card--mantenimiento::before,
.card--monitoreo::before,
.card--desarrollo::before,
.card--automatizacion::before,
.card--diagnostico::before,
.card--Implementacion::before,
.card--diseño::before,
.card--mejoras::before,
.card--mision::before,
.card--vision::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(
      180deg,
      rgba(11,18,32,.20) 0%,
      rgba(11,18,32,.55) 55%,
      rgba(11,18,32,.85) 100%
    ),
    radial-gradient(
      900px 520px at 20% 20%,
      rgba(0,74,143,.18),
      transparent 60%
    ),
    radial-gradient(
      900px 560px at 85% 10%,
      rgba(255,210,1,.10),
      transparent 55%
    );
}

/* Contenido arriba del overlay */
.card--levantamiento > *,
.card--implementacion > *,
.card--entrega > *,
.card--mantenimiento > *,
.card--monitoreo > *,
.card--desarrollo > *,
.card--automatizacion > *,
.card--diagnostico > *,
.card--Implementacion > *,
.card--diseño > *,
.card--mejoras > *,
.card--mision > *,
.card--vision > *{
  position: relative;
  z-index: 1;
}

/* Texto blanco SOLO en variantes */
.card--levantamiento h3,
.card--implementacion h3,
.card--entrega h3,
.card--mantenimiento h3,
.card--monitoreo h3,
.card--desarrollo h3,
.card--automatizacion h3,
.card--diagnostico h3,
.card--Implementacion h3,
.card--diseño h3,
.card--mejoras h3,
.card--mision h3,
.card--vision h3{
  color: rgba(255,255,255,.96);
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.card--levantamiento p,
.card--implementacion p,
.card--entrega p,
.card--mantenimiento p,
.card--monitoreo p,
.card--desarrollo p,
.card--automatizacion p,
.card--diagnostico p,
.card--Implementacion p,
.card--diseño p,
.card--mejoras p,
.card--mision p,
.card--vision p{
  color: rgba(255,255,255,.82);
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.card--levantamiento .meta,
.card--implementacion .meta,
.card--entrega .meta,
.card--mantenimiento .meta,
.card--monitoreo .meta,
.card--desarrollo .meta,
.card--automatizacion .meta,
.card--diagnostico .meta,
.card--Implementacion .meta,
.card--diseño .meta,
.card--mejoras .meta,
.card--mision .meta,
.card--vision .meta{
  color: rgba(255,255,255,.80);
  border-top: 1px solid rgba(255,255,255,.16);
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.card--levantamiento .tag,
.card--implementacion .tag,
.card--entrega .tag,
.card--mantenimiento .tag,
.card--monitoreo .tag,
.card--desarrollo .tag,
.card--automatizacion .tag,
.card--diagnostico .tag,
.card--Implementacion .tag,
.card--diseño .tag,
.card--mejoras .tag,
.card--mision .tag,
.card--vision .tag{
  color: rgba(255,255,255,.92);
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

/* ------------------------------------------------------------- Backgrounds (imágenes) -------------------------------------------------------- */
.card--levantamiento{ background-image: url("imagenes/cards/levantamiento.jpeg"); }
.card--implementacion{ background-image: url("imagenes/cards/implementacion.jpeg"); }
.card--entrega{ background-image: url("imagenes/cards/entrega.jpeg"); }

/* -------------------------------------------------------------- Servicios -------------------------------------------------------------------- */
.card--mantenimiento{ background-image: url("imagenes/servicios/mantenimiento.jpeg"); }
.card--monitoreo{ background-image: url("imagenes/servicios/monitoreo.jpeg"); }

.card--desarrollo{ background-image: url("imagenes/servicios/desarrollo.jpeg"); }
.card--automatizacion{ background-image: url("imagenes/servicios/automatizacion.jpeg"); }

.card--diagnostico{ background-image: url("imagenes/servicios/diagnostico.jpeg"); }
.card--Implementacion{ background-image: url("imagenes/servicios/implementacion.jpeg"); }

.card--diseño{ background-image: url("imagenes/servicios/diseno.jpeg"); }
.card--mejoras{ background-image: url("imagenes/servicios/mejoras.jpeg"); }

/* -------------------------------------------------------------- Nosotros -------------------------------------------------------------------- */

.card--mision{ background-image: url("imagenes/nosotros/mision.jpeg"); }
.card--vision{ background-image: url("imagenes/nosotros/vision.jpeg"); }