/* ==========================================================================
   nimach.com.ar — hoja de estilos única
   Sigue la convención de tokens en español ya usada en logynet.app y
   boxtracked.com, con el azul del logotipo institucional como color de marca.
   ========================================================================== */

:root{
  /* Marca — muestreados del logotipo real */
  --azul-marca:        #005EBF;   /* acento, botones, enlaces (6,26:1 sobre blanco → WCAG AA) */
  --azul-accion:       #004A99;   /* hover */
  --azul-accion-hover: #003D80;
  --azul-oscuro:       #003366;   /* superficies oscuras: pie, banda de cierre */
  --azul-profundo:     #002444;   /* degradados sobre foto */

  /* Neutros — mismos nombres que los sitios de producto */
  --tinta:        #1B2430;
  --tinta-suave:  #5B6472;
  --fondo:        #FFFFFF;
  --fondo-alterno:#EAF1FA;
  --superficie:   #F7F9FC;
  --borde:        #E4E9F0;
  --exito:        #1A7F4B;
  --error:        #C2362B;

  /* Color propio de cada producto, para los acentos del ecosistema */
  --logynet:   #3773FE;
  --boxtracked:#FF6600;
  --pedifull:  #6B2D8C;

  /* Forma */
  --radio:       14px;
  --radio-chico: 10px;
  --sombra:       0 1px 2px rgba(0,51,102,.05), 0 4px 16px rgba(0,51,102,.06);
  --sombra-hover: 0 12px 32px rgba(0,51,102,.12);

  /* Estructura */
  --fuente: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ancho: 1140px;
  --seccion-y: clamp(3.5rem, 2.5rem + 4vw, 6rem);
}

/* --------------------------------------------------------------- base --- */

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  font-family:var(--fuente);
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--tinta);
  background:var(--fondo);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{ line-height:1.15; margin:0 0 .5em; font-weight:800; letter-spacing:-.02em; }
h1{ font-size:clamp(2rem,1.4rem + 2.8vw,3.4rem); }
h2{ font-size:clamp(1.65rem,1.2rem + 1.9vw,2.5rem); }
h3{ font-size:clamp(1.15rem,1rem + .6vw,1.4rem); font-weight:700; letter-spacing:-.01em; }
p{ margin:0 0 1rem; }
img{ max-width:100%; height:auto; display:block; }

a{ color:var(--azul-marca); text-underline-offset:.18em; }
a:hover{ color:var(--azul-accion); }

:focus-visible{ outline:3px solid var(--azul-marca); outline-offset:3px; border-radius:4px; }

.contenedor{ width:100%; max-width:var(--ancho); margin-inline:auto; padding-inline:1.25rem; }

