/* ===== Mintaka brand overrides ===== */
:root{
  --mintaka-navy:#0B2239;
  --mintaka-blue:#12537e;
  --mintaka-accent:#59D2F3;   /* azul celeste de la plantilla (fills, líneas, sobre fondo oscuro) */
  --mk-ink:#0E8FBF;           /* azul más profundo para texto/acentos sobre fondo claro (contraste) */
}

/* ===== Mobile: evita desbordes horizontales ===== */
html, body{ overflow-x:hidden; }

/* ===== Tipografía: recalibra títulos para Montserrat (más ancha que Teko) =====
   Se usa !important para imponer una escala coherente sobre las ~40 reglas de
   tamaño heredadas de la plantilla (dimensionadas para Teko, condensada). */
h1{ font-size:clamp(44px, 7vw, 96px) !important; line-height:1.05 !important; }
h2{ font-size:clamp(28px, 4.2vw, 52px) !important; line-height:1.12 !important; }
h3{ font-size:clamp(22px, 2.6vw, 32px) !important; line-height:1.18 !important; }
.cta-wrapper h2{ font-size:clamp(26px, 3.6vw, 46px) !important; }

/* ===== Hero ===== */
/* Overlay para legibilidad del texto sobre la foto */
.hero-section.hero-1{ position:relative; isolation:isolate; }
/* Capa 1: imagen con realce leve de color — vívida y natural (cielo azul,
   nubes blancas, torre blanca), no apagada, SIN grado monocromático. */
.hero-section.hero-1::before{
  content:""; position:absolute; inset:0; z-index:0;
  background-image:url('../img/mintaka/hero-tower.webp');
  background-size:cover; background-position:center;
  filter:saturate(.82) contrast(1.04) brightness(1.0);
}
/* Capa 2: velo navy sutil sobre TODO el encuadre para atenuar el color +
   panel de texto a la izquierda + viñeta superior para el menú. */
.hero-section.hero-1::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    /* velo uniforme para bajar la intensidad del color */
    linear-gradient(0deg, rgba(11,34,57,.20), rgba(11,34,57,.20)),
    /* viñeta superior sutil para el menú sobre el cielo */
    linear-gradient(180deg, rgba(11,34,57,.30) 0%, rgba(11,34,57,0) 18%),
    /* panel de texto a la izquierda */
    linear-gradient(100deg,
      rgba(9,26,46,.92) 0%,
      rgba(10,30,52,.80) 16%,
      rgba(11,34,57,.52) 30%,
      rgba(11,34,57,.20) 44%,
      rgba(11,34,57,0) 58%);
}
/* Subir el contenido por encima del overlay SIN alterar el posicionamiento
   absoluto de los elementos de la plantilla (icon-text, hero-list, client-info). */
.hero-section.hero-1 .container-fluid{ position:relative; z-index:1; }
.hero-1 .icon-text,
.hero-1 .hero-list,
.hero-1 .client-info{ z-index:2; }

/* Título: escala fluida (título más largo → tamaño más contenido) */
.hero-1 .hero-content h1{
  font-size:clamp(30px, 4vw, 56px) !important;
  line-height:1.12 !important;
  margin-bottom:22px;
  overflow-wrap:break-word; word-break:break-word;
}
.hero-1 .hero-content h1 strong{ color:var(--mintaka-accent) !important; font-weight:800; }
/* Palabra animada (typing) en su propia línea con altura reservada: evita el
   salto de layout al cambiar de palabra. Cursor parpadeante al final. */
