/* Gen Suite — paleta de marca sobre los tokens del template Nexsas.
   rojo #EF3D31 · teal #208591 · navy #0E3D51 · azul #1A69AB · menta #7FD0BD · naranja #F0A35A */
:root, :host {
  --color-primary-50: #fff1f0;
  --color-primary-200: #ffc6c2;
  --color-primary-400: #ff6b62;
  --color-primary-500: #ef3d31;
  --color-primary-600: #d62f24;
  --color-secondary: #0e3d51;
  --color-background-5: #0b1f29;
  --color-background-6: #081820;
  --color-background-7: #102a36;
  --color-background-8: #050f14;
  --color-background-9: #143342;
  --color-stroke-5: #1a3340;
  --color-stroke-6: #1f3b4a;
  --color-stroke-7: #2a4757;
  --color-stroke-8: #35586a;
  --color-ns-green: #7fd0bd;
  --color-ns-green-light: #d6f1ea;
  --color-ns-cyan: #5cc3cf;
  --color-ns-cyan-light: #d4f0f3;
  --color-ns-yellow: #f0a35a;
  --color-ns-yellow-light: #fbe5cc;
  --color-ns-red: #ffb9a2;
  --color-gradient-6: linear-gradient(#5cc3cf 0%, #7fd0bd 100%);
  --color-gradient-7: linear-gradient(#fff 0%, #5cc3cf 100%);
}
/* Glows decorativos morados -> rojo de marca */
img[src*="ns-img-496"] { filter: hue-rotate(215deg) saturate(.9); }
img[src*="ns-img-520"], img[src*="ns-img-521"], img[src*="ns-img-522"], img[src*="ns-img-501"] { filter: hue-rotate(60deg); }

/* ───── Maquetas de la interfaz (sin datos reales) ───── */
.gs-win { min-width: 340px; max-width: 100%; overflow: hidden; border-radius: 16px; background: #f4f6f8; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 80px -20px rgba(0,0,0,.55); text-align: left; font-family: "Inter Tight", system-ui, sans-serif; color: #0e3d51; }
.gs-bar { display: flex; align-items: center; gap: 12px; padding: 9px 14px; background: #fff; border-bottom: 1px solid rgba(0,0,0,.08); }
.gs-dots { display: flex; gap: 6px; } .gs-dots i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; } .gs-dots i:nth-child(2) { background: #febc2e; } .gs-dots i:nth-child(3) { background: #28c840; }
.gs-url { margin: 0 auto; padding: 3px 14px; border-radius: 6px; background: #eef1f3; font-size: 11px; color: #525252; min-width: 40%; text-align: center; }
.gs-body { display: grid; grid-template-columns: 27% 1fr; min-height: 380px; }
.gs-side { background: #0e3d51; padding: 12px; font-size: 10px; color: rgba(255,255,255,.82); }
.gs-sec { margin: 10px 0 3px; padding: 0 8px; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f0a35a; }
.gs-mi { padding: 4px 8px; border-radius: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-mi.on { background: #7fd0bd; color: #0e3d51; font-weight: 600; } .gs-dash { margin-bottom: 4px; padding: 6px 8px; }
.gs-main { padding: 16px; min-width: 0; }
.gs-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; }
.gs-over { display: block; font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #c41e13; }
.gs-head b { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 700; } .gs-sq { width: 8px; height: 8px; background: #ef3d31; display: inline-block; }
.gs-btn { padding: 5px 10px; border-radius: 6px; background: #0e3d51; color: #fff; font-size: 9px; font-weight: 500; }
.gs-card { background: #fff; border: 1px solid rgba(0,0,0,.05); border-radius: 10px; padding: 10px; }
.gs-card small { display: block; font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #868686; margin-bottom: 8px; }
.gs-sk { display: block; height: 7px; border-radius: 4px; background: rgba(14,61,81,.13); margin-top: 7px; }
.gs-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .gs-two { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; margin-top: 8px; }
.gs-line { width: 100%; height: 96px; display: block; } .gs-bars { display: flex; align-items: flex-end; gap: 6px; height: 96px; } .gs-bars i { flex: 1; background: rgba(32,133,145,.72); border-radius: 3px 3px 0 0; }
.gs-table { background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid rgba(0,0,0,.05); }
.gs-th { display: grid; gap: 8px; padding: 8px 12px; background: #0e3d51; color: #fff; font-size: 9px; font-weight: 600; } .gs-tr { display: grid; gap: 8px; padding: 10px 12px; border-top: 1px solid rgba(0,0,0,.05); align-items: center; } .gs-tr .gs-sk { margin: 0; }
.gs-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .gs-grid3.two { grid-template-columns: repeat(2, 1fr); }
.gs-ico { display: block; width: 24px; height: 24px; border-radius: 7px; background: rgba(32,133,145,.22); margin-bottom: 10px; } .gs-ico.sm { width: 18px; height: 18px; margin: 0; flex: none; }
/* paneles pequeños */
.gs-panel { flex: 1 1 auto; width: 100%; background: #fff; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; overflow: hidden; color: #0e3d51; text-align: left; font-family: "Inter Tight", system-ui, sans-serif; }
.gs-ptitle { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #868686; }
.gs-row { display: flex; align-items: center; gap: 10px; } .gs-row > .gs-sk { margin: 0; } .gs-row em { margin-left: auto; width: 30%; } .gs-row em .gs-sk { margin: 0; }
.gs-kpi .gs-sk:first-child { height: 12px; } .gs-donut { width: 62%; max-width: 160px; margin: 0 auto; display: block; }
.gs-chip { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-radius: 10px; background: #eef2f4; font-size: 12px; } .gs-chip .gs-sk { margin: 0; flex: 1; max-width: 40%; }
@media (max-width: 640px) { .gs-body { grid-template-columns: 1fr; } .gs-side { display: none; } .gs-kpis { grid-template-columns: repeat(2, 1fr); } .gs-two { grid-template-columns: 1fr; } }


.gs-p-line .gs-line, .gs-p-kpi .gs-line { flex: 1; height: auto; min-height: 90px; } .gs-p-bars .gs-bars { flex: 1; height: auto; min-height: 90px; }

/* Conmutadores de precios */
.gs-toggle { display: inline-flex; padding: 4px; border-radius: 9999px; border: 1px solid rgba(14,61,81,.15); background: rgba(255,255,255,.6); }
.dark .gs-toggle { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.gs-toggle button { padding: 8px 20px; border-radius: 9999px; font-size: 14px; font-weight: 500; color: rgba(14,61,81,.7); transition: all .2s; }
.dark .gs-toggle button { color: rgba(255,255,255,.65); }
.gs-toggle button.is-active { background: #ef3d31; color: #fff; }
img[src*="ns-img-74."], img[src*="ns-img-dark-50."] { filter: hue-rotate(95deg); }

/* ───── Hero: escenario con contenedores laterales (template Smart Solutions) ───── */
.gs-stage { position: relative; width: 100%; max-width: 1024px; margin: 0 auto; }
.gs-stage-win { position: relative; z-index: 1; }
.gs-stage-dots { position: absolute; z-index: 0; left: 50%; top: -20px; width: 135%; height: 120%; transform: translateX(-50%); overflow: hidden; opacity: .5; pointer-events: none; animation: pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
.gs-stage-dots img { width: 100%; height: 100%; object-fit: cover; }
.gs-float { position: absolute; z-index: 2; display: none; }
@media (min-width: 1100px) { .gs-float { display: block; } }
.gs-fcard { min-width: 150px; padding: 14px 16px; border-radius: 12px; background: #fff; color: #0e3d51; text-align: left; font-family: "Inter Tight", system-ui, sans-serif; font-size: 14px; box-shadow: 0 18px 40px -12px rgba(0,0,0,.5); }
.dark .gs-fcard:not(.gs-fdark):not(.gs-fmint):not(.gs-fiso) { background: #050f14; color: #fcfcfc; }
.gs-flabel { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 13px; }
.gs-flabel strong { font-weight: 500; }
.gs-fdot { display: inline-flex; width: 18px; height: 18px; align-items: center; justify-content: center; border-radius: 9999px; }
.gs-fsk { display: block; height: 7px; margin-top: 7px; border-radius: 4px; background: currentColor; opacity: .16; }
.gs-fiso { display: flex; align-items: center; justify-content: center; padding: 22px; min-width: 0; }
.gs-fiso img { width: 52px; height: auto; }
.gs-fdark { display: flex; flex-direction: column; align-items: center; gap: 6px; background: #0e3d51; color: #fff; }
.dark .gs-fdark { background: #081820; }
.gs-fmint { background: #7fd0bd; color: #0e3d51; display: flex; flex-direction: column; gap: 2px; max-width: 190px; }
.gs-fmint b { font-size: 22px; font-weight: 600; } .gs-fmint span { font-size: 12px; }
.gs-fbar { display: block; width: 100%; height: 6px; margin-top: 4px; border-radius: 9999px; background: rgba(14,61,81,.2); } .dark .gs-fbar { background: rgba(255,255,255,.2); }
.gs-fbar i { display: block; width: 72%; height: 100%; border-radius: 9999px; background: #7fd0bd; }
.gs-f1 { left: -130px; top: -30px; } .gs-f2 { left: -150px; top: 100px; } .gs-f3 { left: -140px; top: 215px; }
.gs-f4 { right: -130px; top: -30px; } .gs-f5 { right: -140px; top: 85px; } .gs-f6 { right: -125px; top: 195px; } .gs-f7 { right: -150px; top: 300px; min-width: 230px; }

/* ───── Hero en 2 columnas: textos a la izquierda, módulos/gráficos a la derecha ───── */
.gs-hero2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: center; }
@media (min-width: 1024px) { .gs-hero2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; } }
.gs-hero2 .gs-hl ul { margin-top: 0; }
.gs-hero2 .gs-hl > ul { margin-top: 40px; }
@media (min-width: 1024px) {
  .gs-hero2 .gs-hl * { text-align: left; }
  .gs-hero2 .gs-hl h1, .gs-hero2 .gs-hl p { margin-left: 0; margin-right: 0; }
  .gs-hero2 .gs-hl ul { justify-content: flex-start; }
  .gs-hero2 .gs-hl > ul { flex-direction: row; }
  .gs-hero2 .gs-hl > ul li { width: auto; }
  .gs-hero2 .gs-stage { max-width: none; }
  .gs-hero2 .gs-f1 { left: 24px; top: -58px; } .gs-hero2 .gs-f2 { left: -22px; top: 120px; } .gs-hero2 .gs-f3 { left: 28px; top: auto; bottom: -48px; }
  .gs-hero2 .gs-f4 { right: -25px; top: -55px; } .gs-hero2 .gs-f5 { right: -35px; top: 70px; } .gs-hero2 .gs-f6 { right: -30px; top: 180px; } .gs-hero2 .gs-f7 { right: -40px; top: 290px; }
  .gs-hero2 .gs-win { min-width: 0; }
}
@media (max-width: 1023px) { .gs-hero2 .gs-hl { text-align: center; } .gs-hero2 .gs-hl ul { justify-content: center; } }

/* Botones del hero */
.gs-btn-trial, .gs-btn-trial:hover { background: #FCB124 !important; color: #0e3d51 !important; border-color: #FCB124 !important; }
.gs-btn-trial:hover { background: #e59e14 !important; border-color: #e59e14 !important; }
.gs-btn-trial span, .gs-btn-bold span { font-weight: 700; }
.gs-btn-trial, .gs-btn-trial span, .gs-btn-bold, .gs-btn-bold span { text-transform: none !important; }

/* ───── Header unificado: se adapta al tema del contenido ─────
   data-surface="dark": fondo oscuro siempre (portada) → texto blanco.
   data-surface="auto": sigue el tema → claro = logo color + texto navy; oscuro = logo blanco + texto blanco. */
.gs-header .gs-logo-dark { display: none; }
.gs-header .gs-logo-light { display: block; }
.gs-header[data-surface="dark"] .gs-logo-light, .dark .gs-header[data-surface="auto"] .gs-logo-light { display: none; }
.gs-header[data-surface="dark"] .gs-logo-dark, .dark .gs-header[data-surface="auto"] .gs-logo-dark { display: block; }
.gs-header a.nav-item-link-white, .gs-header .nav-item-link-white { color: #0e3d51; }
.gs-header[data-surface="dark"] a.nav-item-link-white, .dark .gs-header[data-surface="auto"] a.nav-item-link-white { color: #fff; }
.gs-header[data-surface="dark"] .nav-arrow svg, .dark .gs-header[data-surface="auto"] .nav-arrow svg { color: #fff; }
.gs-header .nav-arrow svg { color: #0e3d51; }
.gs-header .nav-hamburger span { background: #0e3d51; }
.gs-header[data-surface="dark"] .nav-hamburger span, .dark .gs-header[data-surface="auto"] .nav-hamburger span { background: #fff; }

/* Marcadores para logos de clientes (reemplazar por logos autorizados) */
.gs-logo-slot { display: flex; align-items: center; justify-content: center; height: 72px; padding: 0 16px; border: 1px dashed rgba(14,61,81,.35); border-radius: 12px; font-size: 13px; color: rgba(14,61,81,.6); white-space: nowrap; }
.dark .gs-logo-slot { border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.6); }

/* Sección "Todo lo que tu negocio necesita": 3 columnas en escritorio */
.gs-feat-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; min-width: 0; }
@media (min-width: 1024px) { .gs-feat-grid { grid-template-columns: minmax(0, 200px) minmax(0, 1fr) minmax(0, 200px); gap: 24px; } }
.gs-feat-grid > * { min-width: 0; }

/* Evita desplazamiento horizontal por las tarjetas flotantes del hero */
html, body { overflow-x: clip; }

/* ───── Sección "Todo lo que tu negocio necesita": ventana en composición de tarjetas (1550×1174) ───── */
.gs-feat-win {
  position: relative; aspect-ratio: 1550 / 1174; min-width: 0; max-width: 100%; border: 0; border-radius: 28px; overflow: hidden;
  background-color: #f4f5f8; background-image: radial-gradient(rgba(14,61,81,.22) 1.2px, transparent 1.4px); background-size: 22px 22px;
  box-shadow: none; padding: 3.5%; box-sizing: border-box;
}
.gs-feat-win .gs-bar { display: none; }
.gs-feat-win .gs-body { display: block; position: relative; height: 100%; min-height: 0; }
.gs-feat-win .gs-side { display: none; }
.gs-feat-win .gs-main { position: absolute; inset: 0; padding: 0; }
.gs-feat-win .gs-head { position: absolute; left: 4%; bottom: 6%; margin: 0; }
.gs-feat-win .gs-btn { display: none; }
.gs-feat-win .gs-kpis { position: absolute; left: 3%; top: 4%; width: 62%; display: grid; grid-template-columns: 1fr 1.6fr 1fr; gap: 3%; }
.gs-feat-win .gs-kpis > .gs-card { border-radius: 14px; padding: 4%; box-shadow: 0 10px 28px -14px rgba(14,61,81,.25); }
.gs-feat-win .gs-kpis > .gs-card:nth-child(n+4) { display: none; }
.gs-feat-win .gs-two { display: contents; }
.gs-feat-win .gs-two > .gs-card { position: absolute; border-radius: 18px; box-shadow: 0 20px 40px -18px rgba(14,61,81,.3); }
.gs-feat-win .gs-two > .gs-card:first-child { left: 22%; top: 28%; width: 48%; height: 58%; background: #fff; }
.gs-feat-win .gs-two > .gs-card:last-child { right: 4%; top: 52%; width: 30%; height: 26%; background: #0e3d51; color: #fff; }
.gs-feat-win .gs-two > .gs-card:last-child small { color: rgba(255,255,255,.7); }
.gs-feat-win .gs-two > .gs-card:last-child .gs-bars i { background: #7fd0bd; }
.gs-feat-win .gs-line, .gs-feat-win .gs-bars { height: 100% !important; }
.gs-feat-win .gs-table, .gs-feat-win .gs-grid3 { position: absolute; left: 22%; top: 28%; width: 48%; height: 58%; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 20px 40px -18px rgba(14,61,81,.3); }
@media (max-width: 640px) { .gs-feat-win .gs-kpis { width: 90%; } .gs-feat-win .gs-two > .gs-card, .gs-feat-win .gs-table, .gs-feat-win .gs-grid3 { left: 6%; width: 88%; } }

/* Imagen de la sección "Todo lo que": tamaño de la plantilla (538.95 × 620), centrada en su columna */
.gs-feat-figure { display: block; width: 100%; max-width: 538.95px; margin: 0 auto; overflow: hidden; border-radius: 28px; }
@media (min-width: 1024px) { .gs-feat-figure { height: 620px; } }
.gs-feat-figure img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 28px; }

/* Sección "Todo lo que": espaciados y disposición de la plantilla "feature list with img" */
.gs-ft-wrap { max-width: 1056px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 2.5rem; }
.gs-ft-col { width: 100%; display: flex; flex-direction: column; gap: 2rem; margin-top: 1rem; padding: 0 .5rem; }
.gs-ft-fig { width: 100%; flex-shrink: 0; overflow: hidden; border-radius: 28px; order: -1; }
@media (min-width: 640px) { .gs-ft-col { margin-top: 0; padding: 0; } }
@media (min-width: 768px) { .gs-ft-col { flex-direction: row; } }
@media (min-width: 1024px) {
  .gs-ft-wrap { flex-direction: row; gap: 0; gap: 30px;}
  .gs-ft-col { flex-direction: column; }
  .gs-ft-col-r { margin-left: 1rem; }
  .gs-ft-fig { width: 538.95px; height: 620px; order: 0; margin-top: 66px; margin-right: 1.5rem; }
}
@media (min-width: 1280px) { .gs-ft-col-r { margin-left: 0; } .gs-ft-fig { margin-top: 1.25rem; margin-right: 0; } }
.gs-ft-fig img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Mantener el botón separado del subtítulo en la sección de funcionalidades */
.gs-ft-cta { margin-top: 0 !important; }

/* Módulos: tarjetas más compactas y de tamaño uniforme */
.gs-mod-grid { max-width: 960px; margin: 0 auto; align-items: stretch; }
.gs-mod-item { display: flex; }
.gs-mod-item > .gs-mod-card { width: 100%; min-height: 260px; }

/* Imagen Dashboard del hero: bordes redondeados */
.gs-hero-dash { border-radius: 28px; overflow: hidden; }

/* Header al hacer scroll: transparencia en el color navy del sistema (en modo oscuro sigue transparente) */
.gs-header.header-four-scroll { background-color: #7fd0bd57 !important; }
/* Modo claro: el header con scroll usa el gris de fondo de la página (con el mismo efecto glass) */
html:not(.dark) .gs-header.header-four-scroll { background-color: rgba(249, 250, 251, 0.85) !important; }
.dark .gs-header.header-four-scroll { background-color: transparent !important; }

/* Márgenes verticales entre secciones: un poco más cerrados en todas las páginas.
   La primera sección (hero/encabezado de cada página) conserva su espacio superior. */
main > section + section {
  padding-top: clamp(2.5rem, 4.5vw, 3.75rem) !important;
  padding-bottom: clamp(2.5rem, 4.5vw, 3.75rem) !important;
}

/* Módulos: una sola fila deslizable (carrusel) */
.gs-mod-grid { display: flex; flex-wrap: nowrap; gap: 24px; overflow-x: auto; scroll-snap-type: none; scroll-behavior: auto; padding: 16px 4px 28px; max-width: 100%; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.gs-mod-grid::-webkit-scrollbar { display: none; }
.gs-mod-item { flex: 0 0 280px; scroll-snap-align: start; display: flex; }
.gs-mod-item > .gs-mod-card { width: 100%; min-height: 0; height: 100%; }
/* Iconos de beneficios: teal de marca en claro y blanco en oscuro */
.gs-feature-icon { color: #208591; }
html.dark .gs-feature-icon { color: #fff; }

/* Módulos: tarjetas más bajas (la sección completa queda más compacta) */
.gs-mod-item > .gs-mod-card { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; gap: 0.75rem !important; }
.gs-mod-card h5 { margin-bottom: 0.25rem; }
.gs-mod-card p { font-size: 0.875rem; line-height: 1.4; }

/* Sección de módulos: menos separación entre título y carrusel; subtítulo a 20px */
.gs-mod-head { margin-bottom: 0 !important; }
.gs-mod-wrap { margin-top: 1.5rem; }
.gs-mod-cta { display: flex; justify-content: center; width: 100%; margin: .5rem auto 0; padding: 0 24px; text-align: center; }
.gs-mod-sub { font-size: 20px; line-height: 1.5; }

/* Subtítulo de módulos en una sola línea en escritorio; en pantallas menores se ajusta */
@media (min-width: 1024px) {
  .gs-mod-sub { max-width: none !important; white-space: nowrap; }
}

/* Hero más corto: menos padding vertical y ventana/imagen algo más pequeña */
.gs-hero { padding-top: 120px !important; padding-bottom: 30px !important; }
@media (min-width: 768px) { .gs-hero { padding-top: 140px !important; padding-bottom: 50px !important; } }
@media (min-width: 1280px) { .gs-hero { max-height: none !important; } }
.gs-hero .gs-stage { max-width: 880px; }
.gs-hero .gs-stage .gs-stage-win img { max-width: 100%; }

/* Hero: se corta la parte de abajo de la imagen de fondo (la ventana del dashboard queda en su lugar) */
.gs-hero { background-size: 100% 78% !important; background-position: center top !important; background-repeat: no-repeat !important; background-color: #f9fafb; }
.dark .gs-hero { background-color: #0b1f29; }
/* Menos separación entre la imagen del dashboard y los textos/botones del hero */
.gs-hero-gap { margin-top: 16px !important; }
@media (min-width: 1024px) { .gs-hero-gap { margin-top: 34px !important; } }


/* Rendimiento al hacer scroll: el header no usa desenfoque pesado (64px) ni el pulso continuo del fondo del hero */
/* Header con efecto glass: desenfoque ligero del contenido de fondo */
.header-four-scroll, .gs-header.header-four-scroll {
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 32px -12px rgba(14, 61, 81, 0.25);
}
.gs-stage-dots { animation: none !important; }
/* Iconos de perfiles por tamaño de empresa */
.gs-profile-icon { color: #208591; }
html.dark .gs-profile-icon { color: #fff; }

/* Header con scroll (fondo glass verde): textos, iconos y logo en navy para que se lean */
.gs-header.header-four-scroll a.nav-item-link-white,
.gs-header.header-four-scroll .nav-item-link-white,
.gs-header.header-four-scroll .nav-arrow svg,
.gs-header.header-four-scroll .gs-link,
.dark .gs-header.header-four-scroll a.nav-item-link-white,
.dark .gs-header.header-four-scroll .nav-arrow svg { color: #0e3d51 !important; }
.gs-header.header-four-scroll .nav-hamburger span,
.dark .gs-header.header-four-scroll .nav-hamburger span { background: #0e3d51 !important; }
.gs-header.header-four-scroll .gs-logo-light,
.dark .gs-header.header-four-scroll .gs-logo-light { display: block !important; }
.gs-header.header-four-scroll .gs-logo-dark,
.dark .gs-header.header-four-scroll .gs-logo-dark { display: none !important; }
.gs-header.header-four-scroll .btn { color: #0e3d51 !important; }
/* Modo oscuro: el header con scroll es transparente, así que textos, iconos y logo van en blanco */
.dark .gs-header.header-four-scroll a.nav-item-link-white,
.dark .gs-header.header-four-scroll .nav-item-link-white,
.dark .gs-header.header-four-scroll .nav-arrow svg,
.dark .gs-header.header-four-scroll .gs-link { color: #fff !important; }
.dark .gs-header.header-four-scroll .nav-hamburger span { background: #fff !important; }
.dark .gs-header.header-four-scroll .gs-logo-light { display: none !important; }
.dark .gs-header.header-four-scroll .gs-logo-dark { display: block !important; }

/* Márgenes laterales de 160px en las secciones con texto (desde 1280px de ancho). El hero conserva su ancho. */
@media (min-width: 1280px) {
  main > section:not(.gs-hero):not(#planes):not([aria-label="Funcionalidades principales"]) > .main-container { padding-left: 160px !important; padding-right: 160px !important; }
}

/* Carrusel de módulos a todo el ancho de la página (ras con ras) */
.gs-mod-wrap { width: 100vw; max-width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.gs-mod-grid { padding-left: 24px; padding-right: 24px; }
/* Etiquetas de perfil: rojo de marca, mayúsculas y 18 px */
.gs-profile-label { color: #208591; font-size: 18px; font-weight: 600; }
/* Títulos de los perfiles */
.gs-profile-title { margin-top: 17px; line-height: 51px; font-weight: 500; }

/* Campo principal para solicitar una demostración */
.gs-contact-email-wrap { position: relative; flex: 1 1 0%; }
.gs-contact-email-wrap > svg { position: absolute; left: 1.25rem; top: 50%; width: 1.4rem; height: 1.4rem; transform: translateY(-50%); color: #208591; pointer-events: none; }
.gs-contact-email { width: 100%; min-height: 64px; border: 2px solid #7fd0bd; border-radius: 9999px; background: #fff; padding: 1rem 1.5rem 1rem 3.5rem; color: #0e3d51; font-size: 1.05rem; box-shadow: 0 10px 30px rgba(0, 0, 0, .16); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.gs-contact-email::placeholder { color: rgba(14, 61, 81, .62); }
.gs-contact-email:focus { border-color: #208591; outline: 3px solid rgba(127, 208, 189, .35); outline-offset: 2px; box-shadow: 0 12px 34px rgba(0, 0, 0, .22); }
@media (max-width: 639px) { .gs-contact-email-wrap { width: 100%; } }

/* Contraste y jerarquía de la sección de contacto */
.gs-contact-highlight { color: #7fd0bd; }
.gs-contact-copy { color: #fff; }
.gs-contact-details { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.5rem 2.5rem; color: #fff; }
.gs-contact-link { display: inline-flex; align-items: center; gap: .65rem; color: #fff; transition: opacity .2s ease; }
.gs-contact-link:hover { opacity: .78; }
.gs-contact-link svg { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
@media (max-width: 639px) { .gs-contact-details { flex-direction: column; gap: 1rem; } }

/* Planes: el bloque oculto (negocios / farmacia) no debe mostrarse aunque tenga display de rejilla */
[data-plan-set].hidden { display: none !important; }

/* Precios: color del texto destacado del título */
.gs-pricing-heading-highlight { color: #208591; }
html.dark .gs-pricing-heading-highlight { color: #7fd0bd; }

/* Acentos en naranja de Gen Suite (#FCB124), con uso moderado en la página de precios */
.gs-orange-badge { background: rgba(252, 177, 36, 0.18) !important; color: #FCB124 !important; }
.gs-orange-text { color: #FCB124; font-weight: 700; }

/* Banner de contacto al final de precios */
.gs-pricing-contact-wrap { padding: 0 0 6rem; }
.gs-pricing-contact-banner { display: flex; align-items: center; justify-content: space-between; gap: 2.5rem; overflow: hidden; border: 1px solid rgba(127, 208, 189, .25); border-radius: 1.5rem; padding: clamp(1.5rem, 4vw, 3rem); background: linear-gradient(120deg, #0e3d51 0%, #14586a 58%, #208591 100%); box-shadow: 0 18px 44px rgba(14, 61, 81, .14); }
.gs-pricing-contact-banner > div { max-width: 52rem; }
.gs-pricing-contact-eyebrow { display: inline-block; margin-bottom: .65rem; color: #9be0d2; font-size: .8rem; font-weight: 700; }
.gs-pricing-contact-banner h2 { margin: 0 0 .6rem; color: #fff; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; }
.gs-pricing-contact-banner p { margin: 0; color: rgba(255,255,255,.84); font-size: .95rem; line-height: 1.55; }
.gs-pricing-contact-cta { display: inline-flex; min-width: max-content; min-height: 3.25rem; align-items: center; justify-content: center; gap: .7rem; border: 1px solid #7fd0bd; border-radius: 999px; padding: .8rem 1.25rem; background: #7fd0bd; color: #0e3d51; font-size: .9rem; font-weight: 700; transition: background .2s ease, transform .2s ease; }
.gs-pricing-contact-cta:hover { transform: translateY(-2px); background: #a4e3d5; color: #0e3d51; }
.gs-pricing-contact-cta svg { width: 1.15rem; height: 1.15rem; }
html.dark .gs-pricing-contact-banner { border-color: rgba(127, 208, 189, .3); }
@media (max-width: 767px) { .gs-pricing-contact-wrap { padding-bottom: 4rem; } .gs-pricing-contact-banner { align-items: flex-start; flex-direction: column; gap: 1.4rem; } .gs-pricing-contact-cta { width: 100%; } }

/* ───── Perfiles (Emprendedor / Negocio / Empresa): imagen con tarjetas flotantes animadas ───── */
.gs-profile-stage { position: relative; }
.gs-profile-stage .gs-profile-img { filter: drop-shadow(0 30px 40px rgba(14, 61, 81, 0.28)); }
.gs-fc { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px; background: #fff; color: #0e3d51; box-shadow: 0 18px 40px -16px rgba(14, 61, 81, 0.35); font-family: "Inter Tight", system-ui, sans-serif; min-width: 160px; animation: gs-in .9s cubic-bezier(.2,.8,.2,1) both, gs-float var(--dur, 6s) ease-in-out infinite; }
.dark .gs-fc { background: #0b1f29; color: #fff; }
.gs-fc small { display: block; font-size: 11px; opacity: .65; letter-spacing: .02em; }
.gs-fc strong { display: block; font-size: 14px; font-weight: 600; }
.gs-fc-ic { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 9px; background: #7fd0bd; color: #0e3d51; flex: none; }
.gs-fc-ic svg { width: 16px; height: 16px; }
/* Variantes de color */
.gs-fc--dark { background: #0e3d51; color: #fff; }
.gs-fc--dark .gs-fc-ic { background: #FCB124; }
.gs-fc--mint { background: #7fd0bd; color: #0e3d51; }
.gs-fc--mint .gs-fc-ic { background: #0e3d51; color: #7fd0bd; }
.gs-fc--chip { background: #FCB124; color: #0e3d51; border-radius: 999px; padding: 8px 14px; min-width: 0; }
.gs-fc--chip .gs-fc-ic { background: #0e3d51; color: #FCB124; }
.gs-fc--white .gs-fc-ic { background: #7fd0bd; }
/* Mini gráficos dentro de las tarjetas */
.gs-spark { display: block; width: 100%; height: 22px; margin-top: 6px; color: #7fd0bd; stroke-dasharray: 220; animation: gs-draw 3s ease-in-out infinite alternate; }
.gs-fc--mint .gs-spark { color: #0e3d51; }
.gs-minibars { display: flex; align-items: flex-end; gap: 3px; height: 22px; margin-top: 6px; }
.gs-minibars i { flex: 1; background: #7fd0bd; border-radius: 2px; animation: gs-bar 1.8s ease-in-out infinite alternate; }
.gs-minibars i:nth-child(2) { animation-delay: .2s; } .gs-minibars i:nth-child(3) { animation-delay: .4s; } .gs-minibars i:nth-child(4) { animation-delay: .6s; } .gs-minibars i:nth-child(5) { animation-delay: .8s; } .gs-minibars i:nth-child(6) { animation-delay: 1s; }
.gs-prog { height: 5px; margin-top: 8px; border-radius: 9999px; background: rgba(14,61,81,.15); overflow: hidden; width: 120px; }
.gs-prog i { display: block; height: 100%; width: 0; background: #7fd0bd; border-radius: 9999px; animation: gs-fill 3.2s ease-in-out infinite alternate; }
/* Posiciones */
.gs-profile--emp .gs-fc-0 { right: -6%; top: 8%; }
.gs-profile--emp .gs-fc-1 { left: -6%; top: 4%; }
.gs-profile--emp .gs-fc-2 { left: -4%; bottom: 20%; }
.gs-profile--emp .gs-fc-3 { right: 4%; bottom: -4%; }
.gs-profile--neg .gs-fc-0 { left: -6%; top: 10%; }
.gs-profile--neg .gs-fc-1 { right: -5%; top: 36%; }
.gs-profile--neg .gs-fc-2 { left: 14%; bottom: -4%; }
.gs-profile--emp2 .gs-fc-0 { left: -6%; top: 12%; }
.gs-profile--emp2 .gs-fc-1 { right: -5%; top: 30%; }
.gs-profile--emp2 .gs-fc-2 { left: 14%; bottom: -4%; }
/* Entradas desde distintas direcciones */
@keyframes gs-in { from { opacity: 0; translate: var(--tx, 0px) var(--ty, 0px); } to { opacity: 1; translate: 0px 0px; } }
.gs-anim-right { --tx: 60px; } .gs-anim-left { --tx: -60px; }
.gs-anim-up { --ty: 36px; } .gs-anim-down { --ty: -36px; }
@keyframes gs-float { 0%,100% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(0,-12px) rotate(-1.5deg); } }
@keyframes gs-draw { from { stroke-dashoffset: 220; } to { stroke-dashoffset: 0; } }
@keyframes gs-bar { from { height: 25%; } to { height: 100%; } }
@keyframes gs-fill { from { width: 20%; } to { width: 95%; } }
@media (max-width: 767px) { .gs-fc { min-width: 0; padding: 8px 10px; } .gs-fc strong { font-size: 12px; } .gs-fc-ic { width: 24px; height: 24px; } .gs-prog { width: 80px; } }
@media (prefers-reduced-motion: reduce) { .gs-fc, .gs-spark, .gs-minibars i, .gs-prog i { animation: none !important; } }

/* Perfiles: imagen más pequeña, columna de textos más ancha y más separación entre ambas */
@media (min-width: 1024px) {
  [data-tab-content] > div { column-gap: 140px !important; }
  [data-tab-content] > div > div:first-child { flex: 1 1 0; min-width: 0; max-width: none !important; }
  [data-tab-content] > div > div:first-child p.max-w-\[409px\] { max-width: 600px !important; }
  [data-tab-content] > div > figure.gs-profile-stage { flex: 0 0 420px; width: 420px !important; max-width: 420px !important; }
}
@media (min-width: 1024px) {
  [data-tab-content] > div { align-items: center !important; }
}

/* Botón "Iniciar sesión" del header: texto en medium */
.gs-header .btn, .gs-header .btn span { font-weight: 500; }
.gs-header .btn-green:hover, .gs-header .btn-green:hover span { color: #fff !important; }

/* Pop-up "Quiero conocer Gen Suite" */
.gs-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: flex-start; justify-content: center; overflow-y: auto; overscroll-behavior: contain; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); background: rgba(5, 15, 20, 0.6); backdrop-filter: blur(4px); -webkit-overflow-scrolling: touch; }
.gs-modal.open { display: flex; }
.gs-modal-box { position: relative; box-sizing: border-box; flex: 0 0 auto; width: 100%; max-width: 460px; max-height: calc(100vh - 32px); max-height: calc(100dvh - max(32px, env(safe-area-inset-top) + env(safe-area-inset-bottom))); margin: auto 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 32px 28px 28px; border-radius: 20px; background: #ffffff; color: #0e3d51; box-shadow: 0 30px 80px -20px rgba(0,0,0,.5); font-family: "Inter Tight", system-ui, sans-serif; }
.dark .gs-modal-box { background: #0b1f29; color: #fff; }
.gs-modal-close { position: absolute; top: 10px; right: 14px; font-size: 28px; line-height: 1; background: none; border: 0; color: inherit; opacity: .6; cursor: pointer; }
.gs-modal-close:hover { opacity: 1; }
.gs-modal-box h3 { font-size: 22px; font-weight: 700; margin-bottom: 6px; }
.gs-modal-lead { font-size: 14px; opacity: .7; margin-bottom: 20px; }
.gs-modal-form { display: flex; flex-direction: column; gap: 14px; }
.gs-modal-form[hidden], .gs-modal-success[hidden], .gs-modal-loading[hidden], .gs-modal-sent[hidden] { display: none; }
.gs-modal-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.gs-modal-form input, .gs-modal-form select, .gs-modal-form textarea { width: 100%; padding: 11px 14px; border-radius: 12px; border: 1px solid rgba(14,61,81,.25); background: transparent; color: inherit; font-weight: 400; font-size: 14px; }
.gs-modal-form textarea { min-height: 84px; resize: vertical; }
.dark .gs-modal-form input, .dark .gs-modal-form select, .dark .gs-modal-form textarea { border-color: rgba(255,255,255,.25); }
.gs-modal-form input:focus, .gs-modal-form select:focus, .gs-modal-form textarea:focus { outline: 2px solid #208591; outline-offset: 1px; }
.gs-modal-form select { appearance: none; -webkit-appearance: none; padding-right: 42px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23208591' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.gs-modal-form select option { color: #0e3d51; }
.gs-req { color: #ef3d31; margin-left: 2px; }
.gs-opt { font-weight: 400; opacity: .6; font-size: 12px; }
.gs-lbl { display: inline; }
.gs-modal-box .gs-modal-lead { opacity: .92; color: #0a2d3c; } .dark .gs-modal-box .gs-modal-lead { color: #e6eef0; }
.gs-modal-success { min-height: 150px; display: grid; place-items: center; padding: 1.25rem 0 .5rem; text-align: center; }
.gs-modal-loading, .gs-modal-sent { display: grid; justify-items: center; gap: .8rem; }
.gs-modal-loading p, .gs-modal-success p { color: #37535d; font-size: .95rem; }
.gs-modal-success h4 { margin: .25rem 0 0; color: #0e3d51; font-size: 1.3rem; font-weight: 700; }
.gs-modal-spinner { width: 42px; height: 42px; border: 3px solid rgba(32,133,145,.18); border-top-color: #208591; border-radius: 50%; animation: gs-modal-spin .8s linear infinite; }
.gs-modal-check { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #e8f6f2; color: #208591; animation: gs-modal-pop .35s ease-out both; }
.gs-modal-check svg { width: 27px; height: 27px; }
.dark .gs-modal-success p { color: #e6eef0; }
.dark .gs-modal-success h4 { color: #fff; }
@keyframes gs-modal-spin { to { transform: rotate(360deg); } }
@keyframes gs-modal-pop { from { opacity: 0; transform: scale(.65); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .gs-modal-spinner, .gs-modal-check { animation: none; } }



.gs-solutions-hero{overflow:hidden;padding:9.5rem 0 4rem;background:radial-gradient(ellipse at 82% 35%,rgba(127,208,189,.18),transparent 38%),linear-gradient(180deg,#f5fbfa,#fff)}.gs-solutions-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(2rem,5vw,5rem)}.gs-solutions-hero h1{margin:1.2rem 0 1rem;color:#0e3d51;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:700;line-height:1.04;letter-spacing:-.045em}.gs-solutions-hero h1 span{color:#208591}.gs-solutions-hero p{max-width:560px;color:#536c75;font-size:1.02rem;line-height:1.6}.gs-solutions-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.4rem;margin-top:1.5rem}.gs-solutions-secondary-link{color:#0e3d51;font-size:.9rem;font-weight:650}.gs-solutions-proof{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem}.gs-solutions-proof span{border:1px solid #d7e8e8;border-radius:999px;padding:.4rem .65rem;background:#fff;color:#3d6973;font-size:.68rem;font-weight:600}
.gs-solutions-hero-demo{position:relative;min-width:0;padding:1rem 0 1.5rem 1rem}.gs-demo-window{overflow:hidden;border:1px solid #dce8e9;border-radius:1.1rem;background:#fff;box-shadow:0 24px 65px rgba(14,61,81,.18);animation:gs-drift 7s ease-in-out infinite}.gs-demo-window>header{display:flex;height:2.8rem;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eff0;padding:0 .9rem;color:#0e3d51}.gs-demo-window>header b{font-size:.75rem}.gs-demo-window>header small{color:#688188;font-size:.55rem}.gs-demo-window>header i{color:#bdcbcd;font-size:.5rem;font-style:normal}.gs-demo-screen{display:grid;grid-template-columns:2.8rem 1fr;min-height:290px}.gs-demo-screen aside{display:grid;align-content:start;justify-items:center;gap:1rem;border-right:1px solid #edf1f2;padding:.9rem .4rem}.gs-demo-screen aside>*{width:.9rem;height:.9rem;border-radius:.25rem;background:#e6eff0}.gs-demo-screen aside b{background:#208591;box-shadow:0 0 0 .3rem #eaf5f4}.gs-demo-screen>div{min-width:0;padding:1rem}.gs-demo-screen>div>small{color:#85999f;font-size:.55rem;font-weight:700}.gs-demo-screen h3{margin:.25rem 0 .8rem;color:#163f4c;font-size:.9rem}.gs-demo-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.gs-demo-kpis>div{display:grid;gap:.3rem;border:1px solid #edf1f2;border-radius:.55rem;padding:.5rem .4rem}.gs-demo-kpis small{color:#84969c;font-size:.5rem}.gs-demo-kpis b{color:#123f51;font-size:clamp(.58rem,1vw,.78rem);white-space:nowrap}.gs-demo-kpis i{color:#208591;font-size:.5rem;font-style:normal}.gs-demo-chart{margin-top:.65rem;border:1px solid #edf1f2;border-radius:.6rem;padding:.6rem;color:#37535d;font-size:.6rem}.gs-demo-chart svg{display:block;width:100%;height:80px}.gs-demo-alert{margin-top:.55rem;border-radius:.5rem;padding:.55rem;background:#eaf6f0;color:#39775d;font-size:.58rem;font-weight:650}.gs-demo-float{position:absolute;right:-2%;top:7%;border:1px solid #e4eded;border-radius:.65rem;padding:.6rem .8rem;background:#fff;color:#385862;font-size:.62rem;font-weight:700;box-shadow:0 12px 26px rgba(14,61,81,.14);animation:gs-drift 5s ease-in-out infinite}@keyframes gs-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.gs-solutions-index{padding:1.1rem 0 1.4rem;border-block:1px solid #edf2f2;background:#fff}.gs-solutions-index>.main-container>b{display:block;margin-bottom:.7rem;color:#0e3d51;font-size:.8rem}.gs-solutions-index nav{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem}.gs-solutions-index nav a{flex:0 0 auto;border:1px solid #dfe9ea;border-radius:999px;padding:.48rem .72rem;color:#365660;font-size:.7rem;font-weight:600;white-space:nowrap}.gs-solutions-index nav a:hover{background:#208591;color:#fff}
.gs-solutions-showcase{padding:4.5rem 0 2rem;background:#f7fafa}.gs-showcase-intro{max-width:680px;margin:0 auto 2.6rem;text-align:center}.gs-showcase-intro h2{margin:.8rem 0 .5rem;color:#0e3d51;font-size:clamp(1.8rem,3vw,2.6rem)}.gs-showcase-intro p{color:#647c84;font-size:.92rem;line-height:1.6}.gs-solution-details{display:grid;gap:1.2rem}.gs-solution-detail{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);min-width:0;scroll-margin-top:6rem;border:1px solid #e4eded;border-radius:1.2rem;padding:clamp(1.3rem,3.5vw,2.7rem);background:#fff;box-shadow:0 10px 30px rgba(14,61,81,.045)}.gs-solution-detail--reverse .gs-solution-copy{order:2}.gs-solution-detail--reverse .gs-solution-visual{order:1}.gs-solution-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}.gs-solution-meta>span:first-child{color:#208591;font-size:.7rem;font-weight:750;text-transform:uppercase}.gs-solution-status{border:1px solid #f1dca5;border-radius:99px;padding:.23rem .5rem;background:#fff8e9;color:#896519;font-size:.62rem;font-weight:700}.gs-solution-copy h3{margin:0 0 .65rem;color:#0e3d51;font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.15}.gs-solution-copy>p{max-width:34rem;color:#5b737b;font-size:.88rem;line-height:1.65}.gs-solution-copy ul{display:grid;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}.gs-solution-copy li{display:flex;gap:.5rem;color:#385761;font-size:.78rem;line-height:1.45}.gs-solution-copy li b{color:#208591}
.gs-solution-visual{display:grid;place-items:center;min-width:0;min-height:270px;border:1px solid #dce9e9;border-radius:1rem;padding:1rem;background:radial-gradient(ellipse at 50% 10%,#e8f5f2,transparent 64%),#f5f9f9}.gs-visual-window{width:min(100%,490px);overflow:hidden;border:1px solid #dbe6e7;border-radius:.8rem;background:#fff;box-shadow:0 15px 35px rgba(14,61,81,.12)}.gs-visual-window>header{display:flex;height:2rem;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f2;padding:0 .7rem}.gs-visual-window>header span{color:#e98a80;font-size:.45rem}.gs-visual-window>header small{color:#92a2a7;font-size:.47rem;font-weight:700}.gs-visual-window>header b{color:#8ba0a6}.gs-visual-content{min-height:215px;padding:.85rem}.gs-visual-content>small{color:#208591;font-size:.5rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.gs-visual-content h4{margin:.3rem 0 .7rem;color:#163e4c;font-size:.8rem}.gs-visual-card{display:grid;gap:.3rem;border:1px solid #edf1f2;border-radius:.6rem;padding:.7rem;background:linear-gradient(115deg,#f3f9f7,#f7f9fc)}.gs-visual-card span,.gs-visual-card i{color:#7b9096;font-size:.53rem;font-style:normal}.gs-visual-card b{color:#163e4c;font-size:1rem}.gs-visual-bars{display:flex;height:55px;align-items:end;justify-content:space-around;gap:.4rem;margin-top:.6rem;border-bottom:1px solid #e9eff0;padding:0 .4rem}.gs-visual-bars i{width:8%;border-radius:.2rem .2rem 0 0;background:linear-gradient(180deg,#53b7a5,#208591);transform-origin:bottom;animation:gs-rise 1s ease both}.gs-visual-bars i:nth-child(even){background:linear-gradient(180deg,#ef776a,#e94e42)}@keyframes gs-rise{from{transform:scaleY(.2)}to{transform:scaleY(1)}}.gs-visual-row{display:flex;justify-content:space-between;gap:.3rem;margin-top:.4rem;border:1px solid #edf1f2;border-radius:.45rem;padding:.45rem;color:#627980;font-size:.52rem}.gs-visual-row b{color:#208591}
.gs-solutions-cta-section{padding:2rem 0 6rem;background:#f7fafa}.gs-solutions-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-radius:1.3rem;padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(120deg,#0e3d51,#14586a 58%,#208591);box-shadow:0 18px 44px rgba(14,61,81,.14)}.gs-solutions-cta>div{max-width:50rem}.gs-solutions-cta>div>span{color:#9be0d2;font-size:.74rem;font-weight:750}.gs-solutions-cta h2{margin:.55rem 0;color:#fff;font-size:clamp(1.6rem,3vw,2.15rem)}.gs-solutions-cta p{color:rgba(255,255,255,.84);font-size:.9rem;line-height:1.55}.gs-solutions-cta>a{flex:0 0 auto;border-radius:999px;padding:.85rem 1.2rem;background:#7fd0bd;color:#0e3d51;font-size:.84rem;font-weight:750}
html.dark .gs-solutions-hero{background:linear-gradient(180deg,#102c38,#0c222d)}html.dark .gs-solutions-hero h1,html.dark .gs-demo-screen h3,html.dark .gs-visual-content h4,html.dark .gs-visual-card b{color:#eef7f7}html.dark .gs-solutions-hero p,html.dark .gs-solution-copy>p,html.dark .gs-showcase-intro p{color:#c2d4d8}html.dark .gs-demo-window,html.dark .gs-solutions-index,html.dark .gs-solution-detail,html.dark .gs-visual-window{border-color:#294650;background:#102c38}html.dark .gs-solutions-index>.main-container>b,html.dark .gs-showcase-intro h2,html.dark .gs-solution-copy h3{color:#eef7f7}html.dark .gs-solutions-index nav a{border-color:#31505b;background:#102c38;color:#c2d4d8}html.dark .gs-solution-visual{border-color:#294650;background:#173642}html.dark .gs-demo-screen aside,html.dark .gs-demo-window>header,html.dark .gs-visual-window>header,html.dark .gs-visual-row{border-color:#294650}html.dark .gs-demo-kpis>div,html.dark .gs-demo-chart,html.dark .gs-demo-alert,html.dark .gs-visual-kpis>div,html.dark .gs-visual-card{border-color:#294650;background:#173642}html.dark .gs-demo-kpis b,html.dark .gs-visual-card b{color:#e8f3f3}html.dark .gs-solutions-cta-section{background:#102c38}
@media(max-width:1023px){.gs-solutions-hero-grid{grid-template-columns:1fr;gap:2rem}.gs-solutions-hero-demo{max-width:720px;width:100%;margin:auto}.gs-solution-detail{gap:1.5rem}.gs-demo-float{right:0}}
@media(max-width:767px){.gs-solutions-hero{padding:7rem 0 3rem}.gs-solutions-hero h1{font-size:clamp(2.3rem,11vw,3.4rem)}.gs-demo-screen{grid-template-columns:2rem 1fr;min-height:245px}.gs-demo-screen>div{padding:.65rem}.gs-demo-kpis{gap:.25rem}.gs-demo-kpis>div{padding:.4rem .3rem}.gs-demo-kpis small{font-size:.44rem}.gs-demo-kpis b{font-size:.56rem}.gs-demo-chart svg{height:60px}.gs-solution-detail{grid-template-columns:1fr;gap:1rem;padding:1rem}.gs-solution-detail--reverse .gs-solution-copy,.gs-solution-detail--reverse .gs-solution-visual{order:initial}.gs-solution-visual{min-height:240px;padding:.65rem}.gs-solutions-cta{align-items:flex-start;flex-direction:column}.gs-solutions-cta>a{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.gs-demo-window,.gs-demo-float,.gs-visual-bars i{animation:none!important}}

/* ───── Página de contacto (estilo claro con bloques de información y tarjeta de formulario) ───── */
.gs-ct { background: #f8f8f6; color: #0e3d51; padding: 140px 20px 90px; }
.dark .gs-ct { background: #0b1f29; color: #fff; }
.gs-ct-wrap { max-width: 1180px; margin: 0 auto; display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1024px) { .gs-ct-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; } }
.gs-ct-title { font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.1; font-weight: 700; color: #0e3d51; }
.dark .gs-ct-title { color: #fff; }
.gs-ct-title span { color: #ef3d31; }
.gs-ct-lead { margin-top: 18px; max-width: 480px; font-size: 16px; line-height: 1.6; color: #35596a; }
.dark .gs-ct-lead { color: rgba(255,255,255,.78); }
.gs-ct-grid { margin-top: 40px; display: grid; gap: 30px 40px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 520px) { .gs-ct-grid { grid-template-columns: minmax(0, 1fr); } }
.gs-ct-block h3 { font-size: 22px; font-weight: 700; color: #0e3d51; margin-bottom: 4px; }
.dark .gs-ct-block h3 { color: #fff; }
.gs-ct-block small { display: block; font-size: 13px; color: #5d7c88; margin-bottom: 8px; }
.dark .gs-ct-block small { color: rgba(255,255,255,.6); }
.gs-ct-block p, .gs-ct-block a { display: block; font-size: 15px; font-weight: 600; line-height: 1.45; color: #0e3d51; text-decoration: none; }
.dark .gs-ct-block p, .dark .gs-ct-block a { color: #fff; }
.gs-ct-block a:hover { color: #ef3d31; }
.gs-ct-card { padding: 28px; border-radius: 28px; background: #e6f2f5; }
.dark .gs-ct-card { background: rgba(255,255,255,.07); }
.gs-ct-form { display: grid; gap: 14px; }
.gs-ct-row { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .gs-ct-row { grid-template-columns: 1fr 1fr; } }
.gs-ct-form label { display: block; }
.gs-ct-form label > span { display: block; margin: 0 0 6px 4px; font-size: 13px; font-weight: 600; color: #0e3d51; }
.dark .gs-ct-form label > span { color: #fff; }
.gs-ct-form label > span b { color: #ef3d31; margin-left: 2px; }
.gs-ct-form input[type="text"], .gs-ct-form input[type="email"], .gs-ct-form select, .gs-ct-form textarea {
  width: 100%; padding: 14px 20px; border: 0; border-radius: 999px; background: #cfe7ee; color: #0e3d51; font-size: 15px; font-family: inherit; }
.dark .gs-ct-form input[type="text"], .dark .gs-ct-form input[type="email"], .dark .gs-ct-form select, .dark .gs-ct-form textarea { background: rgba(255,255,255,.1); color: #fff; }
.gs-ct-form select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23208591' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; padding-right: 44px; cursor: pointer; }
.dark .gs-ct-form select option { color: #0e3d51; }
.gs-ct-form textarea { border-radius: 24px; min-height: 130px; resize: vertical; }
.gs-ct-form input::placeholder, .gs-ct-form textarea::placeholder { color: #5d9aa6; }
.gs-ct-form input:focus, .gs-ct-form select:focus, .gs-ct-form textarea:focus { outline: 2px solid #208591; outline-offset: 1px; }
.gs-ct-check { display: flex !important; align-items: center; gap: 10px; font-size: 13px; color: #35596a; }
.dark .gs-ct-check { color: rgba(255,255,255,.8); }
.gs-ct-check input { width: 16px; height: 16px; accent-color: #208591; }
.gs-ct-check a { color: #ef3d31; text-decoration: underline; }
.gs-ct-btn { justify-self: center; min-width: 220px; padding: 14px 32px; border: 0; border-radius: 999px; background: #208591; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .2s; }
.gs-ct-btn:hover { background: #17707b; }
.gs-visual-table{display:grid;gap:.35rem;margin-top:1rem}.gs-visual-table>div{display:grid;grid-template-columns:1.1fr 1fr .8fr;align-items:center;gap:.35rem;border-bottom:1px solid #e9eff0;padding:.48rem .35rem;color:#607780;font-size:.55rem}.gs-visual-table>div:first-child{color:#8a9da2;font-size:.48rem;text-transform:uppercase}.gs-visual-table strong{color:#173f4e}.gs-visual-table em{color:#b87724;font-size:.48rem;font-style:normal}.gs-visual-finance{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.8rem}.gs-visual-finance>div,.gs-visual-report-kpis>div{display:grid;gap:.25rem;border:1px solid #e6eeee;border-radius:.5rem;padding:.6rem}.gs-visual-finance small,.gs-visual-report-kpis small{color:#819399;font-size:.48rem}.gs-visual-finance b,.gs-visual-report-kpis b{color:#173f4e;font-size:.68rem}.gs-visual-finance i{color:#87999e;font-size:.48rem;font-style:normal}.gs-visual-cashflow{margin-top:.7rem;border:1px solid #e6eeee;border-radius:.55rem;padding:.55rem}.gs-visual-cashflow>span{color:#607780;font-size:.5rem}.gs-visual-cashflow>div{display:flex;height:52px;align-items:end;gap:.5rem;padding:.35rem}.gs-visual-cashflow i{flex:1;border-radius:.18rem .18rem 0 0;background:linear-gradient(#7fd0bd,#208591)}.gs-visual-report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.gs-visual-report-kpis>div{padding:.45rem}.gs-visual-report-kpis b{font-size:.55rem}.gs-fiscal-document{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.8rem;border:1px solid #e5eeee;border-radius:.6rem;padding:.7rem}.gs-fiscal-document>div{display:grid;gap:.25rem}.gs-fiscal-document small{color:#819399;font-size:.43rem}.gs-fiscal-document b{color:#173f4e;font-size:.64rem}.gs-fiscal-document span{color:#758a90;font-size:.5rem}.gs-fiscal-document strong{border-radius:99px;padding:.3rem .45rem;background:#e8f6ef;color:#32825f;font-size:.45rem}.gs-fiscal-steps{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:1rem 0}.gs-fiscal-steps span{display:flex;align-items:center;gap:.25rem;color:#536d75;font-size:.48rem}.gs-fiscal-steps i{display:grid;width:1rem;height:1rem;place-items:center;border-radius:50%;background:#e5f5ee;color:#238760;font-size:.55rem;font-style:normal}.gs-fiscal-steps>b{width:1.1rem;height:1px;background:#b9d9d2}.gs-fiscal-tags{display:flex;gap:.35rem}.gs-fiscal-tags span{border-radius:.3rem;padding:.28rem .5rem;background:#eaf3f3;color:#34717a;font-size:.5rem;font-weight:700}.gs-user-list{display:grid;gap:.4rem;margin-top:.65rem}.gs-user-list>div{display:flex;align-items:center;gap:.5rem;border:1px solid #e8eeee;border-radius:.5rem;padding:.45rem}.gs-user-list>div>i,.gs-people-illustration i{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:#e6f3f1;color:#208591;font-size:.5rem;font-style:normal;font-weight:700}.gs-user-list span{display:grid;flex:1;gap:.15rem}.gs-user-list span b{color:#224c59;font-size:.55rem}.gs-user-list span small{color:#84969b;font-size:.45rem}.gs-user-list em{color:#32825f;font-size:.45rem;font-style:normal}.gs-user-list footer{padding:.25rem;color:#82959a;font-size:.48rem}.gs-coming-preview{display:grid;gap:1rem;min-height:150px;align-content:center;margin-top:.4rem;border:1px solid #e3eeee;border-radius:.7rem;padding:1rem;background:linear-gradient(140deg,#f4faf9,#fff)}.gs-coming-preview>span{color:#208591;font-size:.5rem;font-weight:750;letter-spacing:.08em}.gs-coming-preview>p{max-width:300px;margin:0;color:#6a8087;font-size:.55rem;line-height:1.5}.gs-coming-preview>b{color:#173f4e;font-size:.72rem}.gs-pipeline{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.gs-pipeline i{border:1px solid #d9e9e8;border-radius:99px;padding:.4rem .5rem;background:#fff;color:#3e6872;font-size:.5rem;font-style:normal}.gs-pipeline>b{color:#65a99e;font-size:.65rem}.gs-people-illustration{display:flex;align-items:center;padding-left:.3rem}.gs-people-illustration i{width:2.2rem;height:2.2rem;margin-left:-.3rem;border:3px solid #fff;font-size:.58rem}.gs-people-illustration i:nth-child(2){background:#eaf0fb;color:#596ea2}.gs-people-illustration i:nth-child(3){background:#fff1e3;color:#a77846}.gs-coming-preview--finance{background:radial-gradient(ellipse at 50% 25%,#e2f3ef,transparent 70%),#f8fbfa}.gs-finance-illustration{display:flex;align-items:center;gap:.7rem;color:#208591}.gs-finance-illustration i{display:grid;width:2.2rem;height:2.2rem;place-items:center;border:1px solid #d2e8e4;border-radius:.6rem;background:#fff;font-size:.55rem;font-style:normal;font-weight:700}.gs-finance-illustration b{color:#88aaa8;font-size:.75rem}.gs-integrations-map{position:relative;display:grid;min-height:185px;place-items:center;margin-top:.3rem}.gs-hub{z-index:1;display:grid;width:4rem;height:4rem;place-items:center;border-radius:1rem;background:#0e3d51;color:white;font-size:.58rem;font-weight:700;box-shadow:0 0 0 .45rem #e7f3f1}.gs-connector{position:absolute;z-index:0;width:1px;height:52px;background:#9bcac3}.gs-connector--top{top:17%;left:50%}.gs-connector--left{top:52%;left:30%;transform:rotate(55deg)}.gs-connector--right{top:52%;right:30%;transform:rotate(-55deg)}.gs-integration-node{position:absolute;display:grid;justify-items:center;gap:.25rem;color:#57727a;font-size:.48rem}.gs-integration-node>b{display:grid;width:1.8rem;height:1.8rem;place-items:center;border:1px solid #d7e9e7;border-radius:.55rem;background:#fff;color:#208591;font-size:.8rem}.gs-integration-node--top{top:0;left:50%;transform:translateX(-50%)}.gs-integration-node--left{bottom:24%;left:6%}.gs-integration-node--right{right:5%;bottom:24%}.gs-integrations-map>small{position:absolute;bottom:0;color:#84989c;font-size:.48rem}html.dark .gs-visual-table>div{border-color:#294650;color:#c2d4d8}html.dark .gs-visual-table strong,html.dark .gs-visual-finance b,html.dark .gs-visual-report-kpis b,html.dark .gs-fiscal-document b,html.dark .gs-user-list span b,html.dark .gs-coming-preview>b{color:#e8f3f3}html.dark .gs-visual-finance>div,html.dark .gs-visual-report-kpis>div,html.dark .gs-visual-cashflow,html.dark .gs-fiscal-document,html.dark .gs-user-list>div,html.dark .gs-coming-preview,html.dark .gs-integration-node>b{border-color:#294650;background:#173642}html.dark .gs-fiscal-document span,html.dark .gs-fiscal-steps span,html.dark .gs-coming-preview>p{color:#c2d4d8}html.dark .gs-coming-preview{background:linear-gradient(140deg,#173642,#102c38)}html.dark .gs-user-list span small{color:#aec1c6}html.dark .gs-visual-window>header{color:#d7e5e8}html.dark .gs-visual-window>header small{color:#aec1c6}@media(max-width:420px){.gs-fiscal-steps{gap:.15rem}.gs-fiscal-steps span{font-size:.4rem}.gs-fiscal-steps>b{width:.55rem}.gs-visual-table>div{font-size:.48rem}.gs-integrations-map{min-height:170px}}

/* Contacto: paleta Gen Suite (agua clara) y botón de WhatsApp */
.gs-ct-card { background: #e4f6f2; }
.dark .gs-ct-card { background: rgba(127,208,189,.1); }
.gs-ct-form input[type="text"], .gs-ct-form input[type="email"], .gs-ct-form select, .gs-ct-form textarea { background: #c9eee5; }
.dark .gs-ct-form input[type="text"], .dark .gs-ct-form input[type="email"], .dark .gs-ct-form select, .dark .gs-ct-form textarea { background: rgba(127,208,189,.16); }
.gs-ct-form input::placeholder, .gs-ct-form textarea::placeholder { color: #4f8f86; }
.dark .gs-ct-form input::placeholder, .dark .gs-ct-form textarea::placeholder { color: rgba(255,255,255,.55); }
.gs-ct-block a.gs-ct-wa { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 16px; border-radius: 999px; background: #7fd0bd; color: #0e3d51; font-size: 14px; font-weight: 700; transition: background .2s, transform .2s; }
.dark .gs-ct-block a.gs-ct-wa { color: #0e3d51; }
.gs-ct-block a.gs-ct-wa:hover { background: #208591; color: #fff; transform: translateY(-1px); }
.gs-ct-wa svg { width: 16px; height: 16px; flex: none; }

/* Contacto: enlaces con ícono de redirección, en línea con el resto de textos */
.gs-ct-block a.gs-ct-wa { display: block; margin: 0; padding: 0; border-radius: 0; background: transparent; }
.gs-ct-block a.gs-ct-link { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.gs-ct-block a.gs-ct-link svg { width: 14px; height: 14px; flex: none; color: #ef3d31; }
.gs-ct-block a.gs-ct-link:hover svg { transform: translate(1px, -1px); }

.gs-hero-video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:1.1rem;background:#0e3d51;box-shadow:0 24px 65px rgba(14,61,81,.28)}@media(prefers-reduced-motion:reduce){.gs-hero-video{animation:none}}
@media(min-width:1024px){
main>section.gs-solutions-hero:not(.gs-hero):not(#planes):not([aria-label="Funcionalidades principales"])>.main-container{max-width:none!important;margin:0!important;padding-left:clamp(32px,4vw,72px)!important;padding-right:clamp(32px,4vw,72px)!important}
.gs-solutions-hero-grid{grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:clamp(1.5rem,3vw,3.5rem)}
.gs-solutions-hero-demo{padding:1rem 0 1.5rem 0}
.gs-solutions-hero h1{font-size:58px!important;line-height:1.08}
.gs-solutions-hero-demo .gs-hero-video{border-radius:1.4rem;box-shadow:0 24px 65px rgba(14,61,81,.28)}
}

.gs-solution-visual:has(.gs-visual-shot){padding:.6rem;min-height:0}.gs-visual-shot{width:100%;overflow:hidden;border:1px solid #dbe6e7;border-radius:.7rem;background:#fff;box-shadow:0 15px 35px rgba(14,61,81,.14)}.gs-visual-shot img{display:block;width:100%;height:auto}html.dark .gs-visual-shot{border-color:#294650}@media(min-width:768px){.gs-solution-detail:has(.gs-visual-shot){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(min-width:768px){.gs-solution-detail--reverse:has(.gs-visual-shot){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.gs-solution-detail--reverse:has(.gs-visual-shot) .gs-solution-visual{order:1}.gs-solution-detail--reverse:has(.gs-visual-shot) .gs-solution-copy{order:2}}

.gs-hero-tagline{display:block;font-size:40px;line-height:46px}
.gs-tagline-line{display:block}
@media(min-width:768px){
.gs-hero-h1.gs-hero-h1{max-width:min(1100px,100%)}
.gs-hero-tagline{font-size:clamp(28px,3.1vw,40px);line-height:1.18}
.gs-tagline-line{white-space:nowrap}
}
@media(max-width:767px){.gs-hero-tagline{font-size:clamp(24px,6.4vw,32px);line-height:1.2}}
@media(max-width:767px){
.gs-hero .space-y-5{text-align:center}
.gs-hero .space-y-5>ul{justify-content:center}
.gs-hero .space-y-5>p{margin-left:auto;margin-right:auto}
.gs-hero-tagline{text-wrap:balance}
}
.gs-ft-fig img{transform:scale(1.5);transform-origin:center;margin-top:-155px}

/* Pop-ups: permitir desplazamiento cuando el contenido no cabe en pantalla */
.gs-modal { overflow-y: auto; overscroll-behavior: contain; }
.gs-modal-box { margin: auto; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; }

/* Página de soluciones: fondo y contenido coherentes en modo oscuro */
body.dark .gs-solutions-showcase, body.dark .gs-solutions-cta-section,
html.dark .gs-solutions-showcase, html.dark .gs-solutions-cta-section,
.dark .gs-solutions-showcase, .dark .gs-solutions-cta-section { background: #0b1f29 !important; }
body.dark .gs-showcase-intro h2, html.dark .gs-showcase-intro h2, .dark .gs-showcase-intro h2 { color: #eef7f7 !important; }
body.dark .gs-showcase-intro p, html.dark .gs-showcase-intro p, .dark .gs-showcase-intro p { color: #c2d4d8 !important; }
body.dark .gs-solutions-hero-demo .gs-hero-video, html.dark .gs-solutions-hero-demo .gs-hero-video, .dark .gs-solutions-hero-demo .gs-hero-video { border: 1px solid #294650; box-shadow: 0 24px 65px rgba(0,0,0,.3); }
body.dark .gs-solution-detail, html.dark .gs-solution-detail, .dark .gs-solution-detail { background: #102c38; border-color: #294650; }
