/* Portada México: MK Stencil, tubo dorado y sombra de separación. */
.mexico-landing .hero-identity {
  position: relative;
  isolation: isolate;
  padding-bottom: 42px;
}
.mexico-landing .hero-identity::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -12px -48px -20px;
  pointer-events: none;
  background: radial-gradient(ellipse at center, #080916d9 10%, #090c226e 58%, transparent 75%);
}
.mexico-landing .hero-title {
  color: #ffeca0;
  text-shadow: none;
}
.mx-neon-title {
  position: relative;
  display: inline-block;
  color: transparent;
  -webkit-text-stroke: 2.6px #b98416;
  text-shadow: 3px 5px 1px #050712;
}
.mx-neon-title::before,
.mx-neon-title::after {
  content: attr(data-text) / '';
  position: absolute;
  inset: 0;
  color: transparent;
  text-shadow: none;
  pointer-events: none;
}
.mx-neon-title::before {
  -webkit-text-stroke: 2.5px #ffbf19;
  filter: drop-shadow(0 0 3px #ffba0070);
  animation: mx-neon-start 3.8s linear both;
}
.mx-neon-title::after {
  -webkit-text-stroke: 1.8px #fff2b2;
  animation: mx-neon-start 3.8s linear both;
}
.mexico-landing .hero-legacy {
  width: 94%;
  max-width: 1320px;
  margin-top: 28px;
  gap: 12px;
  font-size: clamp(21px, 3.05vw, 43px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .035em;
  color: #fff1ac;
  text-shadow: 0 2px 1px #734c0f, 0 5px 5px #000e, 0 0 3px #ffe579, 0 0 13px #ffbd32a6, 0 0 28px #ffaf004d;
}
.mexico-landing .hero-legacy span:nth-child(2) {
  color: #fff9e8;
  text-shadow: 0 2px 5px #000, 0 0 8px #fff6bb80;
}
/* Encendido breve: después permanece encendido, sin parpadeo continuo. */
@keyframes mx-neon-start {
  0%, 7%, 10%, 14% { opacity: .58; }
  4%, 9%, 12%, 18%, 42%, 48%, 100% { opacity: 1; }
  45% { opacity: .78; }
}
@media (max-width: 760px) {
  .mexico-landing .hero-identity { padding-bottom: 32px; }
  .mexico-landing .hero-legacy {
    width: 100%;
    margin-top: 21px;
    gap: 7px;
    font-size: clamp(13px, 3.6vw, 27px);
    letter-spacing: .015em;
  }
  .mx-neon-title { -webkit-text-stroke-width: 1.5px; }
  .mx-neon-title::before { -webkit-text-stroke-width: 2px; filter: drop-shadow(0 0 2px #ffb90060); }
  .mx-neon-title::after { -webkit-text-stroke-width: 1.15px; }
}
@media (prefers-reduced-motion: reduce) {
  .mx-neon-title::before, .mx-neon-title::after { animation: none; }
}
@supports not (-webkit-text-stroke: 1px gold) {
  .mx-neon-title { color: #fff0a0; text-shadow: 0 3px 0 #8a6319, 0 0 16px #ffc337; }
}

/* Colaborador: logo oficial de Passline, sin alterar sus colores. */
.mx-partners { padding: 42px 0 48px; border-top: 1px solid #ffffff22; background: #080b24b3; text-align: center; }
.mx-partners h2 { margin: 0 0 24px; color: #d9c48e; font-size: 11px; line-height: 1.5; letter-spacing: 2.4px; font-weight: 700; }
.mx-partner-link { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px 30px; width: min(100%, 560px); margin: 0 auto; padding: 28px 32px; border: 1px solid #f6cc6055; background: #0b0e20; text-align: left; transition: border-color .2s, background .2s; }
.mx-partner-link:hover { border-color: #f6cc60; background: #12162d; }
.mx-partner-link img { grid-row: 1 / 3; display: block; width: 245px; height: auto; max-width: 100%; }
.mx-partner-country { align-self: end; color: #f6cc60; font-size: 13px; letter-spacing: 2px; font-weight: 700; }
.mx-partner-visit { align-self: start; color: #e4e1d9; font-size: 12px; line-height: 1.5; }
.mx-partner-visit span { margin-left: 8px; color: #f6cc60; }
@media (max-width: 600px) {
 .mx-partners { padding: 32px 0 36px; }
 .mx-partner-link { grid-template-columns: 1fr; justify-items: center; gap: 13px; padding: 25px 20px; text-align: center; }
 .mx-partner-link img { grid-row: auto; width: 220px; }
 .mx-partner-country { margin-top: 5px; }
}