.hero-1 .hero-content h1 #typing-text{
  display:block;
  white-space:nowrap;
  min-height:1.18em;
}
.hero-1 .hero-content h1 #typing-text::after{
  content:"";
  display:inline-block;
  width:3px; height:.85em;
  margin-left:6px;
  background:var(--mintaka-accent);
  vertical-align:-0.06em;
  animation:mk-caret 1s steps(1) infinite;
}
@keyframes mk-caret{ 50%{ opacity:0; } }
/* Texto superior (eyebrow) que se perdía: mejor contraste */
.hero-1 .hero-content .text-1{ color:var(--mintaka-accent) !important; font-weight:600; letter-spacing:.04em; }
.hero-1 .hero-content .text-2{ color:#fff !important; }
/* Subtítulo bajo el título */
.hero-1 .hero-content .mk-hero-sub{
  color:rgba(255,255,255,.86);
  max-width:560px;
  font-size:16px; line-height:1.7; font-weight:400;
  margin:0 0 4px;
}

/* Lista de features del hero (bajo el título, a la izquierda) */
.hero-1 .hero-content .mk-hero-features{
  list-style:none; padding:0; margin:28px 0 0;
  display:flex; flex-wrap:wrap; gap:14px 30px;
}
.hero-1 .hero-content .mk-hero-features li{
  display:flex; align-items:center; gap:9px;
  color:#fff; font-size:15px; font-weight:500; letter-spacing:.01em;
}
.hero-1 .hero-content .mk-hero-features li i{ color:var(--mintaka-accent); font-size:15px; }

/* Badge 24/7 monitoreo en tiempo real */
.hero-1 .client-info{
  position:static;
  display:inline-flex; align-items:center; gap:12px;
  background:rgba(11,34,57,.5); border:1px solid rgba(89,210,243,.5);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:12px 22px; border-radius:50px; margin-top:24px;
}
.hero-1 .client-info::before{
  content:""; width:9px; height:9px; border-radius:50%; flex:none;
  background:var(--mintaka-accent); animation:mkPulse 2s infinite;
}
.hero-1 .client-info h4{ margin:0; font-size:15px; color:#fff; font-weight:600; letter-spacing:.01em; }
.hero-1 .client-info h4 strong{ color:var(--mintaka-accent); font-weight:800; margin-right:4px; }
.hero-1 .client-info h4 span{ color:rgba(255,255,255,.85); font-weight:500; }
@keyframes mkPulse{
  0%{ box-shadow:0 0 0 0 rgba(89,210,243,.55); }
  70%{ box-shadow:0 0 0 11px rgba(89,210,243,0); }
  100%{ box-shadow:0 0 0 0 rgba(89,210,243,0); }
}

/* Text wordmark logo (no brand SVG available yet) */
.brand-name{
  font-weight:800;
  letter-spacing:.04em;
  font-size:30px;
  line-height:1;
  text-transform:lowercase;
  display:inline-block;
}
.header-logo .brand-name,
.header-1 .brand-name{ color:#fff; }
.offcanvas__logo .brand-name{ color:var(--mintaka-navy); }
.offcanvas__logo .brand-name b{ color:var(--mintaka-navy); }
/* Botón cerrar (×): minimalista, sin fondo ni caja */
.offcanvas__wrapper .offcanvas__content .offcanvas__close{
  width:auto !important; height:auto !important;
  flex:0 0 auto;
  line-height:1 !important;
  border-radius:0 !important;
  background:transparent !important;
  display:inline-flex; align-items:center; justify-content:center;
}
.offcanvas__close button{ background:transparent; border:0; padding:6px; line-height:1; cursor:pointer; }
.offcanvas__close i{
  color:var(--mintaka-navy); font-size:22px; line-height:1;
  transition:transform .2s ease, color .2s ease;
}
.offcanvas__close button:hover i{ color:var(--mk-ink); transform:scale(1.15); }
.offcanvas__contact + .social-icon{ margin-top:28px; }
/* "Contacto" en el menú móvil: mismo diseño que las demás filas del menú */
.offcanvas__content .mobile-menu{ margin-bottom:0 !important; }
.mk-offcanvas-cta{
  display:block; width:100%; box-sizing:border-box;
  height:52px; line-height:52px; padding:0 2px; margin:0;
  color:var(--mintaka-navy);
  font-family:"Montserrat", sans-serif; font-weight:600; font-size:15px;
  border-top:1px solid #eceff3;
  background:transparent;
  transition:color .2s ease;
}
.mk-offcanvas-cta:hover{ color:var(--mk-ink); background:transparent; }
.brand-name b{ color:var(--mk-ink); font-weight:800; }
.header-logo .brand-name b,
.header-1 .brand-name b{ color:#fff; }
.mk-by{
  display:inline-block;
  margin-left:6px;
  font-size:30px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1;
  color:var(--mintaka-accent);
  text-transform:lowercase;
  white-space:nowrap;
  vertical-align:baseline;
  transition:opacity .2s ease;
}
.logo{ display:flex; align-items:center; }
.header-logo{ display:inline-flex; align-items:center; }
.header-logo .brand-name{ line-height:1; }
.mk-by{ line-height:1; }
.mk-by:hover{ color:var(--mintaka-accent); opacity:.75; }
.sticky.header-1 .mk-by{ color:var(--mk-ink); }

/* ===== Header: marcado de página activa ===== */
.main-menu ul li > a{ position:relative; }
.main-menu ul li > a.mk-active{ color:var(--mk-ink); }
.main-menu ul li > a.mk-active::after{
  content:""; position:absolute; left:0; right:0; bottom:14px;
  height:2px; border-radius:2px; background:var(--mintaka-accent);
}

/* ===== Header: CTA principal (relleno azul) ===== */
.mk-header-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--mintaka-accent); color:var(--mintaka-navy);
  font-weight:700; font-size:14px; padding:13px 26px; border-radius:50px;
  white-space:nowrap;
  transition:background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.mk-header-cta:hover{ background:var(--mintaka-navy); color:#fff; transform:translateY(-2px); box-shadow:0 12px 26px rgba(89,210,243,.35); }
.mk-header-cta i{ transition:transform .3s ease; }
.mk-header-cta:hover i{ transform:translateX(4px); }

/* Footer big wordmark */
.exolax-text .brand-name-lg{
  font-size:clamp(60px,14vw,180px);
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--mintaka-navy);
  text-transform:lowercase;
  line-height:.9;
  opacity:.9;
}
.exolax-text .brand-name-lg b{ color:var(--mintaka-accent); }

/* Mintaka value/diff icon tiles */
.mk-icon-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #eceef2;
  border-radius:20px;
  padding:36px 30px;
  height:100%;
  z-index:0;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .4s ease;
}
/* Capa: resplandor decorativo en la esquina */
.mk-icon-card::before{
  content:"";
  position:absolute; top:-50px; right:-50px;
  width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, rgba(89,210,243,.22), transparent 70%);
  opacity:0; transform:scale(.6);
  transition:opacity .45s ease, transform .45s ease;
  z-index:-1;
}
/* Capa: barra de acento inferior */
.mk-icon-card::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:100%; height:4px;
  background:linear-gradient(90deg, #59D2F3, #9fe6fa);
  transform:scaleX(0); transform-origin:left;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.mk-icon-card:hover{
  transform:translateY(-10px);
  box-shadow:0 28px 54px rgba(11,34,57,.16);
  border-color:transparent;
}
.mk-icon-card:hover::before{ opacity:1; transform:scale(1); }
.mk-icon-card:hover::after{ transform:scaleX(1); }

/* Capa: tile detrás del icono */
.mk-icon-card img{
  width:58px; height:58px; object-fit:contain;
  padding:16px; box-sizing:content-box;
  border-radius:16px;
  background:linear-gradient(135deg, #e8f9fe, #d2f1fb);
  margin-bottom:24px;
  transition:transform .4s ease, background .4s ease, box-shadow .4s ease;
}
.mk-icon-card:hover img{
  transform:rotate(-6deg) scale(1.06);
  box-shadow:0 12px 24px rgba(89,210,243,.30);
}
.mk-icon-card h4{ font-size:20px; margin-bottom:12px; color:var(--mintaka-navy); }
.mk-icon-card p{ margin:0; color:#5b6b7b; line-height:1.65; }

/* Acentos en azul de la plantilla (valor agregado y diferenciadores) */
.brand-section .mk-icon-card::before,
.mk-cards-blue .mk-icon-card::before{
  background:radial-gradient(circle, rgba(89,210,243,.24), transparent 70%);
}
.brand-section .mk-icon-card::after,
.mk-cards-blue .mk-icon-card::after{
  background:linear-gradient(90deg, #59D2F3, #9fe6fa);
}
.brand-section .mk-icon-card img,
.mk-cards-blue .mk-icon-card img{
  background:linear-gradient(135deg, #e8f9fe, #d2f1fb);
}
.brand-section .mk-icon-card:hover img,
.mk-cards-blue .mk-icon-card:hover img{
  box-shadow:0 12px 24px rgba(89,210,243,.30);
}

/* Solution / product cards */
.mk-solution-card{
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eceff3;
  height:100%;
}
.mk-solution-card .thumb{ overflow:hidden; }
.mk-solution-card .thumb img{ width:100%; height:260px; object-fit:cover; transition:.5s; }
.mk-solution-card:hover .thumb img{ transform:scale(1.06); }
.mk-solution-card .content{ padding:26px 26px 30px; }
.mk-solution-card .content h3{ font-size:22px; margin-bottom:12px; }
.mk-solution-card .content ul{ margin:0; padding:0; list-style:none; }
.mk-solution-card .content ul li{ position:relative; padding-left:22px; margin-bottom:8px; }
.mk-solution-card .content ul li::before{
  content:"\f00c"; font-family:"Font Awesome 6 Pro","Font Awesome 6 Free"; font-weight:900;
  position:absolute; left:0; top:2px; color:var(--mk-ink); font-size:13px;
}

/* ===== Diferenciadores (nosotros): la imagen decorativa se salía a tamaño
   natural en escritorio; se confina al panel derecho de la sección ===== */
.choose-us-section{ position:relative; overflow:hidden; }
.choose-us-section .choose-us-image{
  position:absolute; top:0; right:0; bottom:0;
  width:44%; max-width:620px; height:auto;
}
.choose-us-section .choose-us-image img{
  width:100%; height:100%; object-fit:cover; display:block;
}
@media (max-width:991px){ .choose-us-section .choose-us-image{ display:none; } }

/* ===== "Nuestros diferenciadores": degradado a color de marca (quita el rosa) ===== */
.section-title.theme-color-3 h6{
  background:linear-gradient(90deg, var(--mintaka-accent) 0%, var(--mk-ink) 100%) !important;
  background-clip:text !important;
  -webkit-background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}

/* ===== Casos de éxito / testimonios (nosotros) ===== */
.mk-cases-section{ background:#f5f8fb; }
.mk-case-card{
  background:#fff;
  border:1px solid #eceff3;
  border-radius:18px;
  padding:34px 30px;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:transform .35s ease, box-shadow .35s ease;
}
.mk-case-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(11,34,57,.12); }
.mk-case-quote{ color:var(--mintaka-accent); font-size:30px; line-height:1; margin-bottom:18px; }
.mk-case-tag{
  align-self:flex-start;
  font-size:12px; font-weight:600; letter-spacing:.02em;
  color:var(--mk-ink);
  background:rgba(89,210,243,.14);
  padding:5px 13px; border-radius:999px;
  margin-bottom:18px;
}
.mk-case-text{
  margin:0 0 24px;
  color:#3f4d5c; line-height:1.7; font-size:16px;
  font-style:italic;
  flex-grow:1;
}
.mk-case-author{
  display:flex; align-items:center; gap:14px;
  border-top:1px solid #eceff3; padding-top:20px;
}
.mk-case-avatar{
  flex:0 0 auto;
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--mintaka-navy); color:#fff;
  font-family:"Montserrat",sans-serif; font-weight:700; font-size:15px;
  letter-spacing:.02em;
}
.mk-case-author h4{ font-size:16px; color:var(--mintaka-navy); margin:0 0 2px; }
.mk-case-role{ font-size:13px; color:#7a8896; }

/* Sectores (index): la banda oscura cubría solo 25% y cortaba el título
   blanco; se agranda la banda y se reduce el título para que quepa. */
.case-study-section::before{ top:42% !important; }
.case-study-section .section-title h2{ font-size:40px !important; line-height:1.16 !important; }
@media (max-width:575px){
  .case-study-section .section-title h2{ font-size:28px !important; }
}

/* Sector tiles (overlay sobre imagen) */
.mk-sector-tile{
  display:block;
  position:relative;
  height:360px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(11,34,57,.08);
  transition:box-shadow .4s ease, transform .4s ease;
}
.mk-sector-tile-sm{ height:300px; }
.mk-sector-tile:hover{ transform:translateY(-6px); box-shadow:0 26px 54px rgba(11,34,57,.20); }
.mk-sector-img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.mk-sector-tile:hover .mk-sector-img{ transform:scale(1.09); }
.mk-sector-tile::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(11,34,57,.94) 8%, rgba(11,34,57,.55) 45%, rgba(11,34,57,.08) 100%);
}
.mk-sector-num{
  position:absolute; top:18px; left:22px; z-index:2;
  font-size:34px; font-weight:800; color:var(--mintaka-accent);
  line-height:1; text-shadow:0 2px 10px rgba(0,0,0,.3);
}
.mk-sector-body{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:24px 26px 26px;
}
.mk-sector-body h3{ color:#fff; font-size:21px; margin:0 0 10px; line-height:1.25; }
.mk-sector-body p{
  color:rgba(255,255,255,.85); margin:0; font-size:14.5px; line-height:1.55;
}
.mk-sector-body::before{
  content:""; display:block; width:38px; height:3px;
  background:var(--mintaka-accent); border-radius:3px;
  margin-bottom:14px; transition:width .4s ease;
}
.mk-sector-tile:hover .mk-sector-body::before{ width:64px; }

/* Card CTA al final de los sectores */
.mk-sector-cta{
  display:block; height:360px; border-radius:18px;
  background:linear-gradient(135deg, var(--mintaka-navy), var(--mintaka-blue));
  position:relative; overflow:hidden;
  transition:transform .4s ease, box-shadow .4s ease;
}
.mk-sector-cta:hover{ transform:translateY(-6px); box-shadow:0 26px 54px rgba(11,34,57,.22); }
.mk-sector-cta-inner{
  position:absolute; left:0; bottom:0; padding:32px 30px;
}
.mk-sector-cta h3{ color:#fff; font-size:24px; line-height:1.25; margin:0 0 16px; }
@media (max-width:575px){
  .mk-sector-tile, .mk-sector-cta{ height:320px; }
}

.mk-bg-navy{ background:var(--mintaka-navy); }
.mk-section-img{ width:100%; border-radius:18px; object-fit:cover; }

.exolax-text .brand-name-lg--light{ color:#fff; }
.exolax-text .brand-name-lg--light b{ color:var(--mintaka-accent); }

/* ===== CTA dark overlay for legible white text over photo bg ===== */
.cta-wrapper{ position:relative; overflow:hidden; }
.cta-wrapper::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,34,57,.72), rgba(11,34,57,.82));
  z-index:0;
}
.cta-wrapper > *{ position:relative; z-index:1; }

/* ===== Service-details: imagen superior como banner controlado ===== */
.service-details-wrapper .details-image{ margin-bottom:50px; }
.service-details-wrapper .details-image img{
  width:100%;
  aspect-ratio:16/7;
  max-height:460px;
  object-fit:cover;
  object-position:center 62%;
  border-radius:18px;
  display:block;
}
@media (max-width:575px){
  .service-details-wrapper .details-image img{ aspect-ratio:16/10; max-height:320px; }
}

/* ===== Solution detail sections (service-details) ===== */
.mk-solution-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
  padding:64px 0;
  border-top:1px solid #eceff3;
}
.mk-solution-detail:first-of-type{ border-top:none; }
.mk-solution-detail.mk-reverse .mk-sd-media{ order:2; }

.mk-sd-media{ position:relative; }
.mk-sd-media > img{
  width:100%;
  border-radius:18px;
  object-fit:cover;
  aspect-ratio:4/3;
  display:block;
}
.mk-sd-media-sub{
  position:absolute;
  right:-22px; bottom:-28px;
  width:46%;
  aspect-ratio:4/3;
  border-radius:14px;
  border:6px solid #fff;
  box-shadow:0 18px 40px rgba(11,34,57,.18);
}
.mk-reverse .mk-sd-media-sub{ right:auto; left:-22px; }

.mk-eyebrow{
  display:inline-block;
  font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mk-ink);
  margin-bottom:14px;
}
.mk-sd-body h3{
  color:var(--mintaka-navy);
  font-size:30px; line-height:1.2;
  margin-bottom:16px;
}
.mk-sd-body p{ color:#5b6b7b; line-height:1.7; margin-bottom:24px; }

.mk-feature-list{ list-style:none; padding:0; margin:0 0 30px; }
.mk-feature-list li{
  display:flex; align-items:flex-start; gap:12px;
  color:#2a3a49; font-size:15px; line-height:1.5;
  padding:11px 0;
  border-bottom:1px dashed #e4e8ed;
}
.mk-feature-list li:last-child{ border-bottom:none; }
.mk-feature-list li i{ color:var(--mk-ink); margin-top:3px; }

@media (max-width:991px){
  .mk-solution-detail{ grid-template-columns:1fr; gap:60px 0; padding:48px 0; }
  .mk-solution-detail.mk-reverse .mk-sd-media{ order:0; }
  .mk-sd-media-sub{ width:40%; right:10px; bottom:-24px; }
  .mk-reverse .mk-sd-media-sub{ left:10px; }
}
@media (max-width:575px){
  .mk-sd-body h3{ font-size:24px; }
  .mk-sd-media-sub{ width:42%; right:0; bottom:-18px; border-width:4px; }
}

/* ===== Sección "Quiénes somos" del index: fondo navy limpio ===== */
.mk-about-section{
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(89,210,243,.12), transparent 60%),
    var(--mintaka-navy);
  padding-top:70px;
  padding-bottom:70px;
}
.mk-eyebrow-on-dark{ color:var(--mintaka-accent); }
.mk-about-title{ font-size:40px; line-height:1.14; margin:14px 0 18px; }
.mk-about-intro{ color:rgba(255,255,255,.72); font-size:16px; line-height:1.7; max-width:480px; margin-bottom:32px; }
.mk-about-points{ list-style:none; padding:0; margin:0 0 34px; display:flex; flex-direction:column; gap:22px; }
.mk-about-points li{ display:flex; gap:16px; align-items:flex-start; }
.mk-about-points .ico{
  flex:none; width:48px; height:48px; border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(89,210,243,.13); color:var(--mintaka-accent); font-size:18px;
}
.mk-about-points h4{ color:#fff; font-size:18px; margin:0 0 4px; }
.mk-about-points p{ color:rgba(255,255,255,.66); margin:0; font-size:14.5px; line-height:1.55; }

.mk-about-media{ position:relative; padding-bottom:14px; }
.mk-about-media > img{ width:100%; border-radius:20px; aspect-ratio:4/3.3; object-fit:cover; display:block; }
.mk-about-stat{
  position:absolute; left:-14px; bottom:0;
  background:#fff; border-radius:16px; padding:18px 24px;
  box-shadow:0 20px 44px rgba(0,0,0,.30);
  display:flex; flex-direction:column;
}
.mk-about-stat strong{ color:var(--mk-ink); font-size:34px; line-height:1; font-weight:800; }
.mk-about-stat span{ color:#5b6b7b; font-size:13px; margin-top:5px; max-width:150px; line-height:1.3; }

/* Botón CTA principal reutilizable (relleno azul) */
.mk-btn-primary{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--mintaka-accent); color:var(--mintaka-navy);
  font-weight:700; font-size:15px; padding:14px 28px; border-radius:50px;
  border:none; transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.mk-btn-primary:hover{ background:#fff; color:var(--mintaka-navy); transform:translateY(-2px); box-shadow:0 12px 28px rgba(89,210,243,.35); }
.mk-btn-primary i{ transition:transform .3s ease; }
.mk-btn-primary:hover i{ transform:translateX(4px); }

@media (max-width:1199px){ .mk-about-title{ font-size:32px; } }
@media (max-width:575px){
  .mk-about-section{ padding-top:50px; padding-bottom:50px; }
  .mk-about-title{ font-size:26px; }
  .mk-about-stat{ left:0; padding:14px 18px; }
  .mk-about-stat strong{ font-size:28px; }
}

/* ===== Cards del portafolio de servicios ===== */
.mk-service-card{
  height:100%;
  background:#fff;
  border:1px solid #eceef2;
  border-radius:20px;
  padding:34px 32px;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.mk-service-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 50px rgba(11,34,57,.14);
  border-color:transparent;
}
.mk-service-head{
  display:flex; align-items:center; gap:16px;
  margin-bottom:22px; padding-bottom:22px;
  border-bottom:1px solid #eef1f4;
}
.mk-service-head img{
  width:34px; height:34px; object-fit:contain;
  padding:13px; box-sizing:content-box;
  border-radius:14px;
  background:linear-gradient(135deg, #e8f9fe, #d2f1fb);
  flex:none;
}
.mk-service-head h3{ margin:0; font-size:22px; color:var(--mintaka-navy); }
.mk-service-card .mk-feature-list{ margin:0; }

/* ===== Bloques de página interior de solución ===== */
.mk-apps-block,
.mk-others-block{ padding-top:70px; margin-top:30px; border-top:1px solid #eceff3; }
.mk-apps-block .section-title h2,
.mk-others-block .section-title h2{ color:var(--mintaka-navy); }
.mk-apps-block .mk-eyebrow,
.mk-others-block .mk-eyebrow{ display:block; margin-bottom:8px; }

.mk-solution-link{
  display:block; height:100%;
  border:1px solid #eceff3; border-radius:18px; overflow:hidden;
  background:#fff; transition:box-shadow .3s ease, transform .3s ease;
}
.mk-solution-link:hover{ box-shadow:0 20px 44px rgba(11,34,57,.14); transform:translateY(-4px); }
.mk-solution-link .thumb img{
  width:100%; aspect-ratio:16/9; object-fit:cover; display:block;
}
.mk-solution-link .content{ padding:22px 26px; }
.mk-solution-link .content h3{ color:var(--mintaka-navy); font-size:22px; margin:0 0 8px; }
.mk-link-arrow{ color:var(--mk-ink); font-weight:600; font-size:14px; }
.mk-link-arrow i{ margin-left:6px; transition:margin .25s ease; }
.mk-solution-link:hover .mk-link-arrow i{ margin-left:12px; }

/* Número sobre el thumb en las cards de soluciones del index */
.mk-solutions-grid .thumb{ position:relative; }
.mk-card-num{
  position:absolute; top:14px; left:14px; z-index:2;
  width:42px; height:42px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  background:var(--mintaka-accent); color:var(--mintaka-navy);
  font-weight:800; font-size:16px;
  box-shadow:0 8px 20px rgba(11,34,57,.22);
}
.mk-solutions-grid .content p{ color:#5b6b7b; margin:10px 0 16px; font-size:14.5px; line-height:1.6; }
.mk-solutions-grid .content .mk-link-arrow{ display:inline-flex; align-items:center; }

/* ===== Mintaka multi-column footer ===== */
.mk-footer{
  background:var(--mintaka-navy);
  padding:80px 0 0;
  margin-top:0;
}
.mk-footer *{ visibility:visible !important; opacity:1 !important; animation:none !important; }
.mk-footer-top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1.2fr 1.3fr;
  gap:40px;
  padding-bottom:50px;
}
.mk-footer-col h4{
  color:#fff;
  font-size:18px;
  font-weight:700;
  margin-bottom:22px;
  letter-spacing:.02em;
}
.mk-footer-col ul{ list-style:none; padding:0; margin:0; }
.mk-footer-col ul li{ margin-bottom:12px; }
.mk-footer-col a{
  color:rgba(255,255,255,.72);
  transition:color .25s ease;
  font-size:15px;
}
.mk-footer-col a:hover{ color:var(--mintaka-accent); }

.mk-footer-logo{ display:inline-block; margin-bottom:18px; }
.mk-footer-logo-wrap{ display:inline-flex; align-items:center; margin-bottom:18px; }
.mk-footer-logo-wrap .mk-footer-logo{ margin-bottom:0; }
.mk-footer-logo .brand-name{
  color:#fff; font-size:34px; font-weight:800;
  text-transform:lowercase; letter-spacing:.04em;
}
.mk-footer-logo .brand-name b{ color:#fff; }
.mk-footer-logo-wrap .mk-by{ font-size:34px; color:var(--mintaka-accent); }
.mk-footer-brand p{
  color:rgba(255,255,255,.6);
  font-size:15px; line-height:1.7; max-width:340px;
  margin-bottom:24px;
}
.mk-footer-social{ display:flex; gap:12px; }
.mk-footer-social a{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08);
  color:#fff; font-size:15px;
  transition:background .25s ease, color .25s ease;
}
.mk-footer-social a:hover{ background:var(--mintaka-accent); color:var(--mintaka-navy); }

.mk-footer-contact li{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  color:rgba(255,255,255,.72); font-size:15px;
}
.mk-footer-contact li i{ color:var(--mintaka-accent); width:16px; }
.mk-footer-contact li span{
  color:#fff; font-weight:600; min-width:54px;
}

.mk-footer-bottom{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px;
  border-top:1px solid rgba(255,255,255,.1);
  padding:24px 0;
}
.mk-footer-bottom p{ margin:0; color:rgba(255,255,255,.6); font-size:14px; }
.mk-footer-bottom a{ color:var(--mintaka-accent); }

@media (max-width:991px){
  .mk-footer-top{ grid-template-columns:1fr 1fr; gap:34px; }
}
@media (max-width:575px){
  .mk-footer{ padding-top:56px; }
  .mk-footer-top{ grid-template-columns:1fr; gap:30px; }
  .mk-footer-bottom{ flex-direction:column; text-align:center; }
}

/* ===== Página legal (aviso de privacidad) ===== */
.mk-legal{ max-width:820px; margin:0 auto; }
.mk-legal .mk-legal-updated{ color:var(--mk-ink); font-weight:600; margin-bottom:24px; }
.mk-legal p{ color:#5b6b7b; line-height:1.8; margin-bottom:16px; }
.mk-legal h3{ color:var(--mintaka-navy); font-size:22px; margin:34px 0 12px; }
.mk-legal ul{ color:#5b6b7b; line-height:1.8; margin:0 0 16px; padding-left:20px; }
.mk-legal ul li{ margin-bottom:6px; }
.mk-legal a{ color:var(--mk-ink); font-weight:600; }

/* ===== Cookie Consent (barra inferior clara) ===== */
:root{ --cc-accent:#59D2F3; }   /* acento configurable (cámbialo a #65d46e si lo quieres verde) */
.mk-cc{
  position:fixed; left:0; right:0; bottom:0; z-index:2000; width:100%;
  opacity:0; transform:translateY(100%);
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);
  pointer-events:none;
}
.mk-cc.is-visible{ opacity:1; transform:translateY(0); pointer-events:auto; }

/* Barra principal */
.mk-cc-bar{ background:#fff; border-top:1px solid #e6e9ee; box-shadow:0 -12px 40px rgba(11,34,57,.12); }
.mk-cc-bar-inner{
  max-width:1240px; margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; gap:26px;
}
.mk-cc-text{ display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
.mk-cc-ico{
  width:44px; height:44px; flex:none; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--cc-accent) 16%, transparent);
  color:var(--cc-accent); font-size:19px;
}
.mk-cc-text p{ margin:0; color:#4a5a6a; font-size:14px; line-height:1.55; }
.mk-cc-text strong{ color:var(--mintaka-navy); }
.mk-cc-text a{ color:var(--mk-ink); font-weight:600; }
.mk-cc-actions{ display:flex; align-items:center; gap:10px; flex:none; }
.mk-cc-btn{
  border:none; cursor:pointer; border-radius:50px; white-space:nowrap;
  padding:11px 20px; font-size:13.5px; font-weight:700;
  transition:transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.mk-cc-btn--primary{ background:var(--cc-accent); color:#082033; }
.mk-cc-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 10px 22px color-mix(in srgb, var(--cc-accent) 40%, transparent); }
.mk-cc-btn--ghost{ background:#fff; color:var(--mintaka-navy); border:1px solid #d5dbe2; }
.mk-cc-btn--ghost:hover{ border-color:var(--cc-accent); color:var(--mk-ink); }

/* Panel de personalización (también barra inferior, más alta) */
.mk-cc-panel{ background:#fff; border-top:1px solid #e6e9ee; box-shadow:0 -12px 40px rgba(11,34,57,.14); }
.mk-cc-panel-inner{ max-width:980px; margin:0 auto; padding:24px 28px; }
.mk-cc-head{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.mk-cc-head h3{ margin:0; color:var(--mintaka-navy); font-size:19px; }
.mk-cc-cats{ max-height:42vh; overflow-y:auto; margin:14px 0 18px; }
.mk-cc-cat{
  display:flex; align-items:flex-start; gap:16px;
  padding:14px 0; border-bottom:1px solid #eef1f4;
}
.mk-cc-cat:last-child{ border-bottom:none; }
.mk-cc-cat-info{ flex:1; }
.mk-cc-cat-info h4{ margin:0 0 4px; color:var(--mintaka-navy); font-size:15px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mk-cc-cat-info p{ margin:0; color:#7a8896; font-size:13px; line-height:1.5; }
.mk-cc-tag{ font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--mk-ink); background:color-mix(in srgb, var(--cc-accent) 16%, transparent);
  padding:3px 8px; border-radius:20px; }
.mk-cc-panel .mk-cc-actions{ justify-content:flex-end; }

/* Switch */
.mk-cc-switch{ position:relative; flex:none; width:46px; height:26px; }
.mk-cc-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.mk-cc-slider{ position:absolute; inset:0; border-radius:50px; background:#cfd6de; transition:background .25s ease; }
.mk-cc-slider::before{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform .25s ease; }
.mk-cc-switch input:checked + .mk-cc-slider{ background:var(--cc-accent); }
.mk-cc-switch input:checked + .mk-cc-slider::before{ transform:translateX(20px); }
.mk-cc-switch input:disabled{ cursor:not-allowed; }
.mk-cc-switch input:disabled + .mk-cc-slider{ opacity:.6; }
.mk-cc-switch input:focus-visible + .mk-cc-slider{ outline:2px solid var(--cc-accent); outline-offset:2px; }

@media (max-width:991px){
  .mk-cc-bar-inner{ flex-direction:column; align-items:stretch; gap:16px; }
  .mk-cc-actions{ flex-wrap:wrap; }
  .mk-cc-btn{ flex:1 1 auto; }
}
@media (max-width:575px){
  .mk-cc-bar-inner, .mk-cc-panel-inner{ padding:18px 18px; }
  .mk-cc-btn{ width:100%; flex:1 1 100%; }
}

/* ===== Logo (imagen) en el header, a la izquierda del wordmark ===== */
.header-logo{ display:inline-flex; align-items:center; gap:10px; }
.mk-logo-img{ height:42px; width:auto; display:block; }
@media (max-width:575px){ .mk-logo-img{ height:36px; } }

/* Logo en menú lateral y footer alineado con el wordmark */
.offcanvas__logo{ display:inline-flex; align-items:center; }
.offcanvas__logo a{ display:inline-flex; align-items:center; gap:10px; }
.offcanvas__logo .mk-by{ color:var(--mk-ink); }
.mk-footer-logo{ display:inline-flex; align-items:center; gap:11px; }
.offcanvas__logo .mk-logo-img{ height:42px; width:auto !important; }

/* Header sticky: no ennegrecer el logo (la imagen debe quedar a color);
   se oscurece solo el texto del wordmark para que se lea sobre blanco. */
.sticky.header-1 .logo{ filter:none !important; }
.sticky.header-1 .header-logo .brand-name{ color:var(--mintaka-navy); }
.sticky.header-1 .header-logo .brand-name b{ color:var(--mintaka-navy); }

/* Ilustraciones decorativas a los lados del banner de Sectores (index) */
.case-study-section{ overflow:hidden; }
.mk-sector-ilus{
  position:absolute; top:40px; height:230px; width:auto; z-index:1;
  opacity:.20; filter:invert(1); pointer-events:none; user-select:none;
}
.mk-sector-ilus--left{ left:30px; }
.mk-sector-ilus--right{ right:30px; }
@media (max-width:1199px){ .mk-sector-ilus{ height:180px; opacity:.14; } }
@media (max-width:991px){ .mk-sector-ilus{ display:none; } }

/* ===== Contacto: tarjeta del formulario ===== */
.contact-section .contact-content{
  background:#fff;
  border:1px solid #eceef2;
  border-radius:22px;
  padding:44px 44px 40px;
  box-shadow:0 24px 60px rgba(11,34,57,.08);
}
.contact-section .contact-content h3{ font-size:26px; line-height:1.25; margin-bottom:28px; color:var(--mintaka-navy); }
@media (max-width:575px){
  .contact-section .contact-content{ padding:28px 22px; }
  .contact-section .contact-content h3{ font-size:21px; }
}

/* ===== Menú móvil (meanmenu dentro del offcanvas) =====
   La plantilla dejaba un bloque azul oscuro flotante con una hamburguesa
   redundante y floats/márgenes raros. Aquí se limpia y se pasa a color marca. */
.mobile-menu .mean-bar{ background:transparent; padding:0; min-height:0; float:none; }
.mobile-menu a.meanmenu-reveal{ display:none !important; }
.mobile-menu .mean-nav{ background:transparent; margin-top:0; float:none; width:100%; }
.mobile-menu .mean-nav > ul{ width:100%; }
.mobile-menu .mean-nav ul li{ float:none; width:100%; }
.mobile-menu .mean-nav ul li a{
  display:block; float:none; width:100%; box-sizing:border-box;
  padding:0 2px; margin:0; height:52px; line-height:52px;
  color:var(--mintaka-navy);
  font-family:"Montserrat", sans-serif;
  font-weight:600; font-size:15px; letter-spacing:0;
  text-transform:none;
  border-top:1px solid #eceff3;
}
.mobile-menu .mean-nav > ul > li:first-child > a{ border-top:0; }
.mobile-menu .mean-nav ul li a:hover{ color:var(--mk-ink); }
/* submenú (Soluciones) */
.mobile-menu .mean-nav ul li li a{
  width:100%; height:46px; line-height:46px; padding:0 2px 0 22px;
  font-weight:500; font-size:14px; color:#5b6b7b;
}
.mobile-menu .mean-nav ul li li a:hover{ color:var(--mk-ink); }
/* botón +/- para desplegar submenús */
.mobile-menu .mean-nav ul li a.mean-expand{
  width:44px; height:52px; padding:0; margin-top:0; top:0;
  text-align:center; line-height:52px; font-size:16px;
  color:var(--mintaka-navy); background:transparent; border:0 !important;
  box-sizing:border-box;
}
.mobile-menu .mean-nav ul li a.mean-expand:hover{ background:transparent; color:var(--mk-ink); }
/* Fila con submenú: toda la fila es interactiva; el + gira a × al abrir */
.mobile-menu .mean-nav li.has-dropdown > a{ cursor:pointer; }
.mobile-menu .mean-nav ul li a.mean-expand i{ transition:transform .25s ease; display:inline-block; }
.mobile-menu .mean-nav ul li a.mean-expand.mean-clicked i{ transform:rotate(45deg); }
