/* GRUPO CONSORCIO / BASE OFICIAL R09 DEPURADA
   Paquete fiel a R09: cascada ORIGINAL conservada en orden.
   Para cambios de estilo futuro, modificar solo el bloque pertinente.
*/

/* ===== INICIO ARCHIVO ORIGINAL: gc-shared.css ===== */
/* =========================================================
   GRUPO CONSORCIO · CAPA COMPARTIDA DE INTERACCIÓN Y UX
   Mantiene la identidad de cada página y unifica movimiento,
   accesibilidad, navegación móvil y estados interactivos.
   ========================================================= */
:root {
  --gc-motion-fast: 180ms;
  --gc-motion: 420ms;
  --gc-motion-slow: 850ms;
  --gc-ease: cubic-bezier(.2,.75,.25,1);
  --gc-focus: #0ea5e9;
  --gc-progress: #008736;
}

html { scroll-padding-top: 92px; }
body { min-width: 320px; }
::selection { background: rgba(0,135,54,.18); color: inherit; }

/* Accesibilidad */
.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 20000;
  transform: translateY(-160%); padding: 12px 16px; border-radius: 10px;
  background: #111827; color: #fff; text-decoration: none; font-weight: 700;
  box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform var(--gc-motion-fast) ease;
}
.skip-link:focus { transform: translateY(0); }
:where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--gc-focus) 78%, white);
  outline-offset: 4px;
}

/* Progreso de lectura */
#gc-scroll-progress {
  position: fixed; inset: 0 auto auto 0; z-index: 12000;
  width: 0; height: 3px; pointer-events: none;
  background: linear-gradient(90deg, var(--gc-progress), #00b347, #d31216);
  box-shadow: 0 0 15px color-mix(in srgb, var(--gc-progress) 65%, transparent);
  transition: width 80ms linear;
}

/* Barra de navegación más viva y legible */
.navbar {
  transition: padding var(--gc-motion) var(--gc-ease),
              background-color var(--gc-motion) ease,
              box-shadow var(--gc-motion) ease,
              border-color var(--gc-motion) ease;
}
.navbar.is-scrolled {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  box-shadow: 0 12px 35px rgba(15,23,42,.10) !important;
}
.navbar nav a { position: relative; }
.navbar nav a::after {
  content: ""; position: absolute; left: 50%; right: 50%; bottom: -9px; height: 2px;
  border-radius: 999px; background: currentColor; opacity: .8;
  transition: left var(--gc-motion-fast) ease, right var(--gc-motion-fast) ease;
}
.navbar nav a:hover::after,
.navbar nav a.active::after,
.navbar nav a[aria-current="page"]::after { left: 0; right: 0; }

/* Menú móvil inyectado por JS */
.gc-menu-toggle {
  display: none; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(100,116,139,.18);
  border-radius: 14px; background: rgba(255,255,255,.78); cursor: pointer;
  align-items: center; justify-content: center; flex-direction: column; gap: 5px;
  box-shadow: 0 8px 24px rgba(15,23,42,.08); z-index: 3;
}
.gc-page-cori .gc-menu-toggle {
  color: #fff; background: rgba(15,23,42,.78); border-color: rgba(255,255,255,.12);
}
.gc-page-cori .gc-mobile-menu { background: rgba(5,8,22,.96); border-color: rgba(255,255,255,.10); }
.gc-page-cori .gc-mobile-menu a:not(.nav-button) { color: rgba(255,255,255,.84); }
.gc-page-cori .gc-mobile-menu .gc-mobile-divider { background: rgba(255,255,255,.12); }

.gc-menu-toggle span {
  width: 20px; height: 2px; border-radius: 99px; background: currentColor;
  transition: transform var(--gc-motion-fast) ease, opacity var(--gc-motion-fast) ease;
}
.gc-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gc-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.gc-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.gc-mobile-menu {
  display: none; position: fixed; top: 78px; left: 18px; right: 18px; z-index: 1000;
  padding: 16px; border-radius: 22px; background: rgba(255,255,255,.94);
  border: 1px solid rgba(148,163,184,.22); backdrop-filter: blur(22px) saturate(160%);
  box-shadow: 0 24px 70px rgba(15,23,42,.18);
  transform: translateY(-12px) scale(.98); opacity: 0; pointer-events: none;
  transition: opacity var(--gc-motion-fast) ease, transform var(--gc-motion) var(--gc-ease);
}
.gc-mobile-menu a,
.gc-mobile-menu button {
  width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center;
  padding: 12px 16px; margin: 4px 0; border-radius: 13px; text-decoration: none;
}
.gc-mobile-menu a:not(.nav-button) { color: #334155; font-weight: 650; }
.gc-mobile-menu .gc-mobile-divider { height: 1px; background: rgba(148,163,184,.25); margin: 10px 4px; }
.gc-mobile-menu.is-open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
body.gc-menu-open { overflow: hidden; }

/* Movimiento de fondo sutil */
.background-glow {
  transform: translate(var(--gc-glow-x, 0), var(--gc-glow-y, 0));
  transition: transform 1200ms var(--gc-ease);
}

/* Revelado escalonado */
.fade-in { will-change: opacity, transform; transition-delay: var(--gc-delay, 0ms) !important; }

/* Spotlight interactivo sin alterar el layout */
.gc-interactive-card { --gc-spot-x: 50%; --gc-spot-y: 50%; isolation: isolate; position: relative; overflow: hidden; }
.gc-interactive-card::after {
  content: ""; position: absolute; inset: 0; z-index: 5; pointer-events: none;
  border-radius: inherit; opacity: 0;
  background: radial-gradient(320px circle at var(--gc-spot-x) var(--gc-spot-y), rgba(255,255,255,.30), transparent 56%);
  transition: opacity var(--gc-motion-fast) ease;
}
.gc-interactive-card:hover::after { opacity: 1; }

/* Botones: respuesta física discreta */
.gc-magnetic { transform: translate3d(var(--gc-btn-x,0), var(--gc-btn-y,0),0); }
.gc-magnetic { transition: transform var(--gc-motion-fast) ease, box-shadow var(--gc-motion) ease, background-position var(--gc-motion) ease !important; }
.gc-magnetic:active { transform: translate3d(var(--gc-btn-x,0), var(--gc-btn-y,0),0) scale(.98); }

/* Cursor ambiental en escritorio */
.gc-cursor-glow {
  position: fixed; left: 0; top: 0; width: 320px; height: 320px; z-index: -1;
  border-radius: 50%; pointer-events: none; opacity: .18;
  background: radial-gradient(circle, rgba(14,165,233,.28), rgba(0,135,54,.10) 38%, transparent 68%);
  transform: translate3d(calc(var(--gc-cursor-x, -500px) - 50%), calc(var(--gc-cursor-y, -500px) - 50%), 0);
  filter: blur(12px); transition: opacity 250ms ease;
}

/* Modales: estado, foco y scroll */
body.gc-modal-open { overflow: hidden; }
.modal-overlay.active { overflow-y: auto; padding: 26px 12px; }
.modal-overlay .glass-modal,
.modal-overlay .video-container { max-height: calc(100vh - 52px); overflow-y: auto; }
.modal-close { line-height: 1; }

/* FAQ dinámico */
body.gc-faq-enhanced .faq-item {
  border: 1px solid rgba(148,163,184,.22); border-radius: 16px; padding: 0 18px;
  background: rgba(255,255,255,.48); overflow: hidden;
  transition: border-color var(--gc-motion-fast) ease, box-shadow var(--gc-motion) ease, background var(--gc-motion) ease;
}
body.gc-faq-enhanced .faq-item:hover,
body.gc-faq-enhanced .faq-item.is-open {
  background: rgba(255,255,255,.85); border-color: rgba(0,135,54,.28);
  box-shadow: 0 12px 28px rgba(0,135,54,.08);
}
body.gc-faq-enhanced .faq-question {
  min-height: 66px; margin: 0; padding: 14px 36px 14px 0; cursor: pointer; position: relative;
}
body.gc-faq-enhanced .faq-question::after {
  content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
  width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%;
  background: rgba(0,135,54,.08); color: #008736; font-size: 20px;
  transition: rotate var(--gc-motion) var(--gc-ease), background var(--gc-motion-fast) ease;
}
body.gc-faq-enhanced .faq-item.is-open .faq-question::after { transform: translateY(-50%) rotate(45deg); background: rgba(0,135,54,.16); }
body.gc-faq-enhanced .faq-answer {
  display: grid; grid-template-rows: 0fr; padding: 0 0 0 25px; margin: 0;
  opacity: 0; transition: grid-template-rows var(--gc-motion) var(--gc-ease), opacity var(--gc-motion) ease, padding var(--gc-motion) ease;
}
body.gc-faq-enhanced .faq-answer > .gc-faq-inner { overflow: hidden; }
body.gc-faq-enhanced .faq-item.is-open .faq-answer { grid-template-rows: 1fr; opacity: 1; padding-bottom: 18px; }

/* Línea de tiempo con avance de lectura */
.timeline-container::after {
  content: ""; position: absolute; z-index: 1; top: 0; left: 50%; transform: translateX(-50%);
  width: 3px; height: calc(var(--gc-timeline-progress, 0) * 1%);
  border-radius: 99px; background: linear-gradient(#d31216, #ff4d4d);
  box-shadow: 0 0 18px rgba(211,18,22,.25); pointer-events: none;
}
.timeline-dot { transition: scale var(--gc-motion) var(--gc-ease), box-shadow var(--gc-motion) ease; }
.timeline-item.is-passed .timeline-dot { transform: scale(1.2); box-shadow: 0 0 0 8px rgba(211,18,22,.10), 0 0 18px rgba(211,18,22,.35); }

/* Toast no intrusivo para mensajes de interfaz */
#gc-toast-region {
  position: fixed; right: 24px; bottom: 24px; z-index: 20000; width: min(390px, calc(100vw - 32px));
  display: grid; gap: 10px; pointer-events: none;
}
.gc-toast {
  pointer-events: auto; display: flex; align-items: flex-start; gap: 12px;
  padding: 16px 18px; border-radius: 16px; color: #fff; background: rgba(15,23,42,.94);
  border: 1px solid rgba(255,255,255,.10); box-shadow: 0 18px 50px rgba(2,6,23,.30);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); opacity: 0; transform: translateY(16px);
  animation: gcToastIn 380ms var(--gc-ease) forwards;
}
.gc-toast::before { content: "✓"; flex: 0 0 auto; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #008736; font-weight: 800; }
.gc-toast.is-leaving { animation: gcToastOut 260ms ease forwards; }
@keyframes gcToastIn { to { opacity: 1; transform: translateY(0); } }
@keyframes gcToastOut { to { opacity: 0; transform: translateY(12px); } }

/* Estado de imagen faltante para desarrollo */
.gc-image-missing {
  min-height: 180px; padding: 28px; display: grid !important; place-items: center;
  border: 1px dashed rgba(148,163,184,.55); border-radius: 22px;
  background: linear-gradient(135deg, rgba(148,163,184,.12), rgba(255,255,255,.55));
  color: #64748b; text-align: center; font-weight: 700;
}
.gc-image-missing::after { content: attr(data-missing-label); }

/* Pequeños ajustes de rendimiento y legibilidad */
img { max-width: 100%; }
input, select, textarea, button { font: inherit; }
a[target="_blank"] { cursor: alias; }

@media (max-width: 1024px) {
  .navbar { padding-left: 22px !important; padding-right: 22px !important; }
  .gc-menu-toggle { display: flex; }
  .gc-mobile-menu { display: block; }
  .navbar > nav,
  .navbar > .nav-actions,
  .navbar > .nav-button { display: none !important; }
  .hero-buttons { flex-wrap: wrap; }
  .floating-faq-btn { padding: 13px; border-radius: 50%; }
  .floating-faq-btn:not(:focus-visible) { font-size: 0; gap: 0; }
  .floating-faq-btn svg { width: 22px; height: 22px; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 78px; }
  .section-title { line-height: 1.1; }
  .glass-card, .glass-modal { padding: 26px !important; border-radius: 22px !important; }
  .hero-buttons > * { width: 100%; text-align: center; }
  #gc-toast-region { right: 16px; bottom: 16px; }
  .cookie-banner { left: 16px !important; right: 16px !important; bottom: 16px !important; max-width: none !important; }
  .timeline-container::after { left: 30px; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
  .fade-in { opacity: 1 !important; transform: none !important; }
  .gc-cursor-glow { display: none; }
}

/* =========================================================
   RESPONSIVE + COMPATIBILIDAD ENTRE NAVEGADORES
   Chrome, Edge, Firefox y Safari actuales, con degradación
   progresiva cuando blur, color-mix o animación no existen.
   ========================================================= */
html {
  width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
}
body { width: 100%; min-width: 320px; overflow-x: clip; }
@supports not (overflow: clip) { body { overflow-x: hidden; } }

:where(header, main, section, article, aside, footer, nav, div, form) { min-width: 0; }
:where(p, h1, h2, h3, h4, a, button, span, li) { overflow-wrap: anywhere; }
img, picture, video, canvas, svg { max-width: 100%; height: auto; }
video, canvas { display: block; }
input, select, textarea, button { max-width: 100%; min-width: 0; }
textarea { resize: vertical; }
button, a { -webkit-tap-highlight-color: transparent; }

/* Fallback visual para navegadores sin color-mix */
:where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline-color: #0ea5e9;
}
#gc-scroll-progress { box-shadow: 0 0 15px rgba(0,135,54,.35); }
@supports (color: color-mix(in srgb, black, white)) {
  :where(a, button, input, select, textarea, [role="button"]):focus-visible {
    outline-color: color-mix(in srgb, var(--gc-focus) 78%, white);
  }
  #gc-scroll-progress { box-shadow: 0 0 15px color-mix(in srgb, var(--gc-progress) 65%, transparent); }
}

/* Alturas de viewport estables en móviles */
.modal-overlay { min-height: 100vh; }
@supports (min-height: 100dvh) { .modal-overlay { min-height: 100dvh; } }
.modal-overlay .glass-modal,
.modal-overlay .video-container { max-height: calc(100vh - 52px); }
@supports (height: 100dvh) {
  .modal-overlay .glass-modal,
  .modal-overlay .video-container { max-height: calc(100dvh - 52px); }
}

/* Safe areas para iPhone/iPad */
.navbar {
  padding-left: max(22px, env(safe-area-inset-left));
  padding-right: max(22px, env(safe-area-inset-right));
}
footer {
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
  padding-bottom: max(30px, env(safe-area-inset-bottom));
}

/* Tamaños fluidos compartidos */
.logo-img { width: auto; max-width: min(42vw, 240px); }
.section-title { font-size: clamp(2rem, 4.2vw, 3.25rem); }
.section-subtitle { font-size: clamp(1rem, 1.6vw, 1.125rem); }
.hero-historia h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); }

/* Página Atención */
.gc-page-atencion .section-atencion {
  width: min(100%, 1360px);
  padding: clamp(130px, 14vw, 165px) clamp(18px, 5vw, 80px) clamp(60px, 8vw, 90px);
}
.gc-page-atencion .section-title { font-size: clamp(2.35rem, 5vw, 3.55rem); }
.gc-page-atencion .atencion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 3vw, 40px); }

/* Página Clientes */
.gc-page-clientes .section {
  width: min(100%, 1480px);
  padding-left: clamp(18px, 5vw, 80px);
  padding-right: clamp(18px, 5vw, 80px);
}
.gc-page-clientes .grid-clientes { grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(18px, 3vw, 40px); }
.gc-page-clientes .cliente-card { min-width: 0; }
.gc-page-clientes .action-boxes { grid-template-columns: repeat(2, minmax(0,1fr)); }

/* Página CORI */
.gc-page-cori .hero {
  width: min(100%, 1500px);
  min-height: 100vh;
  padding-left: clamp(22px, 5vw, 80px);
  padding-right: clamp(22px, 5vw, 80px);
}
@supports (min-height: 100svh) { .gc-page-cori .hero { min-height: 100svh; } }
.gc-page-cori .hero h1 { font-size: clamp(2.8rem, 6vw, 4.75rem); text-wrap: balance; }
.gc-page-cori .hero-visual { width: min(100%, 580px); height: clamp(430px, 58vw, 650px); }
.gc-page-cori .cori-image { width: min(78vw, 420px); height: auto; }
.gc-page-cori .section { padding-left: clamp(22px, 5vw, 80px); padding-right: clamp(22px, 5vw, 80px); }
.gc-page-cori .cta { margin-left: clamp(18px, 5vw, 80px); margin-right: clamp(18px, 5vw, 80px); padding: clamp(48px, 7vw, 80px) clamp(24px, 6vw, 80px); }

/* Página Historia */
.gc-page-historia .personas-primero,
.gc-page-historia .impacto-section { width: min(calc(100% - 32px), 1300px); }
.gc-page-historia .personas-primero { padding: clamp(58px, 8vw, 100px) clamp(24px, 7vw, 80px); }
.gc-page-historia .impacto-section { padding-left: 0; padding-right: 0; }

/* Footer adaptable sin zonas muertas */
.footer-grid { width: min(100%, 1400px); padding-right: 0 !important; }
.footer-info-row, .footer-links-row { row-gap: 10px; }