.saltar-al-contenido{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--azul-oscuro); color:#fff; padding:.9rem 1.25rem;
  border-radius:0 0 var(--radio-chico) 0; font-weight:600;
}
.saltar-al-contenido:focus{ left:0; color:#fff; }

.solo-lectores{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}

/* ------------------------------------------------------------ botones --- */

.boton{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.85rem 1.5rem; border-radius:999px; border:2px solid transparent;
  font:inherit; font-weight:700; font-size:1rem; line-height:1.2;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
@media (prefers-reduced-motion:reduce){ .boton{ transition:none; } }

.boton-primario{ background:var(--azul-marca); color:#fff; }
.boton-primario:hover{ background:var(--azul-accion); color:#fff; transform:translateY(-1px); }

.boton-secundario{ background:transparent; color:var(--azul-oscuro); border-color:var(--borde); }
.boton-secundario:hover{ background:var(--superficie); color:var(--azul-oscuro); border-color:var(--azul-marca); }

.boton-claro{ background:#fff; color:var(--azul-oscuro); }
.boton-claro:hover{ background:var(--fondo-alterno); color:var(--azul-oscuro); transform:translateY(-1px); }

.boton-fantasma{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.boton-fantasma:hover{ background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }

.boton svg{ width:1.15em; height:1.15em; flex:none; }

/* ---------------------------------------------------------- encabezado --- */

.encabezado{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--borde);
}
.encabezado-interno{
  display:flex; align-items:center; gap:1.5rem;
  min-height:74px;
}
.marca{ display:flex; align-items:center; flex:none; }
.marca img{ width:172px; height:auto; }

.navegacion{ margin-left:auto; display:flex; align-items:center; gap:1.75rem; }
.navegacion a{
  color:var(--tinta); text-decoration:none; font-weight:600; font-size:.98rem;
  padding:.35rem 0; border-bottom:2px solid transparent;
}
.navegacion a:hover{ color:var(--azul-marca); border-bottom-color:var(--azul-marca); }
.navegacion .boton{ padding:.65rem 1.2rem; border-bottom:none; }
.navegacion .boton:hover{ border-bottom:none; }
.navegacion .boton-primario:hover{ color:#fff; }

/* Enlace al centro de soporte. Es para clientes actuales, no para prospectos:
   se distingue del menú comercial por el ícono y el color, sin separadores. */
.enlace-soporte{
  display:inline-flex; align-items:center; gap:.45rem;
  color:var(--tinta-suave); font-weight:600; font-size:.95rem; text-decoration:none;
  border-bottom:none;
}
.enlace-soporte svg{ width:1.15em; height:1.15em; flex:none; color:var(--azul-marca); }
.enlace-soporte:hover{ color:var(--azul-marca); border-bottom:none; }

.boton-menu{
  margin-left:auto; display:none; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0;
  background:transparent; border:1px solid var(--borde); border-radius:var(--radio-chico);
  color:var(--azul-oscuro); cursor:pointer;
}
.boton-menu svg{ width:24px; height:24px; }

/* --------------------------------------------------------------- héroe --- */

.heroe{ position:relative; background:var(--azul-profundo); overflow:hidden; }
.heroe-foto{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 55%;
}
.heroe::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(0,36,68,.94) 0%, rgba(0,36,68,.86) 38%, rgba(0,36,68,.45) 68%, rgba(0,36,68,.30) 100%),
    linear-gradient(to top, rgba(0,36,68,.55), transparent 45%);
}
.heroe-interno{
  position:relative; z-index:2;
  padding-block:clamp(4rem,3rem + 7vw,7.5rem);
  max-width:44rem;
}
.heroe .cinta{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28);
  color:#fff; font-size:.85rem; font-weight:600; letter-spacing:.01em;
  padding:.4rem .9rem; border-radius:999px; margin-bottom:1.25rem;
}
.heroe h1{ color:#fff; margin-bottom:1rem; }
.heroe h1 em{ font-style:normal; color:#8FC2FF; }
.heroe-bajada{
  color:rgba(255,255,255,.9); font-size:clamp(1.05rem,1rem + .35vw,1.25rem);
  max-width:36rem; margin-bottom:2rem;
}
.heroe-acciones{ display:flex; flex-wrap:wrap; gap:.85rem; }

.heroe-datos{
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap; gap:2.5rem;
  border-top:1px solid rgba(255,255,255,.2);
  padding-block:1.5rem;
}
.heroe-datos div{ color:#fff; }
.heroe-datos b{ display:block; font-size:1.6rem; font-weight:800; line-height:1.1; }
.heroe-datos span{ font-size:.9rem; color:rgba(255,255,255,.75); }

/* ------------------------------------------------------------ secciones --- */

.seccion{ padding-block:var(--seccion-y); }
.seccion-alterna{ background:var(--superficie); }
.seccion-tenida{ background:var(--fondo-alterno); }

.encabezado-seccion{ max-width:44rem; margin-bottom:3rem; }
.encabezado-seccion.centrado{ margin-inline:auto; text-align:center; }
.volanta{
  display:block; font-size:.82rem; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--azul-marca); margin-bottom:.75rem;
}
.encabezado-seccion p{ color:var(--tinta-suave); font-size:1.1rem; margin-bottom:0; }

/* ---------------------------------------------------------- ecosistema --- */

.grilla-productos{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.producto{
  display:flex; flex-direction:column;
  background:var(--fondo); border:1px solid var(--borde); border-radius:var(--radio);
  overflow:hidden; box-shadow:var(--sombra);
  transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
@media (prefers-reduced-motion:reduce){ .producto{ transition:none; } }
.producto:hover{ box-shadow:var(--sombra-hover); transform:translateY(-3px); border-color:#CFDDEC; }

.producto-foto{ position:relative; aspect-ratio:3/2; background:var(--fondo-alterno); }
.producto-foto img{ width:100%; height:100%; object-fit:cover; }
.producto-foto::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,36,68,.35), transparent 55%);
}

.producto-cuerpo{ padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.producto-marca{ display:flex; align-items:center; gap:.65rem; margin-bottom:.85rem; }
.producto-marca img{ width:34px; height:34px; object-fit:contain; flex:none; border-radius:8px; }
.producto-marca .nombre{ font-size:1.2rem; font-weight:800; letter-spacing:-.01em; color:var(--tinta); margin:0; line-height:1.2; }
.producto-marca .nombre b{ font-weight:800; }

.producto .etiqueta{
  display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; padding:.25rem .6rem; border-radius:999px;
  margin-bottom:.9rem; align-self:flex-start;
}
.producto p{ color:var(--tinta-suave); font-size:1rem; flex:1; }

.producto ul{ list-style:none; margin:0 0 1.25rem; padding:0; }
.producto ul li{
  position:relative; padding-left:1.5rem; margin-bottom:.4rem;
  font-size:.95rem; color:var(--tinta-suave);
}
.producto ul li::before{
  content:''; position:absolute; left:0; top:.55em;
  width:8px; height:8px; border-radius:50%;
}

.producto-enlace{
  display:inline-flex; align-items:center; gap:.4rem;
  font-weight:700; text-decoration:none; font-size:1rem;
  margin-top:auto;
}
.producto-enlace svg{ width:1em; height:1em; transition:transform .2s ease; }
.producto-enlace:hover svg{ transform:translateX(3px); }
@media (prefers-reduced-motion:reduce){ .producto-enlace svg{ transition:none; } }

/* colores propios de cada producto */
.p-logynet .etiqueta{ background:#EAF0FF; color:#2149B8; }
.p-logynet ul li::before{ background:var(--logynet); }
.p-logynet .producto-enlace{ color:#2149B8; }

.p-boxtracked .etiqueta{ background:#FFF1E6; color:#B34700; }
.p-boxtracked ul li::before{ background:var(--boxtracked); }
.p-boxtracked .producto-enlace{ color:#B34700; }

.p-pedifull .etiqueta{ background:#F3E9F8; color:#5A2578; }
.p-pedifull ul li::before{ background:var(--pedifull); }
.p-pedifull .producto-enlace{ color:#5A2578; }

/* -------------------------------------------------------------- rubros --- */

.grilla-rubros{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.rubro{
  background:var(--fondo); border:1px solid var(--borde);
  border-radius:var(--radio); padding:1.75rem;
}
.rubro .icono{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:var(--radio-chico);
  background:var(--fondo-alterno); color:var(--azul-marca); margin-bottom:1.1rem;
}
.rubro .icono svg{ width:26px; height:26px; }
.rubro h3{ margin-bottom:.5rem; }
.rubro p{ color:var(--tinta-suave); font-size:1rem; margin-bottom:0; }

/* ------------------------------------------------------------- a medida --- */

.dos-columnas{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,1rem + 4vw,4rem);
  align-items:center;
}
.dos-columnas .figura img{ border-radius:var(--radio); box-shadow:var(--sombra); width:100%; }
.dos-columnas h2{ margin-bottom:1rem; }
.dos-columnas > div > p{ color:var(--tinta-suave); font-size:1.1rem; }

.lista-marcada{ list-style:none; margin:1.5rem 0 2rem; padding:0; }
.lista-marcada li{
  position:relative; padding-left:2rem; margin-bottom:.85rem; color:var(--tinta);
}
.lista-marcada li::before{
  content:''; position:absolute; left:0; top:.35em;
  width:1.15rem; height:1.15rem; border-radius:50%;
  background:var(--fondo-alterno) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005EBF' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/.75rem no-repeat;
}
.lista-marcada li b{ color:var(--tinta); }

/* ----------------------------------------------------------- proceso --- */

.proceso{
  display:grid; grid-template-columns:0.95fr 1.05fr;
  gap:clamp(2rem,1rem + 4vw,3.5rem); align-items:center;
}
.proceso-figura{ margin:0; }
.proceso-figura img{
  width:100%; border-radius:var(--radio); box-shadow:var(--sombra-hover);
  aspect-ratio:3/2; object-fit:cover;
}

.grilla-pasos{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem 1.75rem; counter-reset:paso; }
.paso{ position:relative; padding-top:3.25rem; }
.paso::before{
  counter-increment:paso; content:counter(paso);
  position:absolute; top:0; left:0;
  display:flex; align-items:center; justify-content:center;
  width:2.5rem; height:2.5rem; border-radius:50%;
  background:var(--azul-oscuro); color:#fff; font-weight:800; font-size:1.05rem;
}
.paso h3{ margin-bottom:.4rem; }
.paso p{ color:var(--tinta-suave); font-size:1rem; margin-bottom:0; }

/* ------------------------------------------------------------------ cta --- */

.cta{ position:relative; overflow:hidden; background:var(--azul-oscuro); }
.cta-foto{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cta::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(95deg, rgba(0,51,102,.96) 0%, rgba(0,51,102,.88) 55%, rgba(0,36,68,.78) 100%);
}
.cta-interno{
  position:relative; z-index:2;
  padding-block:clamp(3.5rem,2.5rem + 4vw,5.5rem);
  display:grid; grid-template-columns:1.4fr 1fr; gap:3rem; align-items:center;
}
.cta h2{ color:#fff; margin-bottom:.75rem; }
.cta p{ color:rgba(255,255,255,.88); font-size:1.1rem; margin-bottom:0; }
.cta-acciones{ display:flex; flex-direction:column; gap:.85rem; }
.cta-acciones .boton{ width:100%; }
.cta-nota{ font-size:.9rem; color:rgba(255,255,255,.7); text-align:center; margin:0; }
.cta-soporte{
  margin:.35rem 0 0; padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.18);
  font-size:.92rem; color:rgba(255,255,255,.72); text-align:center;
}
.cta-soporte a{ color:#fff; font-weight:600; text-decoration:underline; text-underline-offset:.2em; }
.cta-soporte a:hover{ color:#8FC2FF; }

/* ------------------------------------------------------------------ pie --- */

.pie{ background:var(--azul-profundo); color:rgba(255,255,255,.75); padding-block:3.5rem 0; }
.pie-grilla{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2.5rem;
  padding-bottom:3rem;
}
.pie h4{ color:#fff; font-size:.85rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:1.1rem; }
.pie ul{ list-style:none; margin:0; padding:0; }
.pie li{ margin-bottom:.6rem; }
.pie a{ color:rgba(255,255,255,.75); text-decoration:none; }
.pie a:hover{ color:#fff; text-decoration:underline; }
.pie-logo img{ width:180px; margin-bottom:1.1rem; }
.pie-descripcion{ font-size:.96rem; max-width:26rem; margin-bottom:1.25rem; }

.pie-contacto li{ display:flex; gap:.65rem; align-items:flex-start; font-size:.96rem; }
.pie-contacto svg{ width:1.15em; height:1.15em; flex:none; margin-top:.28em; color:#8FC2FF; }

.pie-redes{ display:flex; gap:.75rem; margin-top:1.25rem; }
.pie-redes a{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.1); color:#fff;
  transition:background-color .2s ease;
}
.pie-redes a:hover{ background:var(--azul-marca); }
.pie-redes svg{ width:20px; height:20px; }
@media (prefers-reduced-motion:reduce){ .pie-redes a{ transition:none; } }

.pie-legal{
  border-top:1px solid rgba(255,255,255,.15);
  padding-block:1.5rem;
  display:flex; flex-wrap:wrap; gap:.5rem 1.5rem;
  justify-content:space-between; align-items:center;
  font-size:.88rem; color:rgba(255,255,255,.6);
}
.pie-legal p{ margin:0; }

/* -------------------------------------------------------------- adaptable --- */

/* El menú colapsa antes que el resto del layout: con cinco enlaces más el botón,
   a 940px entra exacto y sin holgura. */
@media (max-width:1000px){
  .navegacion{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--borde);
    padding:.5rem 1.25rem 1.25rem;
    box-shadow:var(--sombra-hover);
  }
  .navegacion.abierta{ display:flex; }
  .navegacion a{ padding:.85rem 0; border-bottom:1px solid var(--borde); }
  .navegacion a:hover{ border-bottom-color:var(--borde); }
  .enlace-soporte{ border-bottom:1px solid var(--borde); color:var(--tinta); }
  .navegacion .boton{ margin-top:.85rem; }
  .boton-menu{ display:flex; }
  .encabezado-interno{ position:relative; }

}

@media (max-width:1060px){
  .pie-grilla{ grid-template-columns:1fr 1fr; gap:2.5rem 2rem; }
}

@media (max-width:920px){
  .grilla-productos{ grid-template-columns:1fr; }
  .grilla-rubros{ grid-template-columns:1fr; }
  .dos-columnas{ grid-template-columns:1fr; }
  .dos-columnas .figura{ order:-1; }
  .proceso{ grid-template-columns:1fr; }
  .cta-interno{ grid-template-columns:1fr; gap:2rem; }
  .cta-acciones{ max-width:22rem; }
}

@media (max-width:560px){
  body{ font-size:1rem; }
  .marca img{ width:148px; }
  .heroe-acciones{ flex-direction:column; align-items:stretch; }
  .heroe-acciones .boton{ width:100%; }
  .heroe-datos{ gap:1.5rem; }
  .heroe-datos b{ font-size:1.35rem; }
  .grilla-pasos{ grid-template-columns:1fr; }
  .pie-grilla{ grid-template-columns:1fr; gap:2rem; }
  .pie-legal{ flex-direction:column; align-items:flex-start; }
}
