@font-face {
  font-family: "Ogg Medium";
  src: url("https://dcym8fthxf5uu.cloudfront.net/fonts/247a073c-29f5-4a89-aa3a-741020f346fc/OggText-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --mx: 0; --my: 0;
  --back-opacity: 1; --back-x: 0px; --back-y: 0px; --back-scale: 0.76;
  --four-y: 10vh; --four-scale: 0.78;
  --bazaar-y: 20vh;
  --blur-px: 0px; --back-brightness: 1;
  --bazaar-blur-px: 0px; --bazaar-brightness: 1; --bazaar-saturation: 1;
  --shade-opacity: 1; --shade-z: 2;
  --shade-top-alpha: 0; --shade-mid-alpha: 0; --shade-bottom-alpha: 0;
  --blur-tint: 74, 181, 224;
  --title-y: 0px; --title-scale: 1; --title-opacity: 1;
  --bridge-x: -50%; --bridge-y: 0px; --bridge-bottom: 5vh;
  --bridge-width: 67.2vw; --bridge-scale: 1.02;
  --split-left-x: -50%;  --split-left-y: 0px;  --split-left-scale: 1;
  --split-right-x: -50%; --split-right-y: 0px; --split-right-scale: 1;
  --frame2-opacity: 0; --frame2-x: -50%; --frame2-y: -50%; --frame2-scale: 1.06;
  --intro-copy-y: 0px; --intro-copy-opacity: 1;
  --panel2-opacity: 0; --panel2-y: calc(-50% + 58px);
  --panel3-opacity: 0; --panel3-y: calc(-50% + 58px);
  --sights-opacity: 0; --sights-controls-opacity: 0; --sights-y: 0px; --services-bg-opacity: 0;
  --sights-enter-x: 420vw; --sights-visibility: hidden;
  --sights-shift: 0px; --sights-scale: 1;
  --sights-top: clamp(112px, 19vh, 220px);
  --sights-screen-top: clamp(112px, 19vh, 220px);
  --ink: #111411; --paper: #fdf1e1; --shadow: rgba(0, 0, 0, 0.32);
  font-family: Inter, Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--paper);
  background: #0b1110;
  letter-spacing: 0;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; background: #0b1110; }
body { min-height: 100%; margin: 0; overflow-x: clip; background: #0b1110; }
button { border: 0; font: inherit; }
.site-shell { min-height: 100vh; }

.cinema-scroll { position: relative; height: calc(100vh + 3700px); }
.stage { position: sticky; top: 0; height: 100vh; min-height: 620px; overflow: hidden; isolation: isolate; background: #7fb4d4; }
.world, .back-stack, .sky-img, .shade, .scene-img, .site-header, .services-solid-bg, .sights-slider, .sights-controls, .hero-title, .intro-copy, .story-panel { position: absolute; }
.world { inset: 0; overflow: hidden; background: #79b7dd; }

.site-header {
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
  align-items: center;
  gap: 32px;
  padding: 32px;
  color: rgba(253, 241, 225, 0.86);
  pointer-events: auto;
}
.site-logo {
  justify-self: start;
  font-family: "Ogg Medium", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  color: rgba(253, 241, 225, 0.92);
  text-decoration: none;
  white-space: nowrap;
}
.site-nav { display: flex; justify-content: center; align-items: center; gap: clamp(24px, 2.2vw, 44px); }
.site-nav a, .language-switcher {
  color: rgba(253, 241, 225, 0.86);
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
}
.site-nav a { font-size: 20px; font-weight: 400; text-decoration: none; }
.language-switcher {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  background: transparent;
  font-size: 16px;
  cursor: pointer;
}
.language-switcher span { display: inline-flex; line-height: 1; }

.scene-img { display: block; user-select: none; -webkit-user-drag: none; will-change: transform, opacity, filter; pointer-events: none; }
.sky-img { inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; transform: none; filter: blur(var(--blur-px)) brightness(var(--back-brightness)); }
.back-stack {
  top: 0;
  bottom: 0;
  left: -3vw;
  right: -3vw;
  z-index: 1;
  opacity: var(--back-opacity);
  transform: translate3d(var(--back-x), var(--back-y), 0) scale(var(--back-scale));
  transform-origin: 50% 100%;
  will-change: transform, filter, opacity;
}
.back-img { inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(var(--blur-px)) brightness(var(--back-brightness)); }
.back-bazaar, .back-four { top: auto; bottom: 0; left: 48%; right: auto; width: 112%; height: auto; object-fit: contain; }
.back-bazaar {
  z-index: 3;
  opacity: 1;
  filter: blur(var(--bazaar-blur-px)) brightness(var(--bazaar-brightness)) saturate(var(--bazaar-saturation));
  transform: translate3d(-50%, var(--bazaar-y), 0) scale(0.86);
}
.back-four {
  z-index: 1;
  opacity: 0.72;
  mix-blend-mode: screen;
  transform: translate3d(-50%, calc(var(--four-y) - 110px), 0) scale(var(--four-scale));
}

.sights-slider {
  left: 0;
  right: 0;
  top: var(--sights-top);
  z-index: 2;
  padding: 0;
  opacity: 1;
  visibility: var(--sights-visibility);
  transform: translate3d(var(--sights-enter-x), var(--sights-y), 0) scale(var(--sights-scale));
  transform-origin: 0 0;
  pointer-events: auto;
  will-change: transform;
}
.sights-track {
  display: flex;
  gap: clamp(16px, 1.15vw, 24px);
  align-items: stretch;
  transform: translate3d(calc(var(--sights-shift) - 18vw), 0, 0);
  transition: transform 640ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.sights-track.is-jumping { transition: none; }
.sight-card {
  position: relative;
  flex: 0 0 clamp(360px, 19.4vw, 430px);
  height: 220px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(253, 241, 225, 0.42);
  border-radius: 24px;
  color: #000;
  background: #fdf1e1;
  box-shadow: 0 18px 52px rgba(2, 47, 64, 0.12);
  backdrop-filter: none;
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
}
.sight-card::before, .sight-card::after { content: none; }
.sight-kicker, .sight-card h3, .sight-card p { position: relative; z-index: 1; text-shadow: none; }
.sight-card:focus-visible, .sight-card.is-active { outline: none; }
.sight-kicker { display: block; margin-bottom: 56px; color: #000; font-size: 12px; font-weight: 500; line-height: 1.05; text-transform: uppercase; }
.sight-pin { position: absolute; top: 24px; right: 24px; width: 67.2px; height: 67.2px; pointer-events: none; }
.sight-card h3 {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: calc(24px + (16px * 1.16 * 2) + 12px);
  max-width: calc(100% - 76px);
  margin: 0;
  color: #000;
  font-size: 24px;
  font-weight: 800;
  line-height: 0.95;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sight-card p {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  max-width: 100%;
  margin: 12px 0 0;
  color: #000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.16;
  display: -webkit-box;
  max-height: calc(2em * 1.16);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sights-controls {
  left: 48px;
  right: auto;
  top: calc(var(--sights-screen-top) + 220px + 16px);
  z-index: 5;
  display: flex;
  justify-content: flex-start;
  gap: 14px;
  opacity: var(--sights-controls-opacity);
  transform: translate3d(0, var(--sights-y), 0);
  pointer-events: none;
  will-change: transform, opacity;
}
.sights-controls.is-ready { pointer-events: auto; }
.sight-nav {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #111411;
  background: rgba(253, 241, 225, 0.94);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.hero-title {
  left: 50%;
  top: clamp(122px, 19vh, 205px);
  z-index: 3;
  width: min(94vw, 1780px);
  margin: 0;
  color: #fdf1e1;
  font-family: "Ogg Medium", serif;
  font-size: 14rem;
  font-weight: 500;
  line-height: 0.78;
  text-align: center;
  text-shadow: none;
  transform: translate3d(-50%, var(--title-y), 0) scale(var(--title-scale));
  opacity: var(--title-opacity);
  will-change: transform, opacity;
}
.bridge-img {
  left: 50%;
  bottom: var(--bridge-bottom);
  z-index: 4;
  width: min(var(--bridge-width), 2140px);
  height: auto;
  transform: translate3d(var(--bridge-x), var(--bridge-y), 0) scale(var(--bridge-scale));
  transform-origin: 50% 48%;
}
.splitframe-img { left: 50%; bottom: -2vh; z-index: 6; width: min(118vw, 2240px); height: auto; pointer-events: none; }
.splitframe-left { transform: translate3d(var(--split-left-x), var(--split-left-y), 0) scale(var(--split-left-scale)); transform-origin: 21% 52%; }
.splitframe-right { transform: translate3d(var(--split-right-x), var(--split-right-y), 0) scale(var(--split-right-scale)); transform-origin: 79% 52%; }
.frame-two-img {
  filter: none !important;
  backdrop-filter: none;
  left: 50%;
  top: 50%;
  z-index: 5;
  width: min(122vw, 2160px);
  height: auto;
  opacity: var(--frame2-opacity);
  transform: translate3d(var(--frame2-x), var(--frame2-y), 0) scale(var(--frame2-scale));
  transform-origin: 50% 48%;
}
.shade {
  inset: 0;
  z-index: var(--shade-z);
  pointer-events: none;
  opacity: var(--shade-opacity);
  background: linear-gradient(180deg,
    rgba(var(--blur-tint), var(--shade-top-alpha)) 0%,
    rgba(var(--blur-tint), var(--shade-mid-alpha)) 48%,
    rgba(var(--blur-tint), var(--shade-bottom-alpha)) 100%);
}

.intro-copy {
  left: 50%;
  bottom: clamp(56px, 28vh, 400px);
  z-index: 9;
  width: min(560px, calc(100vw - 40px));
  text-align: center;
  transform: translate3d(-50%, var(--intro-copy-y), 0);
  opacity: var(--intro-copy-opacity);
  will-change: transform, opacity;
}
.intro-copy p {
  margin: 0 auto;
  max-width: 560px;
  color: #fdf1e1;
  font-size: 1.18rem;
  font-weight: 500;
  line-height: 1.18;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
}
.hero-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.hero-tags a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 25px;
  color: var(--ink);
  border-radius: 999px;
  background: #fdf1e1;
  font-size: 0.98rem;
  font-weight: 500;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.story-panel {
  left: 50%;
  top: 45%;
  z-index: 10;
  width: min(760px, calc(100vw - 42px));
  text-align: center;
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0);
  will-change: transform, opacity;
}
.story-panel h2 {
  margin: 0;
  color: #fdf1e1;
  font-family: "Ogg Medium", serif;
  font-size: 4.75rem;
  font-weight: 500;
  line-height: 0.95;
  text-shadow: 0 16px 38px var(--shadow);
}
.story-panel p {
  width: min(520px, 100%);
  margin: 26px auto 0;
  color: #fdf1e1;
  font-size: 1.14rem;
  font-weight: 500;
  line-height: 1.18;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
}
.story-panel-bridge { top: 60%; opacity: var(--panel2-opacity); transform: translate3d(-50%, var(--panel2-y), 0); }
.story-panel-bazaar { top: 29%; opacity: var(--panel3-opacity); transform: translate3d(-50%, var(--panel3-y), 0); }
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 86px; width: min(470px, 100%); margin: 72px auto 0; }
.facts dt { color: #fdf1e1; font-family: "Ogg Medium", serif; font-size: 4.2rem; font-weight: 500; line-height: 0.9; text-shadow: 0 14px 34px var(--shadow); }
.facts dd { margin: 18px 0 0; color: #fdf1e1; font-size: 1rem; font-weight: 500; line-height: 1.14; text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42); }
.note-button {
  min-height: 50px;
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 28px;
  border-radius: 999px;
  color: var(--ink);
  background: #fdf1e1;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
  pointer-events: auto;
  cursor: pointer;
}
.note-button span:first-child { font-size: 1.25rem; line-height: 1; }

@media (max-width: 1500px) {
  .hero-title { font-size: 11rem; }
  .story-panel h2 { font-size: 4.1rem; }
}

@media (max-width: 1100px) {
  .hero-title { top: 15vh; font-size: 7.5rem; }
  .bridge-img { width: 138vw; }
  .frame-two-img { width: 132vw; }
  .story-panel h2 { font-size: 3.2rem; }
  .facts { gap: 34px; margin-top: 44px; }
  .facts dt { font-size: 3.2rem; }
  .sight-card { flex-basis: clamp(320px, 40vw, 390px); min-height: 178px; }
}

@media (max-width: 640px) {
  .stage { min-height: 640px; }
  .site-header { grid-template-columns: 1fr auto; gap: 18px; padding: 24px; }
  .site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 18px; overflow-x: auto; scrollbar-width: none; }
  .site-nav::-webkit-scrollbar { display: none; }
  .hero-title { top: 16vh; font-size: 4.5rem; }
  .bridge-img { bottom: 2vh; width: 190vw; }
  .frame-two-img { width: 176vw; }
  .intro-copy { bottom: 42px; }
  .intro-copy p, .story-panel p { font-size: 1rem; }
  .hero-tags { gap: 8px; }
  .hero-tags a { min-height: 38px; padding: 0 16px; font-size: 0.88rem; }
  .story-panel { top: 42%; }
  .story-panel-bazaar { top: 26%; }
  .story-panel h2 { font-size: 2.45rem; }
  .facts { gap: 18px; margin-top: 34px; }
  .facts dt { font-size: 2.5rem; }
  .sights-slider { padding: 0; }
  .sights-track { gap: 12px; transform: translate3d(calc(var(--sights-shift) - 18vw), 0, 0); }
  .sight-card { flex-basis: min(82vw, 330px); height: 220px; padding: 24px; border-radius: 24px; }
  .sights-controls { top: calc(var(--sights-screen-top) + 236px); }
  .sight-card h3 { max-width: 78%; }
  .sight-card p { max-width: 100%; margin-top: 10px; }
  .sight-kicker { margin-bottom: 56px; }
  .sight-pin { top: 24px; right: 24px; width: 57.6px; height: 57.6px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .scene-img, .back-stack, .hero-title, .intro-copy,
  .story-panel, .sights-track, .sights-slider { transition: none; }
}

/* Grupo Cinco brand adaptation */
:root {
  --paper: #ffffff;
  --ink: #07324a;
  --blur-tint: 24, 157, 207;
}
.site-logo {
  display: inline-flex;
  align-items: center;
  width: min(330px, 28vw);
}
.site-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 64px;
  object-fit: contain;
  object-position: left center;
}
.contact-link { text-decoration: none; }
.hero-title { color: #ffffff; letter-spacing: -0.05em; }
.hero-tags a,
.sight-card,
.sight-nav,
.note-button { background: #ffffff; }
.story-panel .note-button { text-decoration: none; }
@media (max-width: 640px) {
  .site-logo { width: min(240px, 64vw); }
  .site-logo img { max-height: 48px; }
  .language-switcher span:first-child { display: none; }
}

/* Corrección de capas: las tarjetas siempre permanecen sobre las imágenes. */
.sights-slider {
  z-index: 12;
  isolation: isolate;
}
.sights-controls { z-index: 13; }
.sight-card {
  z-index: 1;
  box-shadow: 0 20px 56px rgba(0, 30, 48, 0.28);
}

/* Fotografías logísticas: encuadre uniforme y lectura corporativa. */
.sky-img,
.back-img,
.bridge-img,
.splitframe-img,
.frame-two-img {
  object-fit: cover;
  object-position: center;
}
.back-bazaar,
.back-four,
.bridge-img,
.splitframe-img,
.frame-two-img {
  border-radius: 0;
}
.sights-slider::before {
  content: "";
  position: absolute;
  inset: -28px 0 -32px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 36, 52, 0.08), rgba(5, 36, 52, 0.24));
}


/* Fondo sólido exclusivo de la sección Servicios. */
.services-solid-bg {
  inset: 0;
  z-index: 11;
  opacity: var(--services-bg-opacity);
  background: #79b7dd;
  pointer-events: none;
  will-change: opacity;
}
.site-header { z-index: 20; }
.sight-card { text-decoration: none; }

/* WhatsApp flotante y pie de página corporativo */
.site-footer{position:relative;z-index:50;background:#061d2d;color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.footer-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:34px 0 28px;display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr);gap:38px;align-items:center}
.footer-logos{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.footer-logos a{display:inline-flex}
.footer-logos img{display:block;width:auto;height:27px;max-width:150px;object-fit:contain}
.footer-logos img:first-child{height:30px;max-width:140px}
.footer-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;font-size:14px;line-height:1.5}
.footer-info div{display:flex;flex-direction:column;gap:6px}
.footer-info strong{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#7cc9ef;margin-bottom:3px}
.footer-info a,.footer-info span{color:rgba(255,255,255,.82);text-decoration:none;overflow-wrap:anywhere}
.footer-info a:hover{color:#fff;text-decoration:underline}
.whatsapp-widget{position:fixed;right:clamp(18px,3vw,34px);bottom:clamp(18px,3vw,30px);z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.whatsapp-bubble{position:relative;min-width:245px;padding:15px 42px 15px 18px;border-radius:16px 16px 4px 16px;background:#fff;color:#15334a;box-shadow:0 14px 38px rgba(0,0,0,.24);display:flex;flex-direction:column;gap:2px;font-size:14px;transform-origin:bottom right;transition:.2s ease}
.whatsapp-bubble::after{content:"";position:absolute;right:16px;bottom:-8px;border-width:8px 0 0 10px;border-style:solid;border-color:transparent transparent transparent #fff}
.whatsapp-bubble strong{font-size:15px;color:#0a6144}
.whatsapp-bubble.is-closed{opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);pointer-events:none}
.whatsapp-close{position:absolute;right:9px;top:8px;width:26px;height:26px;border:0;border-radius:50%;background:#eef3f5;color:#39505e;font-size:20px;line-height:1;cursor:pointer}
.whatsapp-float{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.34)}
.whatsapp-float svg{width:34px;height:34px}
@media(max-width:820px){.footer-inner{grid-template-columns:1fr}.footer-info{grid-template-columns:1fr 1fr}.footer-logos{gap:18px}.footer-logos img{height:28px;max-width:130px}.footer-logos img:first-child{height:27px}.whatsapp-bubble{min-width:220px}}
@media(max-width:520px){.footer-info{grid-template-columns:1fr}.footer-logos{justify-content:center}.footer-logos img{height:25px;max-width:115px}.whatsapp-float{width:56px;height:56px}.whatsapp-bubble{font-size:13px;min-width:205px}}

/* Servicios: fondo completamente sólido, sin fotografías visibles. */
.services-solid-bg{background:#79b7dd!important;mix-blend-mode:normal!important;}
.services-solid-bg.is-active{opacity:1!important;}
.sight-card{display:block;}

/* Navegación persistente y vista limpia de Servicios. */
.site-header {
  position: fixed !important;
  z-index: 1000 !important;
  background: linear-gradient(180deg, rgba(4, 33, 52, .88), rgba(4, 33, 52, .42) 72%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.services-section-active .services-solid-bg {
  opacity: 1 !important;
  visibility: visible !important;
  background: #79b7dd !important;
}
body.services-section-active .sky-img,
body.services-section-active .back-stack,
body.services-section-active .splitframe-img,
body.services-section-active .bridge-img,
body.services-section-active .frame-two-img,
body.services-section-active .shade,
body.services-section-active .hero-title,
body.services-section-active .intro-copy,
body.services-section-active .story-panel {
  opacity: 0 !important;
  visibility: hidden !important;
}
body.services-section-active .sights-slider,
body.services-section-active .sights-controls {
  visibility: visible !important;
}
body.services-section-active .site-header {
  background: rgba(4, 44, 70, .96);
  box-shadow: 0 8px 24px rgba(0, 39, 62, .18);
}
@media (max-width: 640px) {
  .site-header { padding: 18px 20px; }
}

/* Portada corporativa y selector de idioma */
.company-title{
  width:min(92vw,1200px);
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(2rem,5vw,5.4rem);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:800;
  text-transform:uppercase;
  text-shadow:0 4px 24px rgba(0,0,0,.55);
}
.language-control{display:inline-flex;align-items:center;gap:6px;margin-left:18px;padding:7px 10px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(4,26,43,.55);backdrop-filter:blur(10px);color:#fff;z-index:2}
.language-control select{appearance:none;border:0;outline:0;background:transparent;color:#fff;font:700 .85rem/1 Arial,sans-serif;cursor:pointer;padding-right:2px}
.language-control option{color:#10283a;background:#fff}
.language-icon{font-size:14px}
@media(max-width:760px){.language-control{position:absolute;right:14px;top:74px;margin:0}.company-title{top:clamp(130px,20vh,190px);font-size:clamp(1.75rem,8vw,3.1rem);padding:0 14px}}


/* PORTADA VERIFICADA — la nueva imagen debe ser la capa visible inicial. */
.sky-img {
  z-index: 7 !important;
  opacity: var(--title-opacity) !important;
  filter: brightness(.68) saturate(1.03) !important;
  transition: opacity .15s linear;
}
.company-title {
  top: clamp(150px, 24vh, 245px) !important;
  z-index: 9 !important;
  width: min(92vw, 1320px) !important;
  padding: 0 20px;
  font-family: Inter, Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2rem, 5vw, 5.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0,0,0,.72) !important;
}
.intro-copy {
  z-index: 9 !important;
}
.site-header {
  z-index: 20 !important;
}
@media (max-width: 760px) {
  .company-title {
    top: 24vh !important;
    font-size: clamp(1.65rem, 8vw, 3rem) !important;
  }
}

/* Ajuste final del título principal: tamaño compacto y separación del contenido inferior. */
.hero-title.company-title {
  top: clamp(145px, 20vh, 190px);
  width: min(88vw, 1080px);
  font-size: clamp(2.8rem, 5vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

@media (max-width: 1100px) {
  .hero-title.company-title {
    top: clamp(150px, 21vh, 180px);
    width: min(90vw, 900px);
    font-size: clamp(2.45rem, 5.6vw, 3.6rem);
    line-height: 1.04;
  }
}

@media (max-width: 640px) {
  .hero-title.company-title {
    top: 22vh;
    width: calc(100vw - 34px);
    font-size: clamp(1.8rem, 9vw, 2.55rem);
    line-height: 1.06;
    letter-spacing: -0.018em;
  }
  .intro-copy {
    bottom: 38px;
  }
}

/* Corrección definitiva: título compacto y selector de idioma limpio. */
.hero-title.company-title {
  top: clamp(132px, 18vh, 170px) !important;
  width: min(84vw, 980px) !important;
  padding: 0 12px !important;
  font-size: clamp(2rem, 3.15vw, 3.15rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.018em !important;
  text-shadow: 0 3px 14px rgba(0,0,0,.48) !important;
}

.language-control {
  position: static !important;
  justify-self: end !important;
  align-self: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 5px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.language-control select {
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

@media (max-width: 1100px) {
  .hero-title.company-title {
    top: clamp(130px, 18vh, 160px) !important;
    width: min(86vw, 820px) !important;
    font-size: clamp(1.9rem, 3.8vw, 2.8rem) !important;
  }
}

@media (max-width: 760px) {
  .hero-title.company-title {
    top: 21vh !important;
    width: calc(100vw - 28px) !important;
    font-size: clamp(1.55rem, 7vw, 2.25rem) !important;
    line-height: 1.08 !important;
  }
  .language-control {
    position: absolute !important;
    right: 14px !important;
    top: 72px !important;
  }
}


/* Secciones corporativas detalladas */
.content-hub{position:relative;z-index:20;background:#f5f8fb;color:#0a2342}
.content-section{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(72px,9vw,120px) 0;scroll-margin-top:100px}
.section-heading span,.contact-section>div:first-child>span,.vm-card>span{display:block;margin-bottom:12px;color:#1764b0;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.section-heading h2,.contact-section h2,.vm-card h2{margin:0;color:#0a2342;font-size:clamp(38px,5vw,68px);line-height:1}
.section-heading p{max-width:720px;margin:20px auto 0;color:#536b84;font-size:19px;line-height:1.6}.centered{text-align:center}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.about-copy p{margin:0 0 22px;color:#405873;font-size:19px;line-height:1.75}
.division-cards{display:grid;gap:16px}.division-cards article{padding:26px 28px;border:1px solid #d9e7f2;border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(8,37,70,.07)}.division-cards h3{margin:0 0 8px;font-size:22px}.division-cards p{margin:0;color:#536b84;line-height:1.6}
.vision-mission{display:grid;grid-template-columns:1fr 1fr;gap:24px}.vm-card{padding:clamp(34px,5vw,58px);border-radius:28px;background:#0a3158;color:#fff}.vm-card:nth-child(2){background:#0f5db3}.vm-card h2{color:#fff;font-size:clamp(34px,4vw,52px)}.vm-card>span{color:#8ed7f7}.vm-card p{margin:22px 0 0;font-size:19px;line-height:1.7;color:rgba(255,255,255,.88)}
.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:52px}.detail-card{display:flex;gap:22px;padding:30px;border:1px solid #d8e5ef;border-radius:24px;background:#fff;color:#0a2342;text-decoration:none;box-shadow:0 16px 40px rgba(8,37,70,.07);transition:.25s}.detail-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(8,37,70,.12)}.detail-card img{width:64px;height:64px}.detail-card span{color:#1764b0;font-size:12px;font-weight:800;letter-spacing:.12em}.detail-card h3{margin:8px 0 10px;font-size:25px}.detail-card p{margin:0 0 16px;color:#536b84;line-height:1.6}.detail-card strong{color:#0f5db3}
.contact-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.contact-section>div:first-child p{color:#536b84;font-size:19px;line-height:1.6}.contact-data{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-data>a,.contact-data>div{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:18px;background:#fff;border:1px solid #d8e5ef;color:#0a2342;text-decoration:none}.contact-data small{color:#1764b0;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-data strong{line-height:1.45}
@media(max-width:850px){.about-grid,.vision-mission,.contact-section{grid-template-columns:1fr}.service-detail-grid{grid-template-columns:1fr}.contact-data{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.content-section{width:min(100% - 28px,1180px);padding:62px 0}.contact-data{grid-template-columns:1fr}.detail-card{padding:23px;gap:16px}.detail-card img{width:50px;height:50px}}

/* Botones de divisiones estratégicas: enlaces a páginas de servicio */
.hero-tags a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.hero-tags a:hover,
.hero-tags a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.18);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  outline: none;
}

/* Corrección de los tres botones de la portada */
.intro-copy {
  pointer-events: auto !important;
  z-index: 30 !important;
}
.hero-tags {
  position: relative !important;
  z-index: 31 !important;
  pointer-events: auto !important;
}
.hero-tags a {
  position: relative !important;
  z-index: 32 !important;
  pointer-events: auto !important;
  color: #0a2342 !important;
  background: #ffffff !important;
  border: 1px solid rgba(10, 35, 66, .12) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .18) !important;
}
.hero-tags a:hover,
.hero-tags a:focus-visible {
  color: #ffffff !important;
  background: #0f5db3 !important;
  border-color: #0f5db3 !important;
}

/* Páginas independientes Empresa y Servicios */
.inner-page{background:#f5f8fb;color:#0a2342;padding-top:88px}
.inner-header{position:fixed!important;top:0;left:0;right:0;height:88px;background:#071a34;z-index:1000;transform:none!important}
.inner-main{min-height:70vh}
.page-hero{padding:110px 7vw 72px;background:linear-gradient(135deg,#081c38,#0c4f82);color:#fff;text-align:center}
.page-hero span{display:block;text-transform:uppercase;letter-spacing:.18em;color:#67c8ff;font-weight:800;margin-bottom:12px}
.page-hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin:0 0 20px}
.page-hero p{max-width:760px;margin:0 auto;font-size:clamp(1rem,2vw,1.3rem);line-height:1.7;color:#d9efff}
.inner-content{display:block!important}
.inner-content .content-section{scroll-margin-top:110px}
@media(max-width:760px){.inner-page{padding-top:76px}.inner-header{height:76px}.page-hero{padding:90px 24px 54px}}

/* Página de contacto */
.contact-content{padding-top:22px}.contact-section{padding-top:28px}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.contact-card{background:rgba(255,255,255,.96);border:1px solid rgba(13,86,146,.14);border-radius:22px;padding:28px;box-shadow:0 16px 38px rgba(7,42,74,.10)}.contact-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e7f4fb;color:#0f5db3;font-size:24px;font-weight:800;margin-bottom:18px}.contact-card h3{margin:0 0 10px;color:#0a2342;font-size:22px}.contact-card a,.contact-card address{font-style:normal;color:#0f5db3;font-size:19px;font-weight:800;text-decoration:none;overflow-wrap:anywhere}.contact-card p{color:#506982;line-height:1.6;margin:12px 0 0}.contact-action{display:inline-flex!important;margin-top:16px;font-size:15px!important;padding:10px 16px;border-radius:999px;background:#0f5db3;color:#fff!important}.contact-cta{margin-top:26px;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#0b2c4d,#0f5db3);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-cta span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8dd7ff;font-weight:900}.contact-cta h2{margin:8px 0 6px}.contact-cta p{margin:0;color:rgba(255,255,255,.82)}.contact-cta>a{flex:none;background:#fff;color:#0f5db3;text-decoration:none;font-weight:900;padding:14px 22px;border-radius:999px}@media(max-width:760px){.contact-grid{grid-template-columns:1fr}.contact-cta{align-items:flex-start;flex-direction:column}.contact-cta>a{width:100%;text-align:center}}


/* Logo enlazado de Mudanzas Premium Panamá */
.footer-logo-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.footer-logo-mudanzas{position:relative;transform-origin:center;animation:mudanzasLogoFloat 3.2s ease-in-out infinite;will-change:transform,filter}
.footer-logo-mudanzas img{transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 0 0 rgba(255,214,0,0))}
.footer-logo-mudanzas:hover img,.footer-logo-mudanzas:focus-visible img{transform:scale(1.08);filter:drop-shadow(0 0 10px rgba(255,214,0,.55))}
.footer-logo-mudanzas:focus-visible{outline:2px solid #7cc9ef;outline-offset:6px;border-radius:6px}
@keyframes mudanzasLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.footer-logo-mudanzas{animation:none}.footer-logo-mudanzas img{transition:none}}


/* Logo enlazado de Zentra */
.footer-logo-zentra{position:relative;transform-origin:center;animation:zentraLogoFloat 3.2s ease-in-out infinite;will-change:transform,filter}
.footer-logo-zentra img{transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 0 0 rgba(65,179,255,0))}
.footer-logo-zentra:hover img,.footer-logo-zentra:focus-visible img{transform:scale(1.08);filter:drop-shadow(0 0 10px rgba(65,179,255,.6))}
.footer-logo-zentra:focus-visible{outline:2px solid #7cc9ef;outline-offset:6px;border-radius:6px}
@keyframes zentraLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.footer-logo-zentra{animation:none}.footer-logo-zentra img{transition:none}}

/* Animación del logo de Zentra: igual al logo de Mudanzas Premium Panamá */
.footer-logo-zentra{position:relative;transform-origin:center;animation:mudanzasLogoFloat 3.2s ease-in-out infinite;will-change:transform,filter}
.footer-logo-zentra img{transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 0 0 rgba(65,179,255,0))}
.footer-logo-zentra:hover img,.footer-logo-zentra:focus-visible img{transform:scale(1.08);filter:drop-shadow(0 0 10px rgba(65,179,255,.6))}
.footer-logo-zentra:focus-visible{outline:2px solid #7cc9ef;outline-offset:6px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.footer-logo-zentra{animation:none}.footer-logo-zentra img{transition:none}}

/* Ecosistema empresarial */
.ecosystem-teaser{background:#071f35;color:#fff;padding:72px 24px;border-top:1px solid rgba(255,255,255,.1)}.ecosystem-teaser-inner{width:min(1180px,100%);margin:auto;text-align:center}.ecosystem-eyebrow,.ecosystem-content .section-heading span{color:#70c6f2;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}.ecosystem-teaser h2{font-size:clamp(34px,5vw,64px);margin:14px 0 16px}.ecosystem-teaser p{max-width:850px;margin:0 auto 34px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.6}.ecosystem-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ecosystem-mini-grid a{min-height:165px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;text-decoration:none;transition:.25s}.ecosystem-mini-grid a:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}.ecosystem-mini-grid img{height:42px;max-width:210px;object-fit:contain}.ecosystem-main-link{display:inline-flex;margin-top:30px;color:#fff;font-weight:800;text-decoration:none;border-bottom:2px solid #70c6f2;padding-bottom:5px}
.ecosystem-hero{background:linear-gradient(135deg,#061d2d,#0f5f9e)}.ecosystem-company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ecosystem-company-card{background:#fff;border:1px solid #d8e8f2;border-radius:26px;padding:30px;box-shadow:0 18px 45px rgba(8,37,70,.1);display:flex;flex-direction:column}.ecosystem-company-card.primary-company{background:linear-gradient(160deg,#0b3155,#0f5f9e);color:#fff}.ecosystem-company-card img{height:48px;max-width:230px;object-fit:contain;object-position:left;margin-bottom:24px}.ecosystem-company-card span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#1764b0}.ecosystem-company-card.primary-company span{color:#7fd1f7}.ecosystem-company-card h3{font-size:25px;margin:10px 0}.ecosystem-company-card p,.ecosystem-company-card li{line-height:1.6;color:#48627a}.ecosystem-company-card.primary-company p,.ecosystem-company-card.primary-company li{color:rgba(255,255,255,.82)}.ecosystem-company-card ul{padding-left:20px;flex:1}.ecosystem-company-card a{font-weight:900;color:#0f5db3;text-decoration:none}.ecosystem-company-card.primary-company a{color:#fff}.ecosystem-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ecosystem-process-grid article{padding:28px;border-radius:22px;background:#edf7fc}.ecosystem-process-grid b{color:#1764b0}.ecosystem-process-grid h3{font-size:22px;margin:12px 0}.ecosystem-process-grid p{color:#496178;line-height:1.65}.ecosystem-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin:34px auto 0}.ecosystem-form label{display:flex;flex-direction:column;gap:8px;font-weight:800;color:#173a5e}.ecosystem-form .wide{grid-column:1/-1}.ecosystem-form input,.ecosystem-form select,.ecosystem-form textarea{width:100%;border:1px solid #bdd7e7;border-radius:14px;padding:14px 15px;font:inherit;background:#fff;color:#173a5e}.ecosystem-form button{grid-column:1/-1;min-height:54px;border:0;border-radius:999px;background:#0f5db3;color:#fff;font-weight:900;cursor:pointer}.footer-info{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Zentra */
.zentra-page{margin:0;background:#052d59;color:#fff;font-family:Inter,system-ui,sans-serif}.ecosystem-topbar{background:#021b35;padding:10px clamp(20px,5vw,70px);display:flex;justify-content:space-between;gap:20px;font-size:13px}.ecosystem-topbar nav{display:flex;gap:20px}.ecosystem-topbar a{color:#b9dcff;text-decoration:none}.ecosystem-topbar a.active{color:#fff;font-weight:900}.zentra-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,70px);background:rgba(5,45,89,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1)}.zentra-header img{height:45px;max-width:220px}.zentra-header nav{display:flex;gap:24px}.zentra-header nav a{color:#fff;text-decoration:none;font-weight:700}.zentra-hero{min-height:76vh;display:grid;align-items:center;padding:80px clamp(24px,8vw,130px);background:radial-gradient(circle at 75% 30%,rgba(53,167,255,.3),transparent 32%),linear-gradient(135deg,#052d59,#074b8b)}.zentra-hero>div{max-width:850px}.zentra-hero span,.zentra-section-head span{color:#68c7ff;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:13px}.zentra-hero h1{font-size:clamp(48px,8vw,96px);line-height:.95;margin:18px 0 24px}.zentra-hero p{font-size:clamp(18px,2vw,24px);line-height:1.6;color:#d8ebff}.zentra-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.zentra-actions a{padding:15px 24px;border-radius:999px;background:#fff;color:#063b78;text-decoration:none;font-weight:900}.zentra-actions a+ a{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}.zentra-section{padding:80px clamp(24px,8vw,130px);background:#fff;color:#0b2c4d}.zentra-section.alt{background:#eaf5fc}.zentra-section-head{max-width:850px}.zentra-section h2{font-size:clamp(36px,5vw,62px);margin:12px 0 18px}.zentra-section-head p{font-size:19px;line-height:1.7;color:#48657e}.zentra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.zentra-grid article{background:#fff;border:1px solid #cce1ef;border-radius:22px;padding:26px}.zentra-grid h3{font-size:22px;margin-top:0}.zentra-grid p{color:#536b80;line-height:1.6}.zentra-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.zentra-stats div{background:#073d75;color:#fff;border-radius:20px;padding:28px}.zentra-stats strong{display:block;font-size:36px}.zentra-stats span{color:#c9e6ff}.zentra-contact{padding:70px 24px;text-align:center;background:#031f3d}.zentra-contact h2{font-size:clamp(34px,5vw,58px)}.zentra-contact a{display:block;color:#fff;margin:10px}.zentra-footer{display:flex;justify-content:space-between;gap:20px;padding:26px clamp(24px,8vw,130px);background:#02162b}.zentra-footer a{color:#72c8ff}
@media(max-width:900px){.ecosystem-mini-grid,.ecosystem-company-grid,.ecosystem-process-grid,.zentra-grid,.zentra-stats{grid-template-columns:1fr}.ecosystem-form{grid-template-columns:1fr}.ecosystem-form .wide,.ecosystem-form button{grid-column:auto}.footer-info{grid-template-columns:1fr 1fr}.ecosystem-topbar,.zentra-header{align-items:flex-start;flex-direction:column}.zentra-header nav,.ecosystem-topbar nav{width:100%;overflow-x:auto;padding-bottom:5px}.zentra-footer{flex-direction:column}.ecosystem-mini-grid img{height:36px}}
@media(max-width:560px){.footer-info{grid-template-columns:1fr}.ecosystem-topbar nav{gap:12px;font-size:12px}.zentra-header nav{gap:16px}.zentra-hero{min-height:70vh}.ecosystem-teaser{padding:54px 18px}}

/* Tamaño uniforme del logo principal en todos los encabezados */
.site-header .site-logo {
  width: clamp(150px, 15vw, 205px) !important;
  max-width: 205px !important;
  flex: 0 0 auto;
}
.site-header .site-logo img {
  width: 100% !important;
  height: auto !important;
  max-height: 44px !important;
  object-fit: contain;
  object-position: left center;
}
.inner-header .site-logo {
  width: clamp(145px, 14vw, 195px) !important;
  max-width: 195px !important;
}
.inner-header .site-logo img {
  max-height: 42px !important;
}
@media (max-width: 900px) {
  .site-header .site-logo,
  .inner-header .site-logo {
    width: 165px !important;
    max-width: 165px !important;
  }
  .site-header .site-logo img,
  .inner-header .site-logo img {
    max-height: 38px !important;
  }
}
@media (max-width: 560px) {
  .site-header .site-logo,
  .inner-header .site-logo {
    width: 145px !important;
    max-width: 145px !important;
  }
  .site-header .site-logo img,
  .inner-header .site-logo img {
    max-height: 34px !important;
  }
}

/* Selector bilingüe definitivo: únicamente Español / English */
.language-control select{min-width:108px}
@media(max-width:760px){.language-control select{min-width:102px;font-size:.78rem}}

/* Animación de entrada para las tarjetas de la portada, inspirada en el video de referencia. */
.sight-card.card-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  filter: blur(2px);
  transition:
    opacity .72s cubic-bezier(.22, 1, .36, 1),
    transform .72s cubic-bezier(.22, 1, .36, 1),
    filter .72s ease,
    box-shadow .28s ease;
  transition-delay: var(--card-delay, 0ms);
  will-change: opacity, transform;
}

.sight-card.card-reveal.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.sight-card.card-reveal.is-revealed:hover {
  transform: translate3d(0, -10px, 0) scale(1.018);
  box-shadow: 0 28px 62px rgba(5, 35, 70, .25), 0 10px 24px rgba(15, 93, 179, .16);
}

@media (prefers-reduced-motion: reduce) {
  .sight-card.card-reveal,
  .sight-card.card-reveal.is-revealed,
  .sight-card.card-reveal.is-revealed:hover {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}

/* Pie de página: unidades especializadas y regreso al inicio */
.footer-logos{align-items:center}
.specialized-units-block{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:300px}
.specialized-units-title{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#7cc9ef;line-height:1;text-align:center}
.specialized-unit-logos{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.specialized-unit-logos a{display:inline-flex;align-items:center;justify-content:center}
.footer-back-top{display:flex;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;align-items:center;justify-content:center;gap:9px;margin:0 auto 24px;padding:10px 17px;border:1px solid rgba(124,201,239,.42);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:12px;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.footer-back-top span[aria-hidden="true"]{font-size:20px;line-height:1;color:#7cc9ef}
.footer-back-top:hover{transform:translateY(-4px);background:rgba(124,201,239,.13);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.footer-back-top:focus-visible{outline:2px solid #7cc9ef;outline-offset:3px}
@media(max-width:820px){.specialized-units-block{min-width:260px}.specialized-unit-logos{gap:18px}}
@media(max-width:520px){.specialized-units-block{width:100%;min-width:0}.specialized-units-title{font-size:9px}.specialized-unit-logos{width:100%;gap:14px}.footer-back-top-label{display:none}.footer-back-top{width:46px;height:46px;padding:0;border-radius:50%}}

/* RESTAURACIÓN: tres tarjetas del ecosistema con el mismo fondo corporativo */
.ecosystem-company-card,
.ecosystem-company-card.primary-company{
  background:linear-gradient(160deg,#0b3155 0%,#0f5f9e 62%,#2a9bd4 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 20px 48px rgba(5,35,67,.22) !important;
}
.ecosystem-company-card span{color:#7fd1f7 !important}
.ecosystem-company-card h3,
.ecosystem-company-card p,
.ecosystem-company-card li,
.ecosystem-company-card a{color:#fff !important}
.ecosystem-company-card p,
.ecosystem-company-card li{color:rgba(255,255,255,.86) !important}
.ecosystem-company-card{transition:transform .35s ease,box-shadow .35s ease}
.ecosystem-company-card:hover{transform:translateY(-10px);box-shadow:0 30px 65px rgba(5,35,67,.34) !important}
.ecosystem-hero-cta{display:inline-flex;margin-top:22px;padding:13px 22px;border-radius:999px;background:#fff;color:#0f5f9e;text-decoration:none;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.ecosystem-smart-form{background:#eef8fd;border:1px solid #c9e2f0;border-radius:26px;padding:24px}
.smart-services{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.smart-services legend{font-weight:900;color:#173a5e;margin-bottom:12px}
.smart-services label{display:flex;flex-direction:row;align-items:center;gap:10px;background:#fff;border:1px solid #c8deeb;border-radius:14px;padding:13px 15px;cursor:pointer}
.smart-services input{width:auto !important;accent-color:#0f5db3}
.smart-result{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#0b3155,#0f5f9e);color:#fff}
.smart-result strong,.smart-result span,.smart-result small{color:#fff}
#cotizador-inteligente{scroll-margin-top:110px}
@media(max-width:700px){.smart-services{grid-template-columns:1fr}.ecosystem-smart-form{padding:17px}}

/* Ajuste exclusivo para móvil: tarjetas principales en una cuadrícula de 3 por fila. */
@media (max-width: 640px) {
  .sights-slider {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    overflow: visible !important;
  }

  .sights-track {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    transform: none !important;
    transition: none !important;
    align-items: stretch !important;
  }

  .sight-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    height: 154px !important;
    min-height: 154px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: mobileCardFloat 3.8s ease-in-out infinite;
    animation-delay: calc(var(--card-index, 0) * -0.35s);
    box-shadow: 0 10px 24px rgba(2, 22, 45, .18);
  }

  .sight-card:nth-child(1) { --card-index: 0; }
  .sight-card:nth-child(2) { --card-index: 1; }
  .sight-card:nth-child(3) { --card-index: 2; }
  .sight-card:nth-child(4) { --card-index: 3; }
  .sight-card:nth-child(5) { --card-index: 4; }
  .sight-card:nth-child(6) { --card-index: 5; }
  .sight-card:nth-child(7) { --card-index: 6; }
  .sight-card:nth-child(8) { --card-index: 7; }
  .sight-card:nth-child(9) { --card-index: 8; }
  .sight-card:nth-child(10) { --card-index: 9; }
  .sight-card:nth-child(11) { --card-index: 10; }
  .sight-card:nth-child(12) { --card-index: 11; }

  .sight-kicker {
    margin: 0 28px 0 0 !important;
    font-size: 7px !important;
    line-height: 1.15 !important;
    letter-spacing: .03em !important;
  }

  .sight-pin {
    top: 10px !important;
    right: 10px !important;
    width: 23px !important;
    height: 23px !important;
  }

  .sight-card h3 {
    left: 12px !important;
    right: 10px !important;
    bottom: 52px !important;
    max-width: calc(100% - 22px) !important;
    font-size: 12px !important;
    line-height: 1.02 !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .sight-card p {
    left: 12px !important;
    right: 10px !important;
    bottom: 11px !important;
    font-size: 8px !important;
    line-height: 1.18 !important;
    max-height: 30px !important;
    -webkit-line-clamp: 3 !important;
  }

  .sights-controls {
    display: none !important;
  }

  .sight-card.card-reveal.is-revealed:hover,
  .sight-card.card-reveal.is-revealed:active {
    transform: translate3d(0, -6px, 0) scale(1.025) !important;
    box-shadow: 0 18px 34px rgba(2, 22, 45, .30), 0 0 0 1px rgba(255,255,255,.18) !important;
  }
}

@keyframes mobileCardFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -5px; }
}

@media (max-width: 380px) {
  .sights-slider { left: 6px !important; right: 6px !important; }
  .sights-track { gap: 7px !important; }
  .sight-card { height: 148px !important; min-height: 148px !important; padding: 10px !important; }
  .sight-card h3 { left: 10px !important; font-size: 10px !important; }
  .sight-card p { left: 10px !important; font-size: 7px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sight-card { animation: none !important; }
}

/* Corrección móvil: centrar únicamente las tarjetas originales. */
@media (max-width: 640px) {
  .sights-slider {
    left: 50% !important;
    right: auto !important;
    width: calc(100% - 20px) !important;
    max-width: 620px !important;
    margin: 0 !important;
    transform: translate3d(-50%, var(--sights-y), 0) !important;
    transform-origin: center top !important;
  }

  .sights-track {
    width: 100% !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }

}

@media (max-width: 380px) {
  .sights-slider {
    width: calc(100% - 12px) !important;
  }
}

/* Escritorio: conservar la misma presentación en cuadrícula de la versión móvil. */
@media (min-width: 641px) {
  .sights-slider {
    left: 50% !important;
    right: auto !important;
    width: min(calc(100% - 80px), 1320px) !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: translate3d(-50%, var(--sights-y), 0) scale(var(--sights-scale)) !important;
    transform-origin: center top !important;
  }

  .sights-track {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.7vw, 28px) !important;
    width: 100% !important;
    margin: 0 auto !important;
    transform: none !important;
    transition: none !important;
    align-items: stretch !important;
    justify-content: center !important;
  }

  .sight-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    height: 220px !important;
    min-height: 220px !important;
    animation: desktopCardFloat 4.2s ease-in-out infinite !important;
    animation-delay: calc(var(--card-index, 0) * -0.42s) !important;
    transition: transform .35s ease, box-shadow .35s ease !important;
  }

  .sight-card:nth-child(1) { --card-index: 0; }
  .sight-card:nth-child(2) { --card-index: 1; }
  .sight-card:nth-child(3) { --card-index: 2; }
  .sight-card:nth-child(4) { --card-index: 3; }
  .sight-card:nth-child(5) { --card-index: 4; }
  .sight-card:nth-child(6) { --card-index: 5; }
  .sight-card:nth-child(7) { --card-index: 6; }
  .sight-card:nth-child(8) { --card-index: 7; }
  .sight-card:nth-child(9) { --card-index: 8; }
  .sight-card:nth-child(10) { --card-index: 9; }
  .sight-card:nth-child(11) { --card-index: 10; }
  .sight-card:nth-child(12) { --card-index: 11; }

  .sight-card.card-reveal.is-revealed:hover,
  .sight-card:hover {
    transform: translate3d(0, -10px, 0) scale(1.025) !important;
    box-shadow: 0 28px 54px rgba(2, 22, 45, .30), 0 0 0 1px rgba(255,255,255,.18) !important;
  }

  .sights-controls {
    display: none !important;
  }
}

@keyframes desktopCardFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}

/* Corrección móvil definitiva del botón para volver a la portada */
.footer-back-top{
  position:relative !important;
  z-index:10020 !important;
  pointer-events:auto !important;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation !important;
}
.footer-back-top::before,.footer-back-top::after{pointer-events:none !important;}
@media(max-width:900px){
  .site-footer,.zentra-footer{position:relative !important;z-index:100 !important;}
  .footer-back-top{display:flex !important;visibility:visible !important;opacity:1 !important;min-width:52px;min-height:52px;margin:10px auto 28px !important;}
}



/* === Menú móvil tipo panel, inspirado en la referencia proporcionada === */
.mobile-menu-toggle{display:none}
@media (max-width:900px){
  body.mobile-menu-open{overflow:hidden;touch-action:none}
  .mobile-menu-enabled{
    position:relative !important;
    z-index:10000 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:16px !important;
    min-height:92px !important;
    padding:18px 22px !important;
  }
  .mobile-menu-enabled > a:first-child{position:relative;z-index:10003;justify-self:start}
  .mobile-menu-enabled > a:first-child img{max-width:190px;height:auto;max-height:54px;object-fit:contain}
  .mobile-menu-toggle{
    display:inline-flex !important;
    position:relative;
    z-index:10004;
    width:48px;
    height:48px;
    padding:0;
    border:0;
    border-radius:12px;
    background:transparent;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .mobile-menu-toggle .line{
    display:block;
    width:30px;
    height:3px;
    border-radius:999px;
    background:#23a7dc;
    transition:transform .32s ease,opacity .22s ease,background-color .25s ease;
    transform-origin:center;
  }
  .mobile-menu-enabled.is-menu-open .mobile-menu-toggle .line{background:#0b2438}
  .mobile-menu-enabled.is-menu-open .mobile-menu-toggle .line-1{transform:translateY(9px) rotate(45deg)}
  .mobile-menu-enabled.is-menu-open .mobile-menu-toggle .line-2{opacity:0;transform:scaleX(.2)}
  .mobile-menu-enabled.is-menu-open .mobile-menu-toggle .line-3{transform:translateY(-9px) rotate(-45deg)}
  .mobile-menu-enabled::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:10000;
    background:#fff;
    opacity:0;
    visibility:hidden;
    transform:translateX(100%);
    transition:transform .38s cubic-bezier(.22,.8,.22,1),opacity .3s ease,visibility 0s linear .38s;
  }
  .mobile-menu-enabled.is-menu-open::before{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    transition-delay:0s;
  }
  .mobile-menu-enabled .mobile-menu-panel-nav{
    position:fixed !important;
    z-index:10002 !important;
    top:112px !important;
    left:0 !important;
    right:0 !important;
    bottom:135px !important;
    width:auto !important;
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    margin:0 !important;
    padding:28px 34px 24px !important;
    background:transparent !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(42px);
    transition:opacity .24s ease,transform .36s cubic-bezier(.22,.8,.22,1),visibility 0s linear .36s;
    scrollbar-width:none;
  }
  .mobile-menu-enabled .mobile-menu-panel-nav::-webkit-scrollbar{display:none}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
    transition-delay:.08s;
  }
  .mobile-menu-enabled .mobile-menu-panel-nav a{
    display:block !important;
    width:100% !important;
    padding:17px 0 !important;
    border-bottom:1px solid #e7ebee !important;
    color:#65707a !important;
    font-size:clamp(24px,7vw,34px) !important;
    font-weight:500 !important;
    line-height:1.15 !important;
    text-align:left !important;
    text-decoration:none !important;
    text-shadow:none !important;
    opacity:0;
    transform:translateY(16px);
    transition:color .2s ease,opacity .3s ease,transform .34s ease;
  }
  .mobile-menu-enabled .mobile-menu-panel-nav a:first-child,
  .mobile-menu-enabled .mobile-menu-panel-nav a[aria-current="page"]{color:#23a7dc !important}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a{opacity:1;transform:translateY(0)}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a:nth-child(1){transition-delay:.12s}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a:nth-child(2){transition-delay:.16s}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a:nth-child(3){transition-delay:.20s}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a:nth-child(4){transition-delay:.24s}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a:nth-child(5){transition-delay:.28s}
  .mobile-menu-enabled.is-menu-open .mobile-menu-panel-nav a:nth-child(6){transition-delay:.32s}
  .mobile-menu-enabled .mobile-menu-language{
    position:fixed !important;
    z-index:10002 !important;
    left:34px !important;
    right:34px !important;
    bottom:34px !important;
    width:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:20px 0 0 !important;
    border-top:1px solid #dfe4e8 !important;
    color:#344554 !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px);
    transition:opacity .25s ease,transform .32s ease,visibility 0s linear .32s;
  }
  .mobile-menu-enabled.is-menu-open .mobile-menu-language{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:.26s;
  }
  .mobile-menu-enabled .mobile-menu-language select{
    min-height:46px !important;
    padding:0 14px !important;
    border:1px solid #d8e1e7 !important;
    border-radius:10px !important;
    background:#f2f5f7 !important;
    color:#263746 !important;
    font-size:16px !important;
  }
  .mobile-menu-enabled.is-menu-open > a:first-child img{filter:none !important}
}
@media (prefers-reduced-motion:reduce){
  .mobile-menu-enabled::before,.mobile-menu-enabled .mobile-menu-panel-nav,
  .mobile-menu-enabled .mobile-menu-panel-nav a,.mobile-menu-enabled .mobile-menu-language,
  .mobile-menu-toggle .line{transition:none !important}
}


/* === Corrección definitiva: menú móvil en una capa independiente del encabezado === */
@media (max-width:900px){
  body.mobile-menu-open{overflow:hidden!important;touch-action:none!important}
  .mobile-menu-enabled .mobile-menu-panel-nav,
  .mobile-menu-enabled .mobile-menu-language{display:none!important}
  .mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
    color:#0b2438!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(100%);
    transition:transform .38s cubic-bezier(.22,.8,.22,1),opacity .26s ease,visibility 0s linear .38s;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
    transition-delay:0s;
  }
  .mobile-menu-overlay__top{
    position:sticky;
    top:0;
    z-index:3;
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 22px;
    background:#fff;
    border-bottom:1px solid #e7edf1;
  }
  .mobile-menu-overlay__logo{display:flex;align-items:center;text-decoration:none}
  .mobile-menu-overlay__logo img{width:min(190px,52vw)!important;max-height:54px!important;object-fit:contain!important;filter:none!important}
  .mobile-menu-overlay__close{
    width:48px;height:48px;display:grid;place-items:center;flex:none;
    border:0;border-radius:12px;background:transparent;color:#0b2438;
    font-size:44px;font-weight:300;line-height:1;cursor:pointer;touch-action:manipulation;
  }
  .mobile-menu-overlay__nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    padding:18px 34px 10px!important;
    margin:0!important;
    gap:0!important;
    overflow:visible!important;
  }
  .mobile-menu-overlay__nav a{
    display:block!important;
    width:100%!important;
    padding:17px 0!important;
    border-bottom:1px solid #e7ebee!important;
    color:#65707a!important;
    font-size:clamp(24px,7vw,34px)!important;
    font-weight:500!important;
    line-height:1.15!important;
    text-align:left!important;
    text-decoration:none!important;
    text-shadow:none!important;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .3s ease,transform .34s ease,color .2s ease;
  }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a{opacity:1;transform:none}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(1){transition-delay:.10s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(2){transition-delay:.14s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(3){transition-delay:.18s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(4){transition-delay:.22s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(5){transition-delay:.26s}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(6){transition-delay:.30s}
  .mobile-menu-overlay__nav a[aria-current="page"],
  .mobile-menu-overlay__nav a:first-child{color:#23a7dc!important}
  .mobile-menu-overlay__language{
    margin:auto 34px 28px!important;
    padding-top:20px!important;
    border-top:1px solid #dfe4e8!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    position:static!important;
    width:auto!important;
    color:#344554!important;
    background:transparent!important;
    backdrop-filter:none!important;
  }
  .mobile-menu-overlay__language select{
    min-height:46px!important;
    min-width:160px!important;
    padding:0 14px!important;
    border:1px solid #d8e1e7!important;
    border-radius:10px!important;
    background:#f2f5f7!important;
    color:#263746!important;
    font-size:16px!important;
    font-weight:700!important;
  }
  .mobile-menu-enabled.is-menu-open::before{display:none!important}
}
@media (min-width:901px){.mobile-menu-overlay{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .mobile-menu-overlay,.mobile-menu-overlay__nav a{transition:none!important}
}


/* === MENÚ MÓVIL FINAL — panel completo, visible y sin interferir con idioma === */
@media (max-width:900px){
  body.mobile-menu-open{overflow:hidden!important;position:fixed!important;width:100%!important;inset:0!important}
  .mobile-menu-enabled .mobile-menu-panel-nav,
  .mobile-menu-enabled .mobile-menu-language{display:none!important}
  .mobile-menu-overlay{
    position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;
    z-index:2147483646!important;background:#fff!important;color:#0b2438!important;
    display:flex!important;flex-direction:column!important;overflow-y:auto!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(100%)!important;
    transition:transform .38s cubic-bezier(.22,.8,.22,1),opacity .25s ease,visibility 0s linear .38s!important;
  }
  .mobile-menu-overlay.is-open{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;transition-delay:0s!important;
  }
  .mobile-menu-overlay__top{position:sticky!important;top:0!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:88px!important;padding:16px 20px!important;background:#fff!important;border-bottom:1px solid #e5ebef!important}
  .mobile-menu-overlay__logo{display:flex!important;align-items:center!important}
  .mobile-menu-overlay__logo img{display:block!important;width:min(190px,55vw)!important;max-height:54px!important;object-fit:contain!important;filter:none!important}
  .mobile-menu-overlay__close{display:grid!important;place-items:center!important;width:50px!important;height:50px!important;border:0!important;background:transparent!important;color:#0b2438!important;font-size:48px!important;line-height:1!important;cursor:pointer!important;touch-action:manipulation!important}
  .mobile-menu-overlay__nav{position:relative!important;display:flex!important;flex:1 0 auto!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;padding:18px 32px 10px!important;margin:0!important;gap:0!important;visibility:visible!important;opacity:1!important;transform:none!important;overflow:visible!important}
  .mobile-menu-overlay__nav a{display:block!important;position:relative!important;width:100%!important;min-height:58px!important;padding:16px 0!important;margin:0!important;border-bottom:1px solid #e7ebee!important;color:#5d6973!important;background:transparent!important;font-size:clamp(23px,7vw,33px)!important;font-weight:600!important;line-height:1.2!important;text-align:left!important;text-decoration:none!important;visibility:visible!important;text-shadow:none!important;opacity:0!important;transform:translateY(14px)!important;transition:opacity .3s ease,transform .34s ease,color .2s ease!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a{opacity:1!important;transform:translateY(0)!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(1){transition-delay:.08s!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(2){transition-delay:.12s!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(3){transition-delay:.16s!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(4){transition-delay:.20s!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(5){transition-delay:.24s!important}
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(6){transition-delay:.28s!important}
  .mobile-menu-overlay__nav a[aria-current="page"]{color:#1e9fd3!important}
  .mobile-menu-overlay__language{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;width:calc(100% - 64px)!important;margin:10px 32px 28px!important;padding:18px 0 0!important;border-top:1px solid #dfe5e9!important;background:#fff!important;color:#344554!important;visibility:visible!important;opacity:1!important}
  .mobile-menu-overlay__language select{display:block!important;min-width:175px!important;min-height:48px!important;padding:0 14px!important;border:1px solid #d8e1e7!important;border-radius:12px!important;background:#f2f5f7!important;color:#263746!important;font-size:16px!important;font-weight:700!important;appearance:auto!important}
}
@media (min-width:901px){.mobile-menu-overlay{display:none!important}}


/* === MENÚ MÓVIL ESTABLE — REGLAS AUTORITATIVAS === */
@media (max-width: 900px) {
  html.mobile-menu-open,
  body.mobile-menu-open {
    overflow: hidden !important;
  }

  .mobile-menu-enabled::before {
    display: none !important;
    content: none !important;
  }

  .mobile-menu-enabled .mobile-menu-panel-nav,
  .mobile-menu-enabled .mobile-menu-language {
    display: none !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    z-index: 10 !important;
  }

  .mobile-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 2147483647 !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #0b2438 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(100%, 0, 0) !important;
    transition: transform .36s cubic-bezier(.22,.8,.22,1), opacity .22s ease, visibility 0s linear .36s !important;
  }

  .mobile-menu-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 0s !important;
  }

  .mobile-menu-overlay__top {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 88px !important;
    padding: 16px 20px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e5ebef !important;
  }

  .mobile-menu-overlay__logo {
    display: flex !important;
    align-items: center !important;
    max-width: 68% !important;
  }

  .mobile-menu-overlay__logo img {
    display: block !important;
    width: min(190px, 55vw) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 54px !important;
    object-fit: contain !important;
    filter: none !important;
  }

  .mobile-menu-overlay__close {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #0b2438 !important;
    font: 300 48px/1 Arial, sans-serif !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }

  .mobile-menu-overlay__nav {
    position: static !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 18px 30px 8px !important;
    gap: 0 !important;
    background: #ffffff !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .mobile-menu-overlay__nav a {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e7ebee !important;
    background: transparent !important;
    color: #5d6973 !important;
    font: 600 clamp(23px, 7vw, 33px)/1.2 Arial, sans-serif !important;
    text-align: left !important;
    text-decoration: none !important;
    text-shadow: none !important;
    opacity: 0 !important;
    visibility: visible !important;
    transform: translateY(12px) !important;
    transition: opacity .28s ease, transform .32s ease, color .2s ease !important;
  }

  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(1) { transition-delay: .06s !important; }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(2) { transition-delay: .10s !important; }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(3) { transition-delay: .14s !important; }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(4) { transition-delay: .18s !important; }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(5) { transition-delay: .22s !important; }
  .mobile-menu-overlay.is-open .mobile-menu-overlay__nav a:nth-child(6) { transition-delay: .26s !important; }

  .mobile-menu-overlay__nav a[aria-current="page"],
  .mobile-menu-overlay__nav a:first-child {
    color: #1e9fd3 !important;
  }

  .mobile-menu-overlay__language {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: calc(100% - 60px) !important;
    margin: auto 30px 24px !important;
    padding: 18px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dfe5e9 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #344554 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mobile-menu-overlay__language select {
    display: block !important;
    min-width: 175px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d8e1e7 !important;
    border-radius: 12px !important;
    background: #f2f5f7 !important;
    color: #263746 !important;
    font: 700 16px/1 Arial, sans-serif !important;
    appearance: auto !important;
  }
}

@media (min-width: 901px) {
  .mobile-menu-overlay { display: none !important; }
}

/* === Corrección: eliminar franja blanca superior en móvil === */
@media (max-width: 900px) {
  .site-header.mobile-menu-enabled {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.services-section-active .site-header.mobile-menu-enabled {
    background: rgba(4, 44, 70, .96) !important;
  }

  .inner-header.mobile-menu-enabled {
    background: #071a34 !important;
  }
}

/* === AJUSTE FINAL MÓVIL: encabezado sin franja blanca + idioma dentro del menú === */
@media (max-width: 900px) {
  /* El encabezado móvil nunca usa fondo blanco. */
  .site-header.mobile-menu-enabled,
  .inner-header.mobile-menu-enabled,
  body.services-section-active .site-header.mobile-menu-enabled {
    background: rgba(7, 26, 52, .96) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.14) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  /* Mantiene el encabezado sobre el contenido y evita una banda vacía adicional. */
  .site-header.mobile-menu-enabled {
    min-height: 76px !important;
    padding: 11px 16px !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
  }
  .inner-header.mobile-menu-enabled {
    height: 76px !important;
  }

  .site-header.mobile-menu-enabled .site-logo,
  .inner-header.mobile-menu-enabled .site-logo {
    max-width: calc(100vw - 86px) !important;
  }
  .site-header.mobile-menu-enabled .site-logo img,
  .inner-header.mobile-menu-enabled .site-logo img {
    max-height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 1px 1px rgba(255,255,255,.25)) !important;
  }

  /* El selector original nunca queda flotando fuera del panel. */
  .site-header.mobile-menu-enabled > .mobile-menu-language,
  .inner-header.mobile-menu-enabled > .mobile-menu-language,
  .site-header.mobile-menu-enabled > .language-control,
  .inner-header.mobile-menu-enabled > .language-control {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Botón del menú visible sobre el encabezado oscuro. */
  .mobile-menu-toggle {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 12px !important;
  }
  .mobile-menu-toggle .line {
    background: #fff !important;
  }

  /* Panel móvil: el idioma queda como una opción real dentro del menú. */
  .mobile-menu-overlay__language {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 8px !important;
    width: calc(100% - 60px) !important;
    margin: 14px 30px 28px !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid #dfe5e9 !important;
    background: #fff !important;
  }
  .mobile-menu-overlay__language-title {
    grid-column: 1 / -1 !important;
    display: block !important;
    color: #6a7883 !important;
    font: 800 12px/1.2 Arial, sans-serif !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
  }
  .mobile-menu-overlay__language .language-icon {
    font-size: 20px !important;
  }
  .mobile-menu-overlay__language select {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* === CORRECCIÓN DEFINITIVA MÓVIL: eliminar espacio superior en páginas internas === */
@media (max-width: 900px) {
  html, body {
    margin: 0 !important;
  }

  body.inner-page {
    padding-top: 0 !important;
  }

  body.inner-page > .inner-header.mobile-menu-enabled,
  body.inner-page > header.inner-header.mobile-menu-enabled {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    margin: 0 !important;
    transform: none !important;
    background: #071a34 !important;
    z-index: 10000 !important;
  }

  body.inner-page > main.inner-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.inner-page .page-hero {
    margin-top: 0 !important;
  }

  /* El selector de idioma solo existe dentro del panel móvil. */
  body.inner-page > .inner-header .mobile-menu-language,
  body.inner-page > .inner-header .language-control,
  .site-header.mobile-menu-enabled > .mobile-menu-language,
  .site-header.mobile-menu-enabled > .language-control {
    display: none !important;
  }
}


/* === BOTÓN MÓVIL FINAL: ir a la portada === */
.footer-back-top{
  text-decoration:none !important;
}
@media (max-width:900px){
  .site-footer .footer-back-top,
  .zentra-footer .footer-back-top{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:2147483000 !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:rgba(124,201,239,.22) !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    margin:8px auto 28px !important;
    padding:0 !important;
    border:1px solid rgba(124,201,239,.58) !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.09) !important;
    color:#7cc9ef !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
  }
  .site-footer .footer-back-top span[aria-hidden="true"],
  .zentra-footer .footer-back-top span[aria-hidden="true"]{
    display:block !important;
    font-size:28px !important;
    line-height:1 !important;
    color:#7cc9ef !important;
    transform:translateY(-1px) !important;
    pointer-events:none !important;
  }
  .site-footer .footer-back-top-label,
  .zentra-footer .footer-back-top-label{
    display:none !important;
  }
}


/* === RETORNO A PORTADA MÓVIL: enlace fuera del footer para evitar capas que bloqueen el toque === */
.mobile-home-return{display:none;}
@media (max-width:900px){
  .desktop-home-return{display:none !important;}
  .mobile-home-return{
    display:flex !important;
    position:relative !important;
    z-index:2147483647 !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:rgba(124,201,239,.24) !important;
    width:58px !important;
    height:58px !important;
    margin:-86px auto 28px !important;
    padding:0 !important;
    border:1px solid rgba(124,201,239,.65) !important;
    border-radius:50% !important;
    background:#0b2342 !important;
    color:#7cc9ef !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
  }
  .mobile-home-return span{
    display:block !important;
    pointer-events:none !important;
    font-size:30px !important;
    line-height:1 !important;
    transform:translateY(-2px) !important;
  }
}
@media (min-width:901px){.mobile-home-return{display:none !important;}}