/* Interacciones sólo cuando existe hover real */
@media (hover: none) {
  .gc-interactive-card::after { display: none; }
  .cliente-card:hover .cliente-servicios { max-height: 0; opacity: 0; padding-top: 0; border-top-width: 0; margin-top: 0; }
  .cliente-card:focus .cliente-servicios,
  .cliente-card:focus-within .cliente-servicios { max-height: 220px; opacity: 1; padding-top: 20px; border-top: 1px dashed #E5E7EB; margin-top: 10px; }
}

@media (max-width: 1200px) {
  .gc-page-clientes .grid-clientes { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 1024px) {
  .navbar { min-height: 70px; }
  .gc-mobile-menu { top: calc(72px + env(safe-area-inset-top)); }
  .gc-page-atencion .atencion-grid,
  .gc-page-clientes .action-boxes { grid-template-columns: 1fr; }
  .gc-page-cori .hero { min-height: auto; }
}

@media (max-width: 760px) {
  .gc-page-clientes .grid-clientes { grid-template-columns: 1fr; }
  .gc-page-clientes .grid-clientes.centered { display: grid; }
  .gc-page-clientes .grid-clientes.centered .cliente-card { width: 100%; }
  .gc-page-cori .hero-visual { height: clamp(370px, 105vw, 520px); }
  .gc-page-cori .floating-card { display: none; }
  .timeline-container { padding-left: 14px !important; padding-right: 14px !important; }
}

@media (max-width: 480px) {
  .navbar { padding-left: 14px !important; padding-right: 14px !important; }
  .logo-img { height: 38px !important; max-width: 56vw; }
  .gc-menu-toggle { width: 42px; height: 42px; border-radius: 12px; }
  .gc-mobile-menu { left: 10px; right: 10px; padding: 12px; }
  .glass-card, .glass-modal { padding: 22px !important; }
  .floating-faq-btn { right: 14px !important; bottom: calc(14px + env(safe-area-inset-bottom)) !important; }
  .footer-info-row, .footer-links-row { flex-direction: column; gap: 8px; }
  .footer-links-row > span[aria-hidden="true"], .footer-links-row > span:not(:first-child) { display: none; }
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .navbar, .glass-card, .glass-modal, .modal-overlay, .gc-mobile-menu, .gc-toast { backdrop-filter: none; }
  .navbar { background: rgba(255,255,255,.98); }
  .gc-page-cori .navbar { background: rgba(5,8,22,.98); }
  .glass-card, .glass-modal { background: #fff; }
  .gc-page-cori .glass-card, .gc-page-cori .glass-modal { background: #111827; }
}

/* Evita desbordamiento visual en CORI a anchos muy pequeños */
@media (max-width: 700px) {
  .gc-page-cori .background-glow {
    width: 130vw !important;
    height: 130vw !important;
    right: -30vw !important;
    left: auto !important;
  }
  .gc-page-cori .cori-circle {
    width: min(500px, 92vw) !important;
    height: min(500px, 92vw) !important;
  }
}
@media (max-width: 700px) {
  .background-glow { max-width: 130vw; max-height: 130vw; }
  .cori-circle { width: min(500px, 92vw) !important; height: min(500px, 92vw) !important; }
}


/* =========================================================
   AJUSTE V3 APROBADO · FOOTER, COOKIES Y VENTANA DE LOGROS
   ========================================================= */

/* El aviso de cookies se controla desde gc-shared.js para que
   siempre aparezca antes que la ventana rotativa de logros. */
.cookie-banner {
  display: none !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(22px) scale(.985);
  transition: opacity 360ms var(--gc-ease),
              transform 420ms var(--gc-ease),
              visibility 360ms ease;
}
.cookie-banner.gc-cookie-visible {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* La ventana de logros permanece por encima del contenido, pero
   nunca se muestra simultáneamente con el aviso de cookies. */
.gc-insight-float { will-change: opacity, transform; }
.gc-insight-dot { transition: width 260ms ease, background 260ms ease; }

/* En escritorio se reserva una tercera zona visual a la derecha
   para el botón flotante. Así ninguna red social queda debajo. */
@media (min-width: 1101px) {
  footer .footer-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    column-gap: clamp(34px, 5vw, 92px);
    width: min(100%, 1540px);
    padding-right: clamp(260px, 17vw, 330px) !important;
  }
  footer .footer-left { min-width: 0; }
  footer .footer-socials,
  footer .social-icons {
    justify-self: end;
    flex-wrap: nowrap;
    position: relative;
    z-index: 2;
  }
  .floating-faq-btn {
    right: max(24px, env(safe-area-inset-right)) !important;
    bottom: max(24px, env(safe-area-inset-bottom)) !important;
    white-space: nowrap;
  }
}

/* En portátiles se conserva el texto del botón, pero se compacta
   ligeramente y se mantiene una separación segura. */
@media (min-width: 1025px) and (max-width: 1450px) {
  footer .footer-grid {
    column-gap: 26px;
    padding-right: 235px !important;
  }
  .floating-faq-btn {
    padding: 13px 18px !important;
    font-size: 13px !important;
  }
}

/* En tableta y móvil el botón ya se convierte en icono circular;
   el footer vuelve a apilarse sin dejar espacios vacíos. */
@media (max-width: 1100px) {
  footer .footer-grid {
    display: flex !important;
    padding-right: 0 !important;
  }
  footer .footer-socials,
  footer .social-icons {
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (max-width: 700px) {
  .cookie-banner.gc-cookie-visible {
    display: flex !important;
  }
}


/* =========================================================
   PRIVACIDAD V3.2 · VENTANAS LIQUID GLASS Y ENLACES LEGALES
   ========================================================= */
.gc-legal-link { cursor: pointer; }

.gc-legal-overlay {
  z-index: 30000 !important;
  padding: clamp(12px, 3vw, 34px) !important;
  background:
    radial-gradient(circle at 15% 10%, rgba(0,179,71,.18), transparent 34%),
    radial-gradient(circle at 88% 90%, rgba(211,18,22,.13), transparent 35%),
    rgba(3, 10, 23, .58) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
}
.gc-legal-panel {
  width: min(1180px, 100%);
  max-width: 1180px !important;
  max-height: min(92vh, 940px) !important;
  max-height: min(92dvh, 940px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: clamp(24px, 3vw, 38px) !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(248,250,252,.70)) !important;
  box-shadow:
    0 38px 110px rgba(2,6,23,.38),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  color: #172033;
}
.gc-legal-panel::before {
  content: '';
  position: absolute;
  width: 420px; height: 420px; border-radius: 50%;
  right: -180px; top: -210px;
  background: radial-gradient(circle, rgba(0,179,71,.22), transparent 68%);
  pointer-events: none;
}
.gc-legal-panel .modal-close {
  top: 18px; right: 18px; z-index: 8;
  color: #fff; background: rgba(15,23,42,.24);
  border: 1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.gc-legal-panel .modal-close:hover { background: rgba(211,18,22,.82); color: #fff; }
.gc-legal-scroll {
  max-height: min(92vh, 940px);
  max-height: min(92dvh, 940px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.gc-legal-hero {
  position: relative; overflow: hidden;
  padding: clamp(34px, 5vw, 64px) clamp(24px, 6vw, 72px) clamp(28px, 4vw, 48px);
  color: #fff;
  background: linear-gradient(125deg, #071527, #103e2b 57%, #0b5e2d);
}
.gc-legal-hero.terms { background: linear-gradient(125deg, #101827, #253b42 56%, #0d6b39); }
.gc-legal-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  margin-bottom: 15px; padding: 7px 12px; border-radius: 999px;
  background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.16);
  color: #bbf7d0; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.gc-legal-hero h2 {
  max-width: 850px; margin: 0 0 14px;
  font: 700 clamp(2.15rem, 5vw, 4.25rem)/1.02 'Space Grotesk', sans-serif;
  text-wrap: balance;
}
.gc-legal-hero p { max-width: 820px; margin: 0; color: rgba(255,255,255,.76); line-height: 1.75; font-size: clamp(.96rem, 1.5vw, 1.1rem); }
.gc-privacy-switch {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;
  padding: 18px clamp(24px, 6vw, 72px) 0;
  background: rgba(255,255,255,.48);
}
.gc-privacy-tab {
  position: relative; min-width: 0; min-height: 86px; padding: 15px 18px; border-radius: 18px;
  border: 1px solid rgba(148,163,184,.20); cursor: pointer; text-align: left;
  color: #334155; background: rgba(255,255,255,.72);
  box-shadow: 0 10px 28px rgba(15,23,42,.05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.gc-privacy-tab:hover { transform: translateY(-2px); border-color: rgba(0,135,54,.28); box-shadow: 0 16px 34px rgba(15,23,42,.09); }
.gc-privacy-tab.active {
  color: #fff; border-color: rgba(255,255,255,.18);
  background: linear-gradient(118deg,#067337,#00a94f);
  box-shadow: 0 18px 38px rgba(0,135,54,.20), inset 0 1px 0 rgba(255,255,255,.18);
}
.gc-privacy-tab-kicker { display:block; margin-bottom:4px; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#008736; }
.gc-privacy-tab.active .gc-privacy-tab-kicker { color:#bbf7d0; }
.gc-privacy-tab strong { display:block; font:700 1.04rem 'Space Grotesk',sans-serif; }
.gc-privacy-tab small { display:block; margin-top:5px; color:#64748b; font-size:.78rem; line-height:1.35; }
.gc-privacy-tab.active small { color:rgba(255,255,255,.75); }

.gc-legal-meta {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;
  padding: 18px clamp(24px, 6vw, 72px); background: rgba(255,255,255,.48);
  border-bottom: 1px solid rgba(148,163,184,.20);
}
.gc-legal-meta-card { min-width: 0; padding: 15px 17px; border-radius: 17px; background: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.80); box-shadow: 0 10px 30px rgba(15,23,42,.05); }
.gc-legal-meta-card strong { display: block; color: #008736; font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 5px; }
.gc-legal-meta-card span { color: #334155; line-height: 1.45; font-size: .9rem; }
.gc-legal-content { padding: clamp(25px, 5vw, 58px) clamp(24px, 6vw, 72px) clamp(34px, 6vw, 70px); }
.gc-legal-callout {
  margin-bottom: 24px; padding: 16px 18px; border-radius: 17px;
  background: rgba(0,135,54,.075); border: 1px solid rgba(0,135,54,.14);
  color: #254334; line-height: 1.6; font-size: .92rem;
}
.gc-legal-viewer {
  position: relative; min-height: 580px; height: min(64vh, 690px); height: min(64dvh, 690px);
  overflow: hidden; border-radius: 22px; background: #e9eef2;
  border: 1px solid rgba(100,116,139,.22); box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.gc-legal-viewer iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.gc-legal-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.gc-legal-actions a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px;
  padding: 12px 18px; border-radius: 13px; text-decoration: none; font-weight: 750;
  color: #fff; background: linear-gradient(90deg,#008736,#00b347); box-shadow: 0 10px 24px rgba(0,135,54,.18);
}
.gc-legal-actions small { color: #64748b; line-height: 1.5; }
.gc-terms-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(22px, 4vw, 48px); }
.gc-terms-column { min-width: 0; }
.gc-terms-section + .gc-terms-section { margin-top: 34px; }
.gc-terms-section h3 {
  margin: 0 0 18px; color: #203344;
  font: 700 clamp(1.35rem, 2.3vw, 2rem)/1.15 'Space Grotesk', sans-serif;
}
.gc-terms-section h3 span { color: #4eae6b; }
.gc-terms-section h4 { margin: -8px 0 18px; color: #737373; font: 700 clamp(1.15rem, 2vw, 1.6rem)/1.2 'Space Grotesk', sans-serif; }
.gc-terms-section p { margin: 0 0 20px; color: #3f4650; line-height: 1.72; text-align: justify; }
.gc-terms-section a { color: #008736; font-weight: 700; }

@media (max-width: 820px) {
  .gc-legal-meta { grid-template-columns: 1fr; }
  .gc-terms-grid { grid-template-columns: 1fr; }
  .gc-legal-viewer { min-height: 490px; height: 58vh; height: 58dvh; }
}
@media (max-width: 520px) {
  .gc-privacy-switch { grid-template-columns: 1fr; gap: 9px; }
  .gc-privacy-tab { min-height: 72px; }
  .gc-legal-overlay { padding: 8px !important; }
  .gc-legal-panel { border-radius: 22px !important; max-height: 96vh !important; max-height: 96dvh !important; }
  .gc-legal-scroll { max-height: 96vh; max-height: 96dvh; }
  .gc-legal-hero { padding-top: 54px; }
  .gc-legal-viewer { min-height: 430px; height: 56vh; height: 56dvh; border-radius: 16px; }
  .gc-legal-actions > * { width: 100%; text-align: center; }
  .gc-terms-section p { text-align: left; }
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .gc-legal-overlay { background: rgba(3,10,23,.88) !important; }
  .gc-legal-panel { background: #f8fafc !important; }
}


/* =========================================================
   COOKIES V3.3 · CONFIGURACIÓN LIQUID GLASS Y CONTROLES
   ========================================================= */
.gc-cookie-banner-copy h4 {
  margin: 0 0 8px;
  color: #111827;
  font: 700 1.05rem 'Space Grotesk',sans-serif;
}
.gc-cookie-banner-actions {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 10px;
}
.cookie-banner .gc-cookie-config-btn,
.cookie-banner .gc-cookie-accept-btn {
  width: 100%;
  min-height: 44px;
  padding: 11px 13px;
  border-radius: 11px;
  font-weight: 750;
  font-size: .86rem;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.cookie-banner .gc-cookie-config-btn {
  color: #334155;
  background: #fff;
  border: 1px solid #cbd5e1;
}
.cookie-banner .gc-cookie-config-btn:hover { color: #008736; border-color: rgba(0,135,54,.38); background: #f0fdf4; }
.cookie-banner .gc-cookie-accept-btn {
  color: #fff;
  border: 0;
  background: linear-gradient(90deg,#008736,#00b347);
  box-shadow: 0 8px 20px rgba(0,135,54,.20);
}
.cookie-banner .gc-cookie-accept-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,135,54,.28); }
.gc-cookie-overlay { z-index: 31000 !important; }
.gc-cookie-panel {
  width: min(850px,100%);
  max-width: 850px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #172033;
  border-radius: clamp(24px,3vw,38px) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  background: linear-gradient(145deg,rgba(255,255,255,.94),rgba(240,253,244,.78)) !important;
  box-shadow: 0 42px 120px rgba(2,6,23,.40), inset 0 1px 0 rgba(255,255,255,.98) !important;
}
.gc-cookie-panel .modal-close {
  top: 18px;
  right: 18px;
  z-index: 4;
  color: #fff;
  background: rgba(15,23,42,.26);
  border: 1px solid rgba(255,255,255,.30);
}
.gc-cookie-panel-scroll {
  max-height: min(92vh,900px);
  max-height: min(92dvh,900px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.gc-cookie-modal-head {
  position: relative;
  overflow: hidden;
  padding: clamp(34px,5vw,58px) clamp(24px,5vw,56px) 30px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0,rgba(96,165,250,.26),transparent 40%),
    linear-gradient(125deg,#071527,#0d3b2a 62%,#0b5e2d);
}
.gc-cookie-modal-head::after {
  content: '';
  position: absolute;
  width: 330px;
  height: 330px;
  right: -160px;
  bottom: -230px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(34,197,94,.35),transparent 68%);
}
.gc-cookie-modal-head .gc-legal-eyebrow { color: #86efac; }
.gc-cookie-modal-head h2 {
  margin: 9px 0 14px;
  font: 700 clamp(2rem,4vw,3.45rem)/1.03 'Space Grotesk',sans-serif;
}
.gc-cookie-modal-head p {
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.72;
}
.gc-cookie-modal-body { padding: clamp(24px,4vw,44px) clamp(20px,5vw,54px) 26px; }
.gc-cookie-policy-note {
  margin-bottom: 20px;
  padding: 15px 17px;
  border-radius: 15px;
  color: #475569;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(148,163,184,.20);
  line-height: 1.6;
  font-size: .9rem;
}
.gc-cookie-category-list { display: grid; gap: 10px; }
.gc-cookie-category {
  border-radius: 17px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(148,163,184,.20);
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.gc-cookie-category[open] { border-color: rgba(0,135,54,.26); box-shadow: 0 12px 30px rgba(15,23,42,.06); }
.gc-cookie-category summary {
  min-height: 66px;
  padding: 14px 17px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}
.gc-cookie-category summary::-webkit-details-marker { display: none; }
.gc-cookie-category-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #172033;
  font-weight: 750;
}
.gc-cookie-category-title::before {
  content: '⌄';
  color: #008736;
  font-size: 1.25rem;
  transition: transform .25s ease;
}
.gc-cookie-category[open] .gc-cookie-category-title::before { transform: rotate(180deg); }
.gc-cookie-category p {
  margin: 0;
  padding: 0 62px 18px 48px;
  color: #64748b;
  line-height: 1.65;
  font-size: .9rem;
}
.gc-cookie-always {
  color: #008736;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.gc-cookie-switch {
  position: relative;
  width: 52px;
  height: 30px;
  display: inline-block;
}
.gc-cookie-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.gc-cookie-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: inset 0 2px 5px rgba(15,23,42,.12);
  transition: background .25s ease;
}
.gc-cookie-slider::after {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  left: 4px;
  top: 4px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 8px rgba(15,23,42,.24);
  transition: transform .25s ease;
}
.gc-cookie-switch input:checked + .gc-cookie-slider { background: linear-gradient(90deg,#16a34a,#4ade80); }
.gc-cookie-switch input:checked + .gc-cookie-slider::after { transform: translateX(22px); }
.gc-cookie-switch input:focus-visible + .gc-cookie-slider { outline: 3px solid #60a5fa; outline-offset: 3px; }
.gc-cookie-modal-actions {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  padding: 18px clamp(20px,5vw,54px) max(20px,env(safe-area-inset-bottom));
  background: rgba(255,255,255,.88);
  border-top: 1px solid rgba(148,163,184,.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.gc-cookie-action {
  min-height: 47px;
  padding: 12px 14px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 800;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.gc-cookie-action:hover { transform: translateY(-2px); }
.gc-cookie-action.reject { color: #475569; background: #e2e8f0; border: 1px solid #cbd5e1; }
.gc-cookie-action.accept-all,
.gc-cookie-action.save { color: #fff; border: 0; background: linear-gradient(90deg,#16a34a,#4ade80); box-shadow: 0 8px 20px rgba(22,163,74,.19); }
.gc-cookie-action.save { background: linear-gradient(90deg,#008736,#00b347); }
@media (max-width:700px) {
  .gc-cookie-banner-actions { grid-template-columns: 1fr; }
  .gc-cookie-modal-actions { grid-template-columns: 1fr; }
  .gc-cookie-category p { padding-left: 18px; padding-right: 18px; }
}



/* =========================================================
   COBERTURA GLOBAL FLOTANTE · CTA COMPARTIDO EN TODAS LAS PÁGINAS
   ========================================================= */
.floating-coverage-btn {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(104px, calc(env(safe-area-inset-bottom) + 104px));
  z-index: 24000;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px 14px 14px;
  border-radius: 20px;
  text-decoration: none;
  color: #e5eef9;
  border: 1px solid rgba(125, 211, 252, .22);
  background:
    linear-gradient(145deg, rgba(6,15,34,.94), rgba(10,29,58,.90));
  box-shadow:
    0 18px 40px rgba(2, 6, 23, .32),
    0 0 0 1px rgba(255,255,255,.03) inset;
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  transition: transform var(--gc-motion) var(--gc-ease), box-shadow var(--gc-motion) ease, border-color var(--gc-motion-fast) ease;
  isolation: isolate;
}
.floating-coverage-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(0,135,54,.12), rgba(59,130,246,.09));
  opacity: .9;
  pointer-events: none;
}
.floating-coverage-btn:hover {
  transform: translateY(-3px);
  border-color: rgba(103, 232, 249, .55);
  box-shadow: 0 22px 48px rgba(2, 6, 23, .40);
}
.floating-coverage-btn__icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  position: relative;
  color: #dff7ff;
  background: linear-gradient(145deg, rgba(34,197,94,.22), rgba(59,130,246,.22));
  border: 1px solid rgba(147,197,253,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.floating-coverage-btn__icon::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(74, 222, 128, .55);
  filter: blur(10px);
  top: -4px;
  right: -3px;
  animation: gcCoveragePulse 2.2s ease-in-out infinite;
}
.floating-coverage-btn__icon svg {
  width: 22px;
  height: 22px;
  animation: gcCoverageFloat 2.8s ease-in-out infinite;
}
.floating-coverage-btn__text {
  position: relative;
  display: flex;
  flex-direction: column;
  line-height: 1.12;
}
.floating-coverage-btn__text small {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, .78);
}
.floating-coverage-btn__text strong {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
}
@keyframes gcCoveragePulse {
  0%, 100% { transform: scale(.92); opacity: .45; }
  50% { transform: scale(1.12); opacity: .92; }
}
@keyframes gcCoverageFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-2px); }
}
@media (max-width: 1100px) {
  .floating-coverage-btn {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(92px, calc(env(safe-area-inset-bottom) + 92px));
    padding: 12px 14px 12px 12px;
    gap: 10px;
  }
  .floating-coverage-btn__text strong { font-size: 13px; }
}
@media (max-width: 720px) {
  .floating-coverage-btn {
    border-radius: 18px;
    max-width: calc(100vw - 96px);
  }
  .floating-coverage-btn__text small { font-size: 9px; }
  .floating-coverage-btn__text strong { font-size: 12px; }
}
@media (max-width: 560px) {
  .floating-coverage-btn {
    padding: 12px;
    border-radius: 50%;
    width: 52px;
    height: 52px;
    justify-content: center;
  }
  .floating-coverage-btn__text { display: none; }
  .floating-coverage-btn__icon { width: 100%; height: 100%; border-radius: 50%; }
}



/* =========================================================
   BOTÓN FLOTANTE DE CONTACTO · SÓLO PÁGINA CLIENTES
   ========================================================= */
.floating-contact-btn {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(104px, calc(env(safe-area-inset-bottom) + 104px));
  z-index: 24000;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 14px 8px 9px;
  border-radius: 18px;
  color: #f8fafc;
  text-decoration: none;
  background: linear-gradient(145deg, rgba(7,17,34,.96), rgba(14,32,58,.94));
  border: 1px solid rgba(74,222,128,.22);
  box-shadow: 0 16px 34px rgba(2,6,23,.30);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.floating-contact-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(74,222,128,.48);
  box-shadow: 0 20px 40px rgba(2,6,23,.36);
}
.floating-contact-btn__icon {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #dffbe9;
  background: linear-gradient(145deg, rgba(34,197,94,.22), rgba(59,130,246,.18));
  border: 1px solid rgba(110,231,183,.22);
  flex: 0 0 auto;
}
.floating-contact-btn__icon svg { width: 21px; height: 21px; }
.floating-contact-btn__text { display: flex; flex-direction: column; line-height: 1.05; }
.floating-contact-btn__text small {
  color: rgba(226,232,240,.62);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.floating-contact-btn__text strong { color: #fff; font-size: 13px; }
@media (max-width: 560px) {
  .floating-contact-btn {
    width: 50px;
    height: 50px;
    padding: 6px;
    border-radius: 50%;
    justify-content: center;
  }
  .floating-contact-btn__icon { width: 100%; height: 100%; border-radius: 50%; }
  .floating-contact-btn__text { display: none; }
}



/* =========================================================
   CONSISTENCIA FINAL · COOKIES, FOOTER Y OFICINAS
   ========================================================= */

/* Aviso de cookies: mismo diseño del Index en todas las páginas. */
#cookie-banner.cookie-banner {
  position: fixed !important;
  left: max(24px, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  width: min(450px, calc(100vw - 32px)) !important;
  max-width: 450px !important;
  padding: 24px !important;
  display: none !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 15px !important;
  color: #4b5563 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  background: #ffffff !important;
  border: 1px solid rgba(148,163,184,.20) !important;
  border-left: 5px solid #008736 !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 56px rgba(2,6,23,.24) !important;
  z-index: 27000 !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(22px) scale(.985);
}
#cookie-banner.cookie-banner.gc-cookie-visible {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
}
#cookie-banner .gc-cookie-banner-copy { min-width: 0; }
#cookie-banner .gc-cookie-banner-copy h4 {
  margin: 0 0 8px !important;
  color: #111827 !important;
  font: 700 1.05rem 'Space Grotesk', sans-serif !important;
}
#cookie-banner .gc-cookie-banner-copy p {
  margin: 0 !important;
  color: #4b5563 !important;
  line-height: 1.6 !important;
}
#cookie-banner .gc-cookie-banner-copy a {
  color: #008736 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
#cookie-banner .gc-cookie-banner-actions {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
}
#cookie-banner .gc-cookie-config-btn,
#cookie-banner .gc-cookie-accept-btn {
  min-height: 46px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  border-radius: 11px !important;
  font-weight: 800 !important;
  font-size: .86rem !important;
}

/* Footer único para todas las páginas. */
.gc-site-footer {
  --footer-accent: #00b347;
  position: relative;
  width: 100%;
  padding: 28px max(28px, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left)) !important;
  color: rgba(226,232,240,.78) !important;
  background: linear-gradient(135deg,#0d1728 0%,#111827 100%) !important;
  border-top: 3px solid var(--footer-accent) !important;
  font-family: 'Inter',sans-serif !important;
  z-index: 2;
}
.gc-page-cori .gc-site-footer { --footer-accent: #8b5cf6; }
.gc-page-historia .gc-site-footer { --footer-accent: #d31216; }
.gc-page-atencion .gc-site-footer { --footer-accent: #00b347; }
.gc-site-footer .footer-grid {
  width: min(100%,1540px) !important;
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding-right: clamp(250px,17vw,330px) !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) max-content !important;
  gap: clamp(28px,5vw,78px) !important;
  align-items: center !important;
}
.gc-site-footer .footer-left { min-width: 0; }
.gc-site-footer .footer-info-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px 24px !important;
  margin-bottom: 10px !important;
}
.gc-site-footer .footer-info-item {
  appearance: none;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0;
  padding: 0 !important;
  color: rgba(226,232,240,.80) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  font: 500 14px/1.35 'Inter',sans-serif !important;
  cursor: pointer;
  transition: color .22s ease, transform .22s ease;
}
.gc-site-footer .footer-info-item:hover { color: #fff !important; transform: translateY(-1px); }
.gc-site-footer .footer-info-item svg {
  width: 17px !important;
  height: 17px !important;
  fill: var(--footer-accent) !important;
  flex: 0 0 auto;
}
.gc-site-footer .footer-info-item strong { color: rgba(248,250,252,.88); }
.gc-site-footer .footer-links-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px 12px !important;
  color: rgba(203,213,225,.64) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.gc-site-footer .footer-links-row a {
  color: rgba(203,213,225,.70) !important;
  text-decoration: none !important;
  transition: color .22s ease;
}
.gc-site-footer .footer-links-row a:hover,
.gc-site-footer .footer-links-row .footer-faq-link { color: var(--footer-accent) !important; }
.gc-site-footer .footer-socials {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 15px !important;
  position: relative;
  z-index: 3;
}
.gc-site-footer .footer-socials a {
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  color: rgba(203,213,225,.55) !important;
  text-decoration: none !important;
  transition: color .22s ease, transform .22s ease;
}
.gc-site-footer .footer-socials a:hover { color: #fff !important; transform: translateY(-2px); }
.gc-site-footer .footer-socials svg { width: 22px !important; height: 22px !important; fill: currentColor !important; }

/* Ventana compacta de ubicación. */
.gc-office-overlay {
  z-index: 32500 !important;
  padding: 18px !important;
  background: rgba(2,6,23,.62) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
}
.gc-office-panel {
  width: min(470px,100%) !important;
  max-width: 470px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.52) !important;
  background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,253,244,.90)) !important;
  color: #172033 !important;
  box-shadow: 0 34px 90px rgba(2,6,23,.42) !important;
}
.gc-office-panel .modal-close {
  top: 16px !important;
  right: 16px !important;
  z-index: 4;
  width: 40px !important;
  height: 40px !important;
  color: #fff !important;
  background: rgba(15,23,42,.26) !important;
  border: 1px solid rgba(255,255,255,.30) !important;
}
.gc-office-content { padding: 38px; }
.gc-office-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 18px;
  color: #008736;
  background: rgba(0,135,54,.10);
  border: 1px solid rgba(0,135,54,.14);
}
.gc-office-icon svg { width: 28px; height: 28px; fill: currentColor; }
.gc-office-content h2 { margin: 0 0 10px; font: 700 2rem/1.05 'Space Grotesk',sans-serif; color: #111827; }
.gc-office-address { margin: 0 0 22px; color: #475569; line-height: 1.7; }
.gc-office-question { margin: 0 0 12px; color: #64748b; font-weight: 700; font-size: .92rem; }
.gc-office-map-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 54px;
  padding: 14px 18px;
  border-radius: 14px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
  background: linear-gradient(90deg,#008736,#00b347);
  box-shadow: 0 12px 28px rgba(0,135,54,.20);
  transition: transform .22s ease,box-shadow .22s ease;
}
.gc-office-map-link:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(0,135,54,.28); }

/* Puntos del mapa: sin líneas; cada pin parte de su coordenada real. */
.gc-page-clientes .coverage-map-image-wrap .map-pin {
  transform: translate(-18px,-50%) !important;
}
.gc-page-clientes .coverage-map-image-wrap .map-pin:hover,
.gc-page-clientes .coverage-map-image-wrap .map-pin.is-active {
  transform: translate(-18px,calc(-50% - 3px)) scale(1.015) !important;
}
.gc-page-clientes .coverage-map-image-wrap .map-pin::after { display: none !important; }

@media (max-width: 1100px) {
  .gc-site-footer .footer-grid {
    grid-template-columns: 1fr !important;
    padding-right: 0 !important;
    gap: 18px !important;
  }
  .gc-site-footer .footer-socials { justify-content: flex-start !important; }
}
@media (max-width: 700px) {
  #cookie-banner.cookie-banner {
    left: 16px !important;
    right: 16px !important;
    bottom: max(16px,env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    padding: 20px !important;
  }
  #cookie-banner .gc-cookie-banner-actions { grid-template-columns: 1fr !important; }
  .gc-site-footer { padding: 24px 18px max(28px,env(safe-area-inset-bottom)) !important; }
  .gc-site-footer .footer-info-row { align-items: flex-start !important; flex-direction: column !important; gap: 11px !important; }
  .gc-site-footer .footer-links-row { gap: 7px 10px !important; }
  .gc-office-content { padding: 30px 24px 26px; }
}



/* =========================================================
   AYUDA Y SUGERENCIAS · LIQUID GLASS COMPARTIDO
   ========================================================= */
body.gc-modal-lock { overflow: hidden !important; }
.gc-help-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 220ms ease, visibility 220ms ease;
  z-index: 38000 !important;
  padding: clamp(12px, 3vw, 32px) !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(0,179,71,.18), transparent 31%),
    radial-gradient(circle at 88% 92%, rgba(59,130,246,.18), transparent 32%),
    rgba(2, 8, 20, .70) !important;
  backdrop-filter: blur(14px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
}
.gc-help-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.gc-help-panel {
  position: relative !important;
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  max-height: min(92vh, 880px) !important;
  max-height: min(92dvh, 880px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: clamp(24px, 3vw, 36px) !important;
  color: #f8fafc !important;
  background:
    radial-gradient(circle at 8% 6%, rgba(34,197,94,.13), transparent 30%),
    radial-gradient(circle at 96% 90%, rgba(139,92,246,.16), transparent 32%),
    linear-gradient(145deg, rgba(6,15,31,.98), rgba(12,27,52,.97)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 38px 100px rgba(2,6,23,.56), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.gc-help-panel .gc-help-close {
  position: absolute !important;
  top: 18px !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  right: 18px !important;
  z-index: 5 !important;
  color: #f8fafc !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.gc-help-panel .gc-help-close:hover { background: rgba(211,18,22,.78) !important; color: #fff !important; transform: none !important; }
.gc-help-shell {
  max-height: min(92vh, 880px);
  max-height: min(92dvh, 880px);
  overflow: auto;
  padding: clamp(28px, 4.5vw, 54px);
  scrollbar-width: thin;
}
.gc-help-head { max-width: 760px; margin-bottom: 26px; }
.gc-help-head > span {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #a7f3d0;
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(74,222,128,.18);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.gc-help-head h2 {
  margin: 0 0 10px;
  font: 700 clamp(2.2rem, 5vw, 4rem)/.98 'Space Grotesk', sans-serif;
  color: #fff;
}
.gc-help-head p { margin: 0; color: rgba(226,232,240,.74); line-height: 1.7; }
.gc-help-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.92fr); gap: 20px; align-items: start; }
.gc-help-faq,
.gc-help-form-wrap {
  min-width: 0;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 24px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.gc-help-faq h3,
.gc-help-form-wrap h3 {
  margin: 0 0 16px;
  color: #fff;
  font: 700 1.25rem/1.2 'Space Grotesk', sans-serif;
}
.gc-help-faq details {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 14px 0;
}
.gc-help-faq details:first-of-type { border-top: 0; padding-top: 0; }
.gc-help-faq summary {
  position: relative;
  padding-right: 28px;
  color: #f8fafc;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}
.gc-help-faq summary::-webkit-details-marker { display: none; }
.gc-help-faq summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #a7f3d0;
  background: rgba(34,197,94,.10);
}
.gc-help-faq details[open] summary::after { content: '−'; }
.gc-help-faq details p { margin: 10px 0 0; color: rgba(226,232,240,.70); line-height: 1.65; font-size: .94rem; }
.gc-help-form { display: grid; gap: 12px; }
.gc-help-form label { display: grid; gap: 6px; color: rgba(226,232,240,.72); font-size: 12px; font-weight: 700; }
.gc-help-form input,
.gc-help-form select,
.gc-help-form textarea {
  width: 100%;
  padding: 13px 14px;
  border-radius: 14px;
  color: #f8fafc;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  outline: none;
  transition: border-color 150ms ease, background-color 150ms ease;
}
.gc-help-form input::placeholder,
.gc-help-form textarea::placeholder { color: rgba(226,232,240,.40); }
.gc-help-form select option { color: #111827; background: #fff; }
.gc-help-form input:focus,
.gc-help-form select:focus,
.gc-help-form textarea:focus { border-color: rgba(103,232,249,.50); background: rgba(255,255,255,.09); }
.gc-help-form button {
  min-height: 50px;
  margin-top: 4px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  background: linear-gradient(90deg, #008736, #00b347);
  box-shadow: 0 10px 24px rgba(0,135,54,.20);
}

/* =========================================================
   RENDIMIENTO · MISMO DISEÑO, MENOS TRABAJO POR PUNTERO
   ========================================================= */
.gc-cursor-glow { display: none !important; }
.gc-interactive-card::before { display: none !important; }
.gc-magnetic { transform: none !important; }
.background-glow {
  animation: none !important;
  filter: blur(34px) !important;
  transform: none !important;
}
@media (max-width: 860px) {
  .gc-help-grid { grid-template-columns: 1fr; }
  .gc-help-panel { max-height: 94dvh !important; }
  .gc-help-shell { max-height: 94dvh; padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .gc-help-overlay, .gc-help-panel { transition: none !important; }
}



/* =========================================================
   CONTACTO GENERAL HOMOLOGADO · INDEX / CLIENTES / CORI
   Un solo bloque visual, compacto y reutilizable.
   ========================================================= */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.gc-general-contact-section {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px) clamp(16px, 5vw, 80px) clamp(70px, 8vw, 110px);
  content-visibility: auto;
  contain-intrinsic-size: 430px;
}
.gc-general-contact-shell {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.28fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: center;
  padding: clamp(28px, 4vw, 52px);
  border-radius: clamp(26px, 3vw, 36px);
  color: #f8fafc;
  background:
    radial-gradient(circle at 0 100%, rgba(0,179,71,.14), transparent 34%),
    radial-gradient(circle at 100% 0, rgba(59,130,246,.16), transparent 32%),
    linear-gradient(135deg, #071120 0%, #0b1b35 56%, #0c2344 100%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 26px 64px rgba(15,23,42,.16);
  contain: layout paint style;
  overflow: hidden;
  position: relative;
}
.gc-general-contact-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .26;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 48px 48px;
}
.gc-general-contact-copy,
.gc-general-contact-form { position: relative; z-index: 1; min-width: 0; }
.gc-general-contact-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #a7f3d0;
  background: rgba(34,197,94,.09);
  border: 1px solid rgba(74,222,128,.18);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gc-general-contact-eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ade80;
}
.gc-general-contact-copy h2 {
  margin: 0 0 12px;
  color: #fff;
  font: 700 clamp(2.1rem, 4vw, 3.6rem)/.98 'Space Grotesk', sans-serif;
  letter-spacing: -.04em;
}
.gc-general-contact-copy h2 span {
  color: #8fd9ff;
  background: linear-gradient(90deg, #76c9ff, #9b72ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.gc-general-contact-copy p {
  max-width: 520px;
  margin: 0;
  color: rgba(226,232,240,.74);
  font-size: 1rem;
  line-height: 1.72;
}
.gc-general-contact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 22px;
}
.gc-general-contact-meta a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(226,232,240,.88);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 600;
}
.gc-general-contact-meta a:hover { color: #fff; }
.gc-general-contact-meta svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #7dd3fc;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.gc-general-contact-form {
  display: grid;
  gap: 12px;
}
.gc-general-contact-row,
.gc-general-contact-message-row {
  display: grid;
  gap: 12px;
}
.gc-general-contact-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
.gc-general-contact-message-row { grid-template-columns: minmax(0,1fr) 180px; align-items: stretch; }
.gc-general-contact-form label { display: block; min-width: 0; }
.gc-general-contact-form input,
.gc-general-contact-form textarea {
  width: 100%;
  min-height: 54px;
  padding: 15px 16px;
  color: #f8fafc;
  border-radius: 15px;
  border: 1px solid rgba(148,163,184,.16);
  background: rgba(255,255,255,.065);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  outline: none;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.gc-general-contact-form textarea {
  min-height: 82px;
  resize: vertical;
}
.gc-general-contact-form input::placeholder,
.gc-general-contact-form textarea::placeholder { color: rgba(203,213,225,.58); }
.gc-general-contact-form input:focus,
.gc-general-contact-form textarea:focus {
  border-color: rgba(125,211,252,.46);
  background: rgba(255,255,255,.085);
  box-shadow: 0 0 0 4px rgba(56,189,248,.07);
}
.gc-general-contact-form button {
  min-height: 82px;
  padding: 0 22px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  background: linear-gradient(135deg, #008736, #00bd4b);
  box-shadow: 0 14px 30px rgba(0,179,71,.16);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}
.gc-general-contact-form button:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 18px 34px rgba(0,179,71,.20);
}

/* =========================================================
   RENDIMIENTO LIGERO · VALORES Y CARTERA DE CLIENTES
   Se conservan diseño, color y jerarquía, eliminando blur y
   animaciones repetitivas que provocaban microtirones.
   ========================================================= */
.gc-page-index .culture-section,
.gc-page-clientes #portafolio-clientes {
  content-visibility: auto;
  contain-intrinsic-size: 1100px;
}
.gc-page-index .culture-panel,
.gc-page-clientes .portfolio-shell {
  contain: layout paint style;
}
.gc-page-index .culture-value-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.045)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.08) !important;
  transition: border-color 180ms ease, background 180ms ease !important;
  contain: layout paint style;
}
.gc-page-index .culture-value-card:hover {
  transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 30px rgba(0,0,0,.10) !important;
}
.gc-page-index .culture-value-card:hover::before,
.gc-page-index .culture-value-card:hover .culture-value-icon {
  transform: none !important;
}
.gc-page-index .culture-value-card:hover .culture-value-accent { width: 56px !important; }
.gc-page-clientes .portfolio-client-card {
  contain: layout paint style;
  will-change: auto !important;
  transition: border-color 160ms ease, background 160ms ease !important;
  box-shadow: 0 9px 22px rgba(1,7,20,.11) !important;
}
.gc-page-clientes .portfolio-client-card:hover {
  transform: none !important;
  box-shadow: 0 11px 26px rgba(1,7,20,.14) !important;
}
.gc-page-clientes .portfolio-client-card::before { opacity: .38 !important; }

@media (max-width: 1050px) {
  .gc-general-contact-shell { grid-template-columns: 1fr; }
  .gc-general-contact-copy p { max-width: 700px; }
}
@media (max-width: 700px) {
  .gc-general-contact-section { padding-left: 14px; padding-right: 14px; }
  .gc-general-contact-shell { padding: 24px 20px; border-radius: 26px; }
  .gc-general-contact-row,
  .gc-general-contact-message-row { grid-template-columns: 1fr; }
  .gc-general-contact-form button { min-height: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .gc-general-contact-form button:hover { transform: none; }
}


/* =========================================================
   RENDIMIENTO MÁXIMO MULTINAVEGADOR
   Mantiene la composición aprobada y reduce trabajo de pintura,
   filtros, animaciones permanentes y contenido fuera de pantalla.
   ========================================================= */
#gc-scroll-progress {
  width: 100% !important;
  transform: scaleX(0);
  transform-origin: left center;
  transition: none !important;
  will-change: transform;
}

/* Los fondos ya contienen gradientes; el nodo fijo desenfocado era costoso. */
html.gc-performance-mode .background-glow {
  display: none !important;
}

/* Barra sólida/translúcida sin blur constante durante el scroll. */
html.gc-performance-mode .navbar {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background-color: rgba(255,255,255,.97) !important;
}
html.gc-performance-mode .gc-page-cori .navbar,
html.gc-performance-mode body.gc-page-cori .navbar {
  background-color: rgba(5,8,22,.96) !important;
}

/* Los modales ocultos salen por completo del árbol de pintura. */
html.gc-performance-mode .modal-overlay:not(.active),
html.gc-performance-mode .gc-help-overlay:not(.active),
html.gc-performance-mode .gc-legal-overlay:not(.active),
html.gc-performance-mode .gc-office-overlay:not(.active),
html.gc-performance-mode .gc-cookie-overlay:not(.active) {
  display: none !important;
}
html.gc-performance-mode .modal-overlay.active,
html.gc-performance-mode .gc-help-overlay.active,
html.gc-performance-mode .gc-legal-overlay.active,
html.gc-performance-mode .gc-office-overlay.active,
html.gc-performance-mode .gc-cookie-overlay.active {
  display: flex !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background-color: rgba(3,10,23,.72) !important;
}
html.gc-performance-mode :is(
  .glass-modal,
  .gc-legal-panel,
  .gc-cookie-panel,
  .gc-help-panel,
  .gc-office-panel,
  .gc-mobile-menu,
  .gc-toast,
  .floating-coverage-btn,
  .floating-contact-btn,
  .cori-phase,
  .culture-value-card
) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.gc-performance-mode .gc-mobile-menu:not(.is-open),
html.gc-performance-mode .gc-insight-float:not(.is-visible) {
  display: none !important;
}
html.gc-performance-mode .gc-mobile-menu.is-open,
html.gc-performance-mode .gc-insight-float.is-visible {
  display: block !important;
}

/* Carga/pinta secciones inferiores sólo al acercarse al viewport. */
html.gc-performance-mode body > section:not(:first-of-type),
html.gc-performance-mode main > section:not(:first-of-type) {
  content-visibility: auto;
  contain-intrinsic-size: 720px;
}
html.gc-performance-mode :is(
  .cards-grid,
  .valores-grid,
  .culture-grid,
  .clients-grid-compact,
  .cori-client-grid,
  .coverage-shell,
  .timeline-container,
  .gc-general-contact-shell
) {
  contain: layout paint style;
}

/* Entrada más breve y sin rebotes. */
html.gc-performance-mode .fade-in {
  transform: translateY(10px) !important;
  transition: opacity 220ms ease, transform 220ms ease !important;
  transition-delay: var(--gc-delay, 0ms) !important;
}
html.gc-performance-mode .fade-in.visible {
  transform: none !important;
}

/* Sin animaciones infinitas decorativas. */
html.gc-performance-mode :is(
  .floating-coverage-btn__icon,
  .floating-coverage-btn__icon::after,
  .floating-contact-btn__icon,
  .floating-contact-btn__icon::after,
  .btn-massive,
  .action-box.cori::before,
  .cori-orb,
  .cori-scan,
  .pulse,
  .pulse-dot
) {
  animation: none !important;
}

/* Sombras visualmente equivalentes pero menos costosas. */
html.gc-performance-mode :is(
  .portfolio-client-card,
  .culture-value-card,
  .service-core-card,
  .service-support-card,
  .impacto-card,
  .timeline-content,
  .cori-client-card,
  .gc-general-contact-shell
) {
  will-change: auto !important;
}

/* Modo automático para equipos con pocos núcleos/RAM o ahorro de datos. */
html.gc-lite-mode { scroll-behavior: auto !important; }
html.gc-lite-mode #gc-scroll-progress { display: none !important; }
html.gc-lite-mode .fade-in,
html.gc-lite-mode .fade-in.visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html.gc-lite-mode :is(
  .portfolio-client-card,
  .culture-value-card,
  .service-core-card,
  .service-support-card,
  .impacto-card,
  .timeline-content,
  .cori-client-card,
  .gc-general-contact-shell,
  .glass-modal,
  .gc-legal-panel,
  .gc-help-panel
) {
  box-shadow: 0 8px 22px rgba(2,6,23,.10) !important;
  transition-duration: 120ms !important;
}
html.gc-lite-mode :is(
  .portfolio-client-card:hover,
  .culture-value-card:hover,
  .service-core-card:hover,
  .service-support-card:hover,
  .impacto-card:hover,
  .timeline-content:hover,
  .cori-client-card:hover,
  button:hover,
  a:hover
) {
  transform: none !important;
}
html.gc-lite-mode .gc-insight-slide {
  transition: opacity 120ms ease !important;
}

/* En móviles y tablets se prioriza fluidez por encima del cristal. */
@media (max-width: 1100px), (hover: none) {
  html.gc-performance-mode :is(
    .glass-card,
    .glass-modal,
    .gc-legal-panel,
    .gc-cookie-panel,
    .gc-help-panel,
    .gc-office-panel,
    .portfolio-client-card,
    .culture-value-card,
    .cori-client-card
  ) {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html.gc-performance-mode .fade-in,
  html.gc-performance-mode .fade-in.visible {
    transition-duration: 160ms !important;
  }
}


/* Interacciones compactas: sin desplazamientos grandes al pasar el cursor. */
html.gc-performance-mode :is(
  .portfolio-client-card,
  .culture-value-card,
  .service-core-card,
  .service-support-card,
  .cori-client-card,
  .impacto-card,
  .timeline-content,
  .mv-card,
  .action-box
):hover {
  transform: none !important;
}
html.gc-performance-mode :is(
  .portfolio-client-card,
  .culture-value-card,
  .service-core-card,
  .service-support-card,
  .cori-client-card,
  .impacto-card,
  .timeline-content,
  .mv-card,
  .action-box
) {
  transition-property: border-color, background-color, color, opacity !important;
  transition-duration: 160ms !important;
}
html.gc-performance-mode .culture-value-card:hover :is(.culture-value-icon, .culture-value-accent),
html.gc-performance-mode .service-core-card:hover .service-icon,
html.gc-performance-mode .service-support-card:hover .mini-icon {
  transform: none !important;
}


/* === AJUSTE 04 · NAVEGACIÓN LIMPIA, FOOTER + FLOTANTES === */
/* Navegación: sólo CORI AI, Clientes e Historia. El logotipo conserva el acceso a Inicio. */
.navbar .gc-primary-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(24px, 4vw, 52px) !important;
  margin-left: auto !important;
}
.navbar .gc-primary-nav a {
  position: relative;
  color: #4b5563 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.navbar .gc-primary-nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,#00a443,#3b82f6,#8b5cf6);
  transform: translateX(-50%);
  transition: width .22s ease;
}
.navbar .gc-primary-nav a:hover::after,
.navbar .gc-primary-nav a.active::after { width: 100%; }
.navbar .gc-primary-nav a.active { color: #111827 !important; }

/* El footer ya no reserva espacio para botones flotantes grandes. */
.gc-site-footer .footer-grid {
  width: min(100%, 1580px) !important;
  max-width: 1580px !important;
  padding-right: 0 !important;
  grid-template-columns: minmax(0,1fr) max-content minmax(260px,360px) !important;
  gap: clamp(24px,3.5vw,58px) !important;
  align-items: center !important;
}
.footer-certifications {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.footer-certifications > p {
  margin: 0;
  max-width: 360px;
  color: rgba(248,250,252,.82);
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
}
.footer-certifications__logos {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 42px;
}
.footer-cert-slot {
  position: relative;
  width: 62px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  overflow: hidden;
}
.footer-cert-slot img {
  width: 100%;
  height: 100%;
  padding: 4px;
  object-fit: contain;
  opacity: 0;
  transition: opacity .2s ease;
}
.footer-cert-slot.is-loaded img { opacity: 1; }
.footer-cert-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(203,213,225,.36);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.footer-cert-slot.is-loaded .footer-cert-fallback { display: none; }

/* Dos controles flotantes discretos: círculo en reposo, pestaña al pasar el mouse. */
.floating-coverage-btn,
.floating-faq-btn {
  position: fixed !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  z-index: 24000 !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  max-width: calc(100vw - 28px) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  color: #eff6ff !important;
  text-decoration: none !important;
  background: linear-gradient(145deg,rgba(9,24,43,.96),rgba(20,39,67,.96)) !important;
  border: 1px solid rgba(125,211,252,.20) !important;
  box-shadow: 0 14px 32px rgba(2,6,23,.28) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
  transition: width .34s cubic-bezier(.2,.75,.25,1), transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
.floating-faq-btn { bottom: max(18px, env(safe-area-inset-bottom)) !important; }
.floating-coverage-btn { bottom: max(84px, calc(env(safe-area-inset-bottom) + 84px)) !important; }
.floating-coverage-btn::before { display: none !important; }
.floating-coverage-btn:hover,
.floating-coverage-btn:focus-visible { width: 286px !important; transform: translateY(-2px) !important; border-color: rgba(103,232,249,.46) !important; }
.floating-faq-btn:hover,
.floating-faq-btn:focus-visible { width: 226px !important; transform: translateY(-2px) !important; border-color: rgba(74,222,128,.42) !important; }
.gc-float-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  color: #dff7ff;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 26%,rgba(52,211,153,.25),rgba(59,130,246,.12) 55%,rgba(15,23,42,.10));
}
.gc-float-icon svg { width: 24px !important; height: 24px !important; fill: none !important; animation: none !important; }
.gc-float-label {
  min-width: 0;
  padding: 0 18px 0 4px;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateX(8px);
  white-space: nowrap;
  transition: opacity .2s ease .06s, transform .25s ease .03s;
}
.floating-coverage-btn:hover .gc-float-label,
.floating-coverage-btn:focus-visible .gc-float-label,
.floating-faq-btn:hover .gc-float-label,
.floating-faq-btn:focus-visible .gc-float-label { opacity: 1; transform: translateX(0); }
.gc-float-label small { color: rgba(226,232,240,.58); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gc-float-label strong { color: #fff; font-size: 13px; line-height: 1.2; font-weight: 800; }

@media (max-width: 1100px) {
  .gc-site-footer .footer-grid {
    grid-template-columns: minmax(0,1fr) minmax(240px,320px) !important;
  }
  .gc-site-footer .footer-socials { justify-content: flex-start !important; }
  .footer-certifications { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 760px) {
  .navbar .gc-primary-nav { gap: 18px !important; }
  .navbar .gc-primary-nav a { font-size: 13px !important; }
  .gc-site-footer .footer-grid { grid-template-columns: 1fr !important; text-align: left !important; }
  .footer-certifications { grid-column: auto; grid-row: auto; align-items: flex-start; }
  .gc-site-footer .footer-socials { justify-content: flex-start !important; }
  .floating-coverage-btn:hover,
  .floating-coverage-btn:focus-visible,
  .floating-faq-btn:hover,
  .floating-faq-btn:focus-visible { width: 54px !important; }
  .gc-float-label { display: none !important; }
}
@media (max-width: 560px) {
  .navbar .gc-primary-nav { gap: 12px !important; }
  .navbar .gc-primary-nav a { font-size: 12px !important; }
  .floating-coverage-btn,
  .floating-faq-btn { right: max(12px,env(safe-area-inset-right)) !important; width: 50px !important; height: 50px !important; min-width: 50px !important; min-height: 50px !important; }
  .floating-coverage-btn { bottom: max(74px,calc(env(safe-area-inset-bottom) + 74px)) !important; }
  .floating-faq-btn { bottom: max(12px,env(safe-area-inset-bottom)) !important; }
  .gc-float-icon { width: 50px; height: 50px; flex-basis: 50px; }
}


/* ===== AJUSTE 06 · FOOTER CERTIFICACIONES ===== */
.footer-certifications{min-width:290px!important;max-width:390px!important;}
.footer-certifications p{font-size:12px!important;line-height:1.35!important;max-width:340px!important;margin-bottom:10px!important;}
.footer-certifications__logos{gap:12px!important;align-items:center!important;}
.footer-cert-slot{width:72px!important;height:50px!important;padding:6px 8px!important;border-radius:10px!important;}
.footer-cert-slot img{max-width:100%!important;max-height:38px!important;object-fit:contain!important;}
@media(max-width:900px){.footer-certifications{min-width:0!important;max-width:none!important;width:100%!important;align-items:center!important;text-align:center!important}.footer-certifications p{margin-inline:auto!important}.footer-certifications__logos{justify-content:center!important}}

/* Ajuste 07 — certificaciones sin contenedores, mayor presencia visual */
.footer-certifications{gap:12px!important;}
.footer-certifications > p{max-width:390px!important;font-size:12px!important;line-height:1.4!important;}
.footer-certifications__logos{gap:24px!important;min-height:82px!important;}
.footer-cert-slot{width:112px!important;height:76px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;}
.footer-cert-slot img{width:100%!important;height:100%!important;max-width:112px!important;max-height:72px!important;padding:0!important;object-fit:contain!important;filter:drop-shadow(0 5px 10px rgba(0,0,0,.18));}
.footer-cert-fallback{border:1px dashed rgba(203,213,225,.18);border-radius:10px;font-size:12px!important;}
@media(max-width:760px){.footer-cert-slot{width:92px!important;height:64px!important}.footer-cert-slot img{max-width:92px!important;max-height:60px!important}.footer-certifications__logos{gap:16px!important}}


/* =========================================================
   RESPONSIVE NORMAL · SEPTIEMBRE 2026
   No es PWA ni interfaz móvil separada. Es la misma web
   adaptándose de forma natural a tablet y celular.
   ========================================================= */
@media (max-width: 1024px) {
  body { overflow-x: hidden !important; }
  .navbar { min-height: 68px !important; }
  .navbar .logo-img { max-height: 46px !important; width: auto !important; }
  .modal-overlay { align-items: flex-start !important; overflow-y: auto !important; }
  .modal-overlay .glass-modal,
  .gc-help-panel { width: min(94vw, 760px) !important; max-height: none !important; margin: max(16px, env(safe-area-inset-top)) auto 30px !important; }
  .gc-help-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}
@media (max-width: 760px) {
  html { font-size: 15px; }
  body { min-width: 0 !important; }
  .navbar { padding: 10px 14px !important; }
  .navbar .logo-img { max-width: 145px !important; max-height: 44px !important; object-fit: contain !important; }
  .gc-menu-toggle { width: 44px !important; height: 44px !important; }
  .gc-mobile-menu { top: 66px !important; left: 10px !important; right: 10px !important; max-height: calc(100dvh - 84px); overflow:auto; }
  .floating-coverage-btn, .floating-faq-btn { transform: scale(.86); transform-origin: right center; }
  .floating-coverage-btn { right: 10px !important; bottom: 86px !important; }
  .floating-faq-btn { right: 10px !important; bottom: 24px !important; }
  .modal-overlay { padding: 10px !important; }
  .modal-overlay .glass-modal, .gc-help-panel { width: 100% !important; padding: 22px !important; border-radius: 24px !important; }
  .modal-header h2, .gc-help-head h2 { font-size: clamp(1.7rem, 7vw, 2.35rem) !important; line-height: 1.05 !important; }
  .portal-links-grid { grid-template-columns: 1fr !important; }
  .portal-btn { min-height: 64px !important; font-size: 1rem !important; }
  .gc-help-form input, .gc-help-form select, .gc-help-form textarea,
  .job-form input, .job-form select { font-size: 16px !important; }
  .cookie-banner { max-height: 70dvh; overflow-y:auto; }
  .client-portfolio-grid, .clients-grid-compact { grid-template-columns: 1fr !important; }
  .coverage-layout { grid-template-columns: 1fr !important; }
  .coverage-map-card, .coverage-detail-card { min-height: 0 !important; }
  .hero, .hero-historia { overflow: hidden !important; }
  .gc-site-footer { padding-bottom: 26px !important; }
}
@media (max-width: 480px) {
  .section-title, .hero-title h1, .hero-historia h1 { overflow-wrap: anywhere; }
  .glass-card, .glass-modal { padding: 20px !important; }
  .footer-info-item { font-size: .92rem !important; }
}


/* =========================================================
   SELECTOR DE CORREO · GMAIL / OUTLOOK / MAIL
   ========================================================= */
.gc-email-chooser-overlay{
  position:fixed; inset:0; z-index:40000; display:none; align-items:center; justify-content:center;
  padding:22px; background:rgba(4,10,22,.66); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.gc-email-chooser-overlay.active{display:flex;}
.gc-email-chooser{
  position:relative; width:min(620px,94vw); padding:32px; border-radius:30px; overflow:hidden;
  color:#eaf2ff; border:1px solid rgba(148,163,184,.25);
  background:linear-gradient(145deg,rgba(10,25,43,.98),rgba(21,35,64,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.gc-email-chooser::before{content:"";position:absolute;inset:-40% auto auto -20%;width:300px;height:300px;border-radius:50%;background:rgba(20,184,166,.14);filter:blur(55px);pointer-events:none;}
.gc-email-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer;}
.gc-email-eyebrow{position:relative;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#76e6c3;margin-bottom:10px;}
.gc-email-chooser h2{position:relative;margin:0 54px 8px 0;font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.05;}
.gc-email-description{position:relative;margin:0 0 18px;color:#b8c4d7;line-height:1.55;}
.gc-email-recipient{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);}
.gc-email-recipient span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7ee2c2;font-weight:800;}
.gc-email-recipient strong{font-size:14px;overflow-wrap:anywhere;}
.gc-email-recipient small{width:100%;padding-left:42px;color:#8fa0b7;font-size:12px;overflow-wrap:anywhere;}
.gc-email-attachment{position:relative;margin:0 0 15px;padding:13px 14px;border-radius:16px;background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.24);}
.gc-email-attachment strong,.gc-email-attachment span{display:block;}
.gc-email-attachment strong{font-size:13px;color:#fde68a;margin-bottom:4px;}
.gc-email-attachment span{font-size:12px;color:#cbd5e1;line-height:1.45;}
.gc-email-options{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gc-email-provider{position:relative;min-height:132px;padding:17px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:#fff;cursor:pointer;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:.2s ease;}
.gc-email-provider:hover,.gc-email-provider:focus-visible{transform:translateY(-3px);border-color:rgba(96,165,250,.55);background:rgba(59,130,246,.12);outline:none;box-shadow:0 12px 30px rgba(0,0,0,.20);}
.gc-email-provider-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:18px;}
.gc-email-provider-icon--gmail{background:#fff;color:#d93025;}
.gc-email-provider-icon--outlook{background:#0b65c2;color:#fff;}
.gc-email-provider-icon--mail{background:linear-gradient(145deg,#0ea5e9,#2563eb);color:#fff;}
.gc-email-provider-icon--mail svg{width:22px;height:22px;}
.gc-email-provider-copy{display:flex;flex-direction:column;gap:2px;}
.gc-email-provider-copy strong{font-size:16px;}
.gc-email-provider-copy small{color:#9fb0c6;font-size:12px;}
.gc-email-recommended{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#7ee2c2;margin-top:auto;}
.gc-email-arrow{position:absolute;right:12px;bottom:11px;color:#6f829c;font-size:24px;}
.gc-email-note{position:relative;margin:14px 2px 0;color:#7f90a8;font-size:11px;line-height:1.45;}
@media(max-width:640px){
  .gc-email-chooser-overlay{align-items:flex-end;padding:0;}
  .gc-email-chooser{width:100%;max-height:88dvh;overflow-y:auto;border-radius:28px 28px 0 0;padding:26px 18px max(22px,env(safe-area-inset-bottom));}
  .gc-email-options{grid-template-columns:1fr;gap:8px;}
  .gc-email-provider{min-height:72px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;padding:12px 14px;gap:10px;}
  .gc-email-provider-copy{grid-column:2;grid-row:1;}
  .gc-email-recommended{grid-column:2;grid-row:2;margin-top:-7px;}
  .gc-email-arrow{position:static;grid-column:3;grid-row:1 / span 2;align-self:center;}
  .gc-email-recipient small{padding-left:0;}
}


/* CORRECCIÓN GLOBAL 2026-09-17: modal de cookies SIEMPRE flotante.
   Clientes carecía de position:fixed en .modal-overlay, por eso aparecía al pie. */
#gc-cookie-modal.gc-cookie-overlay{
  position:fixed!important;inset:0!important;top:0!important;left:0!important;
  width:100vw!important;height:100vh!important;height:100dvh!important;
  min-height:0!important;margin:0!important;
  z-index:50000!important;
  display:none!important;align-items:center!important;justify-content:center!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  overflow-y:auto!important;overscroll-behavior:contain;
  padding:clamp(12px,3vw,30px)!important;
}
#gc-cookie-modal.gc-cookie-overlay.active{
  display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
#gc-cookie-modal .gc-cookie-panel{
  position:relative!important;flex:0 1 850px!important;
  width:min(850px,100%)!important;max-width:850px!important;
  max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important;
  margin:auto!important;overflow:hidden!important;
}
body.gc-cookie-modal-open #cookie-banner.cookie-banner.gc-cookie-visible,
body.gc-cookie-modal-open #cookie-banner.cookie-banner{visibility:hidden!important;pointer-events:none!important;}
/* Estructura de otros modales en Clientes: tampoco heredaban el fixed de Index. */
body.gc-page-clientes #portal-modal,
body.gc-page-clientes #bolsa-modal{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
  min-height:0!important;margin:0!important;z-index:36000!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  overflow:auto!important;padding:20px!important;
}
body.gc-page-clientes #portal-modal.active,
body.gc-page-clientes #bolsa-modal.active{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
body.gc-page-clientes #portal-modal .glass-modal,
body.gc-page-clientes #bolsa-modal .glass-modal{position:relative!important;max-height:calc(100dvh - 40px)!important;overflow-y:auto!important;}

/* ===== FIN ARCHIVO ORIGINAL: gc-shared.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-tech-glass.css ===== */
/* =========================================================
   WEB GC 2026 · TECH GLASS SYSTEM v02
   Paleta gris-azul + cristal + acentos neón controlados.
   ========================================================= */
:root{
  --gc-bg:#F4F7FB;
  --gc-surface:#D3DBE6;
  --gc-surface-2:#9FB0C6;
  --gc-slate:#5A6F8A;
  --gc-ink:#2B3644;
  --gc-deep:#111A26;
  --gc-deep-2:#182535;
  --gc-neon-green:#35F39A;
  --gc-neon-green-soft:#7BFFBD;
  --gc-neon-red:#FF465A;
  --gc-neon-red-soft:#FF7887;
  --gc-neon-cyan:#55DDE0;
  --gc-neon-violet:#8B6CFF;
  --gc-white:#F9FBFF;
  --gc-text:#2B3644;
  --gc-muted:#607087;
  --gc-glass-light:rgba(244,247,251,.58);
  --gc-glass-dark:rgba(21,31,45,.64);
  --gc-line:rgba(43,54,68,.13);
  --gc-shadow:0 24px 70px rgba(37,53,72,.14);
  --gc-shadow-dark:0 32px 90px rgba(2,9,18,.30);
  --gc-radius-xl:34px;
  --gc-radius-lg:26px;
}

html{background:var(--gc-bg)!important;}
body{
  background:
    radial-gradient(circle at 4% 8%,rgba(53,243,154,.08),transparent 23%),
    radial-gradient(circle at 96% 16%,rgba(255,70,90,.06),transparent 19%),
    linear-gradient(180deg,#F4F7FB 0%,#E7ECF3 55%,#DCE4EE 100%)!important;
  color:var(--gc-text)!important;
  min-height:100vh;
}
.background-glow{
  background:
    radial-gradient(circle at 10% 18%,rgba(53,243,154,.10),transparent 28%),
    radial-gradient(circle at 90% 72%,rgba(85,221,224,.10),transparent 26%),
    radial-gradient(circle at 64% 12%,rgba(255,70,90,.045),transparent 20%)!important;
  filter:blur(70px)!important;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(43,54,68,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(43,54,68,.04) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
}

/* NAV / contraste */
.navbar,.gc-page-cori .navbar{
  background:rgba(17,26,38,.84)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 14px 44px rgba(10,19,31,.14)!important;
  backdrop-filter:blur(20px) saturate(140%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(140%)!important;
}
.navbar nav a:not(.nav-button),.navbar .logo{color:#ECF3FB!important;}
.navbar nav a:hover,.navbar nav a.active{color:var(--gc-neon-green)!important;text-shadow:0 0 18px rgba(53,243,154,.28);}
.logo-img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));}

/* Botones cristal tecnológico */
.nav-button,.btn-green,.btn-rojo,.client-contact-submit,.gc-general-contact-form button,.special-link,
.gc-cookie-actions button,.cookie-banner button{
  position:relative!important;overflow:hidden!important;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06))!important;
  color:#F7FBFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  backdrop-filter:blur(16px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(145%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 30px rgba(10,20,32,.16)!important;
  border-radius:16px!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.nav-button::before,.btn-green::before,.btn-rojo::before,.gc-general-contact-form button::before{
  content:"";position:absolute;inset:-1px;pointer-events:none;opacity:.65;
  background:linear-gradient(105deg,transparent 0 34%,rgba(255,255,255,.25) 46%,transparent 58%);
  transform:translateX(-120%);transition:transform .55s ease;
}
.nav-button:hover::before,.btn-green:hover::before,.btn-rojo:hover::before,.gc-general-contact-form button:hover::before{transform:translateX(120%);}
.nav-button:hover,.btn-green:hover,.gc-general-contact-form button:hover{
  transform:translateY(-2px)!important;border-color:rgba(53,243,154,.62)!important;
  box-shadow:0 0 0 1px rgba(53,243,154,.20),0 0 28px rgba(53,243,154,.16),0 14px 36px rgba(10,20,32,.18)!important;
}
.nav-button.btn-rojo:hover,.btn-rojo:hover{border-color:rgba(255,70,90,.60)!important;box-shadow:0 0 0 1px rgba(255,70,90,.16),0 0 28px rgba(255,70,90,.16),0 14px 36px rgba(10,20,32,.18)!important;}

/* Modales */
.modal-overlay{background:rgba(12,20,31,.48)!important;backdrop-filter:blur(16px)!important;}
.glass-modal,.modal-content,.cookie-modal-content,.gc-help-shell,.gc-privacy-shell,.gc-terms-shell{
  background:linear-gradient(145deg,rgba(244,247,251,.87),rgba(211,219,230,.72))!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:0 34px 100px rgba(14,28,44,.24),inset 0 1px 0 rgba(255,255,255,.85)!important;
  backdrop-filter:blur(28px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(150%)!important;
  color:var(--gc-ink)!important;
}
.glass-modal :where(h1,h2,h3,h4,p,label,strong,span),.modal-content :where(h1,h2,h3,h4,p,label,strong,span){color:inherit;}
.portal-btn{
  background:rgba(255,255,255,.40)!important;color:var(--gc-ink)!important;border:1px solid rgba(90,111,138,.18)!important;
  backdrop-filter:blur(16px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 24px rgba(43,54,68,.08)!important;
}
.portal-btn:hover{border-color:rgba(53,243,154,.65)!important;box-shadow:0 0 24px rgba(53,243,154,.12),0 12px 32px rgba(43,54,68,.12)!important;}

/* Fondos y shells */
.gc-block-shell,.gc-general-contact-shell,.quality-compact,.culture-section,.personas-primero,.impacto-section,
.gc-clients-simple-shell,.gc-presence-shell{
  background:linear-gradient(135deg,rgba(244,247,251,.70),rgba(211,219,230,.48))!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:var(--gc-shadow)!important;
  backdrop-filter:blur(20px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(125%)!important;
}
.gc-block-shell::before{background-image:linear-gradient(rgba(90,111,138,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(90,111,138,.045) 1px,transparent 1px)!important;}
.gc-tech-eyebrow,.gc-kicker,.services-kicker,.portfolio-eyebrow,.coverage-eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;
  background:rgba(53,243,154,.10)!important;border:1px solid rgba(53,243,154,.26)!important;
  color:#138A5A!important;font:800 .72rem/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;
}

/* HOME HERO */
.gc-page-index .hero{
  border-radius:0 0 46px 46px!important;
  background:
    radial-gradient(circle at 77% 42%,rgba(85,221,224,.14),transparent 26%),
    radial-gradient(circle at 22% 24%,rgba(53,243,154,.08),transparent 22%),
    linear-gradient(145deg,#EDF2F8 0%,#D3DBE6 100%)!important;
  position:relative;overflow:hidden;
}
.gc-page-index .hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.35),transparent 50%);}
.gc-page-index .hero-content{position:relative;z-index:2;}
.gc-page-index .hero-title h1{color:var(--gc-ink)!important;text-shadow:none!important;}
.gc-page-index .hero-title h1 span{background:linear-gradient(90deg,#138A5A,var(--gc-neon-red));-webkit-background-clip:text;background-clip:text;color:transparent!important;}
.gc-page-index .hero-text-row{
  background:rgba(244,247,251,.54)!important;border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 18px 44px rgba(58,77,100,.10)!important;
  backdrop-filter:blur(18px)!important;border-radius:28px!important;
}
.gc-page-index .hero-visual{position:relative;z-index:2;}
.gc-page-index .hero-visual::before{content:"";position:absolute;inset:7% 4% 4%;border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(90,111,138,.08));border:1px solid rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 34px 80px rgba(43,54,68,.12);backdrop-filter:blur(18px);}
.gc-page-index .hero-visual .main-image{position:relative;z-index:2;filter:drop-shadow(0 28px 42px rgba(43,54,68,.16));}

/* Carrusel 3D de servicios */
.gc-service-stack-section{
  width:100%!important;max-width:none!important;margin:0!important;padding:clamp(72px,8vw,120px) clamp(18px,5vw,76px)!important;
  background:
    radial-gradient(circle at 84% 16%,rgba(85,221,224,.14),transparent 24%),
    radial-gradient(circle at 8% 82%,rgba(53,243,154,.10),transparent 23%),
    linear-gradient(150deg,#101A27 0%,#172536 58%,#111A26 100%)!important;
  border-radius:48px!important;color:#F6FAFF!important;overflow:hidden;position:relative;
}
.gc-service-stack-section::before{content:"";position:absolute;inset:0;opacity:.30;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,black,transparent 84%);}
.gc-service-stack-shell{width:min(1460px,100%);margin:0 auto;position:relative;z-index:1;}
.gc-service-stack-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:50px;align-items:end;margin-bottom:clamp(42px,5vw,70px);}
.gc-service-stack-heading h2{margin:14px 0 0;font:700 clamp(2.6rem,5.2vw,5rem)/.96 'Space Grotesk',sans-serif;letter-spacing:-.055em;color:#F7FBFF!important;max-width:900px;}
.gc-service-stack-heading h2 span{color:var(--gc-neon-green)!important;text-shadow:0 0 32px rgba(53,243,154,.16);}
.gc-service-stack-heading p{margin:0;color:rgba(239,246,255,.68)!important;font-size:1.05rem;line-height:1.65;}
.gc-service-stack-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:center;}
.gc-stack-stage{position:relative;height:560px;perspective:1800px;isolation:isolate;}
.gc-stack-card{
  --accent:var(--gc-neon-green);
  position:absolute;inset:0 auto auto 0;width:min(820px,78%);height:500px;padding:clamp(28px,4vw,52px);
  border-radius:34px;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.16);box-shadow:var(--gc-shadow-dark),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);
  transform-origin:center right;transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .55s ease,filter .55s ease,z-index 0s;
  color:#F4F8FD!important;opacity:0;pointer-events:none;
}
.gc-stack-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 28%),linear-gradient(125deg,rgba(255,255,255,.08),transparent 42%);}
.gc-stack-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent 72%);box-shadow:0 0 24px var(--accent);}
.gc-stack-card[data-accent="red"]{--accent:var(--gc-neon-red)}
.gc-stack-card[data-accent="cyan"]{--accent:var(--gc-neon-cyan)}
.gc-stack-card[data-accent="violet"]{--accent:var(--gc-neon-violet)}
.gc-stack-card[data-accent="green"]{--accent:var(--gc-neon-green)}
.gc-stack-card.is-active{z-index:5;opacity:1;pointer-events:auto;transform:translate3d(0,0,0) rotateY(0) scale(1);filter:none;}
.gc-stack-card.is-next-1{z-index:4;opacity:.78;transform:translate3d(90px,24px,-70px) rotateY(-2deg) scale(.96);filter:saturate(.82) brightness(.88);}
.gc-stack-card.is-next-2{z-index:3;opacity:.52;transform:translate3d(168px,48px,-150px) rotateY(-4deg) scale(.91);filter:saturate(.70) brightness(.75);}
.gc-stack-card.is-next-3{z-index:2;opacity:.28;transform:translate3d(230px,68px,-240px) rotateY(-5deg) scale(.86);filter:saturate(.55) brightness(.65);}
.gc-stack-card.is-hidden{z-index:1;opacity:0;transform:translate3d(270px,86px,-300px) scale(.82);}
.gc-stack-number{position:absolute;right:28px;top:24px;color:rgba(255,255,255,.16);font:800 clamp(2.4rem,5vw,4.8rem)/1 'Space Grotesk';letter-spacing:-.06em;}
.gc-stack-icon{position:relative;z-index:2;width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.05));border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);box-shadow:0 0 30px color-mix(in srgb,var(--accent) 12%,transparent);font:800 1rem 'Space Grotesk';}
.gc-stack-category{position:relative;z-index:2;display:block;margin:28px 0 10px;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.gc-stack-card h3{position:relative;z-index:2;margin:0 0 18px;color:#F8FBFF!important;font:700 clamp(2rem,4vw,3.6rem)/1 'Space Grotesk';letter-spacing:-.045em;}
.gc-stack-card p{position:relative;z-index:2;max-width:620px;margin:0;color:rgba(242,247,253,.72)!important;font-size:clamp(.96rem,1.5vw,1.08rem);line-height:1.65;}
.gc-stack-pills{position:relative;z-index:2;display:flex;gap:8px;flex-wrap:wrap;margin-top:28px;}
.gc-stack-pills span{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:rgba(248,251,255,.82);font-size:.76rem;font-weight:700;}
.gc-stack-link{position:absolute;z-index:3;left:clamp(28px,4vw,52px);bottom:34px;color:#F8FBFF;text-decoration:none;font-weight:800;display:inline-flex;gap:10px;align-items:center;}
.gc-stack-link span{color:var(--accent);font-size:1.2rem;}
.gc-stack-controller{padding:28px;border-radius:28px;background:rgba(244,247,251,.07);border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(18px);}
.gc-stack-controller-top{display:flex;justify-content:space-between;gap:18px;align-items:center;color:#F4F8FD;}
.gc-stack-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(244,248,253,.56);font-weight:800;}
.gc-stack-controller-top strong{font:700 1.1rem 'Space Grotesk';}
.gc-stack-progress{height:3px;background:rgba(255,255,255,.10);border-radius:99px;margin:20px 0 24px;overflow:hidden;}
.gc-stack-progress i{display:block;height:100%;width:11%;background:linear-gradient(90deg,var(--gc-neon-green),var(--gc-neon-cyan));box-shadow:0 0 18px rgba(53,243,154,.45);transition:width .45s ease;}
.gc-stack-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gc-stack-arrow{height:58px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#F8FBFF;font-size:1.3rem;cursor:pointer;transition:.25s ease;backdrop-filter:blur(12px);}
.gc-stack-arrow:hover{transform:translateY(-2px);border-color:rgba(53,243,154,.55);box-shadow:0 0 24px rgba(53,243,154,.13);}
.gc-stack-arrow-next{background:linear-gradient(135deg,rgba(53,243,154,.22),rgba(85,221,224,.12));}
.gc-stack-controller p{color:rgba(244,248,253,.48)!important;font-size:.82rem;line-height:1.5;margin:18px 0 0;}

/* BLOQUES multimedia */
.gc-media-story-shell{background:linear-gradient(145deg,#DCE4EE 0%,#C6D1DE 100%)!important;}
.gc-media-tile{border:1px solid rgba(255,255,255,.26)!important;background:#132030!important;box-shadow:0 24px 58px rgba(32,49,69,.18)!important;}
.gc-media-tile-copy{background:linear-gradient(145deg,#263447,#111B28)!important;}
.gc-media-copy span,.gc-media-tile-copy span{color:var(--gc-neon-green)!important;}
.gc-media-play{background:rgba(17,26,38,.66)!important;border-color:rgba(255,255,255,.22)!important;}

/* CLIENTES: puro nombre, más premium */
.gc-clients-simple{padding-top:clamp(118px,12vw,152px)!important;}
.gc-clients-simple-shell{
  background:linear-gradient(145deg,#111B28 0%,#1A2A3C 100%)!important;border-color:rgba(255,255,255,.08)!important;box-shadow:var(--gc-shadow-dark)!important;
}
.gc-clients-simple .gc-block-heading h1{color:#F8FBFF!important;}
.gc-clients-simple .gc-block-heading p{color:rgba(244,248,253,.62)!important;}
.gc-client-name-grid{gap:12px!important;}
.gc-client-name-card{min-height:116px!important;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;border-color:rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;backdrop-filter:blur(12px);}
.gc-client-name-card:hover{border-color:rgba(53,243,154,.38)!important;background:rgba(255,255,255,.09)!important;box-shadow:0 0 26px rgba(53,243,154,.10),inset 0 1px 0 rgba(255,255,255,.10)!important;}
.gc-client-index{color:var(--gc-neon-green)!important;}
.gc-client-name-card strong{color:#F8FBFF!important;}

/* MAPA simple */
.gc-presence-shell{background:linear-gradient(145deg,#D7E0EA,#B9C7D6)!important;}
.gc-presence-map{background:#111B28!important;border-color:rgba(255,255,255,.24)!important;box-shadow:0 24px 64px rgba(38,56,76,.16);}
.gc-country-pin{background:rgba(17,26,38,.82)!important;border-color:rgba(53,243,154,.32)!important;backdrop-filter:blur(14px)!important;color:#F8FBFF!important;}
.gc-country-pin i{background:var(--gc-neon-green)!important;box-shadow:0 0 0 6px rgba(53,243,154,.14),0 0 18px rgba(53,243,154,.7)!important;}
.gc-country-list span{background:rgba(244,247,251,.34)!important;border-color:rgba(43,54,68,.12)!important;color:var(--gc-ink)!important;}

/* Historia */
.gc-page-historia .hero-historia{background:linear-gradient(145deg,#E9EEF5,#C9D4E1)!important;color:var(--gc-ink)!important;}
.gc-page-historia .timeline-card,.gc-page-historia .value-card,.gc-page-historia .mission-card,.gc-page-historia .vision-card{
  background:linear-gradient(145deg,rgba(244,247,251,.72),rgba(211,219,230,.48))!important;border-color:rgba(255,255,255,.74)!important;box-shadow:var(--gc-shadow)!important;
}
.gc-page-historia .timeline-card:hover{box-shadow:0 0 28px rgba(53,243,154,.09),0 20px 48px rgba(43,54,68,.13)!important;}

/* CORI */
.gc-page-cori{
  background:
    radial-gradient(circle at 67% 18%,rgba(139,108,255,.17),transparent 25%),
    radial-gradient(circle at 14% 76%,rgba(53,243,154,.05),transparent 22%),
    linear-gradient(155deg,#101824 0%,#162336 56%,#101824 100%)!important;
  color:#F7FBFF!important;
}
.gc-page-cori :where(h1,h2,h3,h4){color:#F7FBFF!important;}
.gc-page-cori :where(p,.section-subtitle){color:rgba(235,243,252,.68)!important;}
.gc-page-cori .gc-cori-media-shell{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.09)!important;}
.gc-page-cori .gc-cori-media-grid article{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.09)!important;}
.gc-page-cori .gc-cori-media-grid span{color:var(--gc-neon-green)!important;}

/* Contacto / footer */
.gc-general-contact-section{padding-top:38px!important;}
.gc-general-contact-shell{background:linear-gradient(145deg,rgba(244,247,251,.74),rgba(211,219,230,.60))!important;}
.gc-general-contact-form input,.gc-general-contact-form textarea,.gc-general-contact-form select{
  background:rgba(255,255,255,.48)!important;color:var(--gc-ink)!important;border:1px solid rgba(90,111,138,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.gc-general-contact-form input:focus,.gc-general-contact-form textarea:focus{outline:none!important;border-color:rgba(53,243,154,.65)!important;box-shadow:0 0 0 4px rgba(53,243,154,.10)!important;}
footer{background:linear-gradient(145deg,#111A26,#172536)!important;border-top:1px solid rgba(53,243,154,.34)!important;color:#DCE6F1!important;}
footer a,footer span,footer strong{color:inherit;}

#gc-scroll-progress{background:linear-gradient(90deg,var(--gc-neon-green),var(--gc-neon-cyan),var(--gc-neon-red))!important;box-shadow:0 0 16px rgba(53,243,154,.28);}

@media(max-width:1100px){
  .gc-service-stack-heading{grid-template-columns:1fr;gap:18px;}
  .gc-service-stack-layout{grid-template-columns:1fr;}
  .gc-stack-controller{display:grid;grid-template-columns:1fr auto;gap:16px 20px;align-items:center;}
  .gc-stack-controller-top{grid-column:1/2}.gc-stack-progress{grid-column:1/2;margin:8px 0}.gc-stack-controls{grid-column:2;grid-row:1/3;width:160px}.gc-stack-controller p{display:none}
}
@media(max-width:760px){
  .navbar{background:rgba(17,26,38,.94)!important;}
  .gc-service-stack-section{padding:62px 14px 72px!important;border-radius:32px!important;}
  .gc-service-stack-heading h2{font-size:clamp(2.25rem,10vw,3.2rem);}
  .gc-stack-stage{height:520px;overflow:visible;}
  .gc-stack-card{width:calc(100% - 48px);height:470px;padding:28px;border-radius:28px;}
  .gc-stack-card.is-next-1{transform:translate3d(18px,18px,-40px) scale(.965);}
  .gc-stack-card.is-next-2{transform:translate3d(32px,34px,-80px) scale(.93);}
  .gc-stack-card.is-next-3{transform:translate3d(44px,48px,-120px) scale(.90);}
  .gc-stack-number{font-size:3rem;right:20px;top:18px}.gc-stack-icon{width:58px;height:58px;border-radius:18px}.gc-stack-card h3{font-size:2.35rem}.gc-stack-card p{font-size:.94rem;line-height:1.55}.gc-stack-pills{margin-top:18px}.gc-stack-link{left:28px;bottom:26px}
  .gc-stack-controller{grid-template-columns:1fr!important;padding:20px}.gc-stack-controls{grid-column:1!important;grid-row:auto!important;width:100%}.gc-stack-progress{grid-column:1!important}
  .gc-client-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(prefers-reduced-motion:reduce){
  .gc-stack-card{transition:none!important}.nav-button::before,.btn-green::before,.btn-rojo::before{display:none!important}
}

/* =========================================================
   TECH GLASS v03 · CORRECCIONES DE ESTABILIDAD Y HOMOLOGACIÓN
   - Recupera estructura de bloques perdida en v02
   - Evita secciones en blanco durante scroll rápido
   - Homologa CORI a paleta gris-azul + verde/rojo/cian
   - Restaura mapa amplio sin detalle lateral ni estados
   ========================================================= */

/* 1) ESTABILIDAD: no ocultar contenido mientras se desplaza la página */
.fade-in,
.fade-in.visible {
  opacity:1 !important;
  transform:none !important;
  transition:transform .45s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease !important;
}
section,
.gc-block-shell,
.gc-service-stack-section,
.gc-media-story-section,
.gc-clients-simple,
.global-coverage-section,
.cori-proof-section,
.impacto-section,
.personas-primero,
.culture-section {
  content-visibility:visible !important;
  contain-intrinsic-size:auto !important;
}

/* 2) ESTRUCTURA GLOBAL DE BLOQUES */
.gc-block-shell{
  width:min(1500px,calc(100% - 48px));
  margin:0 auto;
  padding:clamp(28px,4.2vw,64px);
  border:1px solid rgba(90,111,138,.18);
  border-radius:var(--gc-radius-xl);
  background:linear-gradient(135deg,rgba(244,247,251,.86),rgba(211,219,230,.72));
  box-shadow:var(--gc-shadow);
  position:relative;
  overflow:hidden;
}
.gc-block-shell::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background-image:linear-gradient(rgba(90,111,138,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(90,111,138,.045) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,black,transparent 76%);
}
.gc-block-heading{position:relative;z-index:1;max-width:900px;margin-bottom:34px;}
.gc-block-heading-inline{max-width:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:34px;align-items:end;}
.gc-block-heading h1,.gc-block-heading h2{font:700 clamp(2.25rem,5vw,4.7rem)/.98 'Space Grotesk',sans-serif;letter-spacing:-.05em;margin:12px 0 14px;color:var(--gc-ink)!important;}
.gc-block-heading p{font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.65;margin:0;color:var(--gc-muted)!important;}
.gc-kicker{display:inline-flex;padding:8px 13px;border-radius:999px;font:800 .72rem/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;}

/* 3) CLIENTES: únicamente nombres, con layout real y consistente */
.gc-clients-simple{padding:clamp(132px,14vw,165px) 0 28px!important;}
.gc-clients-simple-shell{background:linear-gradient(145deg,#111B28 0%,#1A2A3C 100%)!important;border-color:rgba(255,255,255,.08)!important;}
.gc-client-name-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;z-index:1;}
.gc-client-name-card{
  min-height:118px;padding:20px;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.gc-client-name-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.09)!important;border-color:rgba(53,243,154,.38)!important;box-shadow:0 16px 34px rgba(0,0,0,.18),0 0 24px rgba(53,243,154,.08)!important;}
.gc-client-index{font-size:.7rem;letter-spacing:.16em;color:var(--gc-neon-green)!important;font-weight:800;}
.gc-client-name-card strong{font:700 clamp(1rem,1.5vw,1.28rem)/1.15 'Space Grotesk',sans-serif;color:#F8FBFF!important;}

/* 4) BLOQUES MULTIMEDIA / BENTO */
.gc-media-story-section{padding:26px 0 34px;}
.gc-media-story-shell{background:linear-gradient(145deg,#DCE4EE 0%,#C6D1DE 100%)!important;}
.gc-media-bento{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:minmax(280px,430px) minmax(210px,290px);gap:16px;}
.gc-media-tile{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.24)!important;background:#132030!important;min-height:220px;box-shadow:0 18px 44px rgba(32,49,69,.16)!important;}
.gc-media-tile-video{grid-row:1/3;}
.gc-media-tile video,.gc-media-tile img{width:100%;height:100%;display:block;object-fit:cover;opacity:.88;}
.gc-media-tile-image img{object-position:center 22%;background:radial-gradient(circle,#33485e,#172536 68%);}
.gc-media-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(17,26,38,.84));pointer-events:none;}
.gc-media-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#F8FBFF;}
.gc-media-copy span,.gc-media-tile-copy span{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gc-neon-green)!important;}
.gc-media-copy h3,.gc-media-tile-copy h3{font:700 clamp(1.4rem,2.5vw,2.4rem)/1.02 'Space Grotesk',sans-serif;color:#F8FBFF!important;margin:8px 0 0;}
.gc-media-tile-copy{padding:30px;background:linear-gradient(140deg,#263447,#111B28)!important;display:flex;gap:18px;align-items:flex-end;}
.gc-media-tile-copy p{color:rgba(239,246,255,.68)!important;line-height:1.55;}
.gc-neon-dot{width:14px;height:14px;min-width:14px;border-radius:50%;background:var(--gc-neon-green);box-shadow:0 0 28px var(--gc-neon-green);align-self:flex-start;}
.gc-neon-dot.red{background:var(--gc-neon-red);box-shadow:0 0 28px var(--gc-neon-red);}
.gc-media-play{position:absolute;z-index:4;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.28)!important;background:rgba(17,26,38,.72)!important;color:#fff!important;font-size:1.05rem;cursor:pointer;backdrop-filter:blur(10px);}
.gc-media-bento-history{grid-template-columns:1fr 1fr;grid-template-rows:minmax(260px,340px);}
.gc-media-tile-history-visual{background:linear-gradient(135deg,#172536,#2B3644)!important;}
.gc-abstract-tech-lines{position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(53,243,154,.22),transparent 25%),radial-gradient(circle at 25% 75%,rgba(255,70,90,.15),transparent 24%),repeating-linear-gradient(120deg,transparent 0 34px,rgba(244,247,251,.05) 34px 35px);}

/* 5) MAPA: conserva jerarquía original, solo sin detalle lateral/estado/Perú */
.gc-coverage-v03{padding:26px 24px 48px!important;}
.gc-coverage-shell-v03{
  width:min(1540px,100%);margin:0 auto;padding:clamp(28px,4vw,58px);
  border-radius:38px;border:1px solid rgba(90,111,138,.17);
  background:linear-gradient(145deg,rgba(244,247,251,.90),rgba(211,219,230,.68));
  box-shadow:var(--gc-shadow);position:relative;overflow:hidden;
}
.gc-coverage-shell-v03::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(90,111,138,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(90,111,138,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 72%);}
.gc-coverage-head-v03{position:relative;z-index:1;margin-bottom:26px;}
.gc-coverage-head-v03 h2{font:700 clamp(2.25rem,4.6vw,4.2rem)/.98 'Space Grotesk',sans-serif;letter-spacing:-.05em;margin:14px 0;color:var(--gc-ink)!important;}
.gc-coverage-head-v03 h2 span{color:#138A5A!important;}
.gc-coverage-head-v03 p{max-width:980px;color:var(--gc-muted)!important;line-height:1.72;font-size:1.02rem;}
.gc-coverage-stats-v03{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px;}
.gc-coverage-stat-v03{min-height:150px;padding:26px;border-radius:24px;background:rgba(255,255,255,.46);border:1px solid rgba(90,111,138,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.75);backdrop-filter:blur(14px);}
.gc-coverage-stat-v03 strong{display:block;font:700 clamp(1.8rem,3.4vw,2.65rem)/1 'Space Grotesk',sans-serif;color:#287344!important;margin-bottom:10px;}
.gc-coverage-stat-v03 span{display:block;color:#44556B!important;font-weight:650;line-height:1.42;font-size:.88rem;}
.gc-map-card-v03{position:relative;z-index:1;background:linear-gradient(145deg,#0C1A29,#132A3E);border-radius:32px;padding:22px;border:1px solid rgba(85,221,224,.18);box-shadow:0 28px 68px rgba(22,39,58,.22);overflow:hidden;}
.gc-map-caption-v03{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4px 18px;}
.gc-map-caption-v03 h3{font:700 1.35rem 'Space Grotesk',sans-serif;color:#F8FBFF!important;margin:0;}
.gc-map-caption-v03 span{color:rgba(239,246,255,.60)!important;font-size:.82rem;}
.gc-map-image-v03{position:relative;border-radius:25px;overflow:hidden;background:#03162A;min-height:500px;border:1px solid rgba(85,221,224,.12);}
.gc-map-image-v03 picture,.gc-map-image-v03 img{display:block;width:100%;height:100%;min-height:500px;object-fit:cover;}
.gc-map-image-v03::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,17,31,.03),rgba(3,22,42,.18));}
.gc-map-pin-v03{position:absolute;z-index:4;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;background:rgba(6,20,36,.82);border:1px solid rgba(85,221,224,.28);color:#F8FBFF;white-space:nowrap;box-shadow:0 12px 30px rgba(0,0,0,.30);backdrop-filter:blur(12px);}
.gc-map-pin-v03 i{width:11px;height:11px;border-radius:50%;background:var(--gc-neon-green);box-shadow:0 0 0 6px rgba(53,243,154,.14),0 0 20px rgba(53,243,154,.72);}
.gc-map-pin-v03 strong{font-size:.84rem;line-height:1;color:#F8FBFF!important;}

/* 6) CORI: misma familia cromática, sin morados heredados */
.gc-page-cori{
  background:
    radial-gradient(circle at 68% 16%,rgba(85,221,224,.16),transparent 26%),
    radial-gradient(circle at 17% 72%,rgba(53,243,154,.08),transparent 24%),
    radial-gradient(circle at 88% 76%,rgba(255,70,90,.055),transparent 22%),
    linear-gradient(155deg,#111A26 0%,#223247 55%,#182535 100%)!important;
  color:#F7FBFF!important;
}
.gc-page-cori .navbar{background:rgba(17,26,38,.90)!important;}
.gc-page-cori .badge{background:rgba(85,221,224,.08)!important;border-color:rgba(85,221,224,.32)!important;color:#A7F1F2!important;box-shadow:0 0 22px rgba(85,221,224,.08)!important;}
.gc-page-cori .hero h1 span{background:linear-gradient(90deg,var(--gc-neon-cyan),var(--gc-neon-green))!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;}
.gc-page-cori .btn-primary{background:linear-gradient(135deg,rgba(53,243,154,.92),rgba(85,221,224,.88))!important;color:#102119!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 12px 34px rgba(53,243,154,.16)!important;}
.gc-page-cori .btn-primary:hover{box-shadow:0 0 0 4px rgba(53,243,154,.10),0 16px 42px rgba(53,243,154,.22)!important;}
.gc-page-cori .btn-secondary{background:rgba(244,247,251,.05)!important;border-color:rgba(244,247,251,.18)!important;color:#F7FBFF!important;backdrop-filter:blur(14px);}
.gc-page-cori .cori-frame{background:linear-gradient(155deg,rgba(90,111,138,.16),rgba(17,26,38,.30))!important;border-color:rgba(85,221,224,.23)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 90px rgba(3,12,23,.30),0 0 48px rgba(85,221,224,.07)!important;}
.gc-page-cori .cori-frame .cori-circle{background:radial-gradient(circle,rgba(85,221,224,.28),rgba(53,243,154,.10),transparent 70%)!important;}
.gc-page-cori .cori-frame-base{background:radial-gradient(ellipse,rgba(85,221,224,.28),rgba(53,243,154,.12) 42%,transparent 72%)!important;}
.gc-page-cori .floating-card{background:linear-gradient(145deg,rgba(244,247,251,.10),rgba(90,111,138,.08))!important;border-color:rgba(85,221,224,.16)!important;box-shadow:0 16px 46px rgba(3,12,23,.26),inset 0 1px 0 rgba(255,255,255,.08)!important;}
.gc-page-cori .floating-card.card-3{border-color:rgba(53,243,154,.22)!important;}
.gc-page-cori .banner-100k{background:linear-gradient(145deg,rgba(85,221,224,.055),rgba(53,243,154,.035))!important;border-color:rgba(85,221,224,.25)!important;box-shadow:0 0 42px rgba(85,221,224,.09)!important;animation:none!important;}
.gc-page-cori .banner-100k .number{background:linear-gradient(90deg,var(--gc-neon-cyan),var(--gc-neon-green),#F8FBFF)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;}
.gc-page-cori .feature-item{background:rgba(244,247,251,.045)!important;border-color:rgba(85,221,224,.10)!important;}
.gc-page-cori .feature-item svg{stroke:var(--gc-neon-cyan)!important;}
.gc-page-cori .tech-card{background:linear-gradient(145deg,rgba(17,26,38,.72),rgba(43,54,68,.62))!important;border-color:rgba(85,221,224,.18)!important;box-shadow:0 18px 48px rgba(3,12,23,.24)!important;}
.gc-page-cori .tech-card h4 span{color:var(--gc-neon-green)!important;}
.gc-page-cori .tech-card svg{stroke:var(--gc-neon-cyan)!important;}
.gc-page-cori .cori-proof-shell{background:linear-gradient(140deg,#132030,#223247 58%,#182535)!important;border-color:rgba(85,221,224,.18)!important;box-shadow:0 28px 80px rgba(2,10,20,.28)!important;}
.gc-page-cori .cori-proof-shell::before{background:radial-gradient(circle,rgba(85,221,224,.11),transparent 68%)!important;}
.gc-page-cori .cori-proof-shell::after{background:radial-gradient(circle,rgba(53,243,154,.09),transparent 68%)!important;}
.gc-page-cori .cori-proof-head>span,.gc-page-cori .cori-proof-grid small{color:var(--gc-neon-cyan)!important;}
.gc-page-cori .cori-proof-head h2 strong{background:linear-gradient(90deg,var(--gc-neon-cyan),var(--gc-neon-green))!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.gc-page-cori .cori-proof-grid article{background:rgba(244,247,251,.055)!important;border-color:rgba(244,247,251,.09)!important;}
.gc-page-cori .cori-cap-icon{color:var(--gc-neon-cyan)!important;border-color:rgba(85,221,224,.20)!important;background:rgba(85,221,224,.07)!important;}
.gc-page-cori .cori-cap-icon svg{stroke:currentColor!important;}
.gc-page-cori .cori-highlight-grid>div{background:linear-gradient(135deg,rgba(85,221,224,.09),rgba(53,243,154,.06))!important;border-color:rgba(85,221,224,.14)!important;}
.gc-page-cori .gc-cori-media-shell{background:linear-gradient(145deg,rgba(244,247,251,.055),rgba(90,111,138,.055))!important;border-color:rgba(85,221,224,.12)!important;}
.gc-page-cori .gc-cori-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.gc-page-cori .gc-cori-media-grid article{padding:18px;border-radius:18px;background:rgba(244,247,251,.055)!important;border:1px solid rgba(85,221,224,.10)!important;display:flex;align-items:center;gap:12px;}
.gc-page-cori .gc-cori-media-grid span{color:var(--gc-neon-green)!important;}
.gc-page-cori .gc-cori-media-grid strong{color:#F8FBFF!important;}
.gc-page-cori .cta{background:linear-gradient(145deg,rgba(17,26,38,.74),rgba(43,54,68,.68))!important;border-color:rgba(85,221,224,.12)!important;}

/* 7) SERVICIOS: eliminar violeta como color dominante */
.gc-stack-card[data-accent="violet"]{--accent:var(--gc-neon-cyan)!important;}

@media(max-width:1100px){
  .gc-client-name-grid{grid-template-columns:repeat(3,1fr);}
  .gc-block-heading-inline{grid-template-columns:1fr;gap:14px;}
  .gc-media-bento{grid-template-columns:1fr 1fr;grid-template-rows:360px 240px;}
  .gc-coverage-stats-v03{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gc-map-image-v03,.gc-map-image-v03 picture,.gc-map-image-v03 img{min-height:440px;}
}
@media(max-width:760px){
  .gc-block-shell{width:calc(100% - 24px);padding:22px;border-radius:26px;}
  .gc-client-name-grid{grid-template-columns:repeat(2,1fr);gap:9px;}
  .gc-client-name-card{min-height:100px;padding:15px;border-radius:17px;}
  .gc-media-bento,.gc-media-bento-history{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;}
  .gc-media-tile{min-width:82%;height:330px;scroll-snap-align:start;}.gc-media-tile-video{min-width:90%;}
  .gc-coverage-v03{padding:18px 10px 34px!important;}
  .gc-coverage-shell-v03{padding:20px;border-radius:28px;}
  .gc-coverage-stats-v03{grid-template-columns:1fr 1fr;gap:9px;}
  .gc-coverage-stat-v03{min-height:120px;padding:18px;}
  .gc-map-card-v03{padding:12px;border-radius:24px;}
  .gc-map-caption-v03{align-items:flex-start;flex-direction:column;padding:4px 4px 12px;}
  .gc-map-image-v03,.gc-map-image-v03 picture,.gc-map-image-v03 img{min-height:350px;}
  .gc-map-pin-v03{padding:6px 8px;gap:6px;}.gc-map-pin-v03 strong{font-size:.65rem}.gc-map-pin-v03 i{width:7px;height:7px;box-shadow:0 0 0 4px rgba(53,243,154,.13),0 0 12px rgba(53,243,154,.6);}
  .gc-page-cori .gc-cori-media-grid{grid-template-columns:repeat(2,1fr);}
}

/* Bloques auxiliares que en v02 quedaron sin definición */
.gc-cori-media-strip{padding:14px 0 34px!important;background:transparent!important;}
.gc-historia-media{padding-top:10px!important;}
.gc-media-story-compact{padding-top:28px!important;padding-bottom:28px!important;}

/* =========================================================
   AJUSTES FINOS · 2026-09-15
   - Refuerza contraste de ayuda/cookies/contacto
   - Nav más visible
   - Clientes centrados, sin monograma superior izquierdo
   - Integra métricas 21 / 33 y evita recortes
   ========================================================= */

/* Nav más sólida y visible en todas las páginas */
.gc-master-nav.navbar,
.navbar.gc-master-nav{
  background:rgba(10,18,29,.96)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 16px 42px rgba(5,11,20,.28)!important;
}
.gc-master-links a{
  color:rgba(248,251,255,.88)!important;
  font-weight:700!important;
}
.gc-master-links a:hover,
.gc-master-links a.active,
.gc-master-links a[aria-current="page"]{
  color:#ffffff!important;
}
.gc-master-links a.active,
.gc-master-links a[aria-current="page"]{
  background:rgba(53,243,154,.10)!important;
  border-radius:999px!important;
  padding:12px 14px!important;
  box-shadow:inset 0 0 0 1px rgba(53,243,154,.16)!important;
}
.gc-master-links a.active::after,
.gc-master-links a[aria-current="page"]::after{
  left:12px!important; right:12px!important; bottom:8px!important;
}
.gc-nav-action{
  min-height:48px!important;
  padding:0 22px!important;
  font:800 14px/1 'Inter',sans-serif!important;
  color:#fff!important;
}
.gc-nav-action-red{
  border-color:rgba(255,120,135,.48)!important;
  background:linear-gradient(135deg,#ff4d57,#ff6e74)!important;
  box-shadow:0 12px 28px rgba(255,70,90,.26)!important;
}
.gc-nav-action-green{
  border-color:rgba(53,243,154,.48)!important;
  background:linear-gradient(135deg,#089a45,#10c156)!important;
  box-shadow:0 12px 28px rgba(0,179,71,.24)!important;
}
.gc-nav-action-red:hover,
.gc-nav-action-green:hover{ transform:translateY(-2px) scale(1.01)!important; }

/* Ayuda y sugerencias: recuperar color/contraste */
.gc-help-panel,
.gc-help-panel.glass-modal{
  background:
    radial-gradient(circle at 12% 12%, rgba(53,243,154,.14), transparent 26%),
    radial-gradient(circle at 88% 90%, rgba(85,221,224,.12), transparent 26%),
    linear-gradient(145deg, rgba(9,18,31,.98), rgba(14,30,51,.98)) !important;
  color:#f8fbff!important;
}
.gc-help-shell,
.gc-help-faq,
.gc-help-form-wrap{
  background:transparent!important;
  color:#f8fbff!important;
}
.gc-help-faq,
.gc-help-form-wrap{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.gc-help-head h2,
.gc-help-faq h3,
.gc-help-form-wrap h3,
.gc-help-faq summary,
.gc-help-panel .gc-help-close{ color:#ffffff!important; }
.gc-help-head p,
.gc-help-faq details p,
.gc-help-form label,
.gc-help-form label span{ color:rgba(235,243,252,.82)!important; }
.gc-help-form input,
.gc-help-form select,
.gc-help-form textarea{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#ffffff!important;
}
.gc-help-form input::placeholder,
.gc-help-form textarea::placeholder{ color:rgba(235,243,252,.54)!important; }
.gc-help-form button{
  background:linear-gradient(135deg,#069c47,#16c85b)!important;
  color:#ffffff!important;
}

/* Cookies: mantener ventana flotante con mejor claridad */
.gc-cookie-panel,
.gc-cookie-panel.glass-modal{
  background:
    radial-gradient(circle at 10% 10%, rgba(53,243,154,.12), transparent 24%),
    linear-gradient(145deg, rgba(9,18,31,.98), rgba(14,30,51,.98)) !important;
  color:#f8fbff!important;
}
.gc-cookie-panel :is(h2,h3,p,span,strong,summary,label),
.gc-cookie-modal-head p,
.gc-cookie-modal-head h2,
.gc-cookie-policy-note,
.gc-cookie-category-title,
.gc-cookie-always{ color:#f8fbff!important; }
.gc-cookie-policy-note,
.gc-cookie-category,
.gc-cookie-modal-actions{ background:rgba(255,255,255,.06)!important; border-color:rgba(255,255,255,.12)!important; }
.gc-cookie-action.reject{ background:rgba(255,255,255,.10)!important; color:#fff!important; }
.gc-cookie-action.accept-all,
.gc-cookie-action.save{ background:linear-gradient(135deg,#079447,#35f39a)!important; color:#0b1b14!important; }

/* Contacto general más integrado y con color */
.gc-general-contact-section{
  background:
    radial-gradient(circle at 14% 22%, rgba(85,221,224,.10), transparent 24%),
    radial-gradient(circle at 82% 72%, rgba(53,243,154,.08), transparent 23%),
    linear-gradient(145deg,#0e1d2e 0%, #17283b 55%, #102234 100%)!important;
  border:1px solid rgba(85,221,224,.18)!important;
  box-shadow:0 28px 80px rgba(7,16,27,.28)!important;
}
.gc-general-contact-shell{
  background:linear-gradient(135deg,rgba(244,247,251,.10),rgba(255,255,255,.06))!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.gc-general-contact-copy h2,
.gc-general-contact-copy h3,
.gc-general-contact-copy p,
.gc-general-contact-copy span,
.gc-general-contact-meta span,
.gc-general-contact-meta a{ color:#f8fbff!important; }
.gc-general-contact-copy h2 span,
.gc-general-contact-copy h3 span{ color:#63d4ff!important; }
.gc-general-contact-form input,
.gc-general-contact-form textarea,
.gc-general-contact-form select{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#ffffff!important;
}
.gc-general-contact-form input::placeholder,
.gc-general-contact-form textarea::placeholder{ color:rgba(244,247,251,.66)!important; }
.gc-general-contact-form button{
  background:linear-gradient(135deg,#0aa447,#11c158)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#ffffff!important;
}

/* Clientes: más centrados, mayor tipografía y sin monograma superior izquierdo */
.gc-client-universe{ overflow:visible!important; }
.gc-client-universe-shell{ overflow:visible!important; }
.gc-client-universe-head{ max-width:none!important; margin-bottom:34px!important; }
.gc-client-universe-summary{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);
  gap:28px;
  align-items:end;
}
.gc-client-universe-head h1{ max-width:860px!important; }
.gc-client-universe-head p{ max-width:920px!important; }
.gc-client-universe-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.gc-client-universe-stat{
  min-height:172px;
  padding:22px 22px 24px;
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.04))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 16px 36px rgba(0,0,0,.18)!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gc-client-universe-stat strong{
  font:700 clamp(2.2rem,4vw,3.55rem)/1 'Space Grotesk',sans-serif;
  color:#e9fff7!important;
  margin-bottom:10px;
}
.gc-client-universe-stat span{
  color:rgba(244,247,251,.84)!important;
  line-height:1.4;
  font-size:1rem;
  font-weight:600;
}
.gc-client-orb-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.gc-client-orb{
  min-height:170px!important;
  padding:24px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  text-align:center!important;
}
.gc-client-orb-mark{ display:none!important; }
.gc-client-orb strong{
  max-width:100%!important;
  width:100%;
  margin-top:auto;
  font:700 clamp(1.18rem,1.55vw,1.52rem)/1.12 'Space Grotesk',sans-serif!important;
  text-align:center!important;
}
.gc-client-orb-wave{ opacity:.22!important; }

/* Responsive clientes */
@media (max-width: 1180px){
  .gc-client-universe-summary{ grid-template-columns:1fr!important; }
  .gc-client-universe-stats{ max-width:560px; }
}
@media (max-width: 980px){
  .gc-client-orb-grid{ grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media (max-width: 760px){
  .gc-client-universe-stats{ grid-template-columns:1fr!important; }
  .gc-client-orb-grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .gc-client-orb{ min-height:152px!important; }
}
@media (max-width: 560px){
  .gc-client-orb-grid{ grid-template-columns:1fr!important; }
  .gc-client-orb strong{ font-size:1.34rem!important; }
}

/* ===== FIN ARCHIVO ORIGINAL: gc-tech-glass.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-blueprint.css ===== */
/* =========================================================
   WEB GC 2026 · BLUEPRINT MASTER LAYER
   Homologa Index / CORI / Clientes / Historia
   ========================================================= */
:root{
  --gc-bg:#F4F7FB;
  --gc-surface:#D3DBE6;
  --gc-surface-2:#9FB0C6;
  --gc-slate:#5A6F8A;
  --gc-ink:#2B3644;
  --gc-ink-deep:#111A25;
  --gc-green:#35F39A;
  --gc-green-soft:#7CFFB2;
  --gc-red:#FF465A;
  --gc-red-soft:#FF6A6A;
  --gc-cyan:#55DDE0;
  --gc-violet:#8B6CFF;
  --gc-radius-sm:16px;
  --gc-radius-md:24px;
  --gc-radius-lg:32px;
  --gc-shadow-soft:0 14px 50px rgba(43,54,68,.12);
  --gc-shadow-dark:0 24px 80px rgba(11,20,32,.28);
  --gc-glass:rgba(255,255,255,.48);
  --gc-glass-border:rgba(255,255,255,.62);
}

html{scroll-behavior:smooth;}
body.gc-blueprint{
  color:var(--gc-ink);
  background:
    radial-gradient(circle at 8% 3%, rgba(85,221,224,.12), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(53,243,154,.10), transparent 24%),
    linear-gradient(180deg,#F4F7FB 0%,#E9EFF6 52%,#F4F7FB 100%);
}
body.gc-page-cori.gc-blueprint{
  background:
    radial-gradient(circle at 72% 10%,rgba(139,108,255,.12),transparent 24%),
    radial-gradient(circle at 8% 45%,rgba(85,221,224,.08),transparent 28%),
    #07111F;
  color:#F4F7FB;
}

/* =========================== MASTER NAV =========================== */
.gc-master-nav.navbar{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  width:100%!important;
  max-width:none!important;
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  padding:10px clamp(18px,4vw,72px)!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid rgba(159,176,198,.24)!important;
  background:rgba(17,26,37,.92)!important;
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  backdrop-filter:blur(20px) saturate(145%);
  box-shadow:0 10px 34px rgba(11,20,32,.14)!important;
}
.gc-master-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:max-content;
  text-decoration:none!important;
  color:#F4F7FB!important;
  font-family:'Space Grotesk',sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.gc-master-brand img{
  width:40px!important;
  height:42px!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 4px 12px rgba(53,243,154,.16));
}
.gc-master-menu{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(18px,3vw,42px);
}
.gc-master-links{
  display:flex!important;
  align-items:center!important;
  gap:clamp(16px,2vw,34px)!important;
  margin:0!important;
}
.gc-master-links a{
  position:relative;
  padding:12px 2px!important;
  color:rgba(244,247,251,.78)!important;
  text-decoration:none!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  transition:color .25s ease, transform .25s ease!important;
}
.gc-master-links a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:4px;
  height:2px;border-radius:999px;
  background:linear-gradient(90deg,var(--gc-green),var(--gc-cyan));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
  box-shadow:0 0 14px rgba(53,243,154,.55);
}
.gc-master-links a:hover,.gc-master-links a.active{color:#fff!important;transform:translateY(-1px);}
.gc-master-links a:hover::after,.gc-master-links a.active::after{transform:scaleX(1);}
.gc-master-actions{display:flex;align-items:center;gap:10px;}
.gc-nav-action{
  min-height:40px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0 16px!important;
  border-radius:14px!important;
  text-decoration:none!important;
  font:700 12px/1 'Inter',sans-serif!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 9px 24px rgba(0,0,0,.13)!important;
  backdrop-filter:blur(16px)!important;
  transition:.25s ease!important;
}
.gc-nav-action-green{border-color:rgba(53,243,154,.35)!important;background:linear-gradient(135deg,rgba(53,243,154,.15),rgba(85,221,224,.08))!important;}
.gc-nav-action-red{border-color:rgba(255,70,90,.36)!important;background:linear-gradient(135deg,rgba(255,70,90,.15),rgba(255,106,106,.07))!important;}
.gc-nav-action:hover{transform:translateY(-2px)!important;color:#fff!important;}
.gc-nav-action-green:hover{box-shadow:0 0 30px rgba(53,243,154,.20),inset 0 1px 0 rgba(255,255,255,.18)!important;}
.gc-nav-action-red:hover{box-shadow:0 0 30px rgba(255,70,90,.18),inset 0 1px 0 rgba(255,255,255,.18)!important;}
.gc-nav-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px;cursor:pointer;}
.gc-nav-toggle span{display:block;height:2px;margin:5px 0;border-radius:9px;background:#fff;transition:.25s ease;}

/* =========================== GLOBAL READABILITY =========================== */
.gc-blueprint h1,.gc-blueprint h2,.gc-blueprint h3,.gc-blueprint h4{
  font-family:'Space Grotesk','Inter',sans-serif;
  letter-spacing:-.035em;
}
.gc-blueprint input,.gc-blueprint textarea,.gc-blueprint select,
.gc-blueprint input::placeholder,.gc-blueprint textarea::placeholder{
  opacity:1!important;
}
.gc-blueprint input,.gc-blueprint textarea,.gc-blueprint select{
  color:#1D2939!important;
  font-weight:500!important;
}
.gc-blueprint input::placeholder,.gc-blueprint textarea::placeholder{color:#66758A!important;}
.gc-page-cori.gc-blueprint input,.gc-page-cori.gc-blueprint textarea,.gc-page-cori.gc-blueprint select{color:#F4F7FB!important;}
.gc-page-cori.gc-blueprint input::placeholder,.gc-page-cori.gc-blueprint textarea::placeholder{color:rgba(244,247,251,.62)!important;}

/* Contact module: high contrast in every page */
.gc-blueprint .gc-general-contact-section{
  background:linear-gradient(135deg,#213042 0%,#2B3644 54%,#24394C 100%)!important;
  border:1px solid rgba(85,221,224,.22)!important;
  box-shadow:var(--gc-shadow-dark)!important;
  color:#F4F7FB!important;
}
.gc-blueprint .gc-general-contact-section h2,
.gc-blueprint .gc-general-contact-section h3,
.gc-blueprint .gc-general-contact-section p,
.gc-blueprint .gc-general-contact-section label,
.gc-blueprint .gc-general-contact-section strong{color:#F4F7FB!important;}
.gc-blueprint .gc-general-contact-section input,
.gc-blueprint .gc-general-contact-section textarea,
.gc-blueprint .gc-general-contact-section select{
  background:rgba(244,247,251,.09)!important;
  border:1px solid rgba(244,247,251,.18)!important;
  color:#fff!important;
}
.gc-blueprint .gc-general-contact-section input::placeholder,
.gc-blueprint .gc-general-contact-section textarea::placeholder{color:rgba(244,247,251,.62)!important;}

/* Cookies readable */
.gc-blueprint .cookie-banner{color:#435064!important;background:rgba(255,255,255,.96)!important;border-left-color:var(--gc-green)!important;}
.gc-blueprint .cookie-banner h4{color:#172131!important;}
.gc-blueprint .cookie-banner .gc-cookie-config-btn{background:#EFF3F7!important;color:#283548!important;border:1px solid #CFD9E4!important;}
.gc-blueprint .cookie-banner .gc-cookie-accept-btn{background:linear-gradient(135deg,#079447,var(--gc-green))!important;color:#062616!important;}

/* =========================== CLIENT UNIVERSE =========================== */
.gc-client-universe{
  position:relative;
  overflow:hidden;
  width:min(96%,1540px);
  margin:clamp(24px,4vw,64px) auto;
  border-radius:clamp(28px,4vw,54px);
  background:
    radial-gradient(circle at 8% 10%,rgba(85,221,224,.16),transparent 26%),
    radial-gradient(circle at 88% 82%,rgba(53,243,154,.11),transparent 22%),
    linear-gradient(145deg,#071421 0%,#0B1B2B 56%,#0A1826 100%);
  color:#F4F7FB;
  border:1px solid rgba(85,221,224,.17);
  box-shadow:0 32px 90px rgba(10,23,36,.26);
}
.gc-client-universe-bg,.gc-client-universe-bg::before,.gc-client-universe-bg::after{position:absolute;inset:0;pointer-events:none;content:"";}
.gc-client-universe-bg{
  opacity:.45;
  background-image:
    linear-gradient(rgba(85,221,224,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(85,221,224,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,black,transparent 90%);
}
.gc-client-universe-bg::before{background:radial-gradient(circle at 78% 22%,rgba(139,108,255,.18),transparent 19%);filter:blur(30px);}
.gc-client-universe-bg::after{background:linear-gradient(105deg,transparent 38%,rgba(85,221,224,.06) 50%,transparent 62%);transform:translateX(-55%);animation:gcClientSweep 11s linear infinite;}
@keyframes gcClientSweep{to{transform:translateX(55%)}}
.gc-client-universe-shell{position:relative;z-index:1;padding:clamp(28px,5vw,72px)!important;}
.gc-client-universe-head{max-width:900px;margin-bottom:clamp(26px,4vw,50px);}
.gc-client-universe-head .gc-kicker{color:var(--gc-green)!important;background:rgba(53,243,154,.08)!important;border-color:rgba(53,243,154,.22)!important;}
.gc-client-universe-head h1{font-size:clamp(38px,5vw,76px)!important;line-height:.98!important;color:#F4F7FB!important;margin:16px 0 18px!important;max-width:920px;}
.gc-client-universe-head h1 span{color:var(--gc-cyan)!important;text-shadow:0 0 30px rgba(85,221,224,.22);}
.gc-client-universe-head p{max-width:780px;color:rgba(244,247,251,.70)!important;font-size:clamp(15px,1.35vw,19px)!important;line-height:1.65!important;}
.gc-client-orb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.gc-client-orb{
  position:relative;
  isolation:isolate;
  min-height:175px;
  padding:28px 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(159,176,198,.24);
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.08),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035)),
    rgba(12,31,48,.74);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 34px rgba(0,0,0,.13);
  backdrop-filter:blur(18px);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease;
}
.gc-client-orb::before{content:"";position:absolute;inset:-35%;z-index:-1;opacity:.18;filter:blur(26px);transition:.3s ease;}
.gc-client-orb::after{content:"";position:absolute;left:14%;right:14%;bottom:16px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gc-cyan) 80%,white 20%),transparent);opacity:.36;transform:scaleX(.72);transition:transform .28s ease,opacity .28s ease;}
.gc-client-orb-cyan::before{background:radial-gradient(circle,var(--gc-cyan),transparent 55%);}
.gc-client-orb-green::before{background:radial-gradient(circle,var(--gc-green),transparent 55%);}
.gc-client-orb-blue::before{background:radial-gradient(circle,#4A8CFF,transparent 55%);}
.gc-client-orb-red::before{background:radial-gradient(circle,var(--gc-red),transparent 55%);}
.gc-client-orb:hover,.gc-client-orb:focus-visible{transform:translateY(-7px) scale(1.012);border-color:rgba(85,221,224,.46);box-shadow:0 22px 48px rgba(0,0,0,.23),0 0 28px rgba(85,221,224,.08);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.12),transparent 70%),linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045)),rgba(12,31,48,.78);outline:none;}
.gc-client-orb:hover::before,.gc-client-orb:focus-visible::before{opacity:.30;}
.gc-client-orb:hover::after,.gc-client-orb:focus-visible::after{opacity:.9;transform:scaleX(1);}
.gc-client-orb-index,.gc-client-orb-mark,.gc-client-orb-wave{display:none!important;}
.gc-client-orb strong{position:relative;z-index:2;color:#F4F7FB!important;font:700 clamp(19px,1.65vw,28px)/1.18 'Space Grotesk'!important;letter-spacing:-.025em;max-width:92%;margin:0 auto;text-wrap:balance;}

/* =========================== MAP =========================== */
.gc-blueprint .gc-coverage-shell-v03{max-width:1540px!important;}
.gc-blueprint .gc-coverage-head-v03 h2{color:var(--gc-ink)!important;}
.gc-blueprint .gc-coverage-head-v03 h2 span{color:#078B48!important;}
.gc-blueprint .gc-coverage-head-v03 p{color:#536176!important;max-width:970px;}
.gc-blueprint .gc-coverage-stats-v03{perspective:1100px;}
.gc-blueprint .gc-coverage-stat-v03{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.54)!important;
  border:1px solid rgba(159,176,198,.32)!important;
  box-shadow:var(--gc-shadow-soft)!important;
  backdrop-filter:blur(18px);
  opacity:0;
  transform:translateY(26px) scale(.98);
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.gc-blueprint .gc-coverage-stat-v03::after{content:"";position:absolute;inset:-40% auto auto -30%;width:62%;height:180%;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.4) 48%,transparent 75%);transform:translateX(-180%) rotate(10deg);opacity:0;pointer-events:none;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03{animation:gcCoverageStatIn .8s cubic-bezier(.18,.89,.32,1.12) forwards,gcCoverageStatFloat 5.8s ease-in-out 1s infinite;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(2){animation-delay:.12s,1.2s;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(3){animation-delay:.24s,1.4s;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(4){animation-delay:.36s,1.6s;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(1)::after,
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(2)::after,
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(3)::after,
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(4)::after{animation:gcCoverageStatShine 2.8s ease forwards;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(2)::after{animation-delay:.22s;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(3)::after{animation-delay:.42s;}
.gc-blueprint .gc-coverage-stats-v03.is-animated .gc-coverage-stat-v03:nth-child(4)::after{animation-delay:.62s;}
.gc-blueprint .gc-coverage-stat-v03:hover{transform:translateY(-6px) scale(1.01)!important;border-color:rgba(7,139,72,.24)!important;box-shadow:0 24px 46px rgba(22,117,62,.08),var(--gc-shadow-soft)!important;}
.gc-blueprint .gc-coverage-stat-v03 strong{color:#16753E!important;display:block;}
@keyframes gcCoverageStatIn{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gcCoverageStatFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes gcCoverageStatShine{0%{transform:translateX(-180%) rotate(10deg);opacity:0}20%{opacity:.55}100%{transform:translateX(280%) rotate(10deg);opacity:0}}
.gc-blueprint .gc-map-card-v03{background:linear-gradient(145deg,#071421,#0A2135)!important;border:1px solid rgba(85,221,224,.19)!important;box-shadow:var(--gc-shadow-dark)!important;}
.gc-blueprint .gc-map-caption-v03 h3{color:#fff!important;}
.gc-blueprint .gc-map-caption-v03 span{color:rgba(244,247,251,.62)!important;}
.gc-blueprint .gc-map-pin-v03 strong{color:#F4F7FB!important;background:rgba(8,26,42,.82)!important;border:1px solid rgba(85,221,224,.25)!important;box-shadow:0 8px 24px rgba(0,0,0,.24)!important;}
.gc-blueprint .gc-map-pin-v03 i{background:var(--gc-green)!important;box-shadow:0 0 0 7px rgba(53,243,154,.16),0 0 26px rgba(53,243,154,.68)!important;}

/* =========================== CORI COUNTER =========================== */
.gc-page-cori .banner-100k{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(300px,.8fr) 1fr!important;
  align-items:center!important;
  gap:clamp(18px,4vw,60px)!important;
  padding:clamp(24px,4vw,54px)!important;
  min-height:180px!important;
  background:
    radial-gradient(circle at 18% 50%,rgba(85,221,224,.20),transparent 28%),
    radial-gradient(circle at 90% 10%,rgba(53,243,154,.11),transparent 24%),
    linear-gradient(120deg,#1A2B3D,#2B3644)!important;
  border:1px solid rgba(85,221,224,.22)!important;
  border-radius:34px!important;
  box-shadow:0 26px 70px rgba(0,0,0,.25)!important;
}
.gc-page-cori .banner-100k::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);transform:translateX(-100%);animation:gcCounterShine 5.5s ease-in-out infinite;pointer-events:none;}
@keyframes gcCounterShine{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.gc-page-cori .banner-100k .number{
  margin:0!important;
  font:800 clamp(64px,8vw,136px)/.88 'Space Grotesk'!important;
  letter-spacing:-.065em!important;
  background:linear-gradient(90deg,#DFFBFF 0%,var(--gc-cyan) 42%,var(--gc-green) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  filter:drop-shadow(0 0 26px rgba(85,221,224,.15));
  font-variant-numeric:tabular-nums;
}
.gc-page-cori .banner-100k .text{color:#F4F7FB!important;font:700 clamp(18px,2.1vw,32px)/1.15 'Space Grotesk'!important;text-transform:uppercase;letter-spacing:.08em!important;max-width:600px;}
.gc-page-index .gc-home-cori-stat strong{font-variant-numeric:tabular-nums;min-width:3.4ch;}

/* =========================== HISTORY MODULAR =========================== */
.gc-history-institutional{
  position:relative;
  width:min(94%,1500px);
  margin:clamp(38px,6vw,88px) auto;
  padding:0;
}
.gc-history-institutional-shell{display:grid;gap:22px;}
.gc-history-module-heading{max-width:850px;margin:0 auto 18px;text-align:center;}
.gc-history-module-heading .gc-kicker{color:#08733E!important;background:rgba(53,243,154,.08)!important;border-color:rgba(53,243,154,.22)!important;}
.gc-history-module-heading h2{font-size:clamp(36px,4.7vw,66px)!important;line-height:1!important;margin:15px 0!important;color:var(--gc-ink)!important;}
.gc-history-module-heading h2 span{color:#078B48!important;}
.gc-history-module-heading p{color:#5A687B!important;font-size:clamp(15px,1.25vw,18px)!important;line-height:1.65!important;}
.gc-history-console{
  position:relative;
  border-radius:34px;
  border:1px solid rgba(159,176,198,.30);
  background:rgba(255,255,255,.52);
  box-shadow:var(--gc-shadow-soft);
  backdrop-filter:blur(22px);
  overflow:hidden;
}
.gc-history-console::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--gc-green),var(--gc-cyan),var(--gc-red));opacity:.8;}
.gc-history-console-label{position:absolute;top:22px;right:26px;color:#738197;font:700 11px/1 'Inter';letter-spacing:.13em;text-transform:uppercase;}

/* values */
.gc-values-console{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px;padding:18px;}
.gc-values-stage{min-height:330px;padding:clamp(28px,4vw,54px);border-radius:26px;background:linear-gradient(145deg,#203143,#2B3644);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:background .3s ease,border-color .3s ease;}
.gc-values-stage::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-90px;top:-110px;filter:blur(8px);opacity:.2;background:var(--gc-green);transition:background .3s ease;}
.gc-values-stage[data-tone="red"]::before{background:var(--gc-red);}
.gc-values-stage-meta{position:absolute;left:30px;top:28px;display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.52);font:700 11px/1 'Inter';letter-spacing:.12em;text-transform:uppercase;}
.gc-values-stage-meta span:first-child{font-size:20px;color:var(--gc-green);letter-spacing:0;}
.gc-values-stage[data-tone="red"] .gc-values-stage-meta span:first-child{color:var(--gc-red);}
.gc-values-stage-icon{width:70px;height:70px;border-radius:24px;display:grid;place-items:center;margin-bottom:24px;border:1px solid rgba(53,243,154,.25);background:rgba(53,243,154,.09);color:var(--gc-green);font:500 38px/1 'Space Grotesk';box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:.3s ease;}
.gc-values-stage[data-tone="red"] .gc-values-stage-icon{border-color:rgba(255,70,90,.28);background:rgba(255,70,90,.09);color:var(--gc-red);}
.gc-values-stage h3{margin:0 0 13px;color:#fff!important;font-size:clamp(34px,4vw,62px)!important;}
.gc-values-stage p{margin:0;max-width:750px;color:rgba(244,247,251,.74)!important;font-size:clamp(15px,1.3vw,19px)!important;line-height:1.65!important;}
.gc-values-progress{height:3px;margin-top:30px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;}
.gc-values-progress i{display:block;height:100%;width:12.5%;background:var(--gc-green);border-radius:inherit;transition:width .35s ease,background .3s ease;box-shadow:0 0 18px rgba(53,243,154,.45);}
.gc-values-stage[data-tone="red"] .gc-values-progress i{background:var(--gc-red);box-shadow:0 0 18px rgba(255,70,90,.42);}
.gc-values-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center;padding:38px 8px 8px;}
.gc-value-chip{min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(90,111,138,.15);background:rgba(244,247,251,.60);color:#39485C;font:700 13px/1.15 'Inter';text-align:left;cursor:pointer;transition:.25s ease;}
.gc-value-chip span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(90,111,138,.09);color:#77869A;font-size:10px;}
.gc-value-chip:hover{transform:translateY(-2px);border-color:rgba(85,221,224,.35);}
.gc-value-chip.is-active{background:#243548;color:#fff;border-color:rgba(85,221,224,.34);box-shadow:0 10px 26px rgba(43,54,68,.18);}
.gc-value-chip.is-active span{background:rgba(53,243,154,.12);color:var(--gc-green);}

/* mission vision */
.gc-purpose-console{padding:clamp(28px,4vw,52px);min-height:300px;background:linear-gradient(135deg,rgba(255,255,255,.67),rgba(211,219,230,.52));}
.gc-purpose-tabs{display:flex;gap:8px;margin-bottom:38px;}
.gc-purpose-tab{border:1px solid rgba(90,111,138,.18);border-radius:999px;background:rgba(255,255,255,.58);padding:12px 20px;color:#526176;font:700 13px/1 'Inter';cursor:pointer;transition:.25s ease;}
.gc-purpose-tab.is-active{background:#213042;color:#fff;border-color:#213042;box-shadow:0 10px 24px rgba(33,48,66,.18);}
.gc-purpose-panel{max-width:1000px;animation:gcPanelIn .32s ease both;}
@keyframes gcPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gc-purpose-panel>span{display:block;color:#078B48;font:700 11px/1 'Inter';letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px;}
.gc-purpose-panel[data-purpose-panel="vision"]>span{color:#D82E40;}
.gc-purpose-panel h3{color:var(--gc-ink)!important;font-size:clamp(30px,3.3vw,48px)!important;margin:0 0 16px!important;}
.gc-purpose-panel p{color:#46566B!important;font-size:clamp(17px,1.65vw,23px)!important;line-height:1.65!important;margin:0!important;max-width:1000px;}

/* quality */
.gc-quality-console{padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:28px;align-items:center;background:linear-gradient(135deg,rgba(244,247,251,.74),rgba(211,219,230,.50));}
.gc-quality-console-copy>span{color:#087B44;font:700 11px/1 'Inter';letter-spacing:.12em;text-transform:uppercase;}
.gc-quality-console-copy h3{font-size:clamp(28px,3vw,44px)!important;color:var(--gc-ink)!important;margin:13px 0!important;max-width:850px;}
.gc-quality-console-copy p{color:#56667A!important;line-height:1.6!important;max-width:780px;}
.gc-quality-console-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gc-quality-card{min-height:190px;padding:24px;border:1px solid rgba(255,255,255,.32);border-radius:28px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;color:#fff;cursor:pointer;box-shadow:0 18px 46px rgba(43,54,68,.16);transition:.27s ease;overflow:hidden;position:relative;}
.gc-quality-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-35px;top:-40px;background:rgba(255,255,255,.16);filter:blur(2px);}
.gc-quality-card:hover{transform:translateY(-5px) scale(1.01);}
.gc-quality-card-green{background:linear-gradient(145deg,#087A42,#10B85D);}
.gc-quality-card-red{background:linear-gradient(145deg,#B81729,#F14254);}
.gc-quality-card small{font:700 10px/1 'Inter';letter-spacing:.12em;text-transform:uppercase;opacity:.72;}
.gc-quality-card strong{font:700 clamp(18px,1.7vw,25px)/1.1 'Space Grotesk';color:#fff!important;position:relative;z-index:1;}
.gc-quality-card span{font:700 12px/1 'Inter';position:relative;z-index:1;}

/* timeline polish */
.gc-page-historia .timeline-container{border-radius:30px;padding:18px 0 10px;background:rgba(255,255,255,.38);border:1px solid rgba(159,176,198,.22);box-shadow:var(--gc-shadow-soft);}
.gc-page-historia .timeline-content{background:rgba(255,255,255,.66)!important;border-color:rgba(159,176,198,.24)!important;box-shadow:0 12px 34px rgba(43,54,68,.08)!important;backdrop-filter:blur(16px);}
.gc-page-historia .timeline-content h3{color:#D92B3E!important;}
.gc-page-historia .timeline-content h4{color:var(--gc-ink)!important;}
.gc-page-historia .timeline-content p{color:#526176!important;}

/* Footer consistent */
.gc-blueprint .gc-site-footer{background:#0E1928!important;border-top:1px solid rgba(53,243,154,.34)!important;color:rgba(244,247,251,.68)!important;}
.gc-blueprint .gc-site-footer a,.gc-blueprint .gc-site-footer button{color:rgba(244,247,251,.72)!important;}
.gc-blueprint .gc-site-footer strong{color:#F4F7FB!important;}

/* =========================== RESPONSIVE =========================== */
@media (max-width:1100px){
  .gc-master-nav.navbar{padding-inline:20px!important;}
  .gc-master-brand span{display:none;}
  .gc-master-links{gap:16px!important;}
  .gc-client-orb-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gc-quality-console{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .gc-master-nav.navbar{min-height:64px!important;}
  .gc-master-brand span{display:inline;}
  .gc-nav-toggle{display:block;order:3;}
  .gc-master-menu{position:absolute;left:14px;right:14px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;gap:16px;padding:18px;border-radius:24px;background:rgba(17,26,37,.98);border:1px solid rgba(159,176,198,.20);box-shadow:0 24px 70px rgba(0,0,0,.30);}
  .gc-master-menu.is-open{display:flex;}
  .gc-master-links{flex-direction:column!important;align-items:stretch!important;gap:0!important;}
  .gc-master-links a{padding:15px 8px!important;font-size:16px!important;border-bottom:1px solid rgba(255,255,255,.06);}
  .gc-master-actions{display:grid;grid-template-columns:1fr 1fr;}
  .gc-nav-action{min-height:48px;}
  .gc-client-orb-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gc-client-orb{min-height:145px;padding:22px 18px;}
  .gc-values-console{grid-template-columns:1fr;}
  .gc-values-selector{grid-template-columns:repeat(4,1fr);padding:6px 0 0;overflow:auto;scroll-snap-type:x proximity;}
  .gc-value-chip{min-width:145px;scroll-snap-align:start;}
  .gc-history-console-label{position:static;margin:0 0 16px;}
  .gc-purpose-console,.gc-quality-console{padding:24px;}
  .gc-page-cori .banner-100k{grid-template-columns:1fr!important;text-align:left!important;}
}
@media (max-width:560px){
  .gc-master-brand span{font-size:14px;}
  .gc-master-brand img{width:34px!important;height:36px!important;}
  .gc-client-universe{width:calc(100% - 20px);border-radius:28px;}
  .gc-client-universe-shell{padding:26px 16px!important;}
  .gc-client-orb-grid{grid-template-columns:1fr;}
  .gc-client-orb{min-height:132px;padding:20px 18px;}
  .gc-client-orb strong{font-size:22px!important;}
  .gc-values-stage{min-height:310px;padding:30px 24px;}
  .gc-values-selector{grid-template-columns:repeat(8,150px);}
  .gc-quality-console-actions{grid-template-columns:1fr;}
  .gc-quality-card{min-height:138px;}
  .gc-page-cori .banner-100k .number{font-size:clamp(58px,20vw,92px)!important;}
  .gc-page-cori .banner-100k .text{font-size:16px!important;letter-spacing:.06em!important;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-blueprint.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-clientes-final.css ===== */
/* =========================================================
   WEB GC 2026 · CLIENTES · AJUSTE FINAL 01
   Fecha: 2026-09-17
   Esta hoja se carga AL FINAL y corrige únicamente la página Clientes.
   Objetivos:
   - Homologar navbar con Index
   - Eliminar cortes/overflow horizontal
   - Centrar nombres de clientes
   - Mejorar Cobertura + contadores
   - Integrar visualmente Contacto
   ========================================================= */

.gc-page-clientes{
  --client-ink:#1f2937;
  --client-muted:#526174;
  --client-green:#0a9747;
  --client-green-2:#20d873;
  --client-red:#e51c2c;
  --client-red-2:#ff5360;
  --client-cyan:#55dde0;
  --client-violet:#826cf5;
  --client-bg:#f4f7fb;
  background:
    radial-gradient(circle at 12% 15%,rgba(85,221,224,.09),transparent 28%),
    radial-gradient(circle at 88% 34%,rgba(130,108,245,.055),transparent 28%),
    linear-gradient(180deg,#f5f8fc 0%,#edf2f8 52%,#f4f7fb 100%)!important;
  color:var(--client-ink)!important;
  overflow-x:hidden!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.gc-page-clientes *{box-sizing:border-box;}
.gc-page-clientes img,.gc-page-clientes video,.gc-page-clientes svg{max-width:100%;}

/* =============== NAV · MISMA LÓGICA VISUAL DEL INDEX =============== */
.gc-page-clientes .gc-master-nav.navbar{
  position:fixed!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  min-height:76px!important;
  padding:12px clamp(22px,4vw,68px)!important;
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid rgba(31,41,55,.07)!important;
  box-shadow:0 8px 28px rgba(31,41,55,.07)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  z-index:9999!important;
}
.gc-page-clientes .gc-master-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:max-content!important;
  text-decoration:none!important;
}
.gc-page-clientes .gc-master-brand img{width:auto!important;height:48px!important;object-fit:contain!important;}
.gc-page-clientes .gc-master-brand span{
  color:#263241!important;
  font:800 clamp(16px,1.35vw,21px)/1 'Space Grotesk',Inter,system-ui,sans-serif!important;
  letter-spacing:-.02em!important;
}
.gc-page-clientes .gc-master-menu{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(20px,3vw,44px)!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.gc-page-clientes .gc-master-links{
  display:flex!important;
  align-items:center!important;
  gap:clamp(16px,2vw,30px)!important;
}
.gc-page-clientes .gc-master-links a{
  position:relative!important;
  padding:11px 7px!important;
  color:#425064!important;
  background:transparent!important;
  font:700 14px/1 Inter,system-ui,sans-serif!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.gc-page-clientes .gc-master-links a:hover{color:var(--client-green)!important;}
.gc-page-clientes .gc-master-links a.active,
.gc-page-clientes .gc-master-links a[aria-current="page"]{
  color:var(--client-green)!important;
  background:rgba(32,216,115,.085)!important;
  border-radius:999px!important;
  padding-inline:15px!important;
}
.gc-page-clientes .gc-master-links a.active::after,
.gc-page-clientes .gc-master-links a[aria-current="page"]::after{
  content:""!important;
  position:absolute!important;
  height:2px!important;
  left:15px!important;
  right:15px!important;
  bottom:6px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--client-green),var(--client-green-2))!important;
}
.gc-page-clientes .gc-master-actions{display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important;}
.gc-page-clientes .gc-nav-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 20px!important;
  border-radius:15px!important;
  color:#fff!important;
  font:800 13px/1 Inter,system-ui,sans-serif!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border:1px solid transparent!important;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease!important;
}
.gc-page-clientes .gc-nav-action-red{
  background:linear-gradient(135deg,var(--client-red),var(--client-red-2))!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 10px 26px rgba(229,28,44,.22)!important;
}
.gc-page-clientes .gc-nav-action-green{
  background:linear-gradient(135deg,#078d40,#16c85c)!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 10px 26px rgba(10,151,71,.22)!important;
}
.gc-page-clientes .gc-nav-action:hover{transform:translateY(-2px)!important;filter:saturate(1.12)!important;}
.gc-page-clientes .gc-nav-toggle{display:none!important;}

/* =============== PORTAFOLIO =============== */
.gc-page-clientes .gc-client-universe{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(124px,10vw,148px) 0 clamp(54px,6vw,86px)!important;
  overflow:hidden!important;
  background:transparent!important;
}
.gc-page-clientes .gc-client-universe-shell,
.gc-page-clientes .gc-coverage-shell-v03,
.gc-page-clientes .gc-general-contact-shell{
  width:min(1500px,calc(100% - 48px))!important;
  max-width:1500px!important;
  margin-inline:auto!important;
}
.gc-page-clientes .gc-client-universe-shell{
  padding:clamp(34px,4vw,58px)!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(85,221,224,.11),transparent 28%),
    radial-gradient(circle at 92% 92%,rgba(130,108,245,.09),transparent 26%),
    linear-gradient(145deg,#142435 0%,#223446 56%,#3c4a59 100%)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 28px 72px rgba(23,37,51,.18)!important;
}
.gc-page-clientes .gc-client-universe-bg{display:none!important;}
.gc-page-clientes .gc-client-universe-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr)!important;
  align-items:end!important;
  gap:36px!important;
}
.gc-page-clientes .gc-client-universe-head{margin:0 0 30px!important;max-width:none!important;}
.gc-page-clientes .gc-client-universe-head .gc-kicker{
  color:#77f0b2!important;
  background:rgba(53,243,154,.08)!important;
  border:1px solid rgba(53,243,154,.17)!important;
}
.gc-page-clientes .gc-client-universe-head h1{
  margin:16px 0 18px!important;
  max-width:900px!important;
  color:#fff!important;
  font:700 clamp(2.8rem,5vw,5.2rem)/.98 'Space Grotesk',Inter,system-ui,sans-serif!important;
  letter-spacing:-.05em!important;
}
.gc-page-clientes .gc-client-universe-head h1 span{
  color:transparent!important;
  background:linear-gradient(90deg,#55dde0,#41e8c2)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
}
.gc-page-clientes .gc-client-universe-head p{
  max-width:860px!important;
  margin:0!important;
  color:rgba(245,249,255,.76)!important;
  font:500 clamp(15px,1.2vw,18px)/1.72 Inter,system-ui,sans-serif!important;
}
.gc-page-clientes .gc-client-universe-stats{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.gc-page-clientes .gc-client-universe-stat{
  min-width:0!important;
  min-height:172px!important;
  padding:22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border-radius:24px!important;
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px)!important;
}
.gc-page-clientes .gc-client-universe-stat strong{
  color:#e4fff2!important;
  font:800 clamp(2.3rem,3.8vw,3.7rem)/1 'Space Grotesk',Inter,sans-serif!important;
}
.gc-page-clientes .gc-client-universe-stat span{
  margin-top:10px!important;
  color:rgba(245,249,255,.75)!important;
  font:600 14px/1.45 Inter,system-ui,sans-serif!important;
}

/* Clientes: nombre REALMENTE al centro del espacio */
.gc-page-clientes .gc-client-orb-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
.gc-page-clientes .gc-client-orb{
  position:relative!important;
  min-width:0!important;
  min-height:190px!important;
  padding:24px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  overflow:hidden!important;
  border-radius:25px!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(85,221,224,.12),transparent 55%),
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 26px rgba(0,0,0,.09)!important;
  backdrop-filter:blur(16px)!important;
}
.gc-page-clientes .gc-client-orb::before{opacity:.13!important;}
.gc-page-clientes .gc-client-orb::after{display:none!important;}
.gc-page-clientes .gc-client-orb-index,
.gc-page-clientes .gc-client-orb-mark,
.gc-page-clientes .gc-client-orb-wave{display:none!important;}
.gc-page-clientes .gc-client-orb strong{
  position:relative!important;
  inset:auto!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:90%!important;
  align-self:center!important;
  justify-self:center!important;
  color:#fff!important;
  font:800 clamp(18px,1.45vw,25px)/1.16 'Space Grotesk',Inter,system-ui,sans-serif!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  text-wrap:balance!important;
}
.gc-page-clientes .gc-client-orb:hover{
  transform:translateY(-5px) scale(1.01)!important;
  border-color:rgba(85,221,224,.30)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.15),0 0 28px rgba(85,221,224,.07)!important;
}

/* =============== COBERTURA =============== */
.gc-page-clientes .gc-coverage-v03{
  width:100%!important;
  max-width:none!important;
  padding:0 0 clamp(56px,6vw,84px)!important;
  overflow:hidden!important;
  background:transparent!important;
}
.gc-page-clientes .gc-coverage-shell-v03{
  padding:clamp(36px,4vw,56px)!important;
  border-radius:32px!important;
  background:rgba(255,255,255,.60)!important;
  border:1px solid rgba(159,176,198,.23)!important;
  box-shadow:0 24px 64px rgba(60,76,95,.10)!important;
}
.gc-page-clientes .gc-coverage-head-v03 h2{
  color:#263241!important;
  font:700 clamp(2.45rem,4.7vw,4.8rem)/1.02 'Space Grotesk',Inter,sans-serif!important;
  letter-spacing:-.045em!important;
}
.gc-page-clientes .gc-coverage-head-v03 h2 span{color:#078b48!important;}
.gc-page-clientes .gc-coverage-head-v03 p{color:#526174!important;font-family:Inter,system-ui,sans-serif!important;}
.gc-page-clientes .gc-coverage-stats-v03{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  margin:30px 0!important;
}
.gc-page-clientes .gc-coverage-stat-v03{
  min-width:0!important;
  min-height:188px!important;
  padding:28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(159,176,198,.28)!important;
  box-shadow:0 16px 34px rgba(60,76,95,.08)!important;
}
.gc-page-clientes .gc-coverage-stat-v03 strong{
  color:#087d41!important;
  font:800 clamp(2rem,3vw,3.3rem)/1.05 'Space Grotesk',Inter,sans-serif!important;
  white-space:normal!important;
}
.gc-page-clientes .gc-coverage-stat-v03 span{
  margin-top:14px!important;
  color:#35465a!important;
  font:700 14px/1.5 Inter,system-ui,sans-serif!important;
}
.gc-page-clientes .gc-stat-number{display:inline-block;min-width:.7ch;font-variant-numeric:tabular-nums;}
.gc-page-clientes .gc-map-card-v03{overflow:hidden!important;border-radius:28px!important;}

/* =============== CONTACTO · INTEGRADO, NO “PEGADO” =============== */
.gc-page-clientes .gc-general-contact-section{
  width:100%!important;
  margin:0!important;
  padding:0 0 76px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.gc-page-clientes .gc-general-contact-shell{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;
  gap:clamp(30px,4vw,56px)!important;
  align-items:center!important;
  padding:clamp(34px,4.2vw,58px)!important;
  border-radius:32px!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(85,221,224,.12),transparent 28%),
    radial-gradient(circle at 88% 80%,rgba(130,108,245,.11),transparent 28%),
    linear-gradient(145deg,#142435,#26384a)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 26px 70px rgba(31,47,64,.19)!important;
}
.gc-page-clientes .gc-general-contact-copy{min-width:0!important;}
.gc-page-clientes .gc-general-contact-eyebrow{
  display:inline-flex!important;
  color:#87f0ba!important;
  background:rgba(53,243,154,.08)!important;
  border:1px solid rgba(53,243,154,.16)!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  font:800 12px/1 Inter,system-ui,sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.gc-page-clientes .gc-general-contact-copy h2{
  margin:18px 0 14px!important;
  color:#fff!important;
  font:700 clamp(2.3rem,4vw,4.1rem)/1.02 'Space Grotesk',Inter,sans-serif!important;
  letter-spacing:-.045em!important;
}
.gc-page-clientes .gc-general-contact-copy h2 span{color:#6fa8ff!important;}
.gc-page-clientes .gc-general-contact-copy p{color:rgba(245,249,255,.78)!important;font:500 16px/1.7 Inter,system-ui,sans-serif!important;}
.gc-page-clientes .gc-general-contact-meta{display:flex!important;flex-wrap:wrap!important;gap:14px 22px!important;margin-top:24px!important;}
.gc-page-clientes .gc-general-contact-meta a{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#eaf3ff!important;text-decoration:none!important;font-weight:700!important;}
.gc-page-clientes .gc-general-contact-meta svg{width:18px!important;height:18px!important;stroke:#55dde0!important;fill:none!important;stroke-width:1.8!important;}
.gc-page-clientes .gc-general-contact-form{
  min-width:0!important;
  display:grid!important;
  gap:16px!important;
  padding:24px!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.065)!important;
  border:1px solid rgba(255,255,255,.11)!important;
}
.gc-page-clientes .gc-general-contact-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.gc-page-clientes .gc-general-contact-row label,
.gc-page-clientes .gc-general-contact-message-row label{display:block!important;min-width:0!important;width:100%!important;}
.gc-page-clientes .gc-general-contact-form input,
.gc-page-clientes .gc-general-contact-form textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:17px 18px!important;
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:16px!important;
  outline:none!important;
  font:600 14px/1.4 Inter,system-ui,sans-serif!important;
}
.gc-page-clientes .gc-general-contact-form input::placeholder,
.gc-page-clientes .gc-general-contact-form textarea::placeholder{color:rgba(236,243,251,.58)!important;}
.gc-page-clientes .gc-general-contact-message-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 176px!important;
  gap:16px!important;
  align-items:stretch!important;
}
.gc-page-clientes .gc-general-contact-message-row textarea{height:100%!important;min-height:112px!important;resize:vertical!important;}
.gc-page-clientes .gc-general-contact-message-row button{
  width:100%!important;
  min-width:0!important;
  min-height:112px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:16px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#079447,#19c861)!important;
  box-shadow:0 12px 28px rgba(7,148,71,.20)!important;
  font:800 14px/1 Inter,system-ui,sans-serif!important;
}

/* =============== RESPONSIVE =============== */
@media (max-width:1120px){
  .gc-page-clientes .gc-master-nav.navbar{padding-inline:22px!important;}
  .gc-page-clientes .gc-master-brand span{display:none!important;}
  .gc-page-clientes .gc-client-universe-summary{grid-template-columns:1fr!important;}
  .gc-page-clientes .gc-client-universe-stats{max-width:620px!important;}
  .gc-page-clientes .gc-client-orb-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .gc-page-clientes .gc-coverage-stats-v03{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .gc-page-clientes .gc-general-contact-shell{grid-template-columns:1fr!important;}
}
@media (max-width:900px){
  .gc-page-clientes .gc-nav-toggle{display:flex!important;}
  .gc-page-clientes .gc-master-menu{
    position:fixed!important;
    top:76px!important;
    left:16px!important;
    right:16px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
    padding:22px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 22px 54px rgba(31,41,55,.20)!important;
  }
  .gc-page-clientes .gc-master-menu.is-open{display:flex!important;}
  .gc-page-clientes .gc-master-links,.gc-page-clientes .gc-master-actions{flex-direction:column!important;align-items:stretch!important;width:100%!important;}
  .gc-page-clientes .gc-master-links a{color:#35465a!important;text-align:center!important;}
  .gc-page-clientes .gc-client-orb-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .gc-page-clientes .gc-client-universe-shell,
  .gc-page-clientes .gc-coverage-shell-v03,
  .gc-page-clientes .gc-general-contact-shell{width:min(100% - 28px,1500px)!important;}
}
@media (max-width:650px){
  .gc-page-clientes .gc-client-universe{padding-top:104px!important;}
  .gc-page-clientes .gc-client-universe-shell,
  .gc-page-clientes .gc-coverage-shell-v03,
  .gc-page-clientes .gc-general-contact-shell{padding:24px!important;border-radius:26px!important;}
  .gc-page-clientes .gc-client-universe-head h1{font-size:clamp(2.4rem,13vw,4rem)!important;}
  .gc-page-clientes .gc-client-universe-stats,
  .gc-page-clientes .gc-client-orb-grid,
  .gc-page-clientes .gc-coverage-stats-v03,
  .gc-page-clientes .gc-general-contact-row,
  .gc-page-clientes .gc-general-contact-message-row{grid-template-columns:1fr!important;}
  .gc-page-clientes .gc-client-orb{min-height:150px!important;}
  .gc-page-clientes .gc-client-universe-stat,.gc-page-clientes .gc-coverage-stat-v03{min-height:150px!important;}
  .gc-page-clientes .gc-general-contact-message-row button{min-height:58px!important;}
}

@media (prefers-reduced-motion:reduce){
  .gc-page-clientes .gc-stat-number{transition:none!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-clientes-final.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-clientes-ajuste02.css ===== */
/* CLIENTES AJUSTE 02 · 17/09/2026 · sólo página Clientes.
   Soluciona legibilidad de nav, carruseles dobles y cifras de cobertura. */

/* Header claro: texto oscuro para legibilidad. No afecta CORI/otras páginas. */
body.gc-page-clientes .gc-master-nav.navbar .gc-master-links a:not(.active):not([aria-current="page"]){
  color:#172432!important;opacity:1!important;font-weight:800!important;
  text-shadow:none!important;
}
body.gc-page-clientes .gc-master-nav.navbar .gc-master-links a:not(.active):hover{
  color:#087c41!important;
}
body.gc-page-clientes .gc-master-nav.navbar .gc-master-brand span{
  color:#192735!important;opacity:1!important;
}

/* Carruseles continuos: tarjetas centradas, sin fila gigantesca ni cortes. */
body.gc-page-clientes .gc-client-universe-shell{overflow:hidden!important;}
body.gc-page-clientes .gc-client-carousel-pair{display:grid;gap:clamp(13px,1.8vw,24px);width:100%;min-width:0;}
body.gc-page-clientes .gc-client-marquee{
  --gc-lane-gap:16px;
  position:relative;min-width:0;overflow:hidden;
  border-radius:25px;
  padding:4px 42px 20px 4px;
}
body.gc-page-clientes .gc-client-marquee__viewport{
  width:100%;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
body.gc-page-clientes .gc-client-marquee__track{
  display:flex!important;flex-wrap:nowrap!important;align-items:stretch;
  width:max-content!important;max-width:none!important;
  gap:var(--gc-lane-gap);will-change:transform;
  animation:gcClientMarqueeForward 48s linear infinite;
}
body.gc-page-clientes .gc-client-marquee--reverse .gc-client-marquee__track{
  animation-name:gcClientMarqueeReverse;animation-duration:45s;
}
body.gc-page-clientes .gc-client-marquee__set{
  display:flex!important;align-items:stretch;flex-wrap:nowrap!important;
  gap:var(--gc-lane-gap);width:max-content!important;flex:0 0 auto;
}
body.gc-page-clientes .gc-client-marquee .gc-client-orb{
  width:clamp(220px,22vw,320px)!important;min-width:0!important;
  min-height:170px!important;height:170px!important;
  flex:0 0 clamp(220px,22vw,320px)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:22px!important;margin:0!important;
  overflow:hidden!important;transform:none;
  border-radius:24px!important;
  background:radial-gradient(circle at 50% 48%,rgba(85,221,224,.10),transparent 65%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.02))!important;
  border:1px solid rgba(159,213,225,.21)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.11),0 12px 29px rgba(0,0,0,.10)!important;
}
body.gc-page-clientes .gc-client-marquee .gc-client-orb strong{
  display:block!important;margin:0!important;position:static!important;inset:auto!important;
  width:100%!important;max-width:100%!important;
  color:#f7fcff!important;text-align:center!important;
  font:800 clamp(1.18rem,1.65vw,1.55rem)/1.19 'Space Grotesk',Inter,sans-serif!important;
  letter-spacing:-.028em!important;text-wrap:balance!important;
}
body.gc-page-clientes .gc-client-marquee .gc-client-orb:hover{
  border-color:rgba(85,221,224,.6)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.17),0 0 24px rgba(85,221,224,.12)!important;
}
body.gc-page-clientes .gc-client-marquee__pause{
  position:absolute;right:6px;bottom:0;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid rgba(151,221,221,.35);border-radius:999px;
  color:#fff;background:rgba(23,42,59,.94);font:700 12px/1 Inter,sans-serif;
  padding:8px 11px;min-height:32px;cursor:pointer;
}
body.gc-page-clientes .gc-client-marquee__pause:hover,
body.gc-page-clientes .gc-client-marquee__pause:focus-visible{
  background:#135747;border-color:#35f39a;
}
body.gc-page-clientes .gc-client-marquee:hover .gc-client-marquee__track,
body.gc-page-clientes .gc-client-marquee:focus-within .gc-client-marquee__track,
body.gc-page-clientes .gc-client-marquee.is-paused .gc-client-marquee__track{
  animation-play-state:paused!important;
}
@keyframes gcClientMarqueeForward{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - var(--gc-lane-gap) / 2),0,0)}
}
@keyframes gcClientMarqueeReverse{
  from{transform:translate3d(calc(-50% - var(--gc-lane-gap) / 2),0,0)}
  to{transform:translate3d(0,0,0)}
}

/* Corregir regla heredada que daba 14px a TODOS los spans, incluidos números. */
body.gc-page-clientes .gc-coverage-stat-v03 > strong{
  display:block!important;white-space:normal!important;
  font:800 clamp(2rem,2.8vw,3.1rem)/1.08 'Space Grotesk',Inter,sans-serif!important;
  color:#087c41!important;letter-spacing:-.035em!important;
}
body.gc-page-clientes .gc-coverage-stat-v03 > strong > .gc-stat-number{
  display:inline!important;min-width:0!important;margin:0!important;padding:0!important;
  color:inherit!important;font:inherit!important;letter-spacing:inherit!important;
  vertical-align:baseline!important;font-variant-numeric:tabular-nums;
}
body.gc-page-clientes .gc-coverage-stat-v03 > span{
  margin-top:12px!important;display:block!important;
  font:650 14px/1.42 Inter,system-ui,sans-serif!important;
  color:#35465a!important;
}

/* Móvil: pistas desplazables manualmente, sin obligar a esperar el autoplay. */
@media(max-width:780px){
  body.gc-page-clientes .gc-client-marquee{padding-right:4px;}
  body.gc-page-clientes .gc-client-marquee__pause{right:9px;bottom:2px;}
  body.gc-page-clientes .gc-client-marquee .gc-client-orb{
    width:clamp(200px,62vw,270px)!important;
    flex-basis:clamp(200px,62vw,270px)!important;
    height:152px!important;min-height:152px!important;
  }
  body.gc-page-clientes .gc-coverage-stat-v03 > strong{
    font-size:clamp(2rem,8vw,2.9rem)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.gc-page-clientes .gc-client-marquee__track{animation:none!important;will-change:auto!important;}
  body.gc-page-clientes .gc-client-marquee__viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scroll-snap-type:x proximity;}
  body.gc-page-clientes .gc-client-marquee__set[aria-hidden="true"]{display:none!important;}
  body.gc-page-clientes .gc-client-marquee .gc-client-orb{scroll-snap-align:start;}
  body.gc-page-clientes .gc-client-marquee__pause{display:none!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-clientes-ajuste02.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-ajuste03.css ===== */
/* ===============================================================
   GRUPO CONSORCIO — AJUSTE 03 / 17 SEP 2026
   CAPA GLOBAL: mismo NAV y mismos modales en las cuatro páginas.
   CAPA CLIENTES: tarjetas claras, carruseles táctiles, cobertura 2 columnas.
   Edita aquí tamaños/colores; NO elimina contenidos existentes.
   =============================================================== */
:root{--gc-v04-ink:#243140;--gc-v04-green:#078b48;--gc-v04-red:#df202e;--gc-v04-bg:#f4f7fb;--gc-v04-line:#d3dbe6}
/* 1. NAV GLOBAL — idéntica en Nosotros, CORI, Clientes e Historia */
body.gc-blueprint .gc-master-nav.navbar{
 position:fixed!important;inset:0 0 auto!important;width:100%!important;max-width:none!important;
 min-height:76px!important; padding:11px clamp(16px,3.6vw,60px)!important;
 display:flex!important;align-items:center!important;gap:clamp(12px,2vw,28px)!important;
 background:rgba(255,255,255,.97)!important;border:0!important;
 border-bottom:1px solid rgba(43,54,68,.1)!important;
 box-shadow:0 6px 26px rgba(24,40,56,.08)!important;z-index:15000!important;
 -webkit-backdrop-filter:blur(16px) saturate(135%)!important;backdrop-filter:blur(16px) saturate(135%)!important;
}
body.gc-blueprint .gc-master-brand{gap:12px!important;flex:0 1 auto!important;min-width:0!important;color:var(--gc-v04-ink)!important}
body.gc-blueprint .gc-master-brand img{height:50px!important;width:auto!important;max-width:60px!important;object-fit:contain!important;filter:none!important}
body.gc-blueprint .gc-master-brand span{display:inline!important;color:var(--gc-v04-ink)!important;font:800 clamp(16px,1.7vw,24px)/1.1 Inter,system-ui,sans-serif!important;white-space:nowrap!important}
body.gc-blueprint .gc-master-menu{display:flex;min-width:0;flex:1;align-items:center;justify-content:flex-end;gap:clamp(12px,2.4vw,42px)!important}
body.gc-blueprint .gc-master-links{display:flex;gap:clamp(9px,1.6vw,25px)!important;align-items:center!important}
body.gc-blueprint .gc-master-links a{
 position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 padding:12px clamp(6px,.9vw,13px)!important;border:0!important;border-radius:999px!important;
 color:var(--gc-v04-ink)!important;text-shadow:none!important;opacity:1!important;
 font:750 clamp(13px,1vw,17px)/1.1 Inter,system-ui,sans-serif!important;
 white-space:nowrap;text-decoration:none!important;background:transparent!important;box-shadow:none!important;
}
body.gc-blueprint .gc-master-links a:hover{color:var(--gc-v04-green)!important;background:#edf9f1!important;transform:none!important}
body.gc-blueprint .gc-master-links a.active,
body.gc-blueprint .gc-master-links a[aria-current="page"]{color:var(--gc-v04-green)!important;background:#ebfbf3!important;padding-inline:15px!important;transform:none!important}
body.gc-blueprint .gc-master-links a.active::after,
body.gc-blueprint .gc-master-links a[aria-current="page"]::after{content:""!important;position:absolute!important;left:15px!important;right:15px!important;bottom:7px!important;height:2px!important;background:#20c46b!important;transform:none!important}
body.gc-blueprint .gc-master-actions{display:flex;align-items:center;gap:12px!important;flex:0 0 auto!important}
body.gc-blueprint .gc-master-actions .gc-nav-action{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:48px!important;padding:0 clamp(12px,1.5vw,25px)!important;
 border-radius:17px!important;border:1px solid rgba(255,255,255,.30)!important;
 font:800 clamp(11px,.88vw,15px)/1 Inter,system-ui,sans-serif!important;
 color:#fff!important;text-shadow:none!important;opacity:1!important;white-space:nowrap!important;
 transition:transform .22s ease,box-shadow .22s ease!important;
}
body.gc-blueprint .gc-master-actions .gc-nav-action-red{background:linear-gradient(110deg,#ec182a,#ff505b)!important;box-shadow:0 11px 27px rgba(220,32,53,.19)!important}
body.gc-blueprint .gc-master-actions .gc-nav-action-green{background:linear-gradient(110deg,#078a41,#13bc56)!important;box-shadow:0 11px 27px rgba(8,143,69,.19)!important}
body.gc-blueprint .gc-master-actions .gc-nav-action:hover{transform:translateY(-2px)!important;filter:brightness(1.06)!important}
body.gc-blueprint .gc-nav-toggle{color:#243140!important;flex:0 0 auto!important}
body.gc-blueprint .gc-nav-toggle span{background:#243140!important}
/* Fixed nav clearance: Pages keep their original section-specific spacing. */
body.gc-page-clientes .gc-client-universe{padding-top:clamp(115px,9vw,135px)!important}

/* 2. MODALES — Bolsa y Negocia: restituir el diseño blanco original en TODAS las páginas */
body.gc-blueprint :is(#bolsa-modal,#portal-modal).modal-overlay{
 position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;
 z-index:40000!important;display:flex!important;align-items:center!important;justify-content:center!important;
 padding:clamp(12px,3vw,32px)!important;margin:0!important;
 background:rgba(18,29,44,.74)!important;backdrop-filter:blur(7px)!important;
 -webkit-backdrop-filter:blur(7px)!important;opacity:0!important;visibility:hidden!important;
 pointer-events:none!important;overflow-y:auto!important;overscroll-behavior:contain;
 transition:opacity .24s ease,visibility .24s ease!important;
}
body.gc-blueprint :is(#bolsa-modal,#portal-modal).modal-overlay.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body.gc-blueprint :is(#bolsa-modal,#portal-modal) .glass-modal{
 position:relative!important;display:block!important;flex:0 1 680px!important;
 width:min(680px,100%)!important;max-width:680px!important;min-width:0!important;
 max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overscroll-behavior:contain;
 padding:clamp(28px,4vw,54px)!important;margin:auto!important;
 background:rgba(247,249,253,.97)!important;
 border:1px solid #fff!important;border-radius:38px!important;
 box-shadow:0 32px 95px rgba(12,24,38,.28)!important;
 color:#243140!important;transform:translateY(10px) scale(.98)!important;
 transition:transform .25s ease!important;
}
body.gc-blueprint :is(#bolsa-modal,#portal-modal).active .glass-modal{transform:translateY(0) scale(1)!important}
body.gc-blueprint :is(#bolsa-modal,#portal-modal) .modal-close{
 position:absolute!important;top:18px!important;right:18px!important;
 z-index:3!important;display:grid!important;place-items:center!important;
 width:46px!important;height:46px!important;padding:0!important;border:0!important;
 border-radius:50%!important;background:#e6eaf0!important;color:#46556a!important;
 font:400 26px/1 Inter,system-ui,sans-serif!important;cursor:pointer!important;
}
body.gc-blueprint :is(#bolsa-modal,#portal-modal) .modal-close:hover{color:#cf1424!important;background:#fbe6e8!important;transform:none!important}
body.gc-blueprint :is(#bolsa-modal,#portal-modal) .modal-header{margin:16px 0 32px!important;padding:0 36px!important;text-align:center!important}
body.gc-blueprint :is(#bolsa-modal,#portal-modal) .modal-header h2{
 font:800 clamp(26px,3vw,37px)/1.13 'Space Grotesk',Inter,sans-serif!important;
 color:#1f2937!important;letter-spacing:-.03em!important;margin:0 0 17px!important;
}
body.gc-blueprint #bolsa-modal .modal-header h2{color:#d31d29!important}
body.gc-blueprint :is(#bolsa-modal,#portal-modal) .modal-header p{
 font:500 clamp(15px,1.3vw,18px)/1.5 Inter,system-ui,sans-serif!important;color:#4b5563!important;margin:0!important;
}
body.gc-blueprint #portal-modal .portal-links-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
body.gc-blueprint #portal-modal .portal-btn{
 display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
 min-height:68px!important;padding:18px 22px!important;border-radius:20px!important;
 color:#1f2937!important;font:800 clamp(15px,1.5vw,20px)/1.2 Inter,system-ui,sans-serif!important;
 background:#fff!important;border:1px solid #fff!important;text-decoration:none!important;box-shadow:0 7px 25px rgba(32,46,66,.05)!important;
}
body.gc-blueprint #portal-modal .portal-btn:hover{border-color:#078b48!important;transform:translateY(-2px)!important}
body.gc-blueprint #portal-modal .bank{color:#627085!important;background:#eff1f5!important;border-radius:999px!important;padding:8px 14px!important;font:600 13px/1.15 Inter,sans-serif!important;white-space:nowrap!important}
body.gc-blueprint #bolsa-modal form{gap:15px!important}
body.gc-blueprint #bolsa-modal form > input{
 display:block!important;width:100%!important;min-height:60px!important;border:1px solid #e3e7ec!important;border-radius:18px!important;
 background:#fff!important;color:#263241!important;font:600 17px/1.3 Inter,system-ui,sans-serif!important;
 padding:18px 20px!important;outline-offset:3px!important;
}
body.gc-blueprint #bolsa-modal form > input::placeholder{color:#6b7280!important}
body.gc-blueprint #bolsa-modal .file-upload-wrapper{
 position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;min-height:62px!important;border:1px dashed #ff8a92!important;
 border-radius:18px!important;background:rgba(235,28,49,.035)!important;padding:15px!important;
}
body.gc-blueprint #bolsa-modal .file-upload-wrapper span{color:#536072!important;font:700 15px/1.3 Inter,sans-serif!important}
body.gc-blueprint #bolsa-modal form > button[type="submit"]{
 min-height:62px!important;border-radius:18px!important;background:linear-gradient(110deg,#e91627,#ff505a)!important;
 color:#fff!important;font:800 19px/1 Inter,sans-serif!important;box-shadow:0 13px 28px rgba(211,18,22,.16)!important;
}
/* Body content doesn't move when modal appears. */
body:has(#bolsa-modal.active),body:has(#portal-modal.active){overflow:hidden!important}

/* 3. CLIENTES — la MISMA paleta clara que cobertura: blancos, grafito y verde */
body.gc-page-clientes .gc-client-universe-shell{
 background:linear-gradient(140deg,#f5f8fd,#eaf0f7)!important;
 border:1px solid #fff!important;box-shadow:0 24px 65px rgba(30,52,75,.09)!important;
 padding:clamp(24px,3.3vw,48px)!important;
}
body.gc-page-clientes .gc-client-universe-head h1{color:#253242!important;font-size:clamp(2.5rem,4vw,4.1rem)!important;line-height:1.02!important}
body.gc-page-clientes .gc-client-universe-head h1 span{background:none!important;-webkit-text-fill-color:#078b48!important;color:#078b48!important}
body.gc-page-clientes .gc-client-universe-head p{color:#536176!important;font-size:clamp(14px,1.05vw,17px)!important}
body.gc-page-clientes .gc-client-universe-head .gc-kicker{color:#116c41!important;background:#e5f8ed!important;border-color:#a9e6c8!important}
body.gc-page-clientes .gc-client-universe-stat{
 min-height:122px!important;padding:19px 22px!important;color:#253242!important;
 background:#fff!important;border:1px solid #dce5ed!important;box-shadow:0 10px 30px rgba(39,65,84,.065)!important;
}
body.gc-page-clientes .gc-client-universe-stat strong{color:#126d3b!important;font-size:clamp(2rem,3vw,3rem)!important}
body.gc-page-clientes .gc-client-universe-stat span{color:#435369!important;font-size:12px!important;line-height:1.35!important}
body.gc-page-clientes .gc-client-carousel-pair{gap:clamp(13px,1.6vw,21px)!important}
body.gc-page-clientes .gc-carousel-hint-v04{margin:0 0 12px!important;color:#526174!important;font:600 12px/1.4 Inter,system-ui,sans-serif!important}
body.gc-page-clientes .gc-client-marquee{padding:4px 4px 43px!important;overflow:hidden!important;border-radius:22px!important}
body.gc-page-clientes .gc-client-marquee__viewport{
 overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important;
 mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent)!important;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent)!important;
 scroll-behavior:auto!important;cursor:grab;touch-action:pan-x!important;overscroll-behavior-x:contain;
}
body.gc-page-clientes .gc-client-marquee__viewport:active{cursor:grabbing}
body.gc-page-clientes .gc-client-marquee__viewport::-webkit-scrollbar{display:none!important}
body.gc-page-clientes .gc-client-marquee__track,
body.gc-page-clientes .gc-client-marquee--reverse .gc-client-marquee__track{
 transform:none!important;animation:none!important;will-change:auto!important;
}
body.gc-page-clientes .gc-client-marquee{--gc-lane-gap:12px!important}
body.gc-page-clientes .gc-client-marquee .gc-client-orb{
 width:clamp(155px,15.5vw,218px)!important;
 flex:0 0 clamp(155px,15.5vw,218px)!important;
 height:124px!important;min-height:124px!important;padding:16px!important;
 background:linear-gradient(145deg,#fff,#f6f9fc)!important;
 border:1px solid #d9e2ec!important;border-radius:20px!important;
 box-shadow:0 8px 24px rgba(40,67,86,.07)!important;
}
body.gc-page-clientes .gc-client-marquee .gc-client-orb strong{
 font:800 clamp(16px,1.22vw,20px)/1.16 'Space Grotesk',Inter,sans-serif!important;
 color:#243140!important;text-align:center!important;margin:0!important;
}
body.gc-page-clientes .gc-client-marquee .gc-client-orb::before{opacity:.035!important}
body.gc-page-clientes .gc-client-marquee .gc-client-orb:hover{
 border-color:#49b98b!important;box-shadow:0 12px 29px rgba(40,82,65,.10)!important;transform:none!important;
}
body.gc-page-clientes .gc-client-marquee__controls{
 position:absolute;bottom:0;right:5px;display:flex;align-items:center;justify-content:flex-end;gap:7px;z-index:5;
}
body.gc-page-clientes .gc-client-marquee__controls button{
 position:static!important;min-height:34px!important;padding:6px 12px!important;
 border:1px solid #cedde5!important;border-radius:999px!important;
 color:#264155!important;background:#fff!important;
 font:800 12px/1 Inter,sans-serif!important;cursor:pointer!important;
}
body.gc-page-clientes .gc-client-marquee__controls button:hover,
body.gc-page-clientes .gc-client-marquee__controls button:focus-visible{
 border-color:#078b48!important;background:#e9f8ef!important;color:#076a39!important;
}
body.gc-page-clientes .gc-client-marquee__pause{display:inline-flex!important}
/* On reduced-motion preferences, user scrolls the first set manually, no endless loop. */
@media(prefers-reduced-motion:reduce){
 body.gc-page-clientes .gc-client-marquee__set[aria-hidden="true"]{display:none!important}
 body.gc-page-clientes .gc-client-marquee__pause{display:none!important}
}
/* 4. COBERTURA — mapa y cifras lado a lado */
body.gc-page-clientes .gc-coverage-shell-v03{padding:clamp(24px,3.1vw,42px)!important}
body.gc-page-clientes .gc-coverage-head-v03{margin-bottom:25px!important}
body.gc-page-clientes .gc-coverage-head-v03 h2{font-size:clamp(2rem,3.25vw,3.45rem)!important;line-height:1.08!important}
body.gc-page-clientes .gc-coverage-layout-v04{
 display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(305px,.9fr)!important;
 grid-template-areas:"map stats";gap:20px!important;align-items:stretch!important;min-width:0!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-card-v03{
 grid-area:map!important;min-width:0!important;padding:15px!important;border-radius:26px!important;
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 box-shadow:0 18px 35px rgba(21,45,66,.18)!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stats-v03{
 grid-area:stats!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:13px!important;margin:0!important;align-self:stretch!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03{
 min-height:0!important;margin:0!important;padding:clamp(15px,1.5vw,24px)!important;
 border-radius:21px!important;justify-content:center!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03 > strong{
 font-size:clamp(1.55rem,2vw,2.75rem)!important;line-height:1.08!important;word-break:normal!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03 > span{font-size:clamp(11px,.83vw,13px)!important;margin-top:10px!important}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-caption-v03{padding:0 3px 11px!important}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-caption-v03 h3{font-size:clamp(14px,1.25vw,19px)!important}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-image-v03{
 min-height:0!important;height:auto!important;aspect-ratio:2048/1279!important;
 border-radius:19px!important;flex:0 0 auto!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-image-v03 picture,
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-image-v03 img{
 display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:fill!important;
}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-pin-v03{gap:5px!important;padding:5px 7px!important}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-pin-v03 strong{font-size:clamp(8px,.73vw,11px)!important}
body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-pin-v03 i{width:8px;height:8px;flex:0 0 8px}
/* Global responsive: menu in light palette and all entries fully visible */
@media(max-width:1100px){
 body.gc-blueprint .gc-master-brand span{display:none!important}
 body.gc-page-clientes .gc-coverage-layout-v04{grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr)!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stats-v03{gap:10px!important}
}
@media(max-width:900px){
 body.gc-blueprint .gc-master-nav.navbar{min-height:68px!important;padding:10px 18px!important}
 body.gc-blueprint .gc-master-brand span{display:inline!important;font-size:16px!important}
 body.gc-blueprint .gc-nav-toggle{display:block!important;order:3!important;margin-left:auto!important}
 body.gc-blueprint .gc-master-menu{
  position:absolute!important;top:calc(100% + 7px)!important;left:14px!important;right:14px!important;
  display:none!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;
  padding:19px!important;background:#fff!important;border:1px solid #d7e3ec!important;
  border-radius:23px!important;box-shadow:0 23px 55px rgba(26,47,66,.18)!important;
 }
 body.gc-blueprint .gc-master-menu.is-open{display:flex!important}
 body.gc-blueprint .gc-master-links{flex-direction:column!important;align-items:stretch!important;width:100%!important;gap:0!important}
 body.gc-blueprint .gc-master-links a{width:100%!important;justify-content:center!important;font-size:16px!important;padding:15px!important}
 body.gc-blueprint .gc-master-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.gc-blueprint .gc-master-actions .gc-nav-action{padding:0 8px!important;font-size:12px!important;white-space:normal!important;text-align:center!important}
 body.gc-page-clientes .gc-coverage-layout-v04{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"map" "stats";gap:16px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stats-v03{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03{min-height:125px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-image-v03{aspect-ratio:2048/1279!important}
}
@media(max-width:550px){
 body.gc-blueprint .gc-master-brand img{height:40px!important;width:auto!important}
 body.gc-blueprint .gc-master-brand span{font-size:14px!important}
 body.gc-page-clientes .gc-client-universe-shell{padding:20px!important}
 body.gc-page-clientes .gc-client-universe-head h1{font-size:clamp(2rem,9vw,3.1rem)!important}
 body.gc-page-clientes .gc-client-universe-stat{min-height:90px!important}
 body.gc-page-clientes .gc-client-marquee .gc-client-orb{width:clamp(145px,49vw,185px)!important;flex-basis:clamp(145px,49vw,185px)!important;height:104px!important;min-height:104px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stats-v03{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03{padding:14px!important;min-height:120px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03 > strong{font-size:clamp(1.4rem,6vw,1.9rem)!important}
 body.gc-page-clientes .gc-map-card-v03{padding:9px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-pin-v03{padding:3px 4px!important;gap:3px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-pin-v03 strong{font-size:8px!important}
 body.gc-page-clientes .gc-coverage-layout-v04 .gc-map-pin-v03 i{width:5px;height:5px;flex-basis:5px}
 body.gc-blueprint :is(#bolsa-modal,#portal-modal) .glass-modal{border-radius:26px!important;padding:26px 20px!important}
 body.gc-blueprint :is(#bolsa-modal,#portal-modal) .modal-header{padding:0 20px!important;margin-top:30px!important}
 body.gc-blueprint #portal-modal .portal-btn{padding:15px 12px!important;gap:8px!important;font-size:14px!important}
 body.gc-blueprint #portal-modal .bank{font-size:11px!important;padding:7px 10px!important}
}
@media(prefers-reduced-motion:reduce){
 body.gc-page-clientes .gc-client-marquee__track{animation:none!important}
 body.gc-page-clientes .gc-coverage-stat-v03{animation:none!important;opacity:1!important;transform:none!important}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-ajuste03.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-propuesta02-ajuste01.css ===== */
/* =====================================================================
   WEB GC · PROPUESTA 02 · AJUSTE 01 · 21/09/2026
   Una sola capa CSS externa: pie homogéneo, clientes compactos e Historia
   multimedia. Edita dimensiones y colores aquí desde Dreamweaver.
   NO modifica los datos, interacciones ni la Propuesta 1 respaldada.
   ===================================================================== */

/* 01. FOOTER INSTITUCIONAL: exactamente la familia de fondo oscuro del Index.
   Corrige el pie blanco y la leyenda ISO invisible en la página de CORI. */
body.gc-blueprint .gc-site-footer,
body.gc-page-cori.gc-blueprint footer.gc-site-footer {
  --footer-accent:#10bd67!important;
  background:linear-gradient(135deg,#0e1928 0%,#1e2935 100%)!important;
  border-top:2px solid #16bf72!important;
  color:#dce7ee!important;
}
body.gc-blueprint .gc-site-footer :is(.footer-info-item,.footer-info-item span,.footer-info-item strong,.footer-links-row,.footer-links-row span,.footer-links-row a,.footer-certifications p),
body.gc-page-cori.gc-blueprint footer.gc-site-footer :is(span,a,strong,.footer-certifications p){
  color:#e4edf4!important;
  text-shadow:none!important;
}
body.gc-blueprint .gc-site-footer .footer-links-row :is(span,a){color:#cbd5e1!important;}
body.gc-blueprint .gc-site-footer .footer-links-row a:hover{color:#66ebb0!important;}
body.gc-page-cori.gc-blueprint footer.gc-site-footer .footer-socials svg{fill:#35cd83!important;}
body.gc-blueprint .gc-site-footer .footer-certifications p{
  color:#eff9ff!important;font-weight:700!important;opacity:1!important;
}
body.gc-blueprint .gc-site-footer .footer-cert-slot{background:transparent!important;box-shadow:none!important;}
body.gc-blueprint .gc-site-footer .footer-cert-slot img{filter:drop-shadow(0 5px 12px rgba(0,0,0,.30))!important;}

/* 02. Sin botón flotante "Pausar video" en Index y CORI.
   Los botones de los carruseles de servicios/clientes NO se tocan. */
.gc-home-video-control,.cori-video-toggle{display:none!important;}
.gc-home-video-hero .gc-home-hero-first{font:inherit;color:inherit;letter-spacing:inherit;}

/* 03. CLIENTES: bloque con imagen a la izquierda y dos carruseles a la derecha.
   La foto del lado izquierdo se cambia en gc-contenido-visual.js. */
body.gc-page-clientes .gc-client-universe-shell{
  width:min(100%,1600px)!important;max-width:1600px!important;
  padding:clamp(20px,2.65vw,40px)!important;
}
body.gc-page-clientes .gc-client-universe-head{margin-bottom:clamp(13px,2vw,26px)!important;}
body.gc-page-clientes .gc-client-universe-summary{
  gap:clamp(16px,2.4vw,30px)!important;
}
body.gc-page-clientes .gc-client-universe-summary h1{font-size:clamp(32px,3.9vw,60px)!important;line-height:1.06!important;}
body.gc-page-clientes .gc-clients-title-first{font:inherit;color:#243140!important;letter-spacing:inherit;}
body.gc-page-clientes .gc-client-universe-summary p{max-width:760px!important;}
body.gc-page-clientes .gc-client-universe-stat{min-height:102px!important;padding:15px 18px!important;}
body.gc-page-clientes .gc-client-media-layout{
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr)!important;
  gap:clamp(15px,2vw,27px)!important;
  align-items:stretch!important;
  width:100%!important;min-width:0!important;
}
body.gc-page-clientes .gc-client-media-photo{
  position:relative!important;isolation:isolate!important;display:block!important;
  min-width:0!important;min-height:300px!important;margin:0!important;
  border-radius:clamp(20px,2vw,27px)!important;
  overflow:hidden!important;background:#0e2231!important;
  border:1px solid #416778!important;
  box-shadow:0 17px 35px rgba(24,55,69,.14)!important;
}
body.gc-page-clientes .gc-client-media-photo::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,23,39,.06) 0%,rgba(5,23,39,.33) 43%,rgba(5,23,39,.95) 100%);
}
body.gc-page-clientes .gc-client-media-photo img{
  position:absolute;inset:0;width:100%!important;height:100%!important;
  display:block;object-fit:cover!important;object-position:center;
  transition:transform .65s ease!important;
}
body.gc-page-clientes .gc-client-media-photo:hover img{transform:scale(1.045)!important;}
body.gc-page-clientes .gc-client-media-photo figcaption{
  position:absolute;z-index:2;bottom:0;left:0;right:0;
  display:flex;flex-direction:column;gap:12px;
  padding:clamp(21px,2.4vw,35px);color:#fff;text-align:left;
}
body.gc-page-clientes .gc-client-media-photo figcaption span{
  color:#6ff2b7!important;font:800 10px/1.35 Inter,system-ui,sans-serif!important;
  text-transform:uppercase;letter-spacing:.14em;
}
body.gc-page-clientes .gc-client-media-photo figcaption strong{
  max-width:390px;color:#fff!important;
  font:800 clamp(23px,2.3vw,38px)/1.1 'Space Grotesk',Inter,sans-serif!important;
  letter-spacing:-.028em;text-wrap:balance;
}
body.gc-page-clientes .gc-client-media-list{min-width:0!important;overflow:hidden!important;display:flex;flex-direction:column;justify-content:center;}
body.gc-page-clientes .gc-client-media-list .gc-carousel-hint-v04{padding:0 3px;margin:0 0 10px!important;}
body.gc-page-clientes .gc-client-media-list .gc-client-carousel-pair{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(7px,1vw,14px)!important;min-width:0!important;
}
body.gc-page-clientes .gc-client-media-list .gc-client-marquee{
  padding:3px 3px 35px!important;min-width:0!important;margin:0!important;
  border-radius:16px!important;
}
body.gc-page-clientes .gc-client-media-list .gc-client-marquee .gc-client-orb{
  width:clamp(142px,12.4vw,185px)!important;flex:0 0 clamp(142px,12.4vw,185px)!important;
  min-height:102px!important;height:102px!important;padding:13px!important;
  border-radius:18px!important;
}
body.gc-page-clientes .gc-client-media-list .gc-client-marquee .gc-client-orb strong{
  color:#253445!important;font:800 clamp(14px,1.07vw,17px)/1.19 'Space Grotesk',Inter,sans-serif!important;
  overflow-wrap:break-word;text-wrap:balance;
}
body.gc-page-clientes .gc-client-media-list .gc-client-marquee__controls button{
  min-height:31px!important;padding:5px 10px!important;
}
body.gc-page-clientes .gc-client-media-list .gc-client-marquee__controls{bottom:1px!important;}

/* 04. HISTORIA: vídeo ancho en la izquierda y el texto original a la derecha.
   El vídeo está preparado para reproducirse automáticamente, sin sonido,
   con inicio aleatorio y repetición. Nada invade el texto en pantallas pequeñas. */
body.gc-page-historia .hero-historia.gc-history-hero-v02{
  width:min(calc(100% - 36px),1560px)!important;
  max-width:1560px!important;
  margin:clamp(95px,8.2vw,125px) auto clamp(24px,3vw,43px)!important;
  padding:0!important;text-align:left!important;
  border:1px solid rgba(255,255,255,.9)!important;
  background:linear-gradient(135deg,#f4f9ff,#eaf2f9)!important;
  border-radius:clamp(24px,3vw,38px)!important;
  box-shadow:0 24px 58px rgba(27,47,64,.1)!important;
  overflow:hidden!important;
}
body.gc-page-historia .gc-history-hero-grid{
  display:grid!important;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
  gap:0!important;min-height:clamp(460px,39vw,595px)!important;
  align-items:stretch!important;
}
body.gc-page-historia .gc-history-video-wrap{
  position:relative;isolation:isolate;min-height:430px;min-width:0;overflow:hidden;
  background:#07192b url('materiales/mapamundi.jpg') center/cover no-repeat;
}
body.gc-page-historia .gc-history-video-wrap video{
  display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center;z-index:0;
}
body.gc-page-historia .gc-history-video-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,18,33,.02) 30%,rgba(6,18,33,.58) 100%);
}
body.gc-page-historia .gc-history-video-mark{
  position:absolute;z-index:2;left:clamp(20px,3vw,39px);bottom:clamp(20px,3vw,39px);
  display:flex;align-items:baseline;gap:11px;color:#fff;
  font:800 clamp(30px,3vw,48px)/1 'Space Grotesk',Inter,sans-serif;
  text-shadow:0 4px 18px rgba(0,0,0,.55);
}
body.gc-page-historia .gc-history-video-mark span{
  font:750 12px/1.1 Inter,sans-serif;letter-spacing:.12em;color:#7bf4bc;
}
body.gc-page-historia .gc-history-hero-copy{
  min-width:0;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:clamp(16px,1.6vw,25px);
  padding:clamp(27px,4.3vw,69px)!important;text-align:left!important;
}
body.gc-page-historia .gc-history-hero-copy .badge-red{
  display:inline-flex!important;align-self:flex-start;
  margin:0!important;padding:9px 16px!important;
  border:1px solid #f6a8ac!important;background:#fff0f0!important;
  color:#bb1b2b!important;font:800 11px/1.2 Inter,sans-serif!important;
  text-transform:uppercase;letter-spacing:.08em;
}
body.gc-page-historia .gc-history-hero-copy h1{
  font:800 clamp(30px,3.25vw,54px)/1.07 'Space Grotesk',Inter,sans-serif!important;
  color:#243140!important;margin:0!important;text-wrap:balance!important;
  letter-spacing:-.042em;
}
body.gc-page-historia .gc-history-hero-copy h1 .gc-history-title-first{font:inherit;color:#243140!important;letter-spacing:inherit;}
body.gc-page-historia .gc-history-hero-copy h1 span{color:#e4394c!important;}
body.gc-page-historia .gc-history-hero-copy p{
  max-width:670px!important;margin:0!important;
  font:500 clamp(15px,1.12vw,18px)/1.65 Inter,sans-serif!important;
  color:#45566a!important;text-align:left!important;
}

@media(max-width:1100px){
  body.gc-page-clientes .gc-client-media-layout{grid-template-columns:minmax(225px,.6fr) minmax(0,1.4fr)!important;gap:15px!important;}
  body.gc-page-clientes .gc-client-media-photo{min-height:295px!important;}
  body.gc-page-clientes .gc-client-media-list .gc-client-marquee .gc-client-orb{width:148px!important;flex-basis:148px!important;}
  body.gc-page-historia .gc-history-hero-grid{min-height:440px!important;}
  body.gc-page-historia .gc-history-hero-copy{padding:32px!important;}
}
@media(max-width:790px){
  body.gc-page-clientes .gc-client-media-layout{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;}
  body.gc-page-clientes .gc-client-media-photo{min-height:220px!important;max-height:260px!important;}
  body.gc-page-clientes .gc-client-media-list .gc-client-marquee .gc-client-orb{
    width:clamp(145px,40vw,200px)!important;flex-basis:clamp(145px,40vw,200px)!important;
    min-height:112px!important;height:112px!important;
  }
  body.gc-page-historia .hero-historia.gc-history-hero-v02{
    margin-top:clamp(78px,12vw,110px)!important;
    width:calc(100% - 24px)!important;
  }
  body.gc-page-historia .gc-history-hero-grid{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;}
  body.gc-page-historia .gc-history-video-wrap{min-height:clamp(240px,58vw,420px)!important;}
  body.gc-page-historia .gc-history-hero-copy{padding:clamp(25px,5vw,40px)!important;}
}
@media(max-width:460px){
  body.gc-page-clientes .gc-client-universe-summary h1{font-size:clamp(28px,9vw,39px)!important;}
  body.gc-page-clientes .gc-client-media-photo{min-height:195px!important;}
  body.gc-page-clientes .gc-client-media-photo figcaption strong{font-size:26px!important;}
  body.gc-page-historia .gc-history-video-wrap{min-height:225px!important;}
  body.gc-page-historia .gc-history-hero-copy h1{font-size:clamp(28px,8.5vw,40px)!important;}
  body.gc-page-historia .gc-history-hero-copy p{font-size:14px!important;}
}
@media(prefers-reduced-motion:reduce){
  body.gc-page-clientes .gc-client-media-photo img{transition:none!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-propuesta02-ajuste01.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-p2-ajuste02-visual.css ===== */
/* ========================================================================
   WEB GC · PROPUESTA 02 · RONDA VISUAL 02 · 21/09/2026
   Solo ajustes de GEOMETRÍA, CLIENTES y CARRUSEL de servicios.
   Este archivo es la última capa CSS de las cuatro páginas. Para cambiar
   tamaños o esquinas, edita aquí, sin tocar los estilos de la Propuesta 1.
   ======================================================================== */

/* 1. Misma familia de esquinas para superficies principales.
   No se tocan chips, botones circulares ni bordes de iconos. */
body.gc-blueprint :is(.gc-home-video-hero,.gc-home-services,.gc-home-cori,
  .gc-client-universe,.gc-coverage-shell-v03,.gc-history-institutional,
  .gc-history-console,.gc-history-people-section,.gc-history-people,
  .cori-proof-shell){
  border-radius:30px!important;
}
body.gc-blueprint :is(.gc-home-service-card,.gc-client-universe-stat,
  .gc-client-media-photo,.gc-coverage-stat-v03,.gc-quality-card,
  .gc-values-stage,.gc-purpose-stage,.cori-cap-card,.cori-hero-benefits article){
  border-radius:23px!important;
}
body.gc-blueprint :is(.gc-home-service-card,.gc-client-media-photo,
  .gc-client-orb,.gc-history-console,.gc-home-cori){
  background-clip:padding-box;
}
/* Los paneles multimedia conservan su borde curvo y recortan solo su propia imagen. */
body.gc-page-historia .hero-historia.gc-history-hero-v02,
body.gc-page-cori .cori-hero-shell{border-radius:30px!important;overflow:hidden!important;}
body.gc-page-clientes .gc-client-media-photo img{border-radius:inherit;}

/* 2. CLIENTES: sin banda reservada para controles. Carruseles continuos,
   desplazables con dedo, trackpad, mouse y flechas del teclado. */
body.gc-page-clientes .gc-client-media-list .gc-client-marquee,
body.gc-page-clientes .gc-client-marquee{
  padding:3px!important;
  border-radius:23px!important;
}
body.gc-page-clientes .gc-client-carousel-pair{gap:clamp(9px,1.15vw,15px)!important;}
body.gc-page-clientes .gc-client-marquee__viewport{
  border-radius:20px!important;
  overscroll-behavior-x:contain;
}
body.gc-page-clientes .gc-client-marquee .gc-client-orb{
  border-radius:20px!important;
  background-clip:padding-box;
}
/* CSS defensivo, por si un HTML anterior sigue cacheado temporalmente. */
body.gc-page-clientes .gc-client-marquee__controls{display:none!important;}

/* 3. INDEX: escenario más corto; desaparecen tarjetas extremas cortadas.
   Los laterales quedan dentro de la superficie, manteniendo el efecto 3D. */
body.gc-index-demo .gc-home-services{
  padding:clamp(24px,3.1vw,42px)!important;
  margin-top:clamp(38px,5vw,72px)!important;
  border-radius:30px!important;
}
body.gc-index-demo .gc-home-services-heading{
  max-width:890px!important;
  margin:0 auto 9px!important;
}
body.gc-index-demo .gc-home-services-heading h2{
  font-size:clamp(2rem,3.2vw,3.48rem)!important;
  line-height:1.04!important;
  margin:10px 0 9px!important;
  text-wrap:balance;
}
body.gc-index-demo .gc-home-services-heading p{
  font-size:clamp(.85rem,.96vw,.97rem)!important;
  line-height:1.43!important;
  max-width:740px!important;
}
body.gc-index-demo .gc-home-service-carousel{
  height:clamp(488px,35vw,510px)!important;
  margin-top:3px!important;
  overflow:visible;
}
body.gc-index-demo .gc-home-service-card{
  width:min(51vw,570px)!important;
  height:407px!important;
  max-height:calc(100% - 43px)!important;
  padding:clamp(22px,2.35vw,32px)!important;
  border-radius:25px!important;
  box-sizing:border-box;
  gap:0;
  overflow:hidden!important;
}
body.gc-index-demo .gc-home-service-card.is-active{
  transform:translate(-50%,-50%) translateZ(65px) scale(1)!important;
}
body.gc-index-demo .gc-home-service-card.is-active:hover,
body.gc-index-demo .gc-home-service-card.is-active:focus-within{
  transform:translate(-50%,-50%) translateZ(65px) scale(1.018)!important;
}
body.gc-index-demo .gc-home-service-card.is-prev-1{
  transform:translate(-50%,-50%) translateX(-55%) translateY(10px) translateZ(-65px) rotateY(8deg) scale(.78)!important;
  opacity:.42!important;
}
body.gc-index-demo .gc-home-service-card.is-next-1{
  transform:translate(-50%,-50%) translateX(55%) translateY(10px) translateZ(-65px) rotateY(-8deg) scale(.78)!important;
  opacity:.42!important;
}
/* Tarjetas remotas causaban puntas recortadas en los extremos del panel. */
body.gc-index-demo .gc-home-service-card.is-prev-2,
body.gc-index-demo .gc-home-service-card.is-next-2{
  opacity:0!important;visibility:hidden!important;
}
body.gc-index-demo .gc-home-service-icon{
  width:48px!important;height:48px!important;flex-basis:48px!important;
  border-radius:16px!important;
}
body.gc-index-demo .gc-home-service-icon svg{width:26px!important;height:26px!important;}
body.gc-index-demo .gc-home-service-category{
  margin:10px 0 6px!important;
  font-size:.64rem!important;
  line-height:1.32!important;
}
body.gc-index-demo .gc-home-service-card h3{
  font-size:clamp(1.75rem,2.65vw,2.63rem)!important;
  line-height:1.06!important;
  letter-spacing:-.043em!important;
  overflow-wrap:normal;
}
body.gc-index-demo .gc-home-service-card p{
  margin:9px 0 0!important;
  font-size:clamp(.8rem,.9vw,.91rem)!important;
  line-height:1.41!important;
  overflow-wrap:break-word;
}
body.gc-index-demo .gc-home-service-pills{
  margin:10px 0 7px!important;
  gap:5px!important;
}
body.gc-index-demo .gc-home-service-pills span{
  font-size:.66rem!important;
  padding:5px 8px!important;
  line-height:1.22!important;
}
body.gc-index-demo .gc-home-service-index{
  top:15px!important;right:20px!important;
  font-size:2.2rem!important;
}
body.gc-index-demo .gc-home-service-card .gc-home-service-cta{
  position:relative!important;left:auto!important;bottom:auto!important;
  margin-top:auto!important;
  padding:9px 12px!important;
  font-size:.73rem!important;
}
body.gc-index-demo .gc-home-service-arrow{width:46px!important;height:46px!important;}
body.gc-index-demo .gc-home-service-arrow[data-home-service-prev]{left:2%!important;}
body.gc-index-demo .gc-home-service-arrow[data-home-service-next]{right:2%!important;}
body.gc-index-demo .gc-home-service-meta{bottom:1px!important;padding:7px 12px!important;}

@media(max-width:1100px){
  body.gc-index-demo .gc-home-service-card{width:min(65vw,550px)!important;height:415px!important;}
  body.gc-index-demo .gc-home-service-carousel{height:490px!important;}
  body.gc-index-demo .gc-home-service-card.is-prev-1{
    transform:translate(-50%,-50%) translateX(-47%) translateY(9px) translateZ(-65px) scale(.79)!important;
  }
  body.gc-index-demo .gc-home-service-card.is-next-1{
    transform:translate(-50%,-50%) translateX(47%) translateY(9px) translateZ(-65px) scale(.79)!important;
  }
}
@media(max-width:820px){
  body.gc-index-demo .gc-home-services{padding:26px 14px 24px!important;}
  body.gc-index-demo .gc-home-services-heading h2{font-size:clamp(1.95rem,6.8vw,3.0rem)!important;}
  body.gc-index-demo .gc-home-service-carousel{height:525px!important;}
  body.gc-index-demo .gc-home-service-card{
    width:calc(100% - 48px)!important;
    height:430px!important;
    max-height:calc(100% - 74px)!important;
    padding:clamp(20px,3.4vw,28px)!important;
  }
  body.gc-index-demo .gc-home-service-card.is-prev-1,
  body.gc-index-demo .gc-home-service-card.is-next-1{opacity:.10!important;}
  body.gc-index-demo .gc-home-service-meta{bottom:0!important;}
  body.gc-index-demo .gc-home-service-arrow{bottom:0!important;top:auto!important;}
}
@media(max-width:540px){
  body.gc-index-demo .gc-home-services{padding:22px 10px 20px!important;}
  body.gc-index-demo .gc-home-services-heading h2{font-size:clamp(1.85rem,8vw,2.45rem)!important;}
  body.gc-index-demo .gc-home-services-heading p{font-size:.82rem!important;}
  body.gc-index-demo .gc-home-service-carousel{height:522px!important;}
  body.gc-index-demo .gc-home-service-card{
    width:calc(100% - 18px)!important;
    height:428px!important;
    max-height:calc(100% - 78px)!important;
    padding:21px 18px!important;
    border-radius:22px!important;
  }
  body.gc-index-demo .gc-home-service-card h3{font-size:clamp(1.69rem,7.6vw,2.12rem)!important;}
  body.gc-index-demo .gc-home-service-card p{font-size:.79rem!important;line-height:1.35!important;}
  body.gc-index-demo .gc-home-service-pills{margin:8px 0 5px!important;}
  body.gc-index-demo .gc-home-service-pills span{font-size:.6rem!important;padding:4px 6px!important;}
  body.gc-index-demo .gc-home-service-meta{bottom:0!important;padding:6px 8px!important;}
  body.gc-index-demo .gc-home-service-arrow{width:42px!important;height:42px!important;bottom:0!important;}
}
@media(prefers-reduced-motion:reduce){
  body.gc-index-demo .gc-home-service-card{transition:none!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-p2-ajuste02-visual.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-p2-ronda03-fluida.css ===== */
/* =======================================================================
   WEB GC · PROPUESTA 02 · RONDA 03 FLUIDA · 21/09/2026
   ÚLTIMA CAPA CSS: radios, dimensiones y carrusel sin bordes en pico.
   Para editar en Dreamweaver, abre este archivo (es independiente).
   No modifica la Propuesta 1 ni la carpeta materiales.
   ======================================================================= */

/* 01 · Misma familia de curvas en todas las páginas, sin cortar el contenido.
   background-clip evita que el fondo de las tarjetas asome fuera del borde. */
body.gc-blueprint :is(
  .gc-home-video-hero,.gc-home-manifesto,.gc-home-client-strip,
  .gc-home-services,.gc-home-cori,.gc-client-universe,
  .gc-client-universe-shell,.gc-coverage-shell-v03,
  .gc-history-institutional,.gc-history-console,.gc-history-people,
  .gc-history-people-section,.gc-institutional-hub,.cori-proof-shell,
  .cori-video-hero,.gc-general-contact-panel
){
  border-radius:30px!important;
  background-clip:padding-box!important;
}
body.gc-blueprint :is(
  .gc-home-service-card,.gc-client-universe-stat,.gc-client-media-photo,
  .gc-coverage-stat-v03,.gc-purpose-stage,.gc-values-stage,
  .gc-quality-card,.cori-cap-card,.cori-hero-benefits article,
  .gc-talent-gallery,.gc-home-cori-feature
){
  border-radius:24px!important;
  background-clip:padding-box!important;
}
/* Los recuadros de medios sí recortan las imágenes para que NO sobresalgan
   esquinas cuadradas. No aplicamos overflow:hidden a los carruseles. */
body.gc-page-historia :is(.hero-historia.gc-history-hero-v02,.gc-talent-gallery),
body.gc-page-cori .cori-hero-shell,
body.gc-page-clientes .gc-client-media-photo,
body.gc-index-demo .gc-home-video-hero,
body.gc-index-demo .gc-home-cori{
  overflow:hidden!important;
}
body.gc-blueprint :is(.gc-client-media-photo img,.gc-talent-slide img){
  border-radius:inherit!important;
}
/* Antes el pseudo-elemento ocupaba -1px y sus puntas podían sobresalir.
   Ahora las capas de brillo respetan exactamente la curva de la tarjeta. */
body.gc-index-demo .gc-home-service-card::before{
  inset:0!important;
  border-radius:inherit!important;
}
body.gc-index-demo .gc-home-service-card::after{
  border-radius:999px!important;
}

/* 02 · El carrusel se mueve por fracciones de tarjeta con requestAnimationFrame.
   NO combinar transiciones CSS con transforms gestionados por JS:
   hacerlo provocaba microparadas y saltos al avanzar de 09 a 01. */
body.gc-index-demo .gc-home-service-card{
  transition:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform-style:flat!important;
  will-change:transform,opacity;
  border-radius:26px!important;
  overflow:hidden!important;
  contain:paint;
}
body.gc-index-demo .gc-home-service-carousel{
  isolation:isolate;
  overflow:visible!important;
}
body.gc-index-demo .gc-home-service-card .gc-home-service-pills,
body.gc-index-demo .gc-home-service-card .gc-home-service-cta{
  flex-shrink:0!important;
}
/* Mantener los botones dentro de las tarjetas de altura reducida. */
body.gc-index-demo .gc-home-service-card .gc-home-service-cta{
  margin-top:auto!important;
  max-width:100%!important;
}
/* En móviles la profundidad se simula con escala y opacidad, no con esquinas
   deformadas en perspectiva. Las tarjetas de los extremos nunca se cortan. */
@media(max-width:820px){
  body.gc-index-demo .gc-home-service-card{
    border-radius:23px!important;
    will-change:transform,opacity;
  }
}
@media(prefers-reduced-motion:reduce){
  body.gc-index-demo .gc-home-service-card{will-change:auto!important;}
}
/* La transparencia anterior dejaba leer títulos del segundo plano a través
   de la tarjeta activa. El cristal sigue en el marco, no en el texto. */
body.gc-index-demo .gc-home-service-card,
body.gc-index-demo .gc-home-service-card.is-active{
  background:linear-gradient(145deg,#fcfeff 0%,#edf5fc 100%)!important;
}

/* ===== FIN ARCHIVO ORIGINAL: gc-p2-ronda03-fluida.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-p2-ronda04-revision.css ===== */
/* ===========================================================================
   GRUPO CONSORCIO · PROPUESTA 2 · RONDA 04 · 21/09/2026
   ÚLTIMA CAPA: uniformidad geométrica + historia reordenada + CORI compacto.
   Editar aquí los radios y anchos. Se mantiene la carpeta materiales intacta.
   =========================================================================== */
:root { --gc-r4-radius-section: 32px; --gc-r4-radius-card: 26px; }
/* Secciones parejas, incluidas las que anteriormente tenían un borde sin curva. */
body.gc-blueprint :is(.gc-home-services,.gc-home-video-hero,.gc-home-cori,
  .gc-client-universe,.gc-coverage-shell-v03,.gc-history-institutional,
  .gc-history-institutional-shell,.gc-historia-media .gc-media-story-shell,
  .personas-primero.gc-talent-section,.cori-proof-shell,.gc-general-contact-shell,
  .gc-cori-contact-cta) {
  border-radius: var(--gc-r4-radius-section) !important;
  background-clip: padding-box !important;
  box-sizing: border-box;
}
body.gc-blueprint :is(.gc-home-service-card,.gc-client-orb,.gc-coverage-stat-v03,
  .gc-media-tile,.gc-talent-gallery,.gc-institutional-hub,.gc-history-console,
  .gc-quality-card,.gc-values-stage,.gc-purpose-stage,.cori-cap-card,
  .feature-item,.tech-card,.gc-client-media-photo) {
  border-radius: var(--gc-r4-radius-card) !important;
  background-clip: padding-box !important;
  box-sizing: border-box;
}
/* El efecto de brillo no puede dibujar picos fuera de las esquinas. */
body.gc-index-demo .gc-home-service-card {
  border-radius: var(--gc-r4-radius-card) !important;
  clip-path: inset(0 round var(--gc-r4-radius-card));
  transform-style: flat !important;
  overflow: hidden !important;
}
body.gc-index-demo .gc-home-service-card::before,
body.gc-index-demo .gc-home-service-card::after {
  border-radius: inherit !important;
  background-clip: padding-box;
}
body.gc-index-demo .gc-home-service-carousel { perspective: none !important; }
/* Evitar que los bordes de las tarjetas secundarias se lean sobre el texto. */
body.gc-index-demo .gc-home-service-card:not(.is-active) { box-shadow:0 12px 30px rgba(25,47,66,.10)!important; }
/* Mantener proporciones homogéneas en columnas y no dejar extremos cuadrados. */
body.gc-page-historia .gc-media-story-section,
body.gc-page-historia .personas-primero.gc-talent-section,
body.gc-page-historia .gc-history-institutional {
  width:min(calc(100% - 36px),1450px) !important;
  max-width:1450px!important;
  margin-left:auto!important;margin-right:auto!important;
  min-width:0!important;
}
body.gc-page-historia .gc-historia-media .gc-media-story-shell { width:100%!important; max-width:100%!important; }
body.gc-page-historia .gc-media-bento-history { min-width:0!important; align-items:stretch!important; }
body.gc-page-historia .gc-media-bento-history > .gc-media-tile {
  border-radius:var(--gc-r4-radius-card)!important;min-width:0!important;
  overflow:hidden!important;isolation:isolate;
}
body.gc-page-historia .personas-primero.gc-talent-section {
  margin-top:clamp(26px,4vw,54px)!important;
  margin-bottom:clamp(25px,4vw,46px)!important;
}
body.gc-page-historia .gc-historia-media {margin-top:0!important;margin-bottom:clamp(28px,4vw,52px)!important;}
/* El formulario y el mensaje de cierre comparten UNA superficie y ancho. */
body.gc-page-cori .gc-general-contact-section {
  width:min(calc(100% - 36px),1450px)!important;
  max-width:1450px!important;
  margin:clamp(12px,2.4vw,35px) auto 55px!important;
  padding:0!important;
  overflow:visible;
  content-visibility:visible!important;
  contain-intrinsic-size:auto!important;
}
body.gc-page-cori .gc-general-contact-shell {
  width:100%!important;max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  align-items:center!important;
  gap:clamp(18px,2.5vw,38px)!important;
  padding:clamp(24px,3vw,42px)!important;
  border-radius:var(--gc-r4-radius-section)!important;
  overflow:hidden!important;
}
body.gc-page-cori .gc-general-contact-copy,
body.gc-page-cori .gc-general-contact-form { min-width:0!important;width:100%; }
body.gc-page-cori .gc-general-contact-row,
body.gc-page-cori .gc-general-contact-message-row{gap:12px!important;}
body.gc-page-cori .gc-general-contact-message-row{grid-template-columns:minmax(0,1fr) minmax(135px,170px)!important;}
body.gc-page-cori .gc-general-contact-form :is(input,textarea){border-radius:16px!important;}
body.gc-page-cori .gc-general-contact-form button{min-height:72px;border-radius:16px!important;}
body.gc-page-cori .gc-cori-contact-cta {
  grid-column:1 / -1!important;
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:clamp(16px,3vw,38px);
  padding:clamp(18px,2.5vw,28px) clamp(20px,3vw,34px);
  color:#f6fffc!important;
  background:linear-gradient(110deg,#152a34 0%,#133f39 62%,#0b644b 100%)!important;
  border:1px solid rgba(30,181,125,.38);
  box-shadow:0 18px 32px rgba(14,57,53,.12);
  border-radius:var(--gc-r4-radius-card)!important;
  transform:none;opacity:1;
  transition:opacity .75s ease,transform .75s ease,box-shadow .22s ease;
}
body.gc-page-cori .gc-cori-contact-cta.gc-r4-entering {transform:translateY(14px);opacity:.55;}
body.gc-page-cori .gc-cori-contact-cta.is-in-view {transform:translateY(0);opacity:1;}
body.gc-page-cori .gc-cori-contact-cta:focus-within {opacity:1;transform:none;}
body.gc-page-cori .gc-cori-contact-cta-kicker {display:block;color:#63efb1!important;font:800 10px/1.4 Inter,sans-serif;letter-spacing:.14em;margin:0 0 6px;}
body.gc-page-cori .gc-cori-contact-cta h3 {color:#fff!important;font:750 clamp(21px,2.15vw,31px)/1.13 'Space Grotesk',sans-serif;margin:0 0 7px!important;}
body.gc-page-cori .gc-cori-contact-cta p {color:#d9eee7!important;font:500 clamp(12px,.95vw,14px)/1.48 Inter,sans-serif;margin:0!important;max-width:800px;}
body.gc-page-cori .gc-cori-contact-cta-button {
  min-height:51px;max-width:240px;padding:12px 19px;
  background:linear-gradient(110deg,#37e3a0,#68e0d2);color:#102f29!important;
  border:1px solid #72edc4;border-radius:16px;
  font:800 13px/1.2 Inter,sans-serif;white-space:normal;cursor:pointer;
  box-shadow:0 8px 22px rgba(11,40,34,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
body.gc-page-cori .gc-cori-contact-cta-button:hover {transform:translateY(-2px);box-shadow:0 12px 24px rgba(11,40,34,.27);}
body.gc-page-cori .gc-cori-contact-cta-button:focus-visible{outline:3px solid #41f2a7;outline-offset:3px;}
/* La antigua franja y el CTA suelto ya no se renderizan; no hay espacio fantasma. */
body.gc-page-cori .gc-cori-media-strip {display:none!important;}
body.gc-page-cori > .cta {display:none!important;}
@media(max-width:1050px){
 body.gc-page-cori .gc-general-contact-shell{grid-template-columns:1fr!important;}
 body.gc-page-cori .gc-cori-contact-cta{grid-template-columns:minmax(0,1fr) auto!important;}
}
@media(max-width:760px){
 body.gc-page-historia .gc-media-story-section,
 body.gc-page-historia .personas-primero.gc-talent-section,
 body.gc-page-historia .gc-history-institutional,
 body.gc-page-cori .gc-general-contact-section{width:calc(100% - 24px)!important;}
 body.gc-page-cori .gc-general-contact-shell{padding:22px 18px!important;gap:22px!important;}
 body.gc-page-cori .gc-general-contact-message-row{grid-template-columns:1fr!important;}
 body.gc-page-cori .gc-general-contact-form button{min-height:52px!important;}
 body.gc-page-cori .gc-cori-contact-cta{grid-template-columns:1fr!important;gap:16px;padding:20px!important;}
 body.gc-page-cori .gc-cori-contact-cta-button{max-width:none;width:100%;}
}
@media(prefers-reduced-motion:reduce){
 body.gc-page-cori .gc-cori-contact-cta{transform:none!important;opacity:1!important;transition:none!important;}
 body.gc-index-demo .gc-home-service-card{will-change:auto!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-p2-ronda04-revision.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-r08-qa.css ===== */
/* WEB GC · R08 Correcciones técnicas · archivo ÚNICO de ajuste reversible.
   Prioridad: errores demostrables sin rediseñar las cuatro páginas. */
:root { --r08-text:#223040; --r08-green:#087c48; --r08-ring:#087c48; }
html { box-sizing:border-box; }
*, *::before, *::after { box-sizing:inherit; }
body.gc-blueprint { margin:0!important; min-width:0; }
body.gc-blueprint main { display:block; min-width:0; }
body.gc-blueprint :is(img,video,svg) { max-width:100%; }
body.gc-blueprint a:focus-visible,
body.gc-blueprint button:focus-visible,
body.gc-blueprint input:focus-visible,
body.gc-blueprint textarea:focus-visible {
  outline:3px solid var(--r08-ring)!important; outline-offset:3px!important;
}
/* Un solo menú móvil: el existente en los cuatro HTML. */
body.gc-blueprint .gc-master-nav > .gc-menu-toggle,
body.gc-blueprint .gc-master-nav > .gc-mobile-menu { display:none!important; }
body.gc-blueprint .gc-master-nav .gc-nav-toggle { min-width:44px; min-height:44px; }
/* Hipervínculos del footer: área táctil mayor sin cambiar apariencia general. */
body.gc-blueprint .footer-links-row a { display:inline-flex; align-items:center; min-height:36px; padding-block:5px; }

/* Banner: opción de rechazo equivalente a aceptar y sin abarcar todo el móvil. */
body.gc-blueprint .gc-cookie-banner-actions { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
body.gc-blueprint .gc-cookie-reject-btn {
  min-height:44px; padding:9px 11px; border-radius:11px; cursor:pointer;
  background:#fff; color:#233c4b; border:1px solid #a6b8c4;
  font:700 .84rem/1.3 Inter,system-ui,sans-serif;
}
body.gc-blueprint .gc-cookie-reject-btn:hover { background:#edf9f4; border-color:#087c48; }
body.gc-blueprint .cookie-banner { max-height:min(70dvh,330px); overflow-y:auto; overscroll-behavior:contain; }

/* Inicio: conservar el hero, añadir un CTA real de navegación (sin prometer envío automático). */
body.gc-index-demo .gc-home-video-content { max-width:min(65%,980px); }
body.gc-index-demo .gc-r08-home-ctas { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
body.gc-index-demo .gc-r08-home-ctas a {
 display:inline-flex; align-items:center; justify-content:center; gap:10px;
 min-height:46px; padding:12px 19px; border-radius:14px;
 font:750 14px/1.25 Inter,system-ui,sans-serif;
 text-decoration:none; transition:transform .22s ease,box-shadow .22s ease;
}
body.gc-index-demo .gc-r08-home-ctas a:hover { transform:translateY(-2px); }
body.gc-index-demo .gc-r08-cta-primary { background:linear-gradient(110deg,#43e2a2,#59cfd2); color:#102d29!important; box-shadow:0 12px 30px rgba(13,102,74,.18); }
body.gc-index-demo .gc-r08-cta-secondary { color:#fff!important; background:rgba(16,35,50,.80); border:1px solid rgba(255,255,255,.60); }
/* Control de pausa: ícono discreto y tamaño táctil; nunca rompe en dos líneas. */
body.gc-index-demo .gc-home-video-control.gc-r08-video-control {
 display:inline-flex!important; align-items:center!important; justify-content:center!important;
 width:46px!important; height:46px!important; min-width:46px!important; min-height:46px!important;
 padding:0!important; white-space:nowrap!important; font-size:18px!important;
 border-radius:50%!important; top:16px!important; right:16px!important;
}
body.gc-index-demo .gc-r08-video-control span { display:none!important; }
body.gc-index-demo .gc-home-video-kicker { font-size:clamp(12px,.83vw,14px)!important; line-height:1.35!important; letter-spacing:.04em!important; }
body.gc-index-demo .gc-home-video-content p { font-size:clamp(16px,1.3vw,20px)!important; }
body.gc-index-demo .gc-r08-trust {
 width:min(1480px,calc(100% - 44px)); margin:15px auto 18px; padding:14px 24px;
 display:flex; align-items:center; justify-content:space-between; gap:18px;
 background:#f9fcfa; border:1px solid #cee7db; border-radius:22px;
 box-shadow:0 12px 32px rgba(21,58,61,.05);
}
body.gc-index-demo .gc-r08-trust-copy { display:grid; gap:3px; }
body.gc-index-demo .gc-r08-trust-copy span { color:#087c48; font:800 10px/1.2 Inter,system-ui,sans-serif; letter-spacing:.12em; }
body.gc-index-demo .gc-r08-trust-copy strong { color:#223040; font-size:19px; }
body.gc-index-demo .gc-r08-trust-copy small { color:#496070; font-size:13px; }
body.gc-index-demo .gc-r08-trust-marks { display:flex; align-items:center; gap:20px; }
body.gc-index-demo .gc-r08-trust-marks img { width:67px; height:67px; object-fit:contain; }

/* CORI: reparar el título sobre claro, y evitar cortes de palabras. */
body.gc-page-cori #cori-capacidades .cori-proof-intro h2 {
 color:#243344!important; -webkit-text-fill-color:#243344!important;
 font-size:clamp(32px,3.15vw,53px)!important; line-height:1.12!important;
 max-width:none!important; overflow-wrap:normal!important; word-break:normal!important;
 hyphens:none!important;
}
body.gc-page-cori #cori-capacidades .cori-proof-intro h2 strong {
 color:#087c48!important; -webkit-text-fill-color:#087c48!important;
}
body.gc-page-cori #cori-capacidades .cori-proof-intro > p {
 color:#41566b!important; font-size:clamp(16px,1.15vw,19px)!important;
}
/* Las tarjetas del fondo conservan sensación de profundidad sin transparentar su texto. */
body.gc-page-cori .cori-service-card,
body.gc-page-cori .cori-service-card.is-active,
body.gc-page-cori .cori-service-card.is-prev,
body.gc-page-cori .cori-service-card.is-next {
 background:linear-gradient(145deg,#ffffff 0%,#f1f8fc 100%)!important;
 background-color:#f7fbff!important;
 backface-visibility:hidden;
}
body.gc-page-cori .cori-service-card.is-prev,
body.gc-page-cori .cori-service-card.is-next { filter:none!important; opacity:.32!important; }
body.gc-page-cori .cori-service-card.is-active { opacity:1!important; filter:none!important; box-shadow:0 23px 42px rgba(20,43,57,.18)!important; }
body.gc-page-cori .cori-service-card :is(h3,p,small,strong) { text-shadow:none!important; }
body.gc-page-cori .cori-service-card.is-active :is(h3,p,small,strong) { color:#243344!important; }
body.gc-page-cori .cori-service-card.is-active .cori-service-card-top strong { color:#0c7c4c!important; }
/* El botón visible es grande; los indicadores tienen 28px de área pulsable. */
body.gc-page-cori .cori-service-dots button,
body.gc-page-cori .cori-story-dots button {
 min-width:28px!important; width:28px!important; height:28px!important;
 padding:0!important; display:inline-grid!important; place-items:center!important;
 border:8px solid transparent!important; background-clip:padding-box!important;
}
body.gc-page-cori .cori-service-dots button.is-active,
body.gc-page-cori .cori-story-dots button.is-active { width:32px!important; min-width:32px!important; }
body.gc-page-cori .cori-service-arrow,
body.gc-page-cori .cori-story-arrow,
body.gc-page-cori .cori-service-link { min-height:44px!important; min-width:44px!important; }

/* Reduce blurs masivos en móvil; el encabezado y los dos modales conservan cristal. */
@media(max-width:760px){
 body.gc-blueprint { overflow-x:clip; }
 body.gc-blueprint :is(.gc-client-orb,.cori-service-card,.cori-proof-mini-card,.glass-card,.gc-story-tech,.gc-home-service-card) {
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
 }
 body.gc-index-demo .gc-home-video-content { max-width:100%!important; padding:64px 22px 26px!important; }
 body.gc-index-demo .gc-home-video-kicker { font-size:12px!important; max-width:calc(100% - 45px); letter-spacing:0!important; }
 body.gc-index-demo .gc-home-video-content p { font-size:16px!important; line-height:1.5!important; }
 body.gc-index-demo .gc-r08-home-ctas { gap:9px; }
 body.gc-index-demo .gc-r08-home-ctas a { flex:1 1 130px; min-height:46px; padding:11px 9px; font-size:12px; }
 body.gc-index-demo .gc-r08-trust { width:calc(100% - 24px); padding:12px 14px; border-radius:17px; }
 body.gc-index-demo .gc-r08-trust-copy strong { font-size:15px; }
 body.gc-index-demo .gc-r08-trust-copy small { font-size:11px; }
 body.gc-index-demo .gc-r08-trust-marks { gap:6px; }
 body.gc-index-demo .gc-r08-trust-marks img { width:40px; height:40px; }
 body.gc-blueprint .cookie-banner { bottom:12px!important; left:12px!important; right:12px!important; width:auto!important; padding:16px!important; max-height:min(58dvh,310px); }
 body.gc-blueprint .gc-cookie-banner-copy p { font-size:13px!important; line-height:1.43!important; }
 body.gc-blueprint .gc-cookie-banner-actions { grid-template-columns:1fr 1fr; gap:7px; }
 body.gc-blueprint .gc-cookie-config-btn { grid-column:1/-1; }
 body.gc-blueprint .gc-cookie-banner-actions button { font-size:12px!important; min-height:46px; }
 body.gc-page-cori #cori-capacidades .cori-proof-intro h2 { font-size:clamp(30px,8vw,42px)!important; line-height:1.14!important; }
 body.gc-page-cori .cori-service-card h3 { font-size:clamp(25px,7vw,33px)!important; }
 body.gc-page-cori .cori-service-card p { font-size:16px!important; }
 body.gc-page-cori .cori-service-tags span { font-size:12px!important; }
 body.gc-page-cori .cori-proof-kicker { font-size:12px!important; }
 body.gc-page-cori .cori-proof-mini-card strong { font-size:15px!important; }
 body.gc-page-cori .cori-proof-mini-card small { font-size:14px!important; }
}
@media (prefers-reduced-motion:reduce){
 body.gc-blueprint .gc-r08-home-ctas a:hover { transform:none!important; }
}

/* Marquee: nombres ya no se presentan como 42 encabezados duplicados. */
body.gc-index-demo .gc-client-strip-name{display:block;flex-shrink:0;}
/* Objetivos táctiles del carrusel de servicios sin alargar controles en móvil. */
body.gc-index-demo .gc-home-service-dot{min-width:28px!important;width:28px!important;height:28px!important;border:8px solid transparent!important;background-clip:padding-box!important;}
body.gc-index-demo .gc-home-service-dot.is-active{min-width:32px!important;width:32px!important;}
@media(max-width:600px){
 body.gc-index-demo .gc-home-service-dots{display:none!important;}
 body.gc-blueprint .footer-links-row a{min-height:44px;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-r08-qa.css ===== */

/* ===== INICIO ARCHIVO ORIGINAL: gc-r09-responsive.css ===== */
/* ============================================================================
   WEB GC 2027 · PROPUESTA 2 · RONDA 09 / RESPONSIVE FINO · 21 SEP 2026
   Una sola capa final de ajuste (carga DESPUÉS de gc-r08-qa.css en los 4 HTML).
   Mantener rutas originales de multimedia FULL en los editores de contenido JS.
   Objetivos: no recortar textos, evitar overlays móviles, conservar el movimiento
   táctil, footer compacto, cookies legibles, CORI y sección Historia visibles.
   ============================================================================ */
html,body.gc-blueprint{max-width:100%;min-width:0!important;}
body.gc-blueprint *{box-sizing:border-box;}
body.gc-blueprint main,body.gc-blueprint .gc-index-main{min-width:0;max-width:100%;}
body.gc-blueprint :is(.gc-block-shell,.gc-home-services,.gc-client-universe,.gc-general-contact-section,.gc-media-story-section){max-width:100%;}
/* Rechazar tiene siempre contraste; no depende del color heredado de botones. */
body.gc-blueprint .cookie-banner .gc-cookie-banner-actions button.gc-cookie-reject-btn{
 color:#113729!important;background:#e6f5ed!important;border:2px solid #127b49!important;
 opacity:1!important;filter:none!important;text-shadow:none!important;
 -webkit-text-fill-color:#113729!important;box-shadow:0 3px 14px rgba(13,96,62,.08)!important;
}
body.gc-blueprint .cookie-banner .gc-cookie-banner-actions button.gc-cookie-reject-btn:hover{background:#d2f2e1!important;}
/* Los dos carruseles los mueve UN SOLO reloj JS. Sin animación CSS que duplique
   desplazamientos en teléfonos y provoque saltos en escritorio. */
body.gc-page-clientes .gc-client-marquee.gc-js-marquee .gc-client-marquee__track{
 animation:none!important;transform:none!important;will-change:auto!important;
}
body.gc-page-clientes .gc-client-marquee.gc-js-marquee .gc-client-marquee__viewport{
 overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;
 scroll-behavior:auto!important;overscroll-behavior-x:contain;
 -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
}
body.gc-page-clientes .gc-client-marquee.gc-js-marquee .gc-client-marquee__viewport::-webkit-scrollbar{display:none!important;}
body.gc-page-clientes .gc-client-marquee.gc-js-marquee{overflow:hidden!important;}
/* Contacto clientes comparte paleta clara del módulo Cobertura, no fondo azul
   oscuro independiente; contenido y campos con contraste alto. */
body.gc-page-clientes.gc-blueprint .gc-general-contact-section{
 width:min(calc(100% - 28px),1500px)!important;max-width:1500px!important;
 margin:22px auto 36px!important;padding:0!important;background:none!important;
 border:0!important;box-shadow:none!important;content-visibility:visible!important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-shell{
 background:linear-gradient(125deg,#f2fbf8,#eef4fa)!important;
 color:#273748!important;border:1px solid #cfdfeb!important;
 box-shadow:0 18px 45px rgba(34,59,72,.08)!important;
 border-radius:28px!important;gap:clamp(18px,3vw,38px)!important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-copy :is(h2,p),
body.gc-page-clientes.gc-blueprint .gc-general-contact-section :is(h2,h3,p,label,strong){color:#263747!important;}
body.gc-page-clientes.gc-blueprint .gc-general-contact-copy h2 span{
 color:#087e49!important;background:none!important;-webkit-background-clip:initial!important;
 background-clip:initial!important;-webkit-text-fill-color:#087e49!important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-meta a{color:#29465a!important;}
body.gc-page-clientes.gc-blueprint .gc-general-contact-form :is(input,textarea){
 color:#203445!important;background:#fff!important;border:1px solid #c8d8e6!important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-form :is(input,textarea)::placeholder{color:#526579!important;-webkit-text-fill-color:#526579!important;}
body.gc-page-clientes.gc-blueprint .gc-general-contact-form button{
 background:linear-gradient(110deg,#087b4b,#13ad65)!important;color:white!important;
 border-radius:16px!important;
}
/* Historia: el bloque Evolución Continua debe estar visible; evita el bento
   horizontal que deja la segunda tarjeta fuera de la pantalla del celular. */
body.gc-page-historia .gc-media-bento-history > .gc-media-tile-history-visual{
 display:flex!important;visibility:visible!important;opacity:1!important;
 min-width:0!important;min-height:245px!important;
}
body.gc-page-historia .gc-media-bento-history > .gc-media-tile-history-visual .gc-media-copy{
 display:block!important;visibility:visible!important;opacity:1!important;
}
/* Carrusel de servicios: quitar la pausa sin eliminar navegación por flechas,
   marcadores ni pausa automática al mantener el foco o pasar el ratón. */
body.gc-index-demo .gc-home-service-pause{display:none!important;}
body.gc-index-demo .gc-home-service-meta{max-width:calc(100% - 22px)!important;justify-content:center!important;}

@media(max-width:820px){
 /* No recortes por una anchura mínima heredada, ni botones flotantes sobre texto. */
 body.gc-blueprint{width:100%!important;overflow-x:clip!important;}
 body.gc-blueprint :is(.gc-history-hero-grid,.gc-client-universe-summary,.gc-client-media-layout,.gc-services-layout,.gc-home-cori,.cori-proof-layout){min-width:0!important;}
 body.gc-blueprint :is(h1,h2,h3,p){max-width:100%;}
 body.gc-blueprint :is(.gc-home-services,.gc-client-universe,.gc-media-story-section,.gc-history-institutional,.gc-general-contact-section){margin-left:auto!important;margin-right:auto!important;}
 /* Historia: dos piezas apiladas en vez de un carrusel horizontal recortado. */
 body.gc-page-historia .gc-media-bento.gc-media-bento-history{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;gap:12px!important;
  overflow:visible!important;scroll-snap-type:none!important;padding:0!important;
 }
 body.gc-page-historia .gc-media-bento-history > .gc-media-tile{
  display:flex!important;width:100%!important;min-width:0!important;
  max-width:100%!important;min-height:230px!important;
  border-radius:24px!important;flex:none!important;scroll-snap-align:none!important;
 }
 body.gc-page-historia .gc-media-bento-history > .gc-media-tile-history-visual{min-height:270px!important;}
 body.gc-page-historia .gc-media-bento-history .gc-media-copy{left:20px!important;right:20px!important;bottom:22px!important;}
 body.gc-page-historia .gc-media-bento-history .gc-media-copy h3{font-size:clamp(26px,6vw,40px)!important;line-height:1.12!important;}
 /* Servicios: controles separados de las tarjetas; no ocupa espacio el botón Pausa. */
 body.gc-index-demo .gc-home-service-meta{bottom:3px!important;gap:7px!important;padding:5px 10px!important;}
 body.gc-index-demo .gc-home-service-arrow{z-index:15!important;}
 /* Contacto al flujo normal y ancho contenido. */
 body.gc-page-clientes.gc-blueprint .gc-general-contact-shell{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;padding:23px!important;}
 body.gc-page-clientes.gc-blueprint .gc-general-contact-copy h2{font-size:clamp(30px,7vw,43px)!important;line-height:1.08!important;}
 body.gc-page-clientes.gc-blueprint .gc-general-contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
 /* Footer de cuatro páginas: 2 filas de datos, enlaces en líneas compactas. */
 body.gc-blueprint footer.gc-site-footer{
  width:100%!important;margin-top:26px!important;padding:20px 17px max(23px,env(safe-area-inset-bottom))!important;
  border-radius:0!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  width:min(100%,700px)!important;max-width:700px!important;
  gap:12px!important;padding:0!important;margin:0 auto!important;text-align:left!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-left{width:100%!important;min-width:0!important;}
 body.gc-blueprint footer.gc-site-footer .footer-info-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px 10px!important;margin-bottom:8px!important;
  align-items:center!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-info-item{
  display:flex!important;min-width:0!important;min-height:32px!important;
  font-size:clamp(11px,2.8vw,13px)!important;line-height:1.25!important;
  overflow-wrap:anywhere!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-info-item svg{width:15px!important;height:15px!important;flex:0 0 15px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-links-row{
  display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;
  gap:0px 11px!important;line-height:1.3!important;
  font-size:clamp(11px,2.7vw,12px)!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-links-row > span[aria-hidden="true"]{display:none!important;}
 body.gc-blueprint footer.gc-site-footer .footer-links-row a{
  display:inline-flex!important;align-items:center!important;
  min-height:32px!important;padding:4px 0!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-socials{
  display:flex!important;justify-content:center!important;
  gap:12px!important;width:100%!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-socials a{width:34px!important;height:34px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-certifications{
  width:100%!important;max-width:none!important;min-width:0!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  justify-content:space-between!important;text-align:left!important;gap:8px!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-certifications > p{
  width:auto!important;max-width:220px!important;min-width:0!important;
  margin:0!important;font-size:11px!important;line-height:1.28!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-certifications__logos{
  gap:8px!important;min-height:0!important;flex-shrink:0!important;justify-content:flex-end!important;
 }
 body.gc-blueprint footer.gc-site-footer .footer-cert-slot{width:54px!important;height:49px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-cert-slot img{max-width:54px!important;max-height:49px!important;}
}
@media(max-width:600px){
 /* Hero Índex: vídeo cinematográfico ARRIBA, texto y botones DEBAJO. Ninguna
    frase puede tapar el rostro de CORI, incluso con comienzo aleatorio. */
 body.gc-index-demo .gc-index-main{padding-top:68px!important;overflow:visible!important;}
 body.gc-index-demo .gc-home-video-hero{
  display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
  width:calc(100% - 20px)!important;min-height:0!important;height:auto!important;
  margin:12px auto 0!important;border-radius:25px!important;
  overflow:hidden!important;background:#0e1728!important;
 }
 body.gc-index-demo .gc-home-video-hero > video{
  position:relative!important;display:block!important;inset:auto!important;
  order:0!important;flex:0 0 auto!important;width:100%!important;
  height:clamp(188px,53vw,250px)!important;object-fit:cover!important;
  object-position:50% 30%!important;filter:none!important;
 }
 body.gc-index-demo .gc-home-video-hero::before{
  inset:0 0 auto 0!important;height:clamp(188px,53vw,250px)!important;
  background:linear-gradient(180deg,rgba(7,15,25,.12),rgba(7,15,25,.02))!important;
 }
 body.gc-index-demo .gc-home-video-hero::after{display:none!important;}
 body.gc-index-demo .gc-home-video-hero .gc-home-video-content{
  position:relative!important;order:1!important;display:flex!important;
  width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;
  margin:0!important;padding:18px 18px 24px!important;
  justify-content:flex-start!important;align-items:flex-start!important;
  background:linear-gradient(155deg,#122335,#0c1422)!important;
 }
 body.gc-index-demo .gc-home-video-content .gc-home-video-kicker{
  display:inline-flex!important;max-width:100%!important;width:auto!important;
  white-space:normal!important;font-size:clamp(10px,2.7vw,12px)!important;
  line-height:1.35!important;letter-spacing:.01em!important;
  padding:7px 10px!important;margin:0!important;
 }
 body.gc-index-demo .gc-home-video-content h1{
  font-size:clamp(28px,8.1vw,39px)!important;line-height:1.04!important;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:auto;
  width:100%!important;margin:13px 0 12px!important;letter-spacing:-.04em!important;
  text-shadow:none!important;
 }
 body.gc-index-demo .gc-home-video-content p{
  margin:0!important;font-size:clamp(14px,3.7vw,16px)!important;
  line-height:1.47!important;color:#eef6ff!important;text-shadow:none!important;
 }
 body.gc-index-demo .gc-r08-home-ctas{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;margin:16px 0 0!important;gap:8px!important;
 }
 body.gc-index-demo .gc-r08-home-ctas a{
  width:100%!important;min-width:0!important;min-height:46px!important;
  padding:9px 7px!important;font-size:clamp(11px,2.8vw,13px)!important;
  line-height:1.2!important;text-align:center!important;white-space:normal!important;
 }
 body.gc-index-demo .gc-home-video-control.gc-r08-video-control{
  display:inline-flex!important;top:9px!important;right:9px!important;
  width:44px!important;height:44px!important;z-index:6!important;
 }
 /* Cookies: una fila configuración + una fila de aceptar/rechazar bien visible. */
 body.gc-blueprint .cookie-banner{
  bottom:max(8px,env(safe-area-inset-bottom))!important;left:9px!important;
  right:9px!important;width:auto!important;max-height:min(68dvh,390px)!important;
  padding:13px!important;border-radius:19px!important;
 }
 body.gc-blueprint .cookie-banner h4{font-size:17px!important;margin:0 0 5px!important;}
 body.gc-blueprint .cookie-banner p{font-size:13px!important;line-height:1.4!important;}
 body.gc-blueprint .gc-cookie-banner-actions{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;min-width:0!important;
 }
 body.gc-blueprint .gc-cookie-config-btn{grid-column:1 / -1!important;grid-row:1!important;}
 body.gc-blueprint .gc-cookie-reject-btn{grid-column:1!important;grid-row:2!important;}
 body.gc-blueprint .gc-cookie-accept-btn{grid-column:2!important;grid-row:2!important;}
 body.gc-blueprint .gc-cookie-banner-actions button{
  padding:9px 7px!important;min-width:0!important;min-height:44px!important;
  font-size:clamp(11px,2.8vw,13px)!important;line-height:1.25!important;
 }
 /* Clientes: tamaño fijo contenido, NO se vuelven carruseles inmóviles.
    El JS avanza de forma continua y el gesto táctil detiene solo brevemente. */
 body.gc-page-clientes .gc-client-marquee{padding:2px!important;margin:0!important;}
 body.gc-page-clientes .gc-client-marquee__viewport{
  width:100%!important;min-width:0!important;-webkit-mask-image:none!important;mask-image:none!important;
 }
 body.gc-page-clientes .gc-client-marquee .gc-client-orb{
  width:clamp(154px,47vw,210px)!important;flex-basis:clamp(154px,47vw,210px)!important;
  height:112px!important;min-height:112px!important;padding:12px!important;
  border-radius:18px!important;
 }
 body.gc-page-clientes .gc-client-marquee .gc-client-orb strong{
  font-size:clamp(13px,3.9vw,18px)!important;line-height:1.16!important;
 }
 body.gc-page-clientes .gc-client-media-layout{grid-template-columns:minmax(0,1fr)!important;}
 body.gc-page-clientes .gc-client-media-photo{min-height:190px!important;height:190px!important;}
 body.gc-page-clientes .gc-client-universe-shell{padding:18px 14px!important;}
 body.gc-page-clientes .gc-client-universe-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body.gc-page-clientes .gc-client-universe-stat{min-width:0!important;min-height:0!important;padding:12px!important;}
 body.gc-page-clientes .gc-client-universe-stat strong{font-size:clamp(25px,7vw,35px)!important;}
 body.gc-page-clientes .gc-client-universe-stat span{font-size:11px!important;line-height:1.35!important;}
 body.gc-page-clientes.gc-blueprint .gc-general-contact-section{width:calc(100% - 18px)!important;}
 body.gc-page-clientes.gc-blueprint .gc-general-contact-shell{padding:19px 15px!important;border-radius:24px!important;}
 body.gc-page-clientes.gc-blueprint .gc-general-contact-row,
 body.gc-page-clientes.gc-blueprint .gc-general-contact-message-row{
  grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
 }
 body.gc-page-clientes.gc-blueprint .gc-general-contact-form button{min-height:48px!important;}
 /* Historia: ambas tarjetas visibles una debajo de otra y dimensiones sobrias. */
 body.gc-page-historia .gc-media-bento-history > .gc-media-tile{
  min-height:200px!important;height:auto!important;
 }
 body.gc-page-historia .gc-media-bento-history > .gc-media-tile-history-visual{height:245px!important;}
 body.gc-page-historia .gc-media-story-section{width:calc(100% - 18px)!important;}
 /* Footer aún más compacto en teléfonos estrechos. */
 body.gc-blueprint footer.gc-site-footer .footer-grid{gap:8px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-info-row{column-gap:6px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-certifications > p{font-size:10px!important;max-width:190px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-cert-slot{width:43px!important;height:44px!important;}
 body.gc-blueprint footer.gc-site-footer .footer-cert-slot img{max-width:43px!important;max-height:44px!important;}
 /* Los botones de navegación del carrusel no deben comerse el centro inferior. */
 body.gc-index-demo .gc-home-service-pause{display:none!important;}
 body.gc-index-demo .gc-home-service-meta{gap:5px!important;max-width:calc(100% - 110px)!important;}
 body.gc-index-demo .gc-home-service-meta strong{font-size:11px!important;}
}
@media(max-width:370px){
 body.gc-index-demo .gc-r08-home-ctas{grid-template-columns:1fr!important;}
 body.gc-index-demo .gc-home-video-content h1{font-size:clamp(27px,8.6vw,33px)!important;}
 body.gc-blueprint footer.gc-site-footer .footer-info-row{grid-template-columns:1fr!important;}
 body.gc-blueprint footer.gc-site-footer .footer-certifications > p{max-width:145px!important;}
}
@media(prefers-reduced-motion:reduce){
 body.gc-page-clientes .gc-client-marquee__track{animation:none!important;}
 body.gc-page-clientes .gc-client-marquee__viewport{scroll-snap-type:x proximity!important;}
}

/* ===== FIN ARCHIVO ORIGINAL: gc-r09-responsive.css ===== */

/* ================================================================
   AJUSTE 01 · CONTACTO CLIENTES EN FONDO CLARO
   Regla final: neutraliza blancos heredados del antiguo bloque oscuro.
   No toca los enlaces del footer, otras páginas ni los campos del formulario.
   ================================================================ */
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a,
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a span {
  color: #182630 !important;
  -webkit-text-fill-color: #182630 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a svg,
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a svg :is(path, line, polyline, rect, circle) {
  color: #182630 !important;
  stroke: #182630 !important;
  fill: none !important;
  opacity: 1 !important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a:hover,
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a:hover span {
  color: #075c3d !important;
  -webkit-text-fill-color: #075c3d !important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a:hover svg,
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a:hover svg :is(path, line, polyline, rect, circle) {
  stroke: #075c3d !important;
}
body.gc-page-clientes.gc-blueprint .gc-general-contact-section .gc-general-contact-meta a:focus-visible {
  outline: 2px solid #075c3d !important;
  outline-offset: 5px !important;
  border-radius: 4px;
}


/* ===== AJUSTE 09 · CLIENTES SIN BLOQUE DE CONTACTO ===== */
body.gc-page-clientes .gc-coverage-v03{margin-bottom:clamp(28px,4vw,54px)!important;}
body.gc-page-clientes .gc-site-footer{margin-top:0!important;}
@media (max-width: 767px){body.gc-page-clientes .gc-coverage-v03{margin-bottom:24px!important;}}
\n\n/* ================================================================
   R12 · AJUSTE RESPONSIVE INTERMEDIO · CLIENTES · 24 SEP 2026
   Reorganiza imagen/carruseles y cobertura antes de que se compriman.
   ================================================================ */
@media (max-width:1020px){
  body.gc-page-clientes .gc-client-media-layout{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.gc-page-clientes .gc-client-media-photo{
    min-height:250px!important;
    max-height:320px!important;
  }
  body.gc-page-clientes .gc-client-media-list .gc-client-marquee .gc-client-orb{
    width:clamp(145px,24vw,190px)!important;
    flex-basis:clamp(145px,24vw,190px)!important;
  }
}
@media (max-width:1050px){
  body.gc-page-clientes .gc-coverage-layout-v04{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:'map' 'stats'!important;
    gap:16px!important;
  }
  body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stats-v03{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
  }
  body.gc-page-clientes .gc-coverage-layout-v04 .gc-coverage-stat-v03{
    min-height:120px!important;
  }
}
