/* ═══════════════════════════════════════════════════════════
   MOTORTRUST — STYLE SHEET
   Sistema Corporativo | Public Sans
   ═══════════════════════════════════════════════════════════ */

/* ═══════════ TYPOGRAPHY SYSTEM ═══════════
   Base:    Public Sans             — institucional, sobria, confiable
   Compare: IBM Plex / Poppins+Inter por parámetro de URL
   ═══════════════════════════════════════════════════════════ */

:root {
  /* ═══ Color System ═══ */
  --bg:             #ffffff;
  --bg-alt:         #f7f8fa;
  --bg-card:        #ffffff;
  --bg-card-hover:  #f7f8fa;
  --text:           #1a1a1a;
  --text-dim:       #6b7280;
  --text-light:     #9ca3af;
  --accent:         #0d2f6f;
  --accent-light:   #1a4a9e;
  --accent-subtle:  rgba(13,47,111,0.06);
  --accent-border:  rgba(13,47,111,0.12);
  --border:         #e5e7eb;
  --border-light:   #f0f1f3;
  --red:            #dc2626;
  --silver:         #9ca3af;
  --silver-dim:     #6b7280;
  --white:          #ffffff;

  /* ═══ Typography — Families ═══ */
  --font-display:   'Public Sans', system-ui, sans-serif;
  --font-body:      'Public Sans', system-ui, sans-serif;

  /* ═══ Typography — Scale Responsiva (clamp) ═══
     Modular scale 1.200 (Major Third) + hero custom */
  --text-xs:    clamp(0.69rem, 0.67rem + 0.08vw, 0.75rem);
  --text-sm:    clamp(0.80rem, 0.77rem + 0.12vw, 0.88rem);
  --text-base:  clamp(0.94rem, 0.90rem + 0.16vw, 1.00rem);
  --text-md:    clamp(1.13rem, 1.07rem + 0.24vw, 1.25rem);
  --text-lg:    clamp(1.35rem, 1.26rem + 0.38vw, 1.56rem);
  --text-xl:    clamp(1.62rem, 1.49rem + 0.56vw, 1.95rem);
  --text-2xl:   clamp(1.94rem, 1.76rem + 0.80vw, 2.44rem);
  --text-3xl:   clamp(2.33rem, 2.07rem + 1.12vw, 3.05rem);

  /* ═══ Typography — Letter Spacing ═══ */
  --tracking-tighter:  -0.04em;
  --tracking-tight:    -0.02em;
  --tracking-normal:    0em;
  --tracking-wide:      0.03em;
  --tracking-wider:     0.05em;
  --tracking-widest:    0.10em;

  /* ═══ Typography — Line Height ═══ */
  --leading-none:      1;
  --leading-tight:     1.05;
  --leading-display:   1.10;
  --leading-snug:      1.35;
  --leading-body:      1.65;
  --leading-relaxed:   1.75;

  /* ═══ Typography — Weights ═══ */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-extrabold:800;

  /* ═══ Vertical Rhythm / Spacing System ═══ */
  --space-xs:   8px;
  --space-sm:   16px;
  --space-md:   24px;
  --space-lg:   40px;
  --space-xl:   64px;
  --space-2xl:  96px;

  /* ═══ UI Tokens ═══ */
  --radius:       12px;
  --radius-sm:    8px;
  --radius-pill:  100px;
  --shadow-sm:    0 1px 3px rgba(0,0,0,0.04);
  --shadow-md:    0 4px 16px rgba(0,0,0,0.06);
  --shadow-lg:    0 8px 30px rgba(0,0,0,0.08);

  /* ═══ Navbar ═══ */
  --nav-bg:       rgba(255,255,255,0.95);
  --nav-bg-solid: #ffffff;
  --nav-text:     #1a1a1a;
  --nav-text-dim: #6b7280;
  --nav-border:   rgba(13,47,111,0.08);
  --nav-shadow:   0 1px 3px rgba(0,0,0,0.05), 0 1px 0 var(--border-light);
  --nav-height:   152px;
  --viewport-height: 100svh;
}

/* ═══════════ MOTORTRUST PREMIUM NAV + HERO REMASTER ═══════════ */
:root {
  --mt-black: #02050b;
  --mt-black-soft: #07101d;
  --mt-blue: #0d2f6f;
  --mt-blue-bright: #4d8dff;
  --mt-blue-metal: #8fb9ff;
  --mt-white: #ffffff;
  --mt-glass: rgba(2, 8, 18, 0.72);
  --nav-height: 104px;
}

.scroll-engine-line {
  position: fixed;
  left: clamp(18px, 2.6vw, 42px);
  top: 128px;
  width: 2px;
  height: calc(100svh - 168px);
  z-index: 1001;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(77,141,255,0.16), rgba(255,255,255,0.02));
  border-radius: 20px;
  overflow: hidden;
  opacity: 0.72;
}

.scroll-engine-line::before {
  content: '';
  position: absolute;
  inset: 0;
  transform: scaleY(var(--scroll-progress, 0));
  transform-origin: top;
  background: linear-gradient(180deg, #ffffff 0%, var(--mt-blue-metal) 18%, var(--mt-blue-bright) 62%, rgba(77,141,255,0) 100%);
  box-shadow: 0 0 18px rgba(77,141,255,0.58);
}

#navbar {
  top: clamp(14px, 2vw, 24px);
  left: 50%;
  width: min(1160px, calc(100% - clamp(28px, 5vw, 72px)));
  transform: translateX(-50%);
  padding: 0;
  background: transparent;
  border-radius: 26px;
  isolation: isolate;
  --nav-line-opacity: 0;
  --nav-reflect-x: 50%;
}

#navbar::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(circle at var(--nav-reflect-x) 0%, rgba(143,185,255,0.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.11), rgba(255,255,255,0.025) 36%, rgba(77,141,255,0.08) 100%),
    rgba(3, 8, 17, 0.74);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow:
    0 28px 80px rgba(0,0,0,0.42),
    0 0 0 1px rgba(77,141,255,0.06),
    inset 0 1px 0 rgba(255,255,255,0.14),
    inset 0 -18px 40px rgba(0,0,0,0.28);
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
}

#navbar::after {
  bottom: auto;
  top: 1px;
  left: 26px;
  right: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.42), rgba(77,141,255,0.36), transparent);
  opacity: 0.78;
  transform: none;
  box-shadow: 0 0 18px rgba(77,141,255,0.2);
}

#navbar.is-scrolled {
  box-shadow: none;
}

/* ═══════════ SECTIONS ═══════════ */
section { position:relative; z-index:1; padding:6rem 2rem; max-width:1200px; margin:0 auto; background:var(--bg); scroll-margin-top: 80px; }
section:nth-child(even) { background: var(--bg-alt); }
.section-title { text-align:center; margin-bottom:3.5rem; }
.section-title h2 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  font-weight: var(--weight-bold);
  color:var(--text);
  letter-spacing: var(--tracking-tight);
}
.section-title h2 span { color:var(--accent); }
.section-title .line {
  width:48px; height:3px; background:var(--accent);
  margin:1rem auto 0; border-radius:2px;
}
.section-title p { color:var(--text-dim); margin-top:0.8rem; max-width:500px; margin-left:auto; margin-right:auto; font-size:0.95rem; }

/* ═══════════ SHOWROOM DE MARCAS ═══════════ */
#marcas-importadas-autopartes.brands-showroom {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(1.2rem, 2.6vw, 2rem) clamp(0.9rem, 2.4vw, 1.8rem);
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(920px 240px at 14% 20%, rgba(26, 32, 44, 0.05), transparent 56%),
    radial-gradient(760px 220px at 84% 24%, rgba(180, 138, 96, 0.08), transparent 54%),
    linear-gradient(180deg, #ffffff 0%, #fbfbfa 54%, #f5f5f3 100%);
}

#marcas-importadas-autopartes.brands-showroom::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(21, 27, 38, 0.028) 1px, transparent 1px),
    linear-gradient(180deg, rgba(21, 27, 38, 0.02) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.34;
  pointer-events: none;
}

.brands-showroom__shell {
  width: min(1360px, 96vw);
  margin: 0 auto;
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 1rem);
}

.brands-showroom__header {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 0.38rem;
  text-align: center;
}

.brands-showroom__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(62, 72, 87, 0.14);
  background: linear-gradient(180deg, rgba(188, 146, 100, 0.1), rgba(255, 255, 255, 0.92));
  color: #5d4833;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.brands-showroom__title {
  margin: 0;
  color: #161c27;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1.8vw, 1.72rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  line-height: 1;
}

.brands-showroom__subtitle {
  margin: 0;
  max-width: 58ch;
  color: rgba(62, 72, 87, 0.8);
  font-size: clamp(0.78rem, 0.9vw, 0.92rem);
  line-height: 1.35;
}

.brands-showroom__viewport {
  position: relative;
  min-height: clamp(190px, 32vh, 290px);
  padding: clamp(1rem, 2.2vw, 1.6rem) 0;
  border-radius: 30px;
  border: 1px solid rgba(56, 64, 76, 0.1);
  background:
    radial-gradient(circle at 50% 28%, rgba(186, 150, 112, 0.08), transparent 28%),
    radial-gradient(120% 160% at 50% 100%, rgba(31, 41, 55, 0.06), transparent 56%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 248, 246, 0.97) 52%, rgba(244, 242, 239, 0.96) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 18px 36px rgba(17, 24, 39, 0.08);
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  align-items: center;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  cursor: grab;
}

.brands-showroom__viewport::-webkit-scrollbar {
  display: none;
}

.brands-showroom__viewport.is-dragging {
  cursor: grabbing;
}

.brands-showroom__viewport::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 16%;
  width: min(520px, 56vw);
  height: 68%;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 1px solid rgba(82, 91, 104, 0.08);
  box-shadow:
    0 0 0 34px rgba(90, 101, 118, 0.03),
    0 0 80px rgba(176, 137, 92, 0.08);
  pointer-events: none;
}

.brands-showroom__viewport::after {
  content: '';
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 14%;
  height: 26px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(123, 99, 73, 0.14), rgba(123, 99, 73, 0));
  filter: blur(10px);
  pointer-events: none;
}

.brands-showroom__beam {
  position: absolute;
  top: -18%;
  width: 24%;
  height: 140%;
  background: linear-gradient(180deg, rgba(210, 196, 178, 0.24), rgba(255, 255, 255, 0));
  filter: blur(18px);
  opacity: 0.36;
  pointer-events: none;
}

.brands-showroom__beam--left {
  left: 12%;
  transform: rotate(8deg);
}

.brands-showroom__beam--right {
  right: 12%;
  transform: rotate(-8deg);
}

.brands-showroom__track {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: clamp(0.72rem, 1.15vw, 0.95rem);
  padding-inline: clamp(0.9rem, 1.8vw, 1.4rem);
  width: max-content;
  min-width: max-content;
  user-select: none;
}

.brands-showroom__item {
  flex: 0 0 auto;
  width: clamp(214px, 16.4vw, 270px);
  min-height: clamp(132px, 12.4vw, 162px);
  padding: clamp(0.4rem, 0.72vw, 0.62rem);
  border-radius: 22px;
  border: 1px solid rgba(68, 77, 91, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 244, 241, 0.94));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 14px 24px rgba(17, 24, 39, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transform: translateY(0);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.brands-showroom__item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 22%, rgba(255, 255, 255, 0.48) 48%, transparent 70%);
  transform: translateX(-58%);
  animation: brandsRibbonSweep 6.4s ease-in-out infinite;
  pointer-events: none;
}

.brands-showroom__item:hover {
  transform: translateY(-3px);
  border-color: rgba(92, 79, 64, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 18px 32px rgba(46, 38, 28, 0.12);
}

.brands-showroom__item img {
  display: block;
  width: auto;
  height: clamp(86px, 7.5vw, 114px);
  max-width: calc(100% - 0.08rem);
  object-fit: contain;
  object-position: center;
  filter: saturate(1.02) contrast(1.02);
}

.brands-showroom__item[data-brand="ark"] img,
.brands-showroom__item[data-brand="shin-han"] img {
  transform: scale(1.41);
  transform-origin: center;
}

@keyframes brandsRibbonSweep {
  0% { transform: translateX(-58%); opacity: 0.16; }
  50% { transform: translateX(12%); opacity: 0.42; }
  100% { transform: translateX(58%); opacity: 0.14; }
}

@media (max-width: 860px) {
  #marcas-importadas-autopartes.brands-showroom {
    padding: 1rem 0.72rem 1.2rem;
  }

  .brands-showroom__title {
    font-size: clamp(1rem, 4.2vw, 1.3rem);
  }

  .brands-showroom__subtitle {
    max-width: 46ch;
    font-size: 0.78rem;
  }

  .brands-showroom__viewport {
    min-height: clamp(170px, 26vh, 240px);
    border-radius: 24px;
  }

  .brands-showroom__item {
    width: clamp(182px, 39vw, 222px);
    min-height: clamp(112px, 23vw, 136px);
    border-radius: 18px;
  }

  .brands-showroom__item img {
    width: auto;
    height: clamp(66px, 11.4vw, 82px);
    max-width: calc(100% - 0.16rem);
  }
}

@media (max-width: 560px) {
  #marcas-importadas-autopartes.brands-showroom {
    padding: 0.88rem 0.42rem 1rem;
  }

  .brands-showroom__shell {
    gap: 0.56rem;
  }

  .brands-showroom__eyebrow {
    font-size: 0.54rem;
    padding: 0.28rem 0.58rem;
  }

  .brands-showroom__title {
    font-size: 0.96rem;
  }

  .brands-showroom__subtitle {
    max-width: 34ch;
    font-size: 0.7rem;
    line-height: 1.3;
  }

  .brands-showroom__viewport {
    min-height: 154px;
    padding: 0.86rem 0;
    border-radius: 20px;
  }

  .brands-showroom__viewport::before {
    width: 84%;
    height: 58%;
    top: 20%;
  }

  .brands-showroom__track {
    gap: 0.56rem;
  }

  .brands-showroom__item {
    width: 168px;
    min-height: 106px;
    padding: 0.48rem;
    border-radius: 16px;
  }

  .brands-showroom__item img {
    width: auto;
    height: 64px;
    max-width: calc(100% - 0.1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brands-showroom__item::before {
    animation: none !important;
  }

  .brands-showroom__item {
    transition: none !important;
  }
}

/* ═══════════ COBERTURA NACIONAL — CENTRO DE OPERACIONES ═══════════ */

#despachos-nacionales-colombia.dispatch-colombia {
  --dc-ink: #ffffff;
  --dc-soft: rgba(226, 239, 255, 0.72);
  --dc-muted: rgba(179, 207, 255, 0.48);
  --dc-line: rgba(143, 185, 255, 0.16);
  --dc-panel: rgba(4, 10, 22, 0.92);
  --dc-blue: #4d8dff;
  --dc-blue-deep: #0d2f6f;
  --dc-glow: rgba(77, 141, 255, 0.22);
  --dc-nav-offset: 152px;
  --dc-pad: clamp(2.8rem, 5.5vw, 5.2rem) clamp(1rem, 3.5vw, 3.2rem);
  width: 100%;
  max-width: none;
  min-height: min(100svh, 820px);
  height: auto;
  margin: 0;
  padding: clamp(2.8rem, 5.5vw, 5.2rem) 0;
  border-block: 1px solid rgba(143, 185, 255, 0.12);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  place-items: center;
  scroll-margin-top: var(--dc-nav-offset);
  background:
    radial-gradient(620px 380px at 42% 46%, rgba(77, 141, 255, 0.16), transparent 62%),
    radial-gradient(840px 340px at 18% 12%, rgba(13, 47, 111, 0.22), transparent 58%),
    radial-gradient(580px 240px at 78% 82%, rgba(77, 141, 255, 0.08), transparent 55%),
    linear-gradient(175deg, #030810 0%, #02050c 48%, #040a14 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -1px 0 rgba(77, 141, 255, 0.1),
    0 -18px 60px rgba(0, 0, 0, 0.32);
}

#despachos-nacionales-colombia.dispatch-colombia::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(143, 185, 255, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(143, 185, 255, 0.028) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, transparent, #000 10%, #000 90%, transparent);
  pointer-events: none;
  z-index: 0;
}

#despachos-nacionales-colombia.dispatch-colombia::after {
  content: '';
  position: absolute;
  inset: auto 8% 3% 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(77, 141, 255, 0.32), transparent);
  pointer-events: none;
  z-index: 0;
}

/* ─── Shell (grid 2-col) ─── */
.dispatch-colombia__shell {
  width: 79%;
  max-width: none;
  height: auto;
  margin: 0 auto;
  justify-self: center;
  display: grid;
  grid-template-columns: minmax(340px, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(1.2rem, 2.5vw, 2.2rem);
  align-items: stretch;
  position: relative;
  z-index: 1;
}

.dispatch-colombia__copy,
.dispatch-colombia__stage,
.dispatch-colombia__map-panel {
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

/* ─── Columna izquierda: Copy ─── */
.dispatch-colombia__copy {
  position: relative;
  overflow: hidden;
  padding: clamp(1rem, 1.6vw, 1.4rem);
  border-radius: 12px;
  border: 1px solid rgba(143, 185, 255, 0.12);
  background:
    radial-gradient(circle at 8% 6%, rgba(77, 141, 255, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(8, 20, 40, 0.92), rgba(2, 7, 16, 0.97));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 24px 60px rgba(0, 0, 0, 0.28);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(0.65rem, 1.2vh, 0.9rem);
}

.dispatch-colombia__copy::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #4d8dff, rgba(13, 47, 111, 0.7), rgba(77, 141, 255, 0.3));
  opacity: 0.88;
  border-radius: 0 1px 1px 0;
}

.dispatch-colombia__eyebrow {
  width: fit-content;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(77, 141, 255, 0.2);
  background: rgba(77, 141, 255, 0.1);
  color: rgba(179, 207, 255, 0.86);
  font-size: clamp(0.64rem, 0.74vw, 0.7rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.dispatch-colombia__copy h2 {
  margin: 0;
  max-width: 18ch;
  color: var(--dc-ink);
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.8vw, 2.5rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

.dispatch-colombia__copy h2 em {
  font-style: normal;
  font-weight: 300;
  text-transform: none;
  letter-spacing: -0.01em;
  color: rgba(179, 207, 255, 0.82);
}

.dispatch-colombia__copy > p {
  margin: 0;
  max-width: 34ch;
  color: var(--dc-soft);
  font-size: clamp(0.8rem, 0.88vw, 0.9rem);
  line-height: 1.45;
}

/* ─── Trust badges ─── */
.dispatch-colombia__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
}

.dispatch-colombia__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 0.28rem 0.58rem;
  border-radius: 999px;
  border: 1px solid rgba(77, 141, 255, 0.14);
  background: rgba(77, 141, 255, 0.06);
  color: rgba(179, 207, 255, 0.78);
  font-size: clamp(0.62rem, 0.7vw, 0.68rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* ─── 3-step process ─── */
.dispatch-colombia__steps {
  list-style: none;
  display: grid;
  gap: 0.44rem;
  margin: 0;
  padding: 0;
}

.dispatch-colombia__step {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 0.6rem;
  align-items: start;
  padding: 0.56rem 0.64rem;
  border: 1px solid rgba(143, 185, 255, 0.1);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)),
    rgba(2, 6, 14, 0.5);
  transition: border-color 0.25s ease, background 0.25s ease;
}

.dispatch-colombia__step:hover {
  border-color: rgba(77, 141, 255, 0.28);
  background:
    linear-gradient(135deg, rgba(77, 141, 255, 0.08), rgba(13, 47, 111, 0.04)),
    rgba(4, 10, 22, 0.65);
}

.dispatch-colombia__step > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(77, 141, 255, 0.24);
  border-radius: 999px;
  background: rgba(13, 47, 111, 0.45);
  color: rgba(143, 185, 255, 0.95);
  font-family: var(--font-display);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}

.dispatch-colombia__step strong {
  display: block;
  margin: 0 0 0.12rem;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--font-display);
  font-size: 0.84rem;
  line-height: 1.15;
}

.dispatch-colombia__step p {
  max-width: none;
  margin: 0;
  font-size: 0.73rem;
  line-height: 1.32;
  color: rgba(179, 207, 255, 0.5);
}

/* ─── Columna derecha: Stage (mapa) ─── */
.dispatch-colombia__stage {
  position: relative;
  overflow: hidden;
  padding: clamp(0.5rem, 0.9vw, 0.7rem);
  border-radius: 12px;
  border: 1px solid rgba(143, 185, 255, 0.12);
  background:
    radial-gradient(circle at 42% 46%, rgba(77, 141, 255, 0.12), transparent 30%),
    radial-gradient(circle at 68% 18%, rgba(13, 47, 111, 0.14), transparent 34%),
    linear-gradient(140deg, rgba(6, 18, 36, 0.92), rgba(2, 7, 15, 0.96));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 24px 56px rgba(0, 0, 0, 0.26);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.dispatch-colombia__stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(143, 185, 255, 0.03) 1px, transparent 1px),
    linear-gradient(180deg, rgba(143, 185, 255, 0.025) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: 0.6;
  pointer-events: none;
}

/* ─── Map panel ─── */
.dispatch-colombia__map-panel {
  position: relative;
  z-index: 1;
  border-radius: 8px;
  border: 1px solid rgba(143, 185, 255, 0.1);
  background:
    radial-gradient(circle at 50% 52%, rgba(77, 141, 255, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
  overflow: hidden;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 0 0 1px rgba(143, 185, 255, 0.03);
}

.dispatch-colombia__map-panel::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 42% 46%, rgba(77, 141, 255, 0.14), transparent 50%),
    radial-gradient(circle at 42.19% 46.72%, rgba(77, 141, 255, 0.18) 0%, transparent 28%);
  pointer-events: none;
}

/* ─── Geo (container del mapa) ─── */
.dispatch-colombia__geo {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dispatch-colombia__coordinate-layer {
  position: absolute;
  top: 50%;
  left: 50%;
  height: min(94%, 620px);
  width: auto;
  max-width: 92%;
  aspect-ratio: 4 / 5;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.dispatch-colombia__map-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.48;
  filter: saturate(1.1) brightness(1.08) drop-shadow(0 18px 28px rgba(0, 0, 0, 0.38));
  pointer-events: none;
  z-index: 0;
}

/* ─── Partículas ambientales ─── */
.dispatch-colombia__particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.dispatch-colombia__particle {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: var(--dc-blue);
  opacity: 0;
  animation: dc-particle-drift 4s ease-in-out infinite;
}

@keyframes dc-particle-drift {
  0%   { opacity: 0; transform: translate(0, 0) scale(0); }
  20%  { opacity: 0.7; }
  50%  { opacity: 0.35; transform: translate(var(--px), var(--py)) scale(1.4); }
  100% { opacity: 0; transform: translate(calc(var(--px) * 1.8), calc(var(--py) * 1.8)) scale(0.2); }
}

/* ─── SVG connection lines ─── */
.dispatch-colombia__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.dispatch-colombia__routes {
  fill: none;
}

.dispatch-colombia__route {
  fill: none;
  stroke: rgba(77, 141, 255, 0.18);
  stroke-width: 0.55;
  stroke-linecap: round;
  transition: stroke 0.45s ease, stroke-width 0.35s ease;
}

.dispatch-colombia__route.is-active {
  stroke: rgba(77, 141, 255, 0.6);
  stroke-width: 0.9;
  filter: drop-shadow(0 0 6px rgba(77, 141, 255, 0.5));
}

/* ─── Hub central Bogotá ─── */
.dispatch-colombia__hub {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 3;
}

.dispatch-colombia__hub-core {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 0 14px rgba(77, 141, 255, 0.9),
    0 0 32px rgba(77, 141, 255, 0.5),
    0 0 58px rgba(13, 47, 111, 0.4);
  z-index: 2;
}

.dispatch-colombia__hub-ring {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid rgba(77, 141, 255, 0.5);
  opacity: 0.8;
  z-index: 1;
}

.dispatch-colombia__hub-pulse {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(77, 141, 255, 0.35);
  animation: dc-hub-pulse 2.6s ease-out infinite;
  z-index: 0;
}

@keyframes dc-hub-pulse {
  0%   { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(5.5); opacity: 0; }
}

/* ─── City nodes ─── */
.dispatch-colombia__node {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border: 2px solid rgba(143, 185, 255, 0.38);
  border-radius: 50%;
  background: rgba(13, 47, 111, 0.55);
  cursor: pointer;
  transition:
    width 0.3s ease,
    height 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
  z-index: 3;
  padding: 0;
}

.dispatch-colombia__node:hover,
.dispatch-colombia__node:focus-visible,
.dispatch-colombia__node.is-active {
  width: 12px;
  height: 12px;
  border-color: rgba(77, 141, 255, 0.8);
  background: rgba(77, 141, 255, 0.35);
  box-shadow:
    0 0 16px rgba(77, 141, 255, 0.5),
    0 0 32px rgba(13, 47, 111, 0.3);
}

.dispatch-colombia__node.is-active {
  width: 13px;
  height: 13px;
  border-color: #ffffff;
  background: rgba(77, 141, 255, 0.5);
  box-shadow:
    0 0 18px rgba(77, 141, 255, 0.6),
    0 0 40px rgba(13, 47, 111, 0.4);
}

.dispatch-colombia__node span {
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  background: rgba(4, 10, 22, 0.88);
  border: 1px solid rgba(143, 185, 255, 0.15);
  color: rgba(226, 239, 255, 0.82);
  font-size: 0.58rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.dispatch-colombia__node:hover span,
.dispatch-colombia__node.is-active span {
  opacity: 1;
}

/* ─── Responsive: ≤ 860px ─── */
@media (max-width: 860px) {
  .dispatch-colombia__shell {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 0 clamp(24px, 5vw, 120px);
  }

  .dispatch-colombia__trust {
    gap: 0.3rem;
  }

  .dispatch-colombia__trust-badge {
    font-size: 0.6rem;
    padding: 0.22rem 0.48rem;
  }

  .dispatch-colombia__stage {
    grid-template-columns: minmax(0, 1fr);
  }

  .dispatch-colombia__geo {
    min-height: 320px;
    height: min(80%, 360px);
  }

  .dispatch-colombia__hub-core {
    width: 8px;
    height: 8px;
  }

  .dispatch-colombia__hub-ring {
    width: 20px;
    height: 20px;
  }
}

/* ─── Responsive: ≤ 720px ─── */
@media (max-width: 720px) {
  #despachos-nacionales-colombia.dispatch-colombia {
    --dc-nav-offset: 82px;
    --dc-pad: 2rem 0;
    min-height: 0;
    height: auto;
    padding: 2rem 0;
  }

  .dispatch-colombia__shell {
    width: auto;
    margin: 0 16px;
    gap: 0.7rem;
  }

  .dispatch-colombia__copy {
    padding: 0.8rem;
    gap: 0.5rem;
    border-radius: 14px;
  }

  .dispatch-colombia__eyebrow {
    padding: 0.18rem 0.36rem;
    font-size: 0.56rem;
    letter-spacing: 0.07em;
  }

  .dispatch-colombia__copy h2 {
    font-size: clamp(1.1rem, 4.5vw, 1.4rem);
    line-height: 1.12;
  }

  .dispatch-colombia__copy > p {
    font-size: 0.73rem;
  }

  .dispatch-colombia__steps {
    gap: 0.34rem;
  }

  .dispatch-colombia__step {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 0.48rem;
  }

  .dispatch-colombia__step > span {
    width: 26px;
    height: 26px;
  }

  .dispatch-colombia__step strong {
    font-size: 0.74rem;
  }

  .dispatch-colombia__step p {
    font-size: 0.65rem;
  }

  .dispatch-colombia__stage {
    padding: 0.38rem;
    border-radius: 14px;
  }

  .dispatch-colombia__map-panel {
    border-radius: 14px;
  }

  .dispatch-colombia__map-image {
    opacity: 0.38;
  }

  .dispatch-colombia__coordinate-layer {
    height: min(96%, 480px);
    max-width: 96%;
  }

  .dispatch-colombia__geo {
    min-height: 280px;
    height: min(88%, 300px);
  }

  .dispatch-colombia__node {
    width: 7px;
    height: 7px;
    border-width: 1.5px;
  }

  .dispatch-colombia__node span {
    font-size: 0.5rem;
    padding: 0.2rem 0.3rem;
  }
}

/* ─── Responsive: ≤ 480px ─── */
@media (max-width: 480px) {
  #despachos-nacionales-colombia.dispatch-colombia {
    --dc-nav-offset: 76px;
    --dc-pad: 0.38rem 0;
    padding: 0.38rem 0;
  }

  .dispatch-colombia__copy {
    padding: 0.6rem;
  }

  .dispatch-colombia__trust {
    gap: 0.22rem;
  }

  .dispatch-colombia__trust-badge {
    padding: 0.18rem 0.36rem;
    font-size: 0.56rem;
  }
}

/* ─── Short viewport ─── */
@media (max-height: 720px) and (min-width: 721px) {
  #despachos-nacionales-colombia.dispatch-colombia {
    padding: 1.8rem 0;
  }

  .dispatch-colombia__copy {
    padding: 0.8rem;
  }

  .dispatch-colombia__copy h2 {
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  }

  .dispatch-colombia__stage {
    padding: 0.5rem;
  }

  .dispatch-colombia__geo {
    min-height: 300px;
    height: min(82%, 380px);
  }
}

/* ─── Reduced motion ─── */
@media (prefers-reduced-motion: reduce) {
  .dispatch-colombia__hub-pulse {
    animation: none !important;
  }

  .dispatch-colombia__particle {
    animation: none !important;
    opacity: 0 !important;
  }

  .dispatch-colombia__route,
  .dispatch-colombia__node,
  .dispatch-colombia__node span {
    transition: none !important;
  }
}

  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(3rem, 8vw, 6rem) clamp(1.1rem, 3vw, 2.4rem);
  background:
    radial-gradient(1200px 400px at 10% -10%, rgba(13, 47, 111, 0.16), transparent 65%),
    radial-gradient(900px 320px at 100% 110%, rgba(245, 158, 11, 0.12), transparent 62%),
    linear-gradient(180deg, #f9fbff 0%, #f4f7fc 100%);
  overflow: hidden;
}

  width: min(1400px, 96vw);
  margin: 0 auto;
  padding: clamp(1.2rem, 2.7vw, 2.2rem);
  border-radius: 20px;
  border: 1px solid rgba(13, 47, 111, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(246, 250, 255, 0.9)),
    repeating-linear-gradient(90deg, rgba(13, 47, 111, 0.04) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(13, 47, 111, 0.03) 0 1px, transparent 1px 48px);
  box-shadow:
    0 24px 60px rgba(7, 26, 60, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  position: relative;
  isolation: isolate;
}

  content: '';
  position: absolute;
  top: -35%;
  left: -18%;
  width: 52%;
  height: 180%;
  background: linear-gradient(120deg, transparent 32%, rgba(255, 255, 255, 0.34) 50%, transparent 68%);
  transform: rotate(6deg);
  animation: mayorSweep 8s linear infinite;
  pointer-events: none;
  z-index: 0;
}

  position: relative;
  z-index: 1;
}

  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.8rem;
  border-radius: 100px;
  border: 1px solid rgba(13, 47, 111, 0.2);
  background: rgba(13, 47, 111, 0.07);
  font-family: var(--font-body);
  font-size: clamp(0.62rem, 0.76vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0d2f6f;
}

  margin-top: 0.9rem;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.65rem, 3.2vw, 3rem);
  letter-spacing: -0.025em;
  color: #0f172a;
  text-transform: uppercase;
  line-height: 1.05;
}

  color: #0d2f6f;
}

  margin-top: 0.7rem;
  max-width: 76ch;
  font-family: var(--font-body);
  font-size: clamp(0.9rem, 1.06vw, 1.02rem);
  line-height: 1.6;
  color: #48556a;
}

  margin-top: 0.9rem;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.44rem 0.78rem;
  border-radius: 999px;
  border: 1px solid rgba(22, 163, 74, 0.34);
  background:
    linear-gradient(150deg, rgba(34, 197, 94, 0.16), rgba(16, 185, 129, 0.08)),
    rgba(248, 255, 251, 0.92);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    0 10px 24px rgba(21, 128, 61, 0.14);
}

  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.18);
  flex: 0 0 auto;
}

  font-family: var(--font-body);
  font-size: clamp(0.7rem, 0.82vw, 0.78rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #166534;
}

  font-family: var(--font-display);
  font-size: clamp(0.76rem, 0.9vw, 0.84rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #14532d;
}

  margin-top: clamp(1rem, 2.2vw, 1.6rem);
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: clamp(0.8rem, 1.6vw, 1.1rem);
}

  border-radius: 16px;
  border: 1px solid rgba(13, 47, 111, 0.16);
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.94), rgba(244, 248, 255, 0.92));
  padding: clamp(1rem, 2vw, 1.35rem);
  box-shadow: 0 14px 36px rgba(9, 32, 71, 0.09);
}

  font-family: var(--font-body);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  font-weight: 700;
  color: #0d2f6f;
  margin-bottom: 0.4rem;
}

  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.6vw, 1.45rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #111827;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

  font-family: var(--font-body);
  font-size: clamp(0.84rem, 0.95vw, 0.94rem);
  line-height: 1.55;
  color: #4b5563;
}

  margin-top: 0.85rem;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

  font-family: var(--font-body);
  font-size: 0.82rem;
  color: #0f2b57;
  font-weight: 600;
  background: rgba(13, 47, 111, 0.07);
  border: 1px solid rgba(13, 47, 111, 0.12);
  border-radius: 10px;
  padding: 0.45rem 0.65rem;
}

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.72rem;
  background:
    linear-gradient(162deg, rgba(9, 37, 88, 0.98), rgba(16, 62, 142, 0.95)),
    radial-gradient(circle at 78% 16%, rgba(255, 255, 255, 0.22), transparent 54%);
  border-color: rgba(169, 205, 255, 0.42);
  box-shadow: inset 0 1px 0 rgba(230, 242, 255, 0.12);
}

  border: 1px solid rgba(189, 219, 255, 0.58);
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(6, 23, 54, 0.74), rgba(8, 31, 70, 0.62));
  padding: 0.82rem 0.86rem;
  display: grid;
  gap: 0.3rem;
}

  font-family: var(--font-body);
  font-size: 0.64rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: rgba(217, 234, 255, 0.98);
}

  font-family: var(--font-display);
  font-size: clamp(1rem, 1.45vw, 1.2rem);
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: #ffffff;
}

  font-family: var(--font-body);
  font-size: 0.72rem;
  line-height: 1.35;
  color: rgba(218, 234, 255, 0.9);
}

  display: grid;
  grid-template-columns: 1fr;
  gap: 0.28rem;
}

  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  width: fit-content;
  max-width: 100%;
  border: 1px solid rgba(192, 219, 255, 0.5);
  border-radius: 999px;
  background: rgba(236, 246, 255, 0.12);
  padding: 0.24rem 0.52rem;
  font-family: var(--font-body);
  font-size: 0.66rem;
  color: #f6fbff;
}

  color: #dbeafe;
  font-weight: 800;
}

  display: grid;
  gap: 0.55rem;
}

  display: grid;
  gap: 0.24rem;
}

  font-family: var(--font-body);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(229, 239, 255, 0.95);
}

  width: 100%;
  border: 1px solid rgba(180, 208, 248, 0.8);
  background: rgba(247, 251, 255, 0.98);
  color: #0b2b63;
  border-radius: 10px;
  padding: 0.66rem 0.7rem;
  font-family: var(--font-body);
  font-size: 0.84rem;
  letter-spacing: 0.01em;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

  color: rgba(96, 124, 170, 0.78);
}

  border-color: rgba(103, 151, 230, 0.95);
  box-shadow: 0 0 0 3px rgba(112, 160, 236, 0.24);
  background: #ffffff;
}

  min-height: 1rem;
  margin: 0.08rem 0 0;
  font-family: var(--font-body);
  font-size: 0.73rem;
  line-height: 1.35;
  color: rgba(220, 234, 255, 0.9);
}

  color: #fee2e2;
}

  color: #dcfce7;
}

  border: 1px solid rgba(177, 216, 255, 0.55);
  border-radius: 12px;
  background:
    linear-gradient(155deg, rgba(8, 41, 99, 0.96), rgba(14, 61, 137, 0.93)),
    radial-gradient(circle at 85% 0%, rgba(219, 234, 254, 0.22), transparent 52%);
  box-shadow: 0 12px 30px rgba(5, 30, 74, 0.34);
  padding: 0.78rem 0.82rem 0.86rem;
  display: grid;
  gap: 0.38rem;
}

  margin: 0;
  font-family: var(--font-display);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #f8fbff;
}

  margin: 0;
  font-family: var(--font-body);
  font-size: 0.78rem;
  color: rgba(220, 236, 255, 0.92);
}

  margin-top: 0.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  border: 1px solid rgba(197, 221, 255, 0.92);
  border-radius: 10px;
  padding: 0.64rem 0.78rem;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0d2f6f;
  background: linear-gradient(130deg, #f8fbff, #dbeafe);
  box-shadow: 0 8px 22px rgba(8, 38, 90, 0.28);
  transition: transform 0.25s ease, filter 0.25s ease, box-shadow 0.25s ease;
}

  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 10px 25px rgba(8, 38, 90, 0.34);
}

  outline: 2px solid rgba(255, 255, 255, 0.92);
  outline-offset: 2px;
}

  pointer-events: none;
  opacity: 0.55;
}

.is-mayor-portal-open {
  overflow: hidden;
}

.mayor-portal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  align-items: start;
  justify-items: center;
  padding: clamp(0.8rem, 2vw, 1.4rem);
  padding-top: clamp(1rem, 4vh, 2.3rem);
}

.mayor-portal[hidden] {
  display: none;
}

.mayor-portal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 520px at 18% 10%, rgba(59, 130, 246, 0.28), transparent 62%),
    rgba(3, 13, 32, 0.78);
  backdrop-filter: blur(12px);
}

.mayor-portal__dialog {
  position: relative;
  width: min(1280px, 97vw);
  max-height: min(92vh, 900px);
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(280px, 1fr) auto;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(191, 219, 254, 0.32);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(248, 251, 255, 0.98), rgba(231, 240, 255, 0.96)),
    radial-gradient(840px 320px at 95% 0%, rgba(13, 47, 111, 0.12), transparent 58%);
  box-shadow: 0 28px 80px rgba(3, 13, 32, 0.42);
  color: #0f172a;
}

.mayor-portal__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.68rem clamp(1rem, 2.2vw, 1.55rem) 0.56rem;
  border-bottom: 1px solid rgba(13, 47, 111, 0.1);
}

.mayor-portal__eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.22rem;
  padding: 0.2rem 0.52rem;
  border: 1px solid rgba(13, 47, 111, 0.16);
  border-radius: 999px;
  color: #0d2f6f;
  background: rgba(219, 234, 254, 0.72);
  font-family: var(--font-display);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mayor-portal__header h3 {
  margin: 0;
  color: #0b1f49;
  font-family: var(--font-display);
  font-size: clamp(1.04rem, 1.65vw, 1.34rem);
  line-height: 1;
  letter-spacing: 0;
}

.mayor-portal__header p {
  max-width: 62ch;
  margin: 0.24rem 0 0;
  color: rgba(15, 23, 42, 0.68);
  font-family: var(--font-body);
  font-size: 0.72rem;
  line-height: 1.32;
}

.mayor-portal__close {
  align-self: start;
  border: 1px solid rgba(13, 47, 111, 0.16);
  border-radius: 10px;
  padding: 0.48rem 0.7rem;
  background: #ffffff;
  color: #0d2f6f;
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.mayor-portal__tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.3fr);
  gap: 0.8rem;
  padding: 0.52rem clamp(1rem, 2.2vw, 1.55rem);
  border-bottom: 1px solid rgba(13, 47, 111, 0.08);
  background: rgba(248, 251, 255, 0.84);
}

.mayor-portal__search,
.mayor-portal__filter {
  display: grid;
  gap: 0.22rem;
  font-family: var(--font-body);
  color: rgba(15, 23, 42, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
}

.mayor-portal__search label {
  font: inherit;
}

.mayor-portal__searchbox {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
}

.mayor-portal__search input,
.mayor-portal__filter select {
  min-height: 38px;
  border: 1px solid rgba(13, 47, 111, 0.2);
  border-radius: 10px;
  padding: 0.52rem 0.72rem;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  outline: none;
}

.mayor-portal__searchbox button {
  min-height: 38px;
  border: 1px solid rgba(13, 47, 111, 0.18);
  border-radius: 10px;
  padding: 0 0.9rem;
  background: #0d2f6f;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.mayor-portal__search input:focus,
.mayor-portal__filter select:focus {
  border-color: rgba(13, 47, 111, 0.46);
  box-shadow: 0 0 0 3px rgba(13, 47, 111, 0.1);
}

.mayor-portal__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.58rem;
  padding: 0.42rem clamp(1rem, 2.2vw, 1.55rem) 0.28rem;
}

.mayor-portal__stats article {
  min-height: 44px;
  display: grid;
  align-content: center;
  gap: 0.12rem;
  border: 1px solid rgba(13, 47, 111, 0.1);
  border-radius: 10px;
  padding: 0.42rem 0.72rem;
  background: linear-gradient(155deg, #ffffff, rgba(235, 243, 255, 0.82));
}

.mayor-portal__stats strong {
  color: #0d2f6f;
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.65vw, 1.32rem);
  line-height: 1;
}

.mayor-portal__stats span,
.mayor-portal__status,
.mayor-portal__footer {
  color: rgba(15, 23, 42, 0.62);
  font-family: var(--font-body);
  font-size: 0.74rem;
}

.mayor-portal__status {
  padding: 0 clamp(1rem, 2.2vw, 1.55rem) 0.34rem;
  font-weight: 700;
}

.mayor-portal__table-wrap {
  position: relative;
  overflow: auto;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  margin: 0 clamp(1rem, 2.2vw, 1.55rem);
  border: 1px solid rgba(13, 47, 111, 0.14);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(13, 47, 111, 0.08);
}

.mayor-portal__table {
  width: max-content;
  min-width: 100%;
  table-layout: auto;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 0.76rem;
}

.mayor-portal__table th:nth-child(1),
.mayor-portal__table td:nth-child(1) {
  width: 15%;
}

.mayor-portal__table th:nth-child(2),
.mayor-portal__table td:nth-child(2) {
  width: 34%;
}

.mayor-portal__table th:nth-child(3),
.mayor-portal__table td:nth-child(3) {
  width: 27%;
}

.mayor-portal__table th:nth-child(4),
.mayor-portal__table td:nth-child(4) {
  width: 13%;
}

.mayor-portal__table th:nth-child(5),
.mayor-portal__table td:nth-child(5) {
  width: 11%;
}

.mayor-portal__table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.72rem 0.78rem;
  background: linear-gradient(135deg, #0d2f6f, #1e4fa4);
  color: #ffffff;
  text-align: left;
  font-family: var(--font-display);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mayor-portal__table td {
  padding: 0.64rem 0.78rem;
  border-bottom: 1px solid rgba(13, 47, 111, 0.08);
  color: rgba(15, 23, 42, 0.82);
  vertical-align: middle;
  line-height: 1.35;
  white-space: nowrap;
}

.mayor-portal__cell--ref,
.mayor-portal__cell--price {
  color: #0d2f6f;
  font-weight: 800;
}

.mayor-portal__cell--ref span,
.mayor-portal__cell--brand span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: 999px;
  padding: 0.18rem 0.48rem;
  background: rgba(219, 234, 254, 0.66);
  color: #0d2f6f;
  font-weight: 800;
  white-space: nowrap;
}

.mayor-portal__cell--brand span {
  background: rgba(13, 47, 111, 0.08);
}

.mayor-portal__table tr:hover td {
  background: rgba(219, 234, 254, 0.34);
}

.mayor-portal__empty {
  padding: 1.2rem;
  color: rgba(15, 23, 42, 0.66);
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 700;
  text-align: center;
}

.mayor-portal__footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.68rem clamp(1rem, 2.2vw, 1.55rem) 0.82rem;
  font-weight: 700;
}

@media (max-width: 720px) {
  .mayor-portal {
    padding: 0.44rem;
  }

  .mayor-portal__dialog {
    max-height: 96vh;
    border-radius: 14px;
    grid-template-rows: auto auto auto auto minmax(240px, 1fr) auto;
  }

  .mayor-portal__header {
    align-items: flex-start;
    padding: 0.82rem;
  }

  .mayor-portal__header p {
    font-size: 0.76rem;
  }

  .mayor-portal__close {
    padding: 0.5rem 0.62rem;
    font-size: 0.64rem;
  }

  .mayor-portal__tools,
  .mayor-portal__stats {
    grid-template-columns: 1fr;
    padding-inline: 0.9rem;
  }

  .mayor-portal__searchbox {
    grid-template-columns: 1fr;
  }

  .mayor-portal__stats article {
    min-height: 48px;
  }

  .mayor-portal__status {
    padding-inline: 0.9rem;
  }

  .mayor-portal__table-wrap {
    margin-inline: 0.9rem;
  }

  .mayor-portal__table {
    min-width: 760px;
    font-size: 0.72rem;
  }

  .mayor-portal__footer {
    flex-direction: column;
    padding-inline: 0.9rem;
  }
}

  appearance: none;
  border: 1px solid rgba(172, 207, 255, 0.72);
  background: linear-gradient(140deg, #0c2f70, #1a4a9e 68%, #0f3d86);
  color: #ffffff;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  font-family: var(--font-display);
  font-size: clamp(0.86rem, 1.1vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(4, 21, 52, 0.42);
  transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 16px 34px rgba(4, 21, 52, 0.54);
  filter: brightness(1.08);
}

  outline: 2px solid rgba(248, 250, 252, 0.95);
  outline-offset: 2px;
}

  margin: 0;
  font-size: 0.76rem;
  color: rgba(218, 233, 255, 0.94);
}

@keyframes mayorSweep {
  0% { transform: translateX(-36%) rotate(6deg); opacity: 0.46; }
  100% { transform: translateX(96%) rotate(6deg); opacity: 0.12; }
}

@media (max-width: 900px) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
    padding: 2.2rem 0.9rem;
  }
    width: 98vw;
    border-radius: 14px;
    padding: 0.9rem;
  }
    font-size: clamp(1.3rem, 8vw, 1.82rem);
  }
    font-size: 0.82rem;
  }
    width: 100%;
    border-radius: 14px;
    justify-content: flex-start;
    gap: 0.38rem;
    padding: 0.52rem 0.62rem;
  }
    line-height: 1.25;
  }
    padding: 0.62rem 0.64rem;
    font-size: 0.8rem;
  }
    font-size: 0.72rem;
  }
}

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

  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.9rem, 2.1vh, 1.6rem) clamp(0.9rem, 2.2vw, 1.8rem);
  background: linear-gradient(180deg, #f7faff 0%, #eef3fb 100%);
}

  width: min(1240px, 96vw);
  max-height: calc(100svh - clamp(1.8rem, 4.2vh, 3.2rem));
  padding: clamp(0.8rem, 1.5vw, 1.1rem);
  border-radius: 14px;
  box-shadow:
    0 16px 34px rgba(7, 26, 60, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
  gap: clamp(0.34rem, 0.8vh, 0.58rem);
  overflow: hidden;
}

  display: none;
}

  padding: 0.32rem 0.62rem;
  font-size: clamp(0.56rem, 0.66vw, 0.66rem);
  letter-spacing: 0.07em;
}

  margin-top: 0.24rem;
  font-size: clamp(1.34rem, 2.4vw, 2.22rem);
  line-height: 1;
}

  margin-top: 0.22rem;
  max-width: 70ch;
  font-size: clamp(0.78rem, 0.86vw, 0.9rem);
  line-height: 1.35;
}

  margin-top: 0.26rem;
  padding: 0.32rem 0.6rem;
  gap: 0.35rem;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.74),
    0 8px 16px rgba(21, 128, 61, 0.12);
}

  font-size: clamp(0.64rem, 0.74vw, 0.72rem);
}

  font-size: clamp(0.7rem, 0.8vw, 0.78rem);
}

  margin-top: 0.4rem;
  min-height: 0;
  grid-template-columns: 1.04fr 1fr;
  gap: 0.62rem;
}

  border-radius: 12px;
  padding: 0.76rem 0.8rem;
  box-shadow: 0 10px 24px rgba(9, 32, 71, 0.08);
}

  margin-bottom: 0.24rem;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
}

  margin-bottom: 0.3rem;
  font-size: clamp(0.92rem, 1.2vw, 1.16rem);
}

  font-size: clamp(0.74rem, 0.82vw, 0.84rem);
  line-height: 1.32;
}

  margin-top: 0.44rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.36rem;
}

  font-size: 0.68rem;
  line-height: 1.2;
  text-align: center;
  padding: 0.34rem 0.44rem;
}

  gap: 0.5rem;
  align-self: stretch;
  position: relative;
}

  border-radius: 10px;
  padding: 0.58rem 0.64rem;
}

  font-size: 0.58rem;
}

  font-size: clamp(0.88rem, 1vw, 1rem);
}

  font-size: 0.62rem;
  line-height: 1.24;
}

  gap: 0.24rem;
}

  padding: 0.2rem 0.48rem;
  font-size: 0.6rem;
}

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.44rem 0.48rem;
}

  grid-column: 1 / -1;
}

  font-size: 0.56rem;
}

  border-radius: 8px;
  padding: 0.5rem 0.54rem;
  font-size: 0.76rem;
}

  border-radius: 10px;
  padding: 0.58rem 0.72rem;
  font-size: 0.72rem;
}

  min-height: 0.86rem;
  margin: 0;
  font-size: 0.64rem;
  line-height: 1.2;
}

  border-radius: 10px;
  padding: 0.58rem 0.62rem 0.64rem;
  gap: 0.24rem;
}

  font-size: 0.72rem;
}

  font-size: 0.68rem;
}

  border-radius: 8px;
  padding: 0.52rem 0.62rem;
  font-size: 0.66rem;
}

  font-size: 0.63rem;
  line-height: 1.24;
}

@media (max-width: 1024px) {
    min-height: 100svh;
  }

    max-height: none;
    overflow-y: visible;
  }

    grid-template-columns: 1fr;
  }

    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

    grid-template-columns: 1fr 1fr;
    gap: 0.32rem;
  }
}

@media (max-width: 560px) {
    padding: 0.7rem 0.56rem;
  }

    width: 100%;
    border-radius: 12px;
    max-height: none;
    padding: 0.72rem 0.68rem;
    gap: 0.4rem;
  }

    font-size: clamp(1.06rem, 6.5vw, 1.4rem);
  }

    font-size: 0.74rem;
  }

    width: 100%;
    border-radius: 10px;
    gap: 0.3rem;
    padding: 0.42rem 0.5rem;
  }

    line-height: 1.2;
  }

    grid-template-columns: 1fr;
  }

    grid-template-columns: 1fr;
    gap: 0.3rem;
  }

    grid-template-columns: 1fr;
    gap: 0.22rem;
  }

    width: 100%;
    justify-content: space-between;
    font-size: 0.62rem;
  }

    padding: 0.5rem 0.52rem;
    font-size: 0.76rem;
  }

    font-size: 0.68rem;
  }
}

  color: #f8fbff;
}

  color: #eaf3ff;
  border-color: rgba(188, 216, 255, 0.48);
  background: rgba(12, 49, 116, 0.42);
}

  border-color: rgba(101, 215, 153, 0.54);
  background:
    linear-gradient(150deg, rgba(23, 153, 93, 0.3), rgba(15, 97, 64, 0.2)),
    rgba(5, 34, 80, 0.54);
}

  background: #34d399;
  box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.28);
}

  background: linear-gradient(160deg, rgba(8, 36, 90, 0.9), rgba(12, 53, 123, 0.86));
  border-color: rgba(174, 205, 255, 0.34);
}

  color: #f4f8ff;
  background: rgba(231, 242, 255, 0.12);
  border-color: rgba(191, 217, 255, 0.34);
}

  background: linear-gradient(160deg, rgba(5, 25, 62, 0.82), rgba(7, 35, 82, 0.72));
  border-color: rgba(189, 219, 255, 0.62);
}

  border-color: rgba(190, 218, 255, 0.48);
  background: rgba(232, 244, 255, 0.14);
}

  color: #cfe4ff;
}

  border-color: rgba(171, 206, 255, 0.62);
  background: rgba(5, 24, 56, 0.82);
  color: #f8fbff;
}

  color: rgba(200, 220, 248, 0.7);
}

  border-color: rgba(209, 231, 255, 0.95);
  box-shadow: 0 0 0 3px rgba(167, 205, 255, 0.22);
  background: rgba(8, 32, 70, 0.88);
}

  color: #fee2e2;
}

  color: #dcfce7;
}

  border-color: rgba(177, 216, 255, 0.58);
  background:
    linear-gradient(155deg, rgba(7, 34, 84, 0.96), rgba(14, 62, 141, 0.94)),
    radial-gradient(circle at 85% 0%, rgba(219, 234, 254, 0.24), transparent 52%);
}

  border-color: rgba(198, 223, 255, 0.86);
  color: #f8fbff;
  background: linear-gradient(130deg, #1a4a9e, #0f3d86);
}

/* Header del modulo con alto contraste sobre fondo claro */
  color: #0b0f19;
}

  color: #0d2f6f;
}

  color: #1f2937;
}

/* ═══════════ FOOTER — COLOMBIAN HORIZON ═══════════ */

.footer-mt {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(13,47,111,0.12), transparent 50%),
    radial-gradient(700px 300px at 25% 100%, rgba(77,141,255,0.10), transparent 48%),
    linear-gradient(180deg, #060f1f 0%, #02050c 100%);
  border-top: 1px solid rgba(77,141,255,0.40);
}

/* ─── Glow central (azul corporativo) ─── */
.footer-mt__glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(800px, 55vw);
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(77,141,255,0.9), rgba(143,185,255,0.5), transparent);
  filter: blur(6px);
  pointer-events: none;
  z-index: 0;
}

/* ─── Líneas de conexión ─── */
.footer-mt__routes {
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 0;
  pointer-events: none;
  color: rgba(77,141,255,0.28);
}

.footer-mt__route-line {
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  animation: footerRouteDraw 3s ease-out forwards;
}

.footer-mt__route-line--pulse {
  animation:
    footerRouteDraw 3s ease-out forwards,
    footerRoutePulse 3s ease-in-out 3s infinite;
}

@keyframes footerRouteDraw {
  to { stroke-dashoffset: 0; }
}

@keyframes footerRoutePulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.9; }
}

/* ─── Shell (300px aire lateral) ─── */
.footer-mt__shell {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: none;
  margin: 0 300px;
  padding: clamp(32px, 4vw, 48px) 0 clamp(20px, 2.5vw, 32px);
}

/* ─── Masthead ─── */
.footer-mt__masthead {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  margin-bottom: clamp(28px, 3.5vw, 42px);
}

.footer-mt__logo {
  width: clamp(140px, 16vw, 220px);
  height: auto;
  filter:
    drop-shadow(0 0 14px rgba(77,141,255,0.28))
    drop-shadow(0 0 28px rgba(13,47,111,0.12))
    drop-shadow(0 2px 6px rgba(0,0,0,0.3));
}

.footer-mt__tagline {
  margin: 0;
  font-family: 'Manrope', var(--font-display, 'Inter'), sans-serif;
  font-size: clamp(1.1rem, 1.5vw, 1.45rem);
  font-weight: 500;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #dce8f6;
  text-shadow: 0 0 28px rgba(77,141,255,0.22);
}

/* ─── Band: 3 columnas ─── */
.footer-mt__band {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 4vw, 48px);
  padding: 0 0 clamp(20px, 2.5vw, 28px);
  border-bottom: 1px solid rgba(77,141,255,0.14);
}

.footer-mt__col {
  min-width: 0;
}

.footer-mt__heading {
  margin: 0 0 clamp(10px, 1.2vw, 14px);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.72rem, 0.78vw, 0.76rem);
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #c8ddf5;
}

.footer-mt__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(7px, 0.8vw, 9px);
}

.footer-mt__list a,
.footer-mt__list li {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.78rem, 0.84vw, 0.82rem);
  font-weight: 600;
  color: #e2edf8;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-mt__list a:hover {
  color: #8fb9ff;
}

.footer-mt__locations {
  display: grid;
  gap: clamp(8px, 1vw, 10px);
}

.footer-mt__location {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(77,141,255,0.38);
  border-radius: 6px;
  background: rgba(13,47,111,0.32);
}

.footer-mt__location-line {
  margin: 0;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.72rem, 0.78vw, 0.76rem);
  font-weight: 600;
  color: #e2edf8;
}

.footer-mt__location-line strong {
  font-weight: 700;
  color: rgba(255,255,255,0.95);
}

/* ─── Legal ─── */
.footer-mt__legal {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: clamp(12px, 1.5vw, 16px) 0 0;
  border-top: 1px solid rgba(77,141,255,0.10);
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.64rem, 0.7vw, 0.68rem);
  color: #a0b8d4;
}

.footer-mt__legal a {
  color: #a0b8d4;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-mt__legal a:hover {
  color: #8fb9ff;
}

/* ─── Responsive ─── */
@media (max-width: 860px) {
  .footer-mt__shell {
    margin: 0 clamp(24px, 5vw, 80px);
  }

  .footer-mt__band {
    grid-template-columns: 1fr;
    gap: clamp(16px, 2.5vw, 24px);
    text-align: center;
  }

  .footer-mt__list {
    justify-items: center;
  }

  .footer-mt__locations {
    justify-items: center;
  }

  .footer-mt__logo {
    width: clamp(110px, 28vw, 150px);
  }
}

@media (max-width: 520px) {
  .footer-mt__shell {
    margin: 0 16px;
    padding: clamp(24px, 3.5vw, 32px) 0 clamp(14px, 2vw, 20px);
  }

  .footer-mt__tagline {
    font-size: 0.88rem;
    letter-spacing: 0.12em;
  }

  .footer-mt__logo {
    width: clamp(90px, 30vw, 120px);
  }
}

/* ═══════════ FLOATING WHATSAPP ═══════════ */
/* ═══════════ FLOATING WHATSAPP ═══════════ */
.float-wa {
  position:fixed; bottom:24px; right:24px; z-index:999;
  width:60px; height:60px; background:#25D366; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 24px rgba(37,211,102,0.45);
  transition:transform 0.3s;
}
.float-wa:hover { transform:scale(1.1); }
.float-wa svg { width:30px; height:30px; fill:#fff; }

/* ═══════════ CONTACTO RÁPIDO + FAQ ═══════════ */

.contact-bar {
  position: relative;
  isolation: isolate;
  padding: clamp(48px, 7vw, 80px) 0 clamp(36px, 5vw, 56px);
  background:
    radial-gradient(900px 300px at 20% 10%, rgba(13,47,111,0.14), transparent 58%),
    radial-gradient(700px 260px at 80% 90%, rgba(77,141,255,0.08), transparent 54%),
    linear-gradient(180deg, #02050b 0%, #040a14 50%, #02050c 100%);
  border-top: 1px solid rgba(143,185,255,0.12);
  overflow: hidden;
}

.contact-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(143,185,255,0.03) 1px, transparent 1px),
    linear-gradient(180deg, rgba(143,185,255,0.02) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(circle at 50% 50%, #000 30%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.contact-bar__shell {
  position: relative;
  z-index: 1;
  width: min(1160px, calc(100% - clamp(24px, 5vw, 72px)));
  margin: 0 auto;
}

.contact-bar__panel {
  border-radius: 18px;
  border: 1px solid rgba(143,185,255,0.14);
  background:
    radial-gradient(circle at 8% 20%, rgba(77,141,255,0.12), transparent 38%),
    linear-gradient(160deg, rgba(8,20,40,0.94), rgba(3,8,18,0.97));
  box-shadow:
    0 20px 56px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.05);
  overflow: hidden;
}

/* ─── Row principal ─── */
.contact-bar__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.92fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
  padding: clamp(28px, 3.5vw, 42px) clamp(24px, 3vw, 36px);
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.contact-bar__copy {
  min-width: 0;
}

.contact-bar__eyebrow {
  display: inline-block;
  padding: 0.22rem 0.56rem;
  border-radius: 999px;
  border: 1px solid rgba(77,141,255,0.2);
  background: rgba(77,141,255,0.1);
  color: rgba(179,207,255,0.84);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.6rem, 0.7vw, 0.66rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: clamp(10px, 1.4vh, 14px);
}

.contact-bar__title {
  margin: 0 0 clamp(6px, 0.8vh, 10px);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(1.3rem, 2.2vw, 1.9rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: #ffffff;
}

.contact-bar__sub {
  margin: 0;
  max-width: 38ch;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.78rem, 0.88vw, 0.88rem);
  line-height: 1.45;
  color: rgba(226,239,255,0.58);
}

/* ─── Input + Button ─── */
.contact-bar__input-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.contact-bar__input {
  width: 100%;
  padding: clamp(12px, 1.4vh, 15px) 16px;
  border-radius: 12px;
  border: 1px solid rgba(143,185,255,0.18);
  background: rgba(255,255,255,0.06);
  color: #ffffff;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.82rem, 0.9vw, 0.9rem);
  line-height: 1.35;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.contact-bar__input::placeholder {
  color: rgba(179,207,255,0.36);
}

.contact-bar__input:focus {
  border-color: rgba(77,141,255,0.5);
  box-shadow: 0 0 0 3px rgba(77,141,255,0.1), 0 0 20px rgba(77,141,255,0.08);
  background: rgba(255,255,255,0.08);
}

.contact-bar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 0 20px;
  border: none;
  border-radius: 12px;
  background:
    linear-gradient(135deg, #1a4a9e, #0d2f6f);
  color: #ffffff;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.68rem, 0.78vw, 0.76rem);
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.25s ease, background 0.25s ease;
  box-shadow: 0 8px 28px rgba(13,47,111,0.36), 0 0 0 1px rgba(77,141,255,0.15);
}

.contact-bar__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(13,47,111,0.5), 0 0 0 1px rgba(77,141,255,0.3), 0 0 32px rgba(77,141,255,0.14);
}

.contact-bar__btn:active {
  transform: translateY(0);
}

/* ─── FAQ ─── */
.contact-bar__faq {
  margin-top: 0;
  border-top: 1px solid rgba(143,185,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)),
    rgba(4,10,22,0.42);
  overflow: hidden;
}

.contact-bar__faq-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(14px, 2vw, 24px);
  align-items: center;
  padding: clamp(16px, 2vw, 22px) clamp(24px, 3vw, 36px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), transparent),
    rgba(255,255,255,0.01);
}

.contact-bar__faq-copy {
  min-width: 0;
}

.contact-bar__faq-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  margin-bottom: 8px;
  border-radius: 999px;
  border: 1px solid rgba(143,185,255,0.14);
  background: rgba(77,141,255,0.08);
  color: rgba(179,207,255,0.88);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-bar__faq-note {
  margin: 0;
  max-width: 44ch;
  color: rgba(226,239,255,0.56);
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.74rem, 0.82vw, 0.8rem);
  line-height: 1.45;
}

.contact-bar__faq-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  min-width: 228px;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(143,185,255,0.16);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: rgba(226,239,255,0.76);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.78rem, 0.88vw, 0.86rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: color 0.2s ease, background 0.25s ease;
}

.contact-bar__faq-toggle:hover {
  color: #ffffff;
  background: rgba(77,141,255,0.08);
}

.contact-bar__faq-toggle svg {
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
  flex-shrink: 0;
}

.contact-bar__faq-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.contact-bar__faq-list {
  display: grid;
  grid-template-rows: 0fr;
  border-top: 1px solid rgba(143,185,255,0.1);
  opacity: 0;
  transition: grid-template-rows 0.36s cubic-bezier(0.22,1,0.36,1), opacity 0.22s ease;
}

.contact-bar__faq-list > * {
  overflow: hidden;
}

.contact-bar__faq.is-expanded .contact-bar__faq-list {
  grid-template-rows: 1fr;
  opacity: 1;
}

.contact-bar__faq-items {
  padding: clamp(18px, 2vw, 24px) clamp(24px, 3vw, 36px) clamp(22px, 2.6vw, 28px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(12px, 1.4vw, 16px);
}

.contact-bar__faq-item {
  position: relative;
  padding: 0;
  border-radius: 14px;
  border: 1px solid rgba(143,185,255,0.08);
  background: rgba(255,255,255,0.025);
  overflow: hidden;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.contact-bar__faq-item::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(77,141,255,0.92), rgba(13,47,111,0.5));
  opacity: 0;
  transition: opacity 0.25s ease;
}

.contact-bar__faq.is-expanded .contact-bar__faq-item {
  border-color: rgba(77,141,255,0.24);
  background:
    linear-gradient(135deg, rgba(77,141,255,0.07), rgba(255,255,255,0.02)),
    rgba(255,255,255,0.04);
  box-shadow: 0 22px 42px rgba(13,47,111,0.1);
}

.contact-bar__faq.is-expanded .contact-bar__faq-item::before {
  opacity: 1;
}

.contact-bar__faq-question {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
  padding: 18px 20px 16px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: default;
  color: inherit;
}

.contact-bar__faq-question svg {
  display: none;
}

.contact-bar__faq-question strong {
  display: block;
  margin: 0;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.9rem, 0.98vw, 1rem);
  font-weight: 700;
  line-height: 1.28;
  color: rgba(255,255,255,0.9);
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: pretty;
}

.contact-bar__faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0.68;
  transition: grid-template-rows 0.34s cubic-bezier(0.22,1,0.36,1), opacity 0.24s ease;
}

.contact-bar__faq-answer > * {
  overflow: hidden;
}

.contact-bar__faq-answer p {
  transform: translateY(-8px);
  transition: transform 0.34s cubic-bezier(0.22,1,0.36,1);
}

.contact-bar__faq.is-expanded .contact-bar__faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
}

.contact-bar__faq-answer p {
  margin: 0;
  padding: 0 20px 18px;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.74rem, 0.82vw, 0.82rem);
  line-height: 1.5;
  color: rgba(226,239,255,0.52);
}

.contact-bar__faq.is-expanded .contact-bar__faq-answer p {
  transform: translateY(0);
}

/* ─── Responsive: Tablet ─── */
@media (max-width: 860px) {
  .contact-bar__row {
    grid-template-columns: 1fr;
    gap: clamp(16px, 2.5vw, 22px);
    padding: clamp(20px, 3vw, 28px);
  }

  .contact-bar__faq-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .contact-bar__faq-toggle {
    min-width: 0;
    width: 100%;
  }

  .contact-bar__faq-toggle {
    min-width: 0;
    width: 100%;
  }

  .contact-bar__title {
    font-size: clamp(1.15rem, 2.6vw, 1.4rem);
  }
}

/* ─── Responsive: Mobile ─── */
@media (max-width: 520px) {
  .contact-bar {
    padding: clamp(32px, 6vw, 44px) 0 clamp(24px, 4vw, 32px);
  }

  .contact-bar__row {
    padding: 18px;
    gap: 14px;
  }

  .contact-bar__faq-head {
    padding: 16px 18px;
    gap: 12px;
  }

  .contact-bar__faq-items {
    padding: 16px 18px 18px;
  }

  .contact-bar__faq-question {
    padding: 15px 16px 13px;
    gap: 10px;
  }

  .contact-bar__faq-answer p {
    padding: 0 16px 15px;
  }

  .contact-bar__title {
    font-size: 1.1rem;
  }

  .contact-bar__btn {
    min-height: 40px;
    font-size: 0.66rem;
  }

  .contact-bar__faq-item {
    border-radius: 12px;
  }
}

/* ═══════════════════════════════════════════════════════════════
   NAVBAR V2 — FOURMULA.AI CONCEPT × MOTORTRUST INDUSTRIAL
   Full-width bar · Logo L · Menu+Progress C · CTA R
   ═══════════════════════════════════════════════════════════════ */

#navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  transform: none !important;
  border-radius: 0 !important;
  z-index: 2000 !important;
  isolation: isolate;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: transparent !important;
  box-shadow: none !important;
  transition: background 0.4s ease, border-color 0.4s ease;
}

#navbar::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transition: background 0.45s ease, backdrop-filter 0.45s ease;
}

#navbar.is-scrolled {
  border-bottom-color: rgba(255,255,255,0.09) !important;
  box-shadow: none !important;
}

#navbar.is-scrolled::before {
  background: rgba(2, 5, 11, 0.84) !important;
  backdrop-filter: blur(8px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(120%) !important;
}

#navbar::after {
  display: none !important;
}

.nav-container {
  max-width: 100% !important;
  height: 72px !important;
  padding: 0 clamp(20px, 4vw, 56px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
}

.nav-logo {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 0 0 auto;
  text-decoration: none;
}

.nav-logo::before { display: none !important; }

.nav-logo-img {
  width: 90px !important;
  height: auto !important;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.4)) !important;
  transition: opacity 0.3s ease;
}

.nav-logo:hover .nav-logo-img { opacity: 0.8; }

/* ── CENTER: menu button + progress ── */
.nav-center {
  display: flex;
  align-items: center;
  gap: 22px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.nav-menu-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  background: none;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  padding: 9px 18px 9px 14px;
  cursor: pointer;
  color: rgba(255,255,255,0.88);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.nav-menu-btn:hover {
  border-color: rgba(255,255,255,0.38);
  background: rgba(255,255,255,0.06);
  color: #fff;
}

.nav-menu-btn.is-open {
  border-color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.08);
}

.nav-menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 18px;
  height: 12px;
  position: relative;
}

.nav-menu-line {
  display: block;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.38s cubic-bezier(0.22,1,0.36,1), opacity 0.28s ease, width 0.28s ease;
}

.nav-menu-btn.is-open .nav-menu-line--top {
  transform: translateY(3.25px) rotate(45deg);
}

.nav-menu-btn.is-open .nav-menu-line--bottom {
  transform: translateY(-3.25px) rotate(-45deg);
}

.nav-menu-txt {
  transition: opacity 0.2s ease;
}

.nav-progress-pill {
  display: flex;
  align-items: center;
  padding: 6px 14px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  min-width: 58px;
  justify-content: center;
}

.nav-progress-pct {
  font-family: var(--font-display, 'Inter', monospace);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.64);
  transition: color 0.3s ease;
  font-variant-numeric: tabular-nums;
}

/* ── CTA right ── */
.nav-cta {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.94) !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
  color: #02050b !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 4px 24px rgba(255,255,255,0.12), inset 0 1px 0 rgba(255,255,255,0.9) !important;
  overflow: hidden;
  position: relative;
}

.nav-cta::after {
  content: '' !important;
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,0.62) 44%, transparent 56%);
  transform: translateX(-130%);
  transition: transform 0.7s cubic-bezier(0.22,1,0.36,1) !important;
  height: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.nav-cta:hover::after {
  transform: translateX(130%) !important;
  left: 0 !important;
  right: 0 !important;
}

.nav-cta:hover {
  background: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 32px rgba(255,255,255,0.18) !important;
}

.nav-cta svg { display: none !important; }

/* hide old nav-links / toggle if they still exist in DOM */
.nav-links, .nav-toggle { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   FULLSCREEN OVERLAY MENU
   ═══════════════════════════════════════════════════════════════ */

.nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 1999;
  background: rgba(2,5,11,0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 90px 16px 16px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  will-change: opacity;
}

.nav-overlay.is-open {
  pointer-events: all;
  opacity: 1;
}

.nav-overlay__inner {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: clamp(320px, 42vw, 600px);
  max-width: 100%;
  padding: 24px 26px 26px;
  background: rgba(8,12,20,0.94);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(0,0,0,0.5);
  transform-origin: top center;
}

.nav-overlay__col {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.nav-overlay__col--links { width: 100%; }
.nav-overlay__col--info {
  width: 100%;
  gap: 16px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.nav-overlay__label {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.32);
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.nav-overlay__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.nav-overlay__link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.nav-overlay__link:last-child { border-bottom: none; }

.nav-overlay__link:hover { border-color: rgba(255,255,255,0.16); }

.nov-num {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.32);
  min-width: 20px;
  transition: color 0.25s ease;
}

.nov-txt {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.1;
  color: rgba(255,255,255,0.86);
  text-transform: uppercase;
  transition: color 0.25s ease, transform 0.35s cubic-bezier(0.22,1,0.36,1);
  will-change: transform;
}

.nav-overlay__link:hover .nov-txt {
  color: #fff;
  transform: translateX(6px);
}

.nav-overlay__link:hover .nov-num { color: rgba(143,185,255,0.7); }

.nav-overlay__contact {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nav-overlay__contact-link {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.82rem, 1.4vw, 1rem);
  font-weight: 500;
  color: rgba(255,255,255,0.58);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}

.nav-overlay__contact-link:hover { color: rgba(255,255,255,0.9); }

.nav-overlay__meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nav-overlay__meta span {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.7rem;
  color: rgba(255,255,255,0.22);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-overlay__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: 13px 24px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 999px;
  color: #fff;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  background: rgba(255,255,255,0.06);
  transition: background 0.25s ease, border-color 0.25s ease;
  margin-top: 2px;
}

.nav-overlay__cta-btn:hover {
  background: rgba(255,255,255,0.14);
  border-color: #fff;
}

.nav-overlay__footer {
  display: none;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.06);
  gap: 20px;
  flex-wrap: wrap;
}

.nav-overlay__footer span {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.64rem;
  color: rgba(255,255,255,0.22);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════════
   NAVBAR LAYOUT — ID SELECTORS (max specificity, overrides all)
   ═══════════════════════════════════════════════════════════════ */

#navShell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(20px, 3vw, 42px) !important;
  height: 64px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 30px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

#navMenuBtn {
  align-self: center !important;
}

#navLogo {
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

#navCtaBtn {
  align-self: center !important;
}

#navCtaBtn svg { display: none !important; }

@media (max-width: 768px) {
  #navShell {
    padding: 0 16px !important;
    height: 58px !important;
    gap: clamp(14px, 4vw, 28px) !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   NAVBAR V2 — CLEAN SLATE (nv2-* classes, zero legacy conflict)
   ═══════════════════════════════════════════════════════════════ */

/* Override #navbar → centered floating pill (≈40% width) */
#navbar {
  position: fixed !important;
  top: 18px !important;
  left: 50% !important;
  right: auto !important;
  width: clamp(480px, 46vw, 720px) !important;
  max-width: calc(100% - 28px) !important;
  transform: translateX(-50%) !important;
  border-radius: 100px !important;
  z-index: 2000 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.34) !important;
  transition: box-shadow 0.4s ease, top 0.4s ease !important;
}

#navbar::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: rgba(2,5,11,0.55);
  backdrop-filter: blur(8px) saturate(120%);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  border: none !important;
  box-shadow: none !important;
  border-radius: 100px !important;
  transition: background 0.45s ease, backdrop-filter 0.45s ease;
}

#navbar.is-scrolled::before {
  background: rgba(2,5,11,0.8) !important;
  backdrop-filter: blur(8px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(120%) !important;
}

/* Gradient ring border — white → metallic → corporate blue (brand consistency) */
#navbar::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 100px !important;
  padding: 1.5px !important;
  background: linear-gradient(120deg, #ffffff 0%, #8fb9ff 45%, #0d2f6f 100%) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
          mask-composite: exclude !important;
  pointer-events: none !important;
  opacity: 0.9;
  display: block !important;
}
#navbar.is-scrolled::after { opacity: 1; }
#navbar.is-scrolled { box-shadow: 0 12px 46px rgba(0,0,0,0.42) !important; }

/* ── Symmetric 3-zone bar: Menú LEFT · LOGO CENTER · Cotizar RIGHT ── */
.nv2-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 42px);
  width: 100%;
  max-width: 100%;
  height: 72px;
  padding: 0 30px;
  box-sizing: border-box;
  margin: 0;
  position: relative;
}

/* Logo — perfectly centered */
.nv2-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: relative;
  padding: 10px 22px;
  min-height: 66px;
  border-radius: 999px;
  isolation: isolate;
}

.nv2-logo::before {
  content: '';
  position: absolute;
  inset: -14px -20px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 42%, rgba(143,185,255,0.42), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,0.14), rgba(77,141,255,0.09));
  filter: blur(8px);
  opacity: 0.92;
  z-index: -2;
  pointer-events: none;
}

.nv2-logo::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04)),
    rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow:
    0 18px 44px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.24);
  z-index: -1;
  pointer-events: none;
}

.nv2-logo-img {
  width: clamp(210px, 18vw, 286px);
  height: auto;
  display: block;
  position: relative;
  z-index: 1;
  filter:
    drop-shadow(0 14px 26px rgba(0,0,0,0.34))
    drop-shadow(0 0 18px rgba(143,185,255,0.12));
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.22,1,0.36,1), filter 0.4s ease;
}

.nv2-logo:hover .nv2-logo-img {
  opacity: 0.92;
  transform: translateY(-1px) scale(1.03);
}

/* Shared micro-label typography — Menú & Cotizar unified */
.nv2-menu-btn,
.nv2-cta {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.82);
  white-space: nowrap;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.25s ease;
}

.nv2-menu-btn:hover,
.nv2-cta:hover { color: #fff; }

/* Menú — icon + label */
.nv2-menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 6px 0;
}

.nv2-menu-btn:hover .nv2-line { width: 18px; }

.nv2-menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4.5px;
  width: 18px;
  height: 11px;
  flex-shrink: 0;
}

.nv2-line {
  display: block;
  width: 18px;
  height: 1.4px;
  background: currentColor;
  border-radius: 2px;
  margin-right: auto;
  transform-origin: center;
  transition: width 0.3s ease, transform 0.4s cubic-bezier(0.22,1,0.36,1), opacity 0.28s ease;
}

.nv2-line--bottom { width: 12px; }

.nv2-menu-btn.is-open .nv2-line { width: 18px; }

.nv2-menu-btn.is-open .nv2-line--top {
  transform: translateY(2.95px) rotate(45deg);
}

.nv2-menu-btn.is-open .nv2-line--bottom {
  transform: translateY(-2.95px) rotate(-45deg);
}

/* Cotizar — label + arrow (mirrors the menu visually) */
.nv2-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 0;
}

.nv2-cta-arrow {
  font-size: 0.82em;
  line-height: 1;
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
}

.nv2-cta:hover .nv2-cta-arrow { transform: translate(2px, -2px); }

/* Scroll progress — thin white→blue gradient line at the pill's bottom */
.nv2-progress-line {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 0;
  height: 2px;
  width: auto;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, #ffffff 0%, #8fb9ff 55%, #0d2f6f 100%);
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(143,185,255,0.4);
  transition: transform 0.1s linear;
  pointer-events: none;
}

/* Scroll percentage — numeric readout on the right of the bar */
.nv2-pct {
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #8fb9ff;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  text-shadow: 0 0 8px rgba(143,185,255,0.3);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  #navbar {
    top: 12px !important;
    width: calc(100% - 24px) !important;
    border-radius: 22px !important;
  }
  #navbar::before { border-radius: 22px !important; }
  #navbar::after { border-radius: 22px !important; }
  .nv2-bar {
    height: 62px;
    padding: 0 16px;
    gap: clamp(14px, 4vw, 28px);
  }
  .nv2-logo {
    padding: 7px 16px;
    min-height: 54px;
  }
  .nv2-logo::before {
    inset: -11px -16px;
    filter: blur(7px);
  }
  .nv2-logo-img { width: clamp(150px, 32vw, 188px); }
  .nv2-menu-btn,
  .nv2-cta { font-size: 0.6rem; letter-spacing: 0.14em; }
  .nv2-cta-txt { display: none; }
  .nv2-pct { right: 14px; font-size: 0.55rem; }
}


/* ═══════════════════════════════════════════════════════════════
   E-COMMERCE ESTRELLA — SECTION
   ═══════════════════════════════════════════════════════════════ */

.ecom-vault {
  min-height: min(100svh, 760px);
  background:
    linear-gradient(180deg, rgba(5,8,15,0.98) 0%, rgba(2,5,11,1) 58%, rgba(4,8,14,1) 100%);
  padding: clamp(32px, 4svh, 48px) 0 clamp(24px, 3svh, 34px);
  position: relative;
  z-index: 3;
  overflow: hidden;
  isolation: isolate;
}

.ecom-vault::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: #02050b;
  background-image:
    linear-gradient(rgba(255,255,255,0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,185,255,0.028) 1px, transparent 1px),
    linear-gradient(115deg, transparent 0%, rgba(143,185,255,0.045) 46%, transparent 62%);
  background-size: 48px 48px, 48px 48px, 100% 100%;
  opacity: 0.8;
  pointer-events: none;
  z-index: 0;
}

.ecom-vault::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(13,47,111,0.16), transparent 24%, transparent 76%, rgba(177,31,36,0.09)),
    linear-gradient(180deg, rgba(255,255,255,0.055), transparent 18%, transparent 86%, rgba(143,185,255,0.045));
  pointer-events: none;
  z-index: 0;
}

.ecom-vault__shell {
  position: relative;
  z-index: 1;
  width: 79%;
  max-width: none;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: clamp(8px, 1.2svh, 14px);
  align-content: start;
  min-height: calc(min(100svh, 760px) - clamp(56px, 7svh, 82px));
}

.ecom-vault__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 180px);
  align-items: end;
  gap: clamp(14px, 3vw, 32px);
}

.ecom-vault__header {
  min-width: 0;
}

.ecom-vault__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: rgba(179,207,255,0.78);
}

.ecom-vault__eyebrow::before {
  content: '';
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, rgba(177,31,36,0.9), rgba(143,185,255,0.62));
}

.ecom-vault__title {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.85rem, 1.6vw, 1.3rem);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: 0;
  color: #ffffff;
  margin: 0;
  text-wrap: balance;
}

.ecom-vault__sub {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.70rem, 0.66rem + 0.15vw, 0.82rem);
  line-height: 1.50;
  color: rgba(236,243,255,0.60);
  margin: 5px 0 0;
  max-width: 700px;
}

.ecom-vault__metric {
  justify-self: end;
  min-width: 140px;
  padding: 10px 14px;
  border: 1px solid rgba(143,185,255,0.16);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.025)),
    rgba(4,11,24,0.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 18px 48px rgba(0,0,0,0.24);
}

.ecom-vault__metric-value {
  display: block;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(1.1rem, 1.6vw, 1.6rem);
  font-weight: 900;
  line-height: 0.92;
  color: #ffffff;
}

.ecom-vault__metric-label {
  display: block;
  margin-top: 5px;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
  color: rgba(179,207,255,0.62);
}

.ecom-vault__tabs {
  justify-self: start;
  display: grid;
  grid-template-columns: repeat(2, minmax(96px, 130px));
  gap: 3px;
  padding: 3px;
  border: 1px solid rgba(143,185,255,0.18);
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.02)),
    rgba(3,9,20,0.74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.065), 0 16px 42px rgba(0,0,0,0.24);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
}

.ecom-vault__tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: rgba(236,243,255,0.62);
  cursor: pointer;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  transition: color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.ecom-vault__tab::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.12) 44%, transparent 62%),
    linear-gradient(180deg, rgba(143,185,255,0.18), rgba(13,47,111,0.32));
  transform: translateX(-120%);
  opacity: 0;
  transition: transform 0.45s cubic-bezier(0.22,1,0.36,1), opacity 0.25s ease;
}

.ecom-vault__tab span {
  position: relative;
  z-index: 1;
  display: inline-block;
  max-width: 100%;
}

.ecom-vault__tab:is(:hover, :focus-visible) {
  color: #ffffff;
}

.ecom-vault__tab:focus-visible {
  outline: 2px solid rgba(143,185,255,0.72);
  outline-offset: 2px;
}

.ecom-vault__tab.is-active {
  color: #ffffff;
  background: rgba(13,47,111,0.5);
  box-shadow: inset 0 0 0 1px rgba(143,185,255,0.22), 0 10px 28px rgba(13,47,111,0.22);
}

.ecom-vault__tab.is-active::before {
  transform: translateX(0);
  opacity: 1;
}

.ecom-vault__grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px) / 3);
  gap: 16px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 2px 2px 10px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(143,185,255,0.35) rgba(255,255,255,0.04);
  transition: opacity 0.24s ease, filter 0.24s ease, transform 0.24s ease;
}

.ecom-vault__grid::-webkit-scrollbar {
  height: 6px;
}

.ecom-vault__grid::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.04);
}

.ecom-vault__grid::-webkit-scrollbar-thumb {
  background: rgba(143,185,255,0.3);
  border-radius: 999px;
}

.ecom-vault.is-switching .ecom-vault__grid {
  opacity: 0.36;
  filter: blur(7px);
  transform: translateY(8px);
}

.epc {
  min-width: 0;
  min-height: 300px;
  height: clamp(300px, 38svh, 348px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.018)),
    #030712;
  display: flex;
  flex-direction: column;
  position: relative;
  scroll-snap-align: start;
  border: 1px solid rgba(143,185,255,0.12);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(0,0,0,0.22);
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.epc::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.07) 48%, transparent 58%);
  opacity: 0;
  transform: translateX(-35%);
  transition: opacity 0.3s ease, transform 0.4s ease;
}

.epc:hover {
  transform: translateY(-4px);
  border-color: rgba(143,185,255,0.28);
  box-shadow: 0 24px 56px rgba(0,0,0,0.32), 0 0 0 1px rgba(143,185,255,0.08);
}

.epc:hover::after {
  opacity: 1;
  transform: translateX(35%);
}

.epc__media {
  position: relative;
  height: clamp(126px, 17svh, 162px);
  flex: 0 0 auto;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(13,47,111,0.28), rgba(5,8,15,0.92)),
    #06090f;
}

.epc__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  padding: 10px;
  transition: transform 0.55s cubic-bezier(0.22,1,0.36,1), filter 0.35s ease;
  filter: saturate(0.9) brightness(0.92);
}

.epc:hover .epc__img {
  transform: scale(1.045);
  filter: saturate(1.04) brightness(1);
}

.epc__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(2,5,11,0.04) 0%, rgba(2,5,11,0.66) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px;
  opacity: 1;
  transition: opacity 0.35s ease;
}

.epc__badge {
  display: inline-flex;
  max-width: 100%;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(3,9,20,0.66);
  border: 1px solid rgba(255,255,255,0.16);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.epc__badge--hot {
  background: rgba(13,47,111,0.55);
  border-color: rgba(143,185,255,0.35);
  color: #8fb9ff;
}

.epc__quick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  color: #02050b;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.epc__quick:hover {
  background: #fff;
  transform: translateY(-2px);
}

.epc__info {
  min-width: 0;
  padding: 15px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: 1;
  border-top: 1px solid rgba(255,255,255,0.075);
}

.epc__cat {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(143,185,255,0.72);
}

.epc__name {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.92rem, 0.86rem + 0.16vw, 1.05rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
  color: rgba(255,255,255,0.93);
  margin: 0;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.epc__desc {
  margin: 0;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.74rem;
  line-height: 1.42;
  color: rgba(236,243,255,0.52);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── epc__foot / epc__price / epc__btn (legacy) — anuladas; usar epc__btn en el nuevo bloque principal ─── */
.epc__foot { display: none; }
.epc__price { display: none; }

.ecom-vault__cta-banner {
  background:
    linear-gradient(90deg, rgba(13,47,111,0.42), rgba(4,11,24,0.86) 56%, rgba(177,31,36,0.16)),
    #030712;
  border: 1px solid rgba(143,185,255,0.16);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 18px 48px rgba(0,0,0,0.24);
}

.ecom-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: clamp(62px, 8.2svh, 80px);
  padding: 10px clamp(18px, 2.8vw, 30px);
  gap: 18px;
}

.ecom-cta__left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.ecom-cta__count {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  font-weight: 900;
  letter-spacing: 0;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}

.ecom-cta__label {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.74rem;
  line-height: 1.35;
  color: rgba(236,243,255,0.58);
  max-width: 220px;
  overflow-wrap: anywhere;
}

.ecom-cta__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 44px;
  padding: 0 24px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,0.72);
  color: #fff;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #031028;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease;
  box-shadow: 0 12px 30px rgba(255,255,255,0.14), 0 12px 34px rgba(13,47,111,0.22);
  position: relative;
  overflow: hidden;
}

.ecom-cta__link::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(13,47,111,0.13) 50%, transparent 70%);
  transform: translateX(-130%);
  transition: transform 0.65s cubic-bezier(0.22,1,0.36,1);
}

.ecom-cta__link:hover {
  background: #eaf2ff;
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(255,255,255,0.16), 0 18px 42px rgba(13,47,111,0.28);
}

.ecom-cta__link:hover::before {
  transform: translateX(130%);
}

.ecom-cta__link svg {
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.ecom-cta__link:hover svg {
  transform: translateX(4px);
}

@media (min-width: 1600px) {
  .ecom-vault__grid {
    grid-auto-columns: calc((100% - 54px) / 4);
    gap: 18px;
  }
}

@media (max-width: 980px) {
  .ecom-vault {
    min-height: auto;
    padding: 66px 0 42px;
  }

  .ecom-vault__shell {
    min-height: 0;
    gap: 16px;
  }

  .ecom-vault__top {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 16px;
  }

  .ecom-vault__metric {
    justify-self: start;
    width: min(100%, 260px);
  }

  .ecom-vault__grid {
    grid-auto-columns: minmax(286px, 48%);
  }
}

@media (max-width: 640px) {
  .ecom-vault {
    padding: 28px 0 28px;
  }

  .ecom-vault__shell {
    padding-inline: 24px;
  }

  .ecom-vault__title {
    font-size: clamp(1.85rem, 10vw, 2.5rem);
  }

  .ecom-vault__sub {
    font-size: 0.8rem;
    line-height: 1.36;
  }

  .ecom-vault__top {
    gap: 10px;
  }

  .ecom-vault__metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    width: 100%;
    padding: 10px 12px;
    gap: 14px;
  }

  .ecom-vault__metric-value {
    font-size: 1.45rem;
  }

  .ecom-vault__metric-label {
    margin-top: 0;
    max-width: 150px;
    text-align: right;
    font-size: 0.52rem;
  }

  .ecom-vault__tabs {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ecom-vault__tab {
    min-height: 38px;
    font-size: 0.6rem;
    letter-spacing: 0.09em;
  }

  .ecom-vault__grid {
    grid-auto-columns: min(84vw, 318px);
    gap: 12px;
    padding-bottom: 8px;
  }

  .epc {
    height: 276px;
    min-height: 276px;
  }

  .epc__media {
    height: 106px;
  }

  .epc__info {
    padding: 12px;
    gap: 5px;
  }

  .epc__name {
    font-size: 0.88rem;
  }

  .epc__desc {
    font-size: 0.7rem;
  }

  .epc__btn {
    min-width: 88px;
    padding-inline: 12px;
  }

  .ecom-cta__inner {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 12px;
    gap: 10px;
  }

  .ecom-cta__left {
    justify-content: space-between;
    gap: 12px;
  }

  .ecom-cta__label {
    max-width: 170px;
    text-align: right;
  }

  .ecom-cta__link {
    width: calc(100% - 72px);
    align-self: flex-start;
    min-height: 40px;
    padding-inline: 14px;
    gap: 9px;
    font-size: 0.64rem;
  }
}

@media (max-width: 380px) {
  .ecom-vault__tab {
    font-size: 0.54rem;
  }

  .epc__btn {
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════════════════════
   E-COMMERCE ESTRELLA — INLINE PREMIUM SHOWROOM OVERRIDE
   ═══════════════════════════════════════════════════════════════ */

#tienda-estrella-motortrust.ecom-vault {
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: auto;
  padding: clamp(34px, 3.5vw, 48px) 0 clamp(30px, 3vw, 42px);
  background:
    radial-gradient(circle at 50% -8%, rgba(77,141,255,0.34), transparent 34%),
    radial-gradient(circle at 18% 26%, rgba(13,47,111,0.62), transparent 31%),
    radial-gradient(circle at 84% 44%, rgba(91,151,255,0.18), transparent 28%),
    linear-gradient(180deg, #02050b 0%, #06111f 48%, #02050b 100%);
}

#tienda-estrella-motortrust.ecom-vault::before {
  background-color: transparent;
  background-image:
    linear-gradient(rgba(143,185,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,185,255,0.05) 1px, transparent 1px),
    linear-gradient(115deg, transparent 0%, rgba(77,141,255,0.11) 48%, transparent 61%);
  background-size: 64px 64px, 64px 64px, 100% 100%;
  opacity: 0.58;
}

#tienda-estrella-motortrust.ecom-vault::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), transparent 16%, transparent 82%, rgba(77,141,255,0.08)),
    radial-gradient(ellipse at 50% 32%, rgba(143,185,255,0.1), transparent 56%);
}

.ecom-vault__shell {
  width: 79%;
  max-width: none;
  margin: 0 auto;
  min-height: 0;
  gap: clamp(10px, 1.2vw, 16px);
}

.ecom-vault__top {
  grid-template-columns: minmax(0, 1fr) minmax(140px, 180px);
  align-items: end;
}

.ecom-vault__eyebrow {
  color: rgba(143,185,255,0.86);
}

.ecom-vault__eyebrow::before {
  background: linear-gradient(90deg, rgba(143,185,255,0.95), rgba(77,141,255,0.4));
}

.ecom-vault__title {
  width: min(100%, 850px);
  font-size: clamp(1.3rem, 2.4vw, 2.0rem);
  line-height: 0.96;
  text-shadow: 0 8px 24px rgba(77,141,255,0.15);
}

.ecom-vault__sub {
  max-width: 760px;
  color: rgba(226,239,255,0.66);
}

.ecom-vault__metric {
  position: relative;
  overflow: hidden;
  padding: 10px 14px;
  background:
    linear-gradient(180deg, rgba(143,185,255,0.12), rgba(6,17,31,0.8)),
    rgba(3,10,21,0.82);
  border-color: rgba(143,185,255,0.24);
  box-shadow:
    0 24px 60px rgba(0,0,0,0.28),
    0 0 44px rgba(77,141,255,0.12),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

.ecom-vault__metric::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.16) 44%, transparent 58%);
  opacity: 0.42;
  transform: translateX(-42%);
}

.ecom-vault__tabs {
  width: auto;
  grid-template-columns: auto auto;
  justify-self: start;
  padding: 3px;
  border-radius: 8px;
  border-color: rgba(143,185,255,0.2);
  background:
    linear-gradient(180deg, rgba(143,185,255,0.09), rgba(255,255,255,0.02)),
    rgba(2,8,18,0.78);
  box-shadow:
    0 22px 60px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.07);
}

.ecom-vault__tab {
  min-height: 32px;
  gap: 4px;
  border-radius: 6px;
  color: rgba(226,239,255,0.62);
  letter-spacing: 0.11em;
}

.ecom-vault__tab span {
  font-size: 0.54rem;
}

.ecom-vault__tab small {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.48rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(226,239,255,0.46);
  white-space: nowrap;
}

.ecom-vault__tab.is-active {
  background:
    radial-gradient(circle at 50% 0%, rgba(143,185,255,0.22), transparent 52%),
    linear-gradient(180deg, rgba(13,47,111,0.82), rgba(5,21,48,0.92));
  border: 1px solid rgba(143,185,255,0.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 12px 38px rgba(13,47,111,0.42),
    0 0 26px rgba(77,141,255,0.12);
}

.ecom-vault__tab.is-active small {
  color: rgba(194,218,255,0.76);
}

.ecom-showroom {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto;
  height: auto;
  min-height: 0;
  border: 1px solid rgba(143,185,255,0.16);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(9,23,45,0.86), rgba(2,8,18,0.92)),
    rgba(2,8,18,0.86);
  box-shadow:
    0 34px 110px rgba(0,0,0,0.36),
    inset 0 1px 0 rgba(255,255,255,0.055);
  overflow: hidden;
}

.ecom-showroom::before,
.ecom-showroom::after {
  content: '';
  position: absolute;
  pointer-events: none;
}

.ecom-showroom::before {
  inset: 0;
  background:
    linear-gradient(rgba(143,185,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,185,255,0.03) 1px, transparent 1px);
  background-size: 52px 52px;
  opacity: 0.52;
}

.ecom-showroom::after {
  left: 8%;
  right: 8%;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143,185,255,0.72), transparent);
}

.ecom-showroom__bar {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: clamp(8px, 1.2vw, 14px) clamp(10px, 1.6vw, 18px);
  border-bottom: 1px solid rgba(143,185,255,0.12);
}

.ecom-showroom__bar strong {
  display: block;
  margin-top: 3px;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.88rem, 0.8rem + 0.35vw, 1.12rem);
  line-height: 1.08;
  color: #fff;
}

.ecom-showroom__kicker,
.ecom-showroom__status {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: rgba(143,185,255,0.72);
}

.ecom-showroom__status {
  flex-shrink: 0;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(143,185,255,0.16);
  background: rgba(3,12,28,0.68);
}

.ecom-showroom__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.ecom-vault__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, auto));
  grid-auto-columns: initial;
  gap: 14px 12px;
  padding: 8px;
  min-height: 0;
  overflow: visible;
  scroll-snap-type: none;
  scrollbar-width: auto;
  transition: opacity 0.26s ease, filter 0.26s ease, transform 0.26s ease;
  align-items: stretch;
}

.ecom-vault__grid::-webkit-scrollbar {
  display: none;
}

.ecom-vault.is-switching .ecom-vault__grid {
  pointer-events: none;
}

.epc {
  height: auto;
  min-height: 0;
  border: 1px solid rgba(143,185,255,0.1);
  border-radius: 12px;
  scroll-snap-align: unset;
  background:
    radial-gradient(circle at 50% 0%, rgba(77,141,255,0.1), transparent 44%),
    linear-gradient(180deg, rgba(7,18,36,0.96), rgba(3,8,18,0.98));
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s ease, border-color 0.3s ease;
}

.epc:hover {
  z-index: 2;
  transform: translateY(-5px);
  border-color: rgba(143,185,255,0.26);
  box-shadow:
    0 24px 56px rgba(0,0,0,0.34),
    0 0 0 1px rgba(143,185,255,0.18),
    inset 0 1px 0 rgba(255,255,255,0.06);
}

.epc:focus-visible {
  outline: 2px solid rgba(143,185,255,0.92);
  outline-offset: 3px;
}

.epc__media {
  width: 100%;
  min-height: 0;
  aspect-ratio: 4/3;
  height: auto;
  border: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
  text-align: inherit;
  background:
    radial-gradient(circle at 50% 42%, rgba(143,185,255,0.15), transparent 36%),
    linear-gradient(135deg, rgba(13,47,111,0.32), rgba(2,8,18,0.94));
}

.epc__media:focus-visible,
.epc__btn:focus-visible,
.ecom-vault__tab:focus-visible,
.ecom-showroom__nav-btn:focus-visible,
.ecom-showroom__dot:focus-visible,
.ecom-lightbox__actions a:focus-visible,
.ecom-lightbox__actions button:focus-visible,
.ecom-lightbox__close:focus-visible {
  outline: 2px solid rgba(143,185,255,0.92);
  outline-offset: 3px;
}

.epc__img {
  width: 100%;
  height: 100%;
  padding: 10px;
  object-fit: contain;
  transform: scale(1.0);
  filter: saturate(0.98) brightness(0.94) contrast(1.04);
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), filter 0.35s ease;
}

.epc:hover .epc__img {
  transform: scale(1.07);
  filter: saturate(1.1) brightness(1.04) contrast(1.06);
}

/* ─── Zoom icon overlay ─── */
.epc__zoom {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(2,8,18,0.78);
  border: 1px solid rgba(143,185,255,0.3);
  color: rgba(226,239,255,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.28s ease, transform 0.28s ease;
  pointer-events: none;
}

.epc:hover .epc__zoom {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.05);
}

.epc__badge {
  position: absolute;
  top: 8px;
  left: 8px;
  max-width: calc(100% - 16px);
  padding: 4px 7px;
  border: 1px solid rgba(143,185,255,0.22);
  border-radius: 999px;
  background: rgba(2,8,18,0.68);
  color: rgba(226,239,255,0.88);
  box-shadow: 0 10px 24px rgba(0,0,0,0.22);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.49rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.epc__badge--hot {
  border-color: rgba(255,255,255,0.4);
  background: rgba(255,255,255,0.9);
  color: #031028;
}

.epc__info {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.epc__name {
  min-height: 0;
  margin: 0;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.82rem, 0.78rem + 0.1vw, 0.92rem);
  font-weight: 700;
  line-height: 1.16;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.epc__desc {
  display: block;
  min-height: 0;
  margin: 0;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.66rem, 0.62rem + 0.06vw, 0.72rem);
  line-height: 1.38;
  color: rgba(226,239,255,0.58);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.epc__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 31px;
  margin-top: 5px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 999px;
  background: #ffffff;
  color: #031028;
  box-shadow: 0 8px 20px rgba(0,0,0,0.14);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.1;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.25s ease;
  box-sizing: border-box;
}

.epc__btn:hover {
  transform: translateY(-2px);
  background: #eaf2ff;
}

.epc.is-new {
  animation: ecomCardIn 0.48s cubic-bezier(0.22,1,0.36,1) both;
}

@keyframes ecomCardIn {
  from { opacity: 0; transform: translateY(18px) scale(0.985); filter: blur(8px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

.ecom-showroom__footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: clamp(10px, 1.2vw, 14px) clamp(14px, 2vw, 24px);
  border-top: 1px solid rgba(143,185,255,0.12);
  background:
    linear-gradient(90deg, rgba(13,47,111,0.28), rgba(2,8,18,0.74) 58%, rgba(77,141,255,0.08));
}

.ecom-showroom__footer p {
  margin: 0;
  max-width: 540px;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.74rem;
  line-height: 1.45;
  color: rgba(226,239,255,0.55);
}

.ecom-showroom__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
}

.ecom-showroom__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  width: 36px;
  border: 1px solid rgba(143,185,255,0.22);
  border-radius: 50%;
  background: rgba(255,255,255,0.045);
  color: rgba(226,239,255,0.84);
  cursor: pointer;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.ecom-showroom__nav-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  background: rgba(143,185,255,0.14);
  border-color: rgba(143,185,255,0.42);
  color: #fff;
}

.ecom-showroom__nav-btn:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.ecom-showroom__pager {
  min-width: 108px;
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 0 4px;
}

.ecom-showroom__pager span {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(226,239,255,0.72);
}

.ecom-showroom__dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.ecom-showroom__dot {
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 999px;
  background: rgba(143,185,255,0.28);
  cursor: pointer;
  transition: width 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.ecom-showroom__dot.is-active {
  width: 24px;
  background: #8fb9ff;
  box-shadow: 0 0 20px rgba(77,141,255,0.34);
}

.ecom-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2500;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 54px);
  background:
    radial-gradient(circle at 50% 22%, rgba(77,141,255,0.24), transparent 38%),
    rgba(1,5,12,0.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.ecom-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.ecom-lightbox__dialog {
  width: min(100%, 1120px);
  max-height: min(720px, 86svh);
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(280px, 0.58fr);
  gap: 0;
  border: 1px solid rgba(143,185,255,0.2);
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(9,23,45,0.96), rgba(2,8,18,0.98));
  box-shadow: 0 34px 120px rgba(0,0,0,0.58), 0 0 0 1px rgba(77,141,255,0.08);
  transform: translateY(18px) scale(0.98);
  transition: transform 0.28s cubic-bezier(0.22,1,0.36,1);
}

.ecom-lightbox.is-open .ecom-lightbox__dialog {
  transform: translateY(0) scale(1);
}

.ecom-lightbox__media {
  min-height: 380px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 50%, rgba(143,185,255,0.2), transparent 36%),
    linear-gradient(135deg, rgba(13,47,111,0.34), rgba(2,8,18,0.96));
}

.ecom-lightbox__media img {
  width: min(80%, 620px);
  max-height: 60svh;
  object-fit: contain;
  filter: drop-shadow(0 34px 70px rgba(0,0,0,0.42));
}

.ecom-lightbox__copy {
  padding: clamp(18px, 2.2vw, 28px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  border-left: 1px solid rgba(143,185,255,0.12);
}

.ecom-lightbox__copy > span {
  align-self: flex-start;
  padding: 6px 10px;
  border: 1px solid rgba(143,185,255,0.22);
  border-radius: 999px;
  color: rgba(143,185,255,0.86);
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.ecom-lightbox__copy h3 {
  margin: 0;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(1.3rem, 2.35vw, 2.45rem);
  line-height: 0.96;
  color: #fff;
}

.ecom-lightbox__copy p {
  margin: 0;
  color: rgba(226,239,255,0.62);
  font-size: 0.8rem;
  line-height: 1.34;
}

.ecom-lightbox__specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 0;
}

.ecom-lightbox__spec {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border: 1px solid rgba(143,185,255,0.16);
  border-radius: 8px;
  background: rgba(255,255,255,0.035);
}

.ecom-lightbox__spec-label {
  color: rgba(143,185,255,0.72);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.ecom-lightbox__spec-value {
  color: rgba(236,243,255,0.94);
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.ecom-lightbox__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.ecom-lightbox__actions a,
.ecom-lightbox__actions button,
.ecom-lightbox__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  cursor: pointer;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-weight: 900;
  text-decoration: none;
}

.ecom-lightbox__actions a {
  min-height: 38px;
  padding: 0 16px;
  background: #fff;
  color: #031028;
}

.ecom-lightbox__actions button {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(143,185,255,0.2);
  background: rgba(255,255,255,0.04);
  color: rgba(226,239,255,0.78);
}

.ecom-lightbox__close {
  position: absolute;
  top: clamp(18px, 3vw, 34px);
  right: clamp(18px, 3vw, 34px);
  width: 46px;
  height: 46px;
  border: 1px solid rgba(143,185,255,0.24);
  background: rgba(3,12,28,0.82);
  color: #fff;
  z-index: 2;
}

body.ecom-lightbox-open {
  overflow: hidden;
}

body.ecom-lightbox-open .float-wa {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.92);
}

@media (max-width: 1180px) {
  .ecom-vault__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, auto));
  }
}

@media (max-width: 1050px) {
  .ecom-vault__shell {
    width: auto;
    margin: 0 clamp(24px, 5vw, 120px);
  }
}

@media (max-width: 820px) {
  #tienda-estrella-motortrust.ecom-vault {
    padding: 68px 0 70px;
  }

  .ecom-vault__shell {
    width: auto;
    margin: 0 16px;
  }

  .ecom-vault__top {
    grid-template-columns: 1fr;
  }

  .ecom-vault__metric {
    justify-self: stretch;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .ecom-vault__tabs {
    width: 100%;
  }

  .ecom-vault__tab {
    min-height: 58px;
  }

  .ecom-vault__tab small {
    display: none;
  }

  .ecom-showroom__bar {
    align-items: flex-start;
    flex-direction: column;
  }

  .ecom-showroom__footer {
    align-items: flex-start;
  }

  .ecom-showroom__actions {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
  }

  .ecom-showroom__nav {
    width: 100%;
    justify-content: space-between;
  }

  .ecom-showroom__pager {
    min-width: 0;
    flex: 1 1 auto;
  }

  .ecom-lightbox__dialog {
    grid-template-columns: 1fr;
    max-height: 86svh;
    overflow-y: auto;
  }

  .ecom-lightbox__media {
    min-height: 240px;
  }

  .ecom-lightbox__copy {
    padding: 18px 18px 20px;
    gap: 10px;
    border-left: 0;
    border-top: 1px solid rgba(143,185,255,0.12);
  }

  .ecom-lightbox__media img {
    width: min(74%, 420px);
    max-height: 40svh;
  }

  .ecom-lightbox__copy h3 {
    font-size: clamp(1.2rem, 7.3vw, 2rem);
    line-height: 0.98;
  }

  .ecom-lightbox__copy p {
    font-size: 0.78rem;
    line-height: 1.32;
  }

  .ecom-lightbox__spec {
    padding: 8px 9px;
  }

  .ecom-lightbox__spec-value {
    font-size: 0.7rem;
  }
}

@media (max-width: 640px) {
  .ecom-vault__grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, minmax(0, auto));
  }
}

@media (max-width: 520px) {
  .ecom-vault__shell {
    padding-inline: 24px;
  }

  .ecom-vault__title {
    font-size: clamp(2.45rem, 14vw, 4.1rem);
  }

  .epc {
    min-height: 0;
  }

  .epc__media {
    min-height: 0;
    aspect-ratio: 4/3;
  }

  .epc__info {
    padding: 12px 14px;
  }

  .epc__name {
    font-size: 0.88rem;
  }

  .epc__desc {
    font-size: 0.72rem;
  }

  .ecom-lightbox {
    padding: 14px;
  }

  .ecom-lightbox__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .ecom-lightbox__close {
    top: 16px;
    right: 16px;
  }
}

@media (max-width: 380px) {
  .ecom-lightbox__specs {
    grid-template-columns: 1fr;
  }
}


/* ── Logo sizing (nv2) ── */
.nv2-logo-img {
  width: clamp(210px, 18vw, 286px) !important;
  height: auto !important;
  filter:
    drop-shadow(0 14px 26px rgba(0,0,0,0.34))
    drop-shadow(0 0 18px rgba(143,185,255,0.12)) !important;
}

.nv2-logo {
  padding: 10px 22px !important;
  min-height: 66px !important;
}

.nv2-logo::before {
  inset: -14px -20px !important;
}

.nv2-logo::after {
  inset: 0 !important;
}
@media (max-width: 768px) {
  .nv2-logo {
    padding: 7px 16px !important;
    min-height: 54px !important;
  }
  .nv2-logo::before {
    inset: -11px -16px !important;
  }
  .nv2-logo-img { width: clamp(150px, 32vw, 188px) !important; }
}
#navMenuBtn { opacity: 0; }
#navLogo { opacity: 0; }
#navCtaBtn { opacity: 0; }

/* ═══════════════════════════════════════════════════════════════
   HERO — "DUAL CORE" · Culata vs Motor 7/8 enfrentados
   Concepto técnico / NASA-Tesla · simétrico · 1 solo viewport
   Paleta: blanco + azul oscuro · imágenes con color original
   ═══════════════════════════════════════════════════════════════ */

section.hero-x {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  height: 100vh;
  height: 100svh;
  min-height: 480px;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 50% -10%, #0a1b3d 0%, #050d22 42%, #02050b 100%);
  isolation: isolate;
  --hx-blue: #4d8dff;
  --hx-metal: #8fb9ff;
}

/* ── Fondo técnico ── */
.hx-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

.hx-bg__grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(143,185,255,0.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,185,255,0.11) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(circle at 50% 38%, #000 0%, transparent 72%);
          mask-image: radial-gradient(circle at 50% 38%, #000 0%, transparent 72%);
}


/* ── Contenedor general (ocupa el viewport, sin scroll) ── */
.hx-wrap {
  position: relative;
  z-index: 2;
  height: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: clamp(68px, 9vh, 96px) clamp(20px, 4vw, 64px) clamp(10px, 1.6vh, 18px);
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1.6vh, 18px);
}

/* ── Escenario de 3 columnas ── */
.hx-stage {
  flex: 1;
  width: 100%;
  min-height: 0;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(175px, 0.74fr) minmax(460px, 1.52fr) minmax(175px, 0.74fr);
  align-items: stretch;
  gap: clamp(10px, 1.4vw, 22px);
}

/* ── Paneles laterales — Vitrinas de exhibición automotriz ── */
.hx-panel {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  border-radius: 10px;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,255,255,0.92) 0%, rgba(240,246,255,0.65) 55%, rgba(13,47,111,0.04) 100%);
  border: 1px solid rgba(255,255,255,0.5);
  box-shadow:
    0 2px 12px rgba(13,47,111,0.05),
    0 0 0 1px rgba(77,141,255,0.03),
    inset 0 1px 0 rgba(255,255,255,0.8);
  overflow: hidden;
}


/* Inclinación 3D hacia el centro */
.hx-panel--left  {
  transform: perspective(900px) rotateY(5deg);
  transform-origin: right center;
}
.hx-panel--right {
  transform: perspective(900px) rotateY(-5deg);
  transform-origin: left center;
}

/* Corner brackets — ingeniería de precisión */
.hx-corner {
  position: absolute;
  width: 16px; height: 16px;
  border: 1px solid rgba(77,141,255,0.35);
  pointer-events: none;
  z-index: 6;
}
.hx-corner--tl { top: 6px; left: 6px; border-right: none; border-bottom: none; }
.hx-corner--tr { top: 6px; right: 6px; border-left: none; border-bottom: none; }
.hx-corner--bl { bottom: 6px; left: 6px; border-right: none; border-top: none; }
.hx-corner--br { bottom: 6px; right: 6px; border-left: none; border-top: none; }

/* Cabecera */
.hx-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
  padding: 8px 10px 0;
  z-index: 4;
}

.hx-panel__idx {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: rgba(13,47,111,0.28);
  font-variant-numeric: tabular-nums;
}

.hx-panel__name {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.64rem, 0.56rem + 0.3vw, 0.8rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0d2f6f;
}

/* ═══ MEDIA: La pieza ROMPE el marco — flota fuera del contenedor ═══ */
.hx-panel__media {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  z-index: 3;
  overflow: visible;
}


/* Destello de lente — lens flare sutil arriba */
.hx-panel__img {
  max-width: 92%;
  max-height: 92%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter:
    drop-shadow(0 4px 12px rgba(13,47,111,0.12))
    drop-shadow(0 14px 32px rgba(0,0,0,0.18))
    drop-shadow(0 0 28px rgba(143,185,255,0.16));
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), filter 0.6s ease;
  z-index: 1;
  position: relative;
}

.hx-panel:hover .hx-panel__img {
  transform: scale(1.06);
  filter:
    drop-shadow(0 6px 16px rgba(13,47,111,0.18))
    drop-shadow(0 18px 38px rgba(0,0,0,0.24))
    drop-shadow(0 0 38px rgba(143,185,255,0.24));
}


/* Footer — specs minimalistas */
.hx-panel__foot {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex-shrink: 0;
  padding: 0 10px 8px;
  z-index: 4;
}

.hx-spec {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.55rem, 0.52rem + 0.14vw, 0.64rem);
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #1a2330;
}
.hx-spec--dim { color: rgba(13,47,111,0.4); font-weight: 500; }


/* ── Núcleo central ── */
.hx-core {
  position: relative;
  min-width: 0;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: clamp(2px, 0.4vh, 5px);
  padding: clamp(2px, 0.4vh, 6px) clamp(8px, 1vw, 16px);
  min-height: 0;
}

.hx-core::before,
.hx-core::after {
  content: '';
  position: absolute;
  left: 50%;
  pointer-events: none;
  z-index: -1;
}

.hx-core::before {
  top: 50%;
  width: min(48vw, 680px);
  aspect-ratio: 1.15;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(77,141,255,0.18) 0%, rgba(77,141,255,0.075) 32%, transparent 68%);
  filter: blur(18px);
}

.hx-core::after {
  top: 14%;
  bottom: 14%;
  width: min(34vw, 500px);
  transform: translateX(-50%);
  border-top: 1px solid rgba(143,185,255,0.13);
  border-bottom: 1px solid rgba(143,185,255,0.08);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000 72%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 28%, #000 72%, transparent);
}

.hx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 28px;
  padding: 0 13px;
  border: 1px solid rgba(143,185,255,0.16);
  border-radius: 999px;
  background: rgba(5,14,34,0.56);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.045);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.56rem, 0.53rem + 0.16vw, 0.66rem);
  font-weight: 700;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--hx-metal);
}
.hx-eyebrow__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--hx-metal);
  box-shadow: 0 0 10px var(--hx-metal);
}

/* ── ARK EMBLEMA — Ingeniería automotriz premium (sin círculos) ── */
.hx-brand {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(380px, 44vh, 540px);
  height: clamp(380px, 44vh, 540px);
  flex-shrink: 0;
  margin: 0;
  isolation: isolate;
}


/* Logo ARK original — presentación premium con drop-shadow cinematográfico */
.hx-brand__logo {
  position: relative;
  z-index: 2;
  width: 88%;
  height: 88%;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 18px 32px rgba(0,0,0,0.48));
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1), filter 0.5s ease;
}

.hx-brand:hover .hx-brand__logo {
  transform: scale(1.05);
  filter: drop-shadow(0 24px 42px rgba(0,0,0,0.56)) drop-shadow(0 0 28px rgba(77,141,255,0.18));
}

.hx-title {
  font-family: var(--font-display, 'Inter', sans-serif);
  width: min(100%, 560px);
  font-size: clamp(1.35rem, 0.65rem + 1.3vw, 1.95rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: #fff;
  margin: 0;
  text-wrap: balance;
  text-shadow: 0 6px 24px rgba(0,0,0,0.5), 0 0 18px rgba(77,141,255,0.06);
}
.hx-title__l {
  display: block;
  white-space: nowrap;
}
.hx-title__l--accent {
  background: linear-gradient(110deg, #ffffff 0%, var(--hx-metal) 55%, var(--hx-blue) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hx-title .char { display: inline-block; }

.hx-sub {
  font-size: clamp(0.65rem, 0.6rem + 0.12vw, 0.74rem);
  line-height: 1.3;
  color: rgba(255,255,255,0.6);
  max-width: 40ch;
  margin: 0;
  text-wrap: balance;
}

.hx-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: 3px;
  margin-top: 1px;
  padding: 3px;
  border: 1px solid rgba(143,185,255,0.17);
  border-radius: 16px;
  background: rgba(2,8,20,0.52);
  box-shadow: 0 18px 44px rgba(0,0,0,0.27), inset 0 1px 0 rgba(255,255,255,0.055);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.hx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: clamp(178px, 13vw, 208px);
  min-height: 48px;
  padding: 0 20px;
  border-radius: 11px;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.hx-btn--primary {
  background: linear-gradient(135deg, #ffffff, #e8f1ff 36%, #5e9aff 100%);
  color: #031028;
  border: 1px solid rgba(255,255,255,0.78);
  box-shadow: 0 12px 30px rgba(77,141,255,0.28), inset 0 1px 0 rgba(255,255,255,0.94);
}
.hx-btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 52px rgba(77,141,255,0.46), inset 0 1px 0 rgba(255,255,255,0.94);
}
.hx-btn--ghost {
  background: rgba(255,255,255,0.035);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.hx-btn--ghost svg { transition: transform 0.3s ease; }
.hx-btn--ghost:hover { transform: translateY(-3px); background: rgba(77,141,255,0.16); border-color: rgba(143,185,255,0.42); }
.hx-btn--ghost:hover svg { transform: translateX(4px); }

/* ── Trust indicators (nuevo) ── */
.hx-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(4px, 0.7vw, 10px);
  margin-top: 1px;
}
.hx-trust__item {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.48rem, 0.46rem + 0.06vw, 0.55rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(143,185,255,0.48);
  white-space: nowrap;
}

/* Legacy: .hx-core__tag — oculto, reemplazado por .hx-trust */
.hx-core__tag { display: none; }
.hx-core__tag::before,
.hx-core__tag::after { display: none; }

/* ── Barra de indicadores — una sola línea ── */
.hx-bar {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 2.5vw, 28px);
  padding: clamp(7px, 1vh, 11px) clamp(16px, 3vw, 36px);
  border-radius: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(143,185,255,0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.hx-bar__item {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(0.59rem, 0.55rem + 0.16vw, 0.7rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
}
.hx-bar__sep {
  color: rgba(143,185,255,0.2);
  font-weight: 300;
  user-select: none;
}
/* Legacy: ocultar elementos antiguos de la barra */
.hx-bar__num,
.hx-bar__num--brand,
.hx-bar__lbl,
.hx-bar__div { display: none; }

/* ════════ RESPONSIVE ════════ */

/* Tablet grande / laptop angosto */
@media (max-width: 1100px) {
  .hx-stage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .hx-core { grid-column: 1 / -1; grid-row: 1; }
  .hx-panel--left  { grid-column: 1; grid-row: 2; }
  .hx-panel--right { grid-column: 2; grid-row: 2; }
  .hx-title { font-size: clamp(1.25rem, 2.9vw, 1.85rem); }
  .hx-brand { width: clamp(360px, 42vh, 500px); height: clamp(360px, 42vh, 500px); }
  .hx-core::before { width: min(74vw, 700px); }
  .hx-core::after { width: min(62vw, 560px); }
}

/* Tablet — sigue ocupando exactamente el viewport (sin scroll) */
@media (max-width: 768px) {
  .hx-wrap { padding-top: clamp(68px, 9vh, 82px); gap: 8px; }
  .hx-core { gap: 2px; padding-block: 2px; }
  .hx-title { margin: 0; }
  .hx-sub { font-size: 0.64rem; max-width: 36ch; line-height: 1.25; }
  .hx-panel__foot { display: none; }
  .hx-trust { gap: 6px 10px; }
  .hx-trust__item { font-size: 0.52rem; }
  .hx-bar { flex-wrap: wrap; gap: 8px 12px; padding: 7px 14px; }
  .hx-bar__sep:nth-of-type(2) { display: none; }
}

/* Móvil — mantiene 1 solo viewport; overflow:hidden evita scroll */
@media (max-width: 480px) {
  .hx-wrap { padding: 64px 12px 8px; gap: 6px; }
  .hx-stage { gap: 6px; }
  .hx-core { padding-inline: 0; }
  .hx-eyebrow { min-height: 24px; padding-inline: 10px; font-size: 0.46rem; }
  .hx-brand { width: 260px; height: 260px; margin-block: 1px 2px; }
  .hx-title { font-size: clamp(1.05rem, 5vw, 1.35rem); line-height: 0.92; letter-spacing: -0.04em; }
  .hx-title__l { white-space: normal; }
  .hx-sub { display: none; }
  .hx-trust { gap: 4px 8px; }
  .hx-trust__item { font-size: 0.5rem; }
  .hx-actions { width: min(100%, 334px); flex-direction: column; gap: 2px; padding: 3px; margin-top: 1px; }
  .hx-btn { width: 100%; min-width: 0; min-height: 40px; padding-inline: 14px; font-size: 0.62rem; }
  .hx-panel { padding: 8px; border-radius: 12px; }
  .hx-panel__name { font-size: 0.65rem; }
  .hx-bar { padding: 6px 10px; gap: 6px 10px; }
}

/* Pantallas muy bajas (landscape) — comprimir sin desbordar */
@media (max-height: 560px) {
  .hx-wrap { padding-top: 52px; }
  .hx-brand { display: none; }
  .hx-sub { display: none; }
  .hx-trust { display: none; }
  .hx-core { gap: 3px; padding-block: 2px; }
  .hx-title { font-size: clamp(1rem, 3.2vh, 1.4rem); }
  .hx-actions { margin-top: 0; }
  .hx-btn { min-height: 36px; }
}

@media (max-width: 360px) {
  .hx-brand { display: none; }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .hx-panel__scan, .hx-eyebrow__dot, .hx-brand::before { animation: none; }
}

/* ═══════════ CORPORATE WHITE THEME OVERRIDE ═══════════ */
:root {
  --mt-corp-white: #ffffff;
  --mt-corp-paper: #f7f9fc;
  --mt-corp-panel: #eef3f8;
  --mt-corp-ink: #0f172a;
  --mt-corp-soft: #475569;
  --mt-corp-muted: #64748b;
  --mt-corp-line: rgba(13,47,111,0.12);
  --mt-corp-blue: #0d2f6f;
  --mt-corp-blue-2: #1a4a9e;
  --mt-corp-sky: #4d8dff;
  --mt-corp-red: #b11f24;
  --mt-corp-shadow: 0 22px 56px rgba(15,23,42,0.10);
}

html,
body,
section,
section:nth-child(even) {
  background: var(--mt-corp-white) !important;
  color: var(--mt-corp-ink) !important;
}

section.hero-x,
#tienda-estrella-motortrust.ecom-vault,
#despachos-nacionales-colombia.dispatch-colombia,
#marcas-importadas-autopartes.brands-showroom,
.contact-bar {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 54%, #f7f9fc 100%) !important;
  color: var(--mt-corp-ink) !important;
}

section.hero-x::before,
#tienda-estrella-motortrust.ecom-vault::before,
#despachos-nacionales-colombia.dispatch-colombia::before,
#marcas-importadas-autopartes.brands-showroom::before,
.contact-bar::before {
  opacity: 0.45 !important;
  background:
    linear-gradient(90deg, rgba(13,47,111,0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(13,47,111,0.025) 1px, transparent 1px) !important;
  background-size: 64px 64px !important;
}

section.hero-x::after,
#tienda-estrella-motortrust.ecom-vault::after,
#despachos-nacionales-colombia.dispatch-colombia::after,
.contact-bar::after {
  background: linear-gradient(90deg, transparent, rgba(13,47,111,0.10), transparent) !important;
  opacity: 1 !important;
}

/* Hero claro */
section.hero-x {
  min-height: 760px !important;
  height: 100svh !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f9fbff 48%, #ffffff 100%) !important;
}

section.hero-x .hx-bg {
  opacity: 1 !important;
}

section.hero-x .hx-bg__grid {
  opacity: 0.9 !important;
  background-image:
    linear-gradient(rgba(13,47,111,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,47,111,0.035) 1px, transparent 1px) !important;
}

section.hero-x .hx-bg__glow,
section.hero-x .hx-bg__beam,
.hx-core::before,
.hx-core::after {
  opacity: 0.28 !important;
}

.hx-panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(241,245,249,0.90)) !important;
  border-color: rgba(13,47,111,0.12) !important;
  box-shadow: 0 26px 70px rgba(15,23,42,0.16), inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

.hx-panel__media {
  background:
    linear-gradient(180deg, #ffffff 0%, #eef3f8 100%) !important;
}

.hx-panel__img {
  filter: saturate(1.04) brightness(1.02) contrast(1.04) drop-shadow(0 18px 26px rgba(15,23,42,0.22)) !important;
}

.hx-corner {
  border-color: rgba(13,47,111,0.24) !important;
}

.hx-panel__idx,
.hx-panel__name,
.hx-spec,
.hx-spec--dim {
  color: var(--mt-corp-blue) !important;
  text-shadow: none !important;
}

.hx-eyebrow,
.hx-core__tag {
  background: rgba(13,47,111,0.08) !important;
  border-color: rgba(13,47,111,0.12) !important;
  color: var(--mt-corp-blue) !important;
  text-shadow: none !important;
}

.hx-title,
.hx-title .char,
.hx-title__l {
  color: var(--mt-corp-ink) !important;
  text-shadow: none !important;
}

.hx-title__l--accent,
.hx-title__l--accent .char {
  color: var(--mt-corp-blue) !important;
  background: linear-gradient(90deg, var(--mt-corp-blue), var(--mt-corp-sky)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.hx-sub {
  color: var(--mt-corp-soft) !important;
  text-shadow: none !important;
}

.hx-actions {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.14) !important;
  box-shadow: var(--mt-corp-shadow) !important;
}

.hx-btn--primary {
  background: linear-gradient(135deg, var(--mt-corp-blue), var(--mt-corp-blue-2)) !important;
  border-color: rgba(13,47,111,0.16) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 34px rgba(13,47,111,0.24) !important;
}

.hx-btn--ghost {
  background: #f8fafc !important;
  border-color: rgba(13,47,111,0.14) !important;
  color: var(--mt-corp-ink) !important;
}

.hx-bar {
  background: rgba(255,255,255,0.94) !important;
  border-color: rgba(13,47,111,0.10) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,0.08) !important;
}

.hx-bar__num {
  background: none !important;
  color: var(--mt-corp-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

.hx-bar__lbl {
  color: rgba(13,47,111,0.82) !important;
  font-weight: 700 !important;
}

.hx-bar__num--brand {
  background: none !important;
  color: var(--mt-corp-blue) !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Tienda clara */
#tienda-estrella-motortrust.ecom-vault {
  border-top: 1px solid rgba(13,47,111,0.08) !important;
  border-bottom: 1px solid rgba(13,47,111,0.08) !important;
}

.ecom-vault__eyebrow,
.ecom-showroom__kicker,
.ecom-showroom__status,
.ecom-vault__metric-label {
  color: var(--mt-corp-blue) !important;
}

.ecom-vault__eyebrow::before {
  background: linear-gradient(90deg, var(--mt-corp-red), var(--mt-corp-blue)) !important;
}

.ecom-vault__title,
.ecom-showroom__bar strong {
  color: var(--mt-corp-ink) !important;
  text-shadow: none !important;
}

.ecom-vault__sub,
.ecom-showroom__footer p {
  color: var(--mt-corp-soft) !important;
}

.ecom-vault__metric,
.ecom-vault__tabs,
.ecom-showroom,
.ecom-showroom__footer {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
  box-shadow: var(--mt-corp-shadow) !important;
}

.ecom-vault__metric-value {
  color: var(--mt-corp-blue) !important;
}

.ecom-vault__tab {
  background: #f8fafc !important;
  color: var(--mt-corp-soft) !important;
}

.ecom-vault__tab small {
  color: var(--mt-corp-muted) !important;
}

.ecom-vault__tab.is-active {
  background: linear-gradient(135deg, var(--mt-corp-blue), var(--mt-corp-blue-2)) !important;
  color: #ffffff !important;
  border-color: rgba(13,47,111,0.18) !important;
}

.ecom-vault__tab.is-active small {
  color: rgba(255,255,255,0.78) !important;
}

.epc {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
  box-shadow: 0 16px 38px rgba(15,23,42,0.08) !important;
}

.epc:hover {
  border-color: rgba(13,47,111,0.24) !important;
  box-shadow: 0 24px 54px rgba(15,23,42,0.14) !important;
}

.epc__media {
  background: linear-gradient(180deg, #ffffff 0%, #eef3f8 100%) !important;
}

.epc__overlay {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(15,23,42,0.04)) !important;
}

.epc__badge {
  background: rgba(255,255,255,0.92) !important;
  border-color: rgba(13,47,111,0.14) !important;
  color: var(--mt-corp-blue) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,0.08) !important;
}

.epc__badge--hot {
  background: rgba(177,31,36,0.08) !important;
  border-color: rgba(177,31,36,0.18) !important;
  color: var(--mt-corp-red) !important;
}

.epc__name {
  color: var(--mt-corp-ink) !important;
}

.epc__desc {
  color: var(--mt-corp-soft) !important;
}

.epc__btn,
.ecom-lightbox__actions a {
  background: linear-gradient(135deg, var(--mt-corp-blue), var(--mt-corp-blue-2)) !important;
  color: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
}

.ecom-showroom__status,
.ecom-showroom__nav-btn {
  background: #f8fafc !important;
  border-color: rgba(13,47,111,0.12) !important;
  color: var(--mt-corp-blue) !important;
}

.ecom-showroom__pager span {
  color: var(--mt-corp-blue) !important;
}

.ecom-showroom__dot {
  background: rgba(13,47,111,0.22) !important;
}

.ecom-showroom__dot.is-active {
  background: var(--mt-corp-blue) !important;
}

/* Modal de ficha tecnica */
.ecom-lightbox {
  background: rgba(15,23,42,0.48) !important;
}

.ecom-lightbox__dialog,
.ecom-lightbox__media,
.ecom-lightbox__copy {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
}

.ecom-lightbox__copy h3 {
  color: var(--mt-corp-ink) !important;
}

.ecom-lightbox__copy p,
.ecom-lightbox__actions button {
  color: var(--mt-corp-soft) !important;
}

.ecom-lightbox__copy > span,
.ecom-lightbox__spec-label {
  color: var(--mt-corp-blue) !important;
}

.ecom-lightbox__spec {
  background: #f8fafc !important;
  border-color: rgba(13,47,111,0.10) !important;
}

.ecom-lightbox__spec-value {
  color: var(--mt-corp-ink) !important;
}

.ecom-lightbox__actions button,
.ecom-lightbox__close {
  background: #f8fafc !important;
  border-color: rgba(13,47,111,0.14) !important;
  color: var(--mt-corp-ink) !important;
}

/* Duelo técnico */
.duelo-motortrust {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100svh;
  height: 100svh;
  padding: clamp(88px, 8.5vh, 112px) 0 clamp(20px, 2.8vh, 28px);
  background:
    radial-gradient(circle at 18% 18%, rgba(255,95,92,0.22), transparent 24%),
    radial-gradient(circle at 82% 22%, rgba(77,141,255,0.2), transparent 28%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.04), transparent 42%),
    linear-gradient(180deg, #04070d 0%, #07101d 44%, #04070d 100%);
  color: #fff;
}

.duelo-motortrust::before,
.duelo-motortrust::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.duelo-motortrust::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  opacity: 0.38;
}

.duelo-motortrust::after {
  background:
    radial-gradient(circle at 50% 50%, rgba(143,185,255,0.12), transparent 32%),
    linear-gradient(120deg, transparent 42%, rgba(255,255,255,0.06) 50%, transparent 58%);
  mix-blend-mode: screen;
  opacity: 0.7;
}

.duelo-motortrust__shell {
  position: relative;
  z-index: 1;
  width: min(100%, 1480px);
  height: 100%;
  margin: 0 auto;
  padding-inline: clamp(18px, 3vw, 40px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(14px, 1.8vh, 20px);
}

.duelo-motortrust__header {
  max-width: 1080px;
  display: grid;
  gap: 10px;
}

.duelo-motortrust__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(143,185,255,0.14);
  background: rgba(2,8,18,0.74);
  color: rgba(225,236,255,0.72);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.duelo-motortrust__eyebrow::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(180deg, #ff7a70, #4d8dff);
  box-shadow: 0 0 16px rgba(77,141,255,0.48);
}

.duelo-motortrust__title {
  margin: 0;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(2rem, 3.8vw, 4rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.duelo-motortrust__sub {
  max-width: 920px;
  margin: 0;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: clamp(0.84rem, 0.95vw, 0.98rem);
  line-height: 1.5;
  color: rgba(226,239,255,0.68);
}

.duelo-motortrust__header-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.duelo-motortrust__header-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(143,185,255,0.12);
  background: rgba(255,255,255,0.045);
  color: rgba(226,239,255,0.68);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.duelo-motortrust__arena {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: clamp(14px, 1.4vw, 22px);
  align-items: stretch;
  min-height: 0;
}

.duelo-motortrust__card {
  position: relative;
  min-height: 0;
  padding: 18px;
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,0.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025) 38%, rgba(2,8,18,0.78)),
    rgba(2,8,18,0.9);
  box-shadow:
    0 30px 80px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.07);
  overflow: hidden;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  transform: translateY(0);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  display: grid;
  grid-template-rows: 1fr;
}

.duelo-motortrust__card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0.85;
}

.duelo-motortrust__card--left::before {
  background:
    radial-gradient(circle at 20% 18%, rgba(255,90,84,0.2), transparent 22%),
    radial-gradient(circle at 74% 62%, rgba(255,176,72,0.12), transparent 28%),
    linear-gradient(135deg, rgba(255,84,84,0.12), transparent 42%);
}

.duelo-motortrust__card--right::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(77,141,255,0.2), transparent 22%),
    radial-gradient(circle at 30% 60%, rgba(143,185,255,0.12), transparent 28%),
    linear-gradient(225deg, rgba(77,141,255,0.12), transparent 42%);
}

.duelo-motortrust__card:hover {
  transform: translateY(-6px);
  border-color: rgba(143,185,255,0.18);
  box-shadow:
    0 36px 92px rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

.duelo-motortrust__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.045);
  color: rgba(226,239,255,0.68);
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.duelo-motortrust__visual {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.duelo-motortrust__art {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.04), transparent 38%),
    rgba(255,255,255,0.02);
  overflow: hidden;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.duelo-motortrust__art--pistons {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,84,84,0.1), transparent 36%),
    radial-gradient(circle at 20% 20%, rgba(255,176,72,0.1), transparent 24%),
    rgba(255,255,255,0.02);
}

.duelo-motortrust__art--kits {
  background:
    radial-gradient(circle at 50% 50%, rgba(77,141,255,0.12), transparent 36%),
    radial-gradient(circle at 82% 22%, rgba(143,185,255,0.12), transparent 24%),
    linear-gradient(180deg, rgba(7,16,29,0.12), rgba(7,16,29,0.42)),
    rgba(255,255,255,0.02);
}

.duelo-motortrust__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center 46%;
  pointer-events: none;
  user-select: none;
}

.duelo-motortrust__image--pistons {
  transform: scale(1.12);
  filter:
    drop-shadow(0 48px 90px rgba(0,0,0,0.54))
    drop-shadow(0 0 42px rgba(255,132,92,0.15))
    saturate(1.06);
}

.duelo-motortrust__core,
.duelo-motortrust__orb,
.duelo-motortrust__belt,
.duelo-motortrust__sprocket,
.duelo-motortrust__chain-glow {
  position: absolute;
}

.duelo-motortrust__core {
  width: min(32vw, 260px);
  height: min(32vw, 260px);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,0.2), transparent 22%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.08), transparent 52%),
    linear-gradient(180deg, rgba(255,92,82,0.94), rgba(13,47,111,0.88));
  box-shadow:
    0 0 0 16px rgba(255,255,255,0.04),
    0 0 0 34px rgba(77,141,255,0.08),
    0 30px 80px rgba(0,0,0,0.32);
  animation: dueloPulse 4.2s ease-in-out infinite;
  opacity: 0.38;
}

.duelo-motortrust__card:hover .duelo-motortrust__core {
  animation-duration: 3.4s;
}

.duelo-motortrust__orb {
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: inset 0 0 28px rgba(255,255,255,0.06);
  animation: dueloFloat 6.8s ease-in-out infinite;
}

.duelo-motortrust__orb--one {
  width: 120px;
  height: 120px;
  left: 7%;
  top: 12%;
  background: radial-gradient(circle at 40% 40%, rgba(255,225,180,0.92), rgba(255,122,112,0.3) 46%, rgba(255,122,112,0.06) 72%);
  opacity: 0.65;
}

.duelo-motortrust__orb--two {
  width: 80px;
  height: 80px;
  right: 8%;
  bottom: 14%;
  background: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.95), rgba(143,185,255,0.24) 44%, rgba(77,141,255,0.08) 72%);
  animation-delay: -2.2s;
  opacity: 0.8;
}

.duelo-motortrust__belt {
  width: min(82%, 440px);
  height: 22px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(13,47,111,0.1), rgba(255,255,255,0.14), rgba(13,47,111,0.1)),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.18) 0 14px, rgba(13,47,111,0.6) 14px 28px);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 18px 32px rgba(0,0,0,0.2);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-9deg);
}

.duelo-motortrust__sprocket {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.18) 0 12%, transparent 13%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.08) 0 40%, transparent 41%),
    conic-gradient(from 0deg, rgba(255,255,255,0.24), rgba(77,141,255,0.72), rgba(255,255,255,0.24));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.14),
    0 12px 34px rgba(0,0,0,0.24);
  animation: dueloSpin 9s linear infinite;
}

.duelo-motortrust__sprocket::before {
  content: '';
  position: absolute;
  inset: 11px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 50%, rgba(2,8,18,0.96) 0 42%, transparent 43%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.14), transparent 60%);
}

.duelo-motortrust__sprocket--left {
  left: 8%;
  top: 17%;
}

.duelo-motortrust__sprocket--right {
  right: 8%;
  bottom: 16%;
  animation-direction: reverse;
}

.duelo-motortrust__chain-glow {
  inset: 16% 14%;
  border-radius: 28px;
  border: 1px solid rgba(143,185,255,0.12);
  background:
    radial-gradient(circle at 50% 50%, rgba(77,141,255,0.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,0.04), transparent 64%);
  filter: blur(0.2px);
}

.duelo-motortrust__copybox {
  position: relative;
  z-index: 2;
  align-self: end;
  width: min(100%, 420px);
  margin: auto 0 0;
  padding: 18px 18px 16px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.1);
  background:
    linear-gradient(180deg, rgba(4,10,22,0.88), rgba(4,10,22,0.74)),
    rgba(4,10,22,0.82);
  box-shadow:
    0 18px 48px rgba(0,0,0,0.36),
    inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
}

.duelo-motortrust__card-title {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(1.35rem, 1.9vw, 1.95rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.duelo-motortrust__card-copy {
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(226,239,255,0.68);
}

.duelo-motortrust__list {
  position: relative;
  z-index: 1;
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: grid;
  gap: 8px;
}

.duelo-motortrust__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: rgba(245,248,255,0.76);
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.72rem;
  line-height: 1.35;
}

.duelo-motortrust__list li::before {
  content: '';
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffffff, #4d8dff);
  box-shadow: 0 0 14px rgba(77,141,255,0.55);
  flex-shrink: 0;
}

.duelo-motortrust__versus {
  position: relative;
  align-self: center;
  display: grid;
  place-items: center;
  width: clamp(70px, 5vw, 92px);
  min-height: 0;
}

.duelo-motortrust__versus-label {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.14);
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,0.18), transparent 35%),
    linear-gradient(180deg, rgba(2,8,18,0.96), rgba(13,47,111,0.82));
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-indent: 0.16em;
  box-shadow: 0 0 0 8px rgba(255,255,255,0.03), 0 24px 60px rgba(0,0,0,0.34);
}

.duelo-motortrust__versus-ring {
  position: absolute;
  inset: 14px;
  border-radius: 50%;
  border: 1px solid rgba(77,141,255,0.28);
  box-shadow: 0 0 32px rgba(77,141,255,0.16);
  animation: dueloRing 5s linear infinite;
}

.duelo-motortrust__versus-ring--outer {
  inset: 0;
  border-color: rgba(255,255,255,0.08);
  animation-duration: 8s;
  animation-direction: reverse;
}

@keyframes dueloPulse {
  0%, 100% { transform: scale(0.98); filter: saturate(1); }
  50% { transform: scale(1.03); filter: saturate(1.12); }
}

@keyframes dueloFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -12px, 0) scale(1.06); }
}

@keyframes dueloSpin {
  to { transform: rotate(360deg); }
}

@keyframes dueloRing {
  to { transform: rotate(-360deg); }
}

@media (max-width: 1100px) {
  .duelo-motortrust {
    height: auto;
    min-height: 100svh;
    padding: 88px 0 24px;
  }

  .duelo-motortrust__shell {
    height: auto;
    grid-template-rows: auto auto;
  }

  .duelo-motortrust__arena {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .duelo-motortrust__versus {
    width: auto;
    min-height: 72px;
  }
}

@media (max-width: 720px) {
  .duelo-motortrust {
    height: auto;
    min-height: auto;
    padding: 82px 0 22px;
  }

  .duelo-motortrust__shell {
    height: auto;
    padding-inline: 16px;
  }

  .duelo-motortrust__title {
    font-size: clamp(1.7rem, 8vw, 2.6rem);
  }

  .duelo-motortrust__sub {
    font-size: 0.86rem;
  }

  .duelo-motortrust__header-meta {
    gap: 8px;
  }

  .duelo-motortrust__header-meta span {
    min-height: 30px;
    padding-inline: 11px;
    font-size: 0.54rem;
  }

  .duelo-motortrust__card {
    min-height: 420px;
    padding: 14px;
    border-radius: 24px;
  }

  .duelo-motortrust__badge {
    top: 14px;
    left: 14px;
  }

  .duelo-motortrust__visual {
    position: relative;
    inset: auto;
    height: 228px;
    margin: 34px 0 0;
  }

  .duelo-motortrust__art {
    position: absolute;
    inset: 0;
  }

  .duelo-motortrust__core {
    width: 150px;
    height: 150px;
  }

  .duelo-motortrust__belt {
    width: 74%;
  }

  .duelo-motortrust__sprocket {
    width: 96px;
    height: 96px;
  }

  .duelo-motortrust__versus-label {
    width: 60px;
    height: 60px;
    font-size: 0.72rem;
  }

  .duelo-motortrust__copybox {
    width: 100%;
    margin-top: -22px;
    padding: 16px 14px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .duelo-motortrust__card,
  .duelo-motortrust__art,
  .duelo-motortrust__core,
  .duelo-motortrust__orb,
  .duelo-motortrust__sprocket,
  .duelo-motortrust__versus-ring {
    animation: none !important;
    transition: none !important;
  }
}

/* Componentes premium: Kits y Pistones */
.mt-category-experience.duelo-motortrust {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 48px 0;
  scroll-margin-top: 128px;
  border-block: 1px solid rgba(13,47,111,0.08);
  background: #f7f9fc !important;
  color: var(--mt-corp-ink) !important;
}

.mt-category-experience::before,
.mt-category-experience::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mt-category-experience::before {
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(13,47,111,0.03) 1px, transparent 1px),
    linear-gradient(180deg, rgba(13,47,111,0.024) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: 0.56;
}

.mt-category-experience::after {
  z-index: 0;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(13,47,111,0.16), transparent);
  opacity: 1;
}

.mt-category-experience__shell {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto;
  padding-inline: 0;
  display: grid;
  gap: 18px;
}

.mt-category-experience__intro {
  display: grid;
  gap: 12px;
  padding-inline: clamp(16px, 3vw, 40px);
}

.mt-category-experience__eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid rgba(13,47,111,0.12);
  border-radius: 999px;
  background: rgba(13,47,111,0.06);
  color: var(--mt-corp-blue) !important;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mt-category-experience__title {
  margin: 0;
  max-width: 17ch;
  color: var(--mt-corp-ink) !important;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 2.8rem;
  line-height: 0.96;
  text-wrap: balance;
}

.mt-category-experience__lead {
  margin: 0;
  max-width: 42ch;
  color: var(--mt-corp-soft) !important;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.98rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.mt-category-experience__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.mt-category-experience__badges li {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(13,47,111,0.12);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15,23,42,0.05);
  color: var(--mt-corp-soft) !important;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.84rem;
  font-weight: 600;
}

.mt-category-experience__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: none;
  border-radius: 0;
  background: #ffffff;
  box-shadow: 0 26px 70px rgba(15,23,42,0.14);
}

.mt-category-panel {
  position: relative;
  display: grid;
  min-height: 560px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #0f172a;
  box-shadow: none;
  transform: translateY(18px);
  opacity: 0;
  transition:
    transform 420ms ease,
    opacity 420ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.mt-category-panel.is-visible {
  transform: translateY(0);
  opacity: 1;
}

.mt-category-panel:hover,
.mt-category-panel:focus-within {
  transform: translateY(0);
}

.mt-category-panel + .mt-category-panel {
  border-left: 1px solid rgba(255,255,255,0.34);
}

.mt-category-panel__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  isolation: isolate;
  border: 0;
  background: #0f172a;
}

.mt-category-panel__media::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,8,23,0.08), rgba(2,8,23,0.34) 58%, rgba(2,8,23,0.62)),
    linear-gradient(90deg, rgba(2,8,23,0.34), transparent 34%, transparent 66%, rgba(2,8,23,0.22));
  z-index: 1;
}

.mt-category-panel__media::after {
  content: '';
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.26);
  pointer-events: none;
}

.mt-category-panel__index {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,0.42);
  border-radius: 999px;
  background: rgba(255,255,255,0.9);
  color: var(--mt-corp-blue) !important;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.76rem;
  font-weight: 800;
}

.mt-category-panel__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.05) contrast(1.04);
  transform: scale(1.12);
  transition: transform 420ms ease;
}

.mt-category-panel:hover .mt-category-panel__image,
.mt-category-panel:focus-within .mt-category-panel__image {
  transform: scale(1.15);
}

.mt-category-panel__content {
  position: relative;
  z-index: 4;
  align-self: end;
  display: grid;
  gap: 14px;
  width: calc(100% - 28px);
  margin: 14px;
  padding: 20px;
  border: 1px solid rgba(13,47,111,0.14);
  border-radius: 14px;
  background: rgba(255,255,255,0.94);
  box-shadow: 0 18px 44px rgba(2,8,23,0.18);
  transform: translateY(0);
  transition: transform 180ms ease;
}

.mt-category-panel:hover .mt-category-panel__content,
.mt-category-panel:focus-within .mt-category-panel__content {
  transform: translateY(-3px);
}

.mt-category-panel__kicker {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(13,47,111,0.1);
  border-radius: 999px;
  background: rgba(13,47,111,0.06);
  color: var(--mt-corp-blue) !important;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mt-category-panel__title {
  margin: 0;
  max-width: 12ch;
  color: var(--mt-corp-ink) !important;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 2.2rem;
  line-height: 0.98;
  text-wrap: balance;
}

.mt-category-panel__copy {
  margin: 0;
  max-width: 44ch;
  color: var(--mt-corp-soft) !important;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.92rem;
  line-height: 1.42;
  text-wrap: pretty;
}

.mt-category-panel__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mt-category-panel__specs li {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(13,47,111,0.1);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--mt-corp-soft) !important;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 0.8rem;
  font-weight: 600;
}

.mt-category-panel__button {
  display: inline-flex;
  width: fit-content;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid rgba(13,47,111,0.14);
  border-radius: 14px;
  background: var(--mt-corp-blue);
  color: #ffffff;
  text-decoration: none;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.84rem;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(13,47,111,0.18);
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.mt-category-panel__button:hover,
.mt-category-panel__button:focus-visible {
  transform: translateY(-2px);
  background: var(--mt-corp-blue-2);
  box-shadow: 0 18px 34px rgba(13,47,111,0.22);
}

.mt-category-panel__button:focus-visible {
  outline: 2px solid rgba(77,141,255,0.4);
  outline-offset: 3px;
}

.mt-category-panel--kits .mt-category-panel__image {
  object-position: 52% 50%;
}

.mt-category-panel--pistons .mt-category-panel__image {
  object-position: 50% 45%;
}

@media (min-width: 641px) {
  .mt-category-panel__media::before {
    background:
      linear-gradient(180deg, rgba(2,8,23,0.04), rgba(2,8,23,0.18) 44%, rgba(2,8,23,0.76)),
      linear-gradient(90deg, rgba(2,8,23,0.36), transparent 38%, transparent 62%, rgba(2,8,23,0.3));
  }

  .mt-category-panel__media::after {
    display: none;
  }

  .mt-category-panel__image {
    object-fit: cover;
    transform: scale(1.045);
    transform-origin: center;
  }

  .mt-category-panel:hover .mt-category-panel__image,
  .mt-category-panel:focus-within .mt-category-panel__image {
    transform: scale(1.075);
  }

  .mt-category-panel--kits .mt-category-panel__image {
    object-position: 50% 50%;
  }

  .mt-category-panel--pistons .mt-category-panel__image {
    object-position: 50% 48%;
  }

  .mt-category-panel__content {
    gap: 9px;
    width: min(44%, 320px);
    max-width: 320px;
    margin: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-shadow: 0 2px 16px rgba(2,8,23,0.42);
  }

  .mt-category-panel__kicker {
    min-height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
  }

  .mt-category-panel__title {
    max-width: 10ch;
    color: #ffffff !important;
  }

  .mt-category-panel__copy {
    color: rgba(255,255,255,0.78) !important;
  }

  .mt-category-panel__specs {
    display: none;
  }

  .mt-category-panel__button {
    min-height: 42px;
    border-color: rgba(255,255,255,0.22);
    background: rgba(255,255,255,0.92);
    color: var(--mt-corp-blue) !important;
    box-shadow: 0 14px 32px rgba(2,8,23,0.2);
  }

  .mt-category-panel__button:hover,
  .mt-category-panel__button:focus-visible {
    background: #ffffff;
    color: var(--mt-corp-blue-2) !important;
  }
}

@media (min-width: 921px) {
  .mt-category-experience.duelo-motortrust {
    min-height: calc(100svh - 116px);
    padding: 24px 0;
  }

  .mt-category-experience__shell {
    grid-template-columns: minmax(210px, 0.22fr) minmax(0, 0.78fr);
    align-items: stretch;
    gap: 14px;
  }

  .mt-category-experience__intro {
    align-content: center;
    gap: 7px;
    padding: 4px 0;
  }

  .mt-category-experience__title {
    max-width: 8ch;
    font-size: 2.1rem;
  }

  .mt-category-experience__badges {
    gap: 7px;
    margin-top: 4px;
  }

  .mt-category-experience__badges li {
    min-height: 30px;
    padding: 0 11px;
    font-size: 0.76rem;
  }

  .mt-category-experience__grid {
    min-height: clamp(520px, 66svh, 640px);
  }

  .mt-category-panel {
    min-height: clamp(520px, 66svh, 640px);
  }

  .mt-category-panel__content {
    gap: 8px;
    width: min(36%, 292px);
    max-width: 292px;
    margin: 24px;
    padding: 0;
    background: transparent;
    justify-self: start;
    align-self: end;
    backdrop-filter: none;
    box-shadow: none;
  }

  .mt-category-panel__title {
    font-size: 1.72rem;
  }

  .mt-category-panel__copy {
    max-height: 0;
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.38;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: max-height 220ms ease, opacity 180ms ease, transform 180ms ease;
  }

  .mt-category-panel__specs {
    display: none;
  }

  .mt-category-panel__button {
    min-height: 42px;
    padding: 0 14px;
    font-size: 0.78rem;
  }

  .mt-category-panel--pistons .mt-category-panel__content {
    justify-self: end;
  }

  .mt-category-panel__image {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.06);
    transform-origin: center;
  }

  .mt-category-panel:hover .mt-category-panel__content,
  .mt-category-panel:focus-within .mt-category-panel__content {
    transform: translateY(-4px);
  }

  .mt-category-panel:hover .mt-category-panel__copy,
  .mt-category-panel:focus-within .mt-category-panel__copy {
    max-height: 4.8em;
    opacity: 1;
    transform: translateY(0);
  }

  .mt-category-panel:hover .mt-category-panel__image,
  .mt-category-panel:focus-within .mt-category-panel__image {
    transform: scale(1.09);
  }
}

@media (min-width: 921px) and (max-width: 1039px) {
  .mt-category-experience__shell {
    grid-template-columns: minmax(180px, 0.24fr) minmax(0, 0.76fr);
    gap: 12px;
  }

  .mt-category-experience__title {
    font-size: 1.82rem;
  }

  .mt-category-experience__lead {
    font-size: 0.88rem;
  }

  .mt-category-experience__grid,
  .mt-category-panel {
    min-height: clamp(540px, 63svh, 610px);
  }

  #duelo-componentes-motortrust .mt-category-panel {
    min-height: clamp(540px, 63svh, 610px) !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__content {
    left: 18px !important;
    bottom: 18px !important;
    width: min(58%, 260px) !important;
    max-width: 260px !important;
  }

  #duelo-componentes-motortrust .mt-category-panel--pistons .mt-category-panel__content {
    right: 18px !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__title {
    font-size: 1.38rem;
  }

  #duelo-componentes-motortrust .mt-category-panel__copy {
    font-size: 0.76rem;
    line-height: 1.34;
  }

  #duelo-componentes-motortrust .mt-category-panel__button {
    min-height: 38px;
    padding-inline: 12px;
    font-size: 0.74rem;
    white-space: nowrap !important;
  }
}

@media (max-width: 920px) {
  .mt-category-experience.duelo-motortrust {
    padding: 44px 0;
  }

  .mt-category-experience__grid {
    grid-template-columns: 1fr;
    border-radius: 16px;
  }

  .mt-category-panel {
    min-height: clamp(590px, 72vw, 700px);
  }

  .mt-category-panel + .mt-category-panel {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.34);
  }

  .mt-category-experience__badges li {
    font-size: 0.8rem;
  }
}

@media (max-width: 640px) {
  .mt-category-panel {
    min-height: auto;
    grid-template-rows: auto auto;
    background: #ffffff;
    overflow: hidden;
  }

  .mt-category-panel__media {
    position: relative;
    min-height: auto;
    aspect-ratio: 1 / 1;
    background: #edf2f8;
  }

  .mt-category-panel__media::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)),
      linear-gradient(180deg, transparent 0%, rgba(13,47,111,0.06) 100%);
  }

  .mt-category-panel__media::after {
    inset: 0;
    border: 0;
  }

  .mt-category-panel__image {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    filter: saturate(1.03) contrast(1.01);
    transform: none !important;
  }

  .mt-category-panel__content {
    position: relative;
    align-self: auto;
    justify-self: stretch;
    gap: 12px;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 18px 18px 20px;
    border: 0;
    border-top: 1px solid rgba(13,47,111,0.08);
    border-radius: 0 0 16px 16px;
    background: rgba(255,255,255,0.98);
    backdrop-filter: none;
    box-shadow: none;
    transform: none !important;
  }

  .mt-category-panel__copy {
    max-height: none;
    opacity: 1;
    transform: none;
    overflow: visible;
    display: block;
  }

  .mt-category-panel__specs {
    display: flex;
  }

  .mt-category-panel__button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .mt-category-experience.duelo-motortrust {
    padding: 40px 0;
  }

  .mt-category-experience__shell {
    padding-inline: 14px;
    gap: 18px;
  }

  .mt-category-experience__title {
    font-size: 2.25rem;
  }

  .mt-category-experience__lead {
    font-size: 0.92rem;
  }

  .mt-category-experience__badges {
    gap: 8px;
  }

  .mt-category-panel {
    min-height: 580px;
  }

  .mt-category-panel__content {
    padding: 16px 16px 18px;
  }

  .mt-category-panel__title {
    font-size: 1.85rem;
  }

  .mt-category-panel__copy {
    font-size: 0.9rem;
  }
}

@media (min-width: 641px) {
  #duelo-componentes-motortrust .mt-category-panel {
    display: block !important;
    min-height: clamp(620px, 68svh, 740px) !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__media {
    position: absolute !important;
    inset: 0 !important;
    min-height: 100% !important;
    aspect-ratio: auto !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__media::after {
    display: none !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
    transform: scale(1.1) !important;
  }

  #duelo-componentes-motortrust .mt-category-panel--kits .mt-category-panel__image {
    object-position: 49% 50% !important;
  }

  #duelo-componentes-motortrust .mt-category-panel--pistons .mt-category-panel__image {
    object-position: 50% 46% !important;
  }

  #duelo-componentes-motortrust .mt-category-panel:hover .mt-category-panel__image,
  #duelo-componentes-motortrust .mt-category-panel:focus-within .mt-category-panel__image {
    transform: scale(1.13) !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__content {
    position: absolute !important;
    left: 24px !important;
    right: auto !important;
    bottom: 24px !important;
    z-index: 4 !important;
    width: min(40%, 320px) !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    transform: none !important;
  }

  #duelo-componentes-motortrust .mt-category-panel--pistons .mt-category-panel__content {
    left: auto !important;
    right: 24px !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__kicker {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(255,255,255,0.78) !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__title {
    color: #ffffff !important;
    text-shadow: 0 4px 18px rgba(2,8,23,0.52);
  }

  #duelo-componentes-motortrust .mt-category-panel__copy {
    max-height: none !important;
    color: rgba(255,255,255,0.82) !important;
    opacity: 1 !important;
    transform: none !important;
    text-shadow: 0 3px 16px rgba(2,8,23,0.5);
  }

  #duelo-componentes-motortrust .mt-category-panel__specs {
    display: none !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__button {
    width: fit-content !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 641px) and (max-width: 920px) {
  #duelo-componentes-motortrust .mt-category-panel__content,
  #duelo-componentes-motortrust .mt-category-panel--pistons .mt-category-panel__content {
    left: 22px !important;
    right: auto !important;
    width: min(46%, 340px) !important;
    max-width: 340px !important;
  }
}

@media (min-width: 641px) {
  #duelo-componentes-motortrust .mt-category-experience__shell {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: clamp(10px, 1.35vw, 16px) !important;
  }

  #duelo-componentes-motortrust .mt-category-experience__grid {
    order: 1 !important;
  }

  #duelo-componentes-motortrust .mt-category-experience__intro {
    order: 2 !important;
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: clamp(8px, 1vw, 12px) 4px 0;
    display: grid !important;
    grid-template-columns: minmax(260px, 0.32fr) minmax(320px, 0.43fr) minmax(230px, 0.25fr);
    gap: 6px clamp(18px, 2.3vw, 32px);
    align-items: center;
  }

  #duelo-componentes-motortrust .mt-category-experience__eyebrow {
    grid-column: 1;
    grid-row: 1;
    min-height: 26px;
    padding: 0 11px;
    font-size: 0.68rem;
  }

  #duelo-componentes-motortrust .mt-category-experience__title {
    grid-column: 1;
    grid-row: 2;
    max-width: 15ch;
    font-size: clamp(1.72rem, 2.1vw, 2.22rem);
    line-height: 1;
  }

  #duelo-componentes-motortrust .mt-category-experience__lead {
    grid-column: 2;
    grid-row: 1 / span 2;
    max-width: 52ch;
    font-size: clamp(0.88rem, 0.9vw, 0.95rem);
    line-height: 1.48;
    text-align: center;
  }

  #duelo-componentes-motortrust .mt-category-experience__badges {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
  }

  #duelo-componentes-motortrust .mt-category-experience__badges li {
    min-height: 30px;
    padding: 0 11px;
    font-size: 0.75rem;
    line-height: 1;
  }
}

@media (min-width: 921px) and (max-width: 1039px) {
  #duelo-componentes-motortrust .mt-category-experience__intro {
    grid-template-columns: minmax(230px, 0.32fr) minmax(300px, 0.43fr) minmax(210px, 0.25fr);
    gap: 6px 18px;
  }

  #duelo-componentes-motortrust .mt-category-experience__title {
    font-size: 1.62rem;
  }

  #duelo-componentes-motortrust .mt-category-experience__lead {
    font-size: 0.82rem;
    line-height: 1.42;
  }
}

@media (min-width: 641px) and (max-width: 920px) {
  #duelo-componentes-motortrust .mt-category-experience__intro {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-top: 10px;
    text-align: center;
    justify-items: center;
  }

  #duelo-componentes-motortrust .mt-category-experience__eyebrow,
  #duelo-componentes-motortrust .mt-category-experience__title,
  #duelo-componentes-motortrust .mt-category-experience__lead,
  #duelo-componentes-motortrust .mt-category-experience__badges {
    grid-column: 1;
    grid-row: auto;
  }

  #duelo-componentes-motortrust .mt-category-experience__title {
    max-width: 18ch;
    font-size: clamp(1.8rem, 4vw, 2.25rem);
  }

  #duelo-componentes-motortrust .mt-category-experience__lead {
    max-width: 54ch;
    font-size: 0.88rem;
    line-height: 1.48;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mt-category-panel,
  .mt-category-panel__image,
  .mt-category-panel__button {
    transition: none !important;
  }
}

@media (max-width: 640px) {
  #duelo-componentes-motortrust .mt-category-experience__shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  #duelo-componentes-motortrust .mt-category-experience__intro,
  #duelo-componentes-motortrust .mt-category-experience__grid,
  #duelo-componentes-motortrust .mt-category-panel,
  #duelo-componentes-motortrust .mt-category-panel__media,
  #duelo-componentes-motortrust .mt-category-panel__content {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
  }

  #duelo-componentes-motortrust .mt-category-experience__intro {
    margin-inline: 0 !important;
  }

  #duelo-componentes-motortrust .mt-category-panel__button {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    white-space: normal !important;
  }
}

/* Cobertura nacional */
#despachos-nacionales-colombia.dispatch-colombia {
  --dc-ink: var(--mt-corp-ink);
  --dc-soft: var(--mt-corp-soft);
  --dc-muted: var(--mt-corp-muted);
  --dc-blue: var(--mt-corp-blue);
  border-block-color: rgba(13,47,111,0.08) !important;
  box-shadow: none !important;
}

.dispatch-colombia__copy,
.dispatch-colombia__stage,
.dispatch-colombia__map-panel {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
  box-shadow: var(--mt-corp-shadow) !important;
}

.dispatch-colombia__copy h2,
.dispatch-colombia__step strong {
  color: var(--mt-corp-ink) !important;
}

.dispatch-colombia__copy h2 em,
.dispatch-colombia__copy > p,
.dispatch-colombia__step p {
  color: var(--mt-corp-soft) !important;
}

.dispatch-colombia__eyebrow,
.dispatch-colombia__trust-badge {
  background: rgba(13,47,111,0.06) !important;
  border-color: rgba(13,47,111,0.10) !important;
  color: var(--mt-corp-blue) !important;
}

.dispatch-colombia__step {
  background: #f8fafc !important;
  border-color: rgba(13,47,111,0.10) !important;
}

.dispatch-colombia__step:hover {
  background: #eef4fb !important;
  border-color: rgba(13,47,111,0.18) !important;
}

.dispatch-colombia__step > span,
.dispatch-colombia__node,
.dispatch-colombia__node.is-active {
  background: var(--mt-corp-blue) !important;
  border-color: rgba(13,47,111,0.18) !important;
  color: #ffffff !important;
}

.dispatch-colombia__map-image {
  opacity: 0.72 !important;
  filter: saturate(1.05) brightness(1.02) drop-shadow(0 18px 26px rgba(15,23,42,0.12)) !important;
}

.dispatch-colombia__route {
  stroke: rgba(13,47,111,0.26) !important;
}

.dispatch-colombia__route.is-active {
  stroke: var(--mt-corp-blue) !important;
}

.dispatch-colombia__hub-core {
  background: var(--mt-corp-red) !important;
}

.dispatch-colombia__node span {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
  color: var(--mt-corp-ink) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,0.10) !important;
}

/* Marcas y contacto */
.brands-showroom__title,
.contact-bar__title {
  color: var(--mt-corp-ink) !important;
}

.brands-showroom__subtitle,
.contact-bar__sub,
.contact-bar__faq-item p {
  color: var(--mt-corp-soft) !important;
}

.brands-showroom__eyebrow,
.contact-bar__eyebrow {
  background: rgba(13,47,111,0.06) !important;
  border-color: rgba(13,47,111,0.10) !important;
  color: var(--mt-corp-blue) !important;
}

.brands-showroom__viewport,
.brands-showroom__item,
.contact-bar__panel,
.contact-bar__row,
.contact-bar__faq,
.contact-bar__faq-item {
  background: #ffffff !important;
  border-color: rgba(13,47,111,0.12) !important;
  box-shadow: var(--mt-corp-shadow) !important;
}

.contact-bar__input {
  background: #f8fafc !important;
  border-color: rgba(13,47,111,0.14) !important;
  color: var(--mt-corp-ink) !important;
}

.contact-bar__input::placeholder {
  color: rgba(71,85,105,0.64) !important;
}

.contact-bar__btn {
  background: linear-gradient(135deg, var(--mt-corp-blue), var(--mt-corp-blue-2)) !important;
  color: #ffffff !important;
  border-color: rgba(13,47,111,0.16) !important;
}

.contact-bar__faq-toggle,
.contact-bar__faq-heading,
.contact-bar__faq-question strong {
  color: var(--mt-corp-ink) !important;
}

.contact-bar__faq-note {
  color: var(--mt-corp-soft) !important;
}

@media (max-width: 820px) {
  section.hero-x {
    min-height: 760px !important;
    height: auto !important;
  }

  .hx-wrap {
    min-height: 760px !important;
    height: auto !important;
  }

  .hx-stage {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
  }

  .hx-core {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .hx-panel--left,
  .hx-panel--right {
    grid-column: 1 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hx-panel--left {
    grid-row: 2 !important;
  }

  .hx-panel--right {
    grid-row: 3 !important;
  }

  .hx-actions {
    width: min(100%, 360px) !important;
    margin-inline: auto !important;
  }
}

html,
body {
  overflow-x: hidden;
}

@media (max-width: 520px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  section.hero-x,
  .hx-wrap,
  .hx-stage,
  .hx-core {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .hx-wrap {
    padding: 92px 16px 24px !important;
    gap: 14px !important;
  }

  .hx-core {
    padding-inline: 0 !important;
  }

  .hx-title {
    width: 100% !important;
    max-width: calc(100dvw - 32px) !important;
    font-size: clamp(1.38rem, 7.2vw, 1.76rem) !important;
    line-height: 1.02 !important;
    overflow-wrap: normal !important;
    text-align: center !important;
  }

  .hx-title__l {
    white-space: normal !important;
    max-width: 100% !important;
  }

  .hx-title__l:first-child {
    font-size: 0.78em !important;
    letter-spacing: 0 !important;
  }

  .hx-sub {
    display: block !important;
    font-size: 0.82rem !important;
    max-width: 32ch !important;
    margin-inline: auto !important;
  }

  .hx-actions {
    flex-direction: column !important;
    gap: 6px !important;
    padding: 6px !important;
    width: calc(100dvw - 56px) !important;
    max-width: 320px !important;
  }

  .hx-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
  }

  .hx-panel {
    width: calc(100dvw - 64px) !important;
    max-width: 340px !important;
    margin-inline: auto !important;
    min-height: 300px !important;
    overflow: hidden !important;
  }

  .hx-panel__media {
    height: 230px !important;
    max-height: 230px !important;
  }

  .hx-panel__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .hx-bar {
    position: relative !important;
    margin-top: 4px !important;
  }

  .ecom-vault__grid {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   MOTORTRUST CORRECTIVE PASS
   Jerarquía, accesibilidad crítica y motion cleanup
   ═══════════════════════════════════════════════════════════════ */

body.nav-overlay-open {
  overflow: hidden;
}

.nav-overlay__link:focus-visible,
.nav-overlay__contact-link:focus-visible,
.nav-overlay__cta-btn:focus-visible,
.contact-bar__faq-toggle:focus-visible,
.contact-bar__faq-question:focus-visible {
  outline: 2px solid rgba(143,185,255,0.92);
  outline-offset: 3px;
}

section.hero-x {
  min-height: 100dvh;
  height: auto;
}

section.hero-x .hx-wrap {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(47px, 5vh, 59px) clamp(20px, 4vw, 56px) clamp(18px, 2.5vh, 28px);
  gap: clamp(14px, 2vh, 22px);
}

section.hero-x .hx-stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
}



section.hero-x .hx-core {
  width: min(100%, 860px);
  margin-inline: auto;
  place-self: center;
  gap: 8px;
  overflow: visible;
}

section.hero-x .hx-eyebrow {
  min-height: 32px;
  padding: 0 16px;
  margin-top: -31px;
  margin-inline: auto;
  letter-spacing: 0.12em;
  background: #ffffff !important;
  border-color: rgba(255,255,255,0.96) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 8px 18px rgba(13,47,111,0.08) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

section.hero-x .hx-eyebrow__dot {
  animation: none;
}

section.hero-x .hx-brand {
  width: min(713px, 74vw);
  height: auto;
  padding: 4px 8px;
  overflow: visible;
  justify-content: center;
  margin: 0 auto;
  gap: 4px;
}

section.hero-x .hx-brand::before {
  display: block !important;
  inset: -18% -10%;
  z-index: -1;
  background: radial-gradient(circle at 50% 48%, rgba(77,141,255,0.16) 0%, rgba(77,141,255,0.06) 42%, rgba(255,255,255,0) 72%);
  opacity: 1;
  animation: none;
}

section.hero-x .hx-brand::after {
  display: none !important;
}

section.hero-x .hx-brand__logo {
  width: 100%;
  height: auto;
  max-width: 690px;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 18px 34px rgba(15,23,42,0.16));
}

.hx-brand__meta {
  display: block;
  font-family: var(--font-display, 'Inter', sans-serif);
  max-width: 24ch;
  margin-top: -6px;
  font-size: clamp(0.68rem, 0.64rem + 0.08vw, 0.74rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: pretty;
  color: rgba(24,58,112,0.82);
}

section.hero-x .hx-title {
  width: min(100%, 860px);
  margin-inline: auto;
  font-family: 'Inter', 'Public Sans', system-ui, sans-serif;
  font-size: clamp(1.04rem, 0.74rem + 0.64vw, 1.37rem);
  font-weight: 500;
  line-height: 1.10;
  letter-spacing: -0.02em;
  color: #1a2330;
}

section.hero-x .hx-headline__main {
  display: inline;
  margin: 0;
  font: inherit;
}

section.hero-x .hx-title__l {
  display: inline;
  white-space: normal;
}

section.hero-x .hx-title__l--accent {
  font-weight: 300;
  color: #4a6485;
}


section.hero-x .hx-sub {
  display: inline;
  max-width: none;
  margin-inline: 0;
  margin-top: 0;
  font-family: 'Inter', 'Public Sans', system-ui, sans-serif;
  font-size: clamp(0.55rem, 0.52rem + 0.07vw, 0.60rem);
  font-weight: 350;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: rgba(30,41,59,0.58);
  text-wrap: pretty;
}

section.hero-x .hx-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 36px;
  padding: 8px;
  border-radius: 18px;
  background: rgba(2,8,20,0.72);
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

section.hero-x .hx-btn {
  min-width: 210px;
  min-height: 52px;
  font-size: 0.80rem;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

section.hero-x .hx-btn--primary:hover,
section.hero-x .hx-btn--ghost:hover {
  transform: translateY(-2px);
}

section.hero-x .hx-trust {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 12px;
  margin-top: 19px;
  padding: 6px 14px;
  border-radius: 20px;
  background: #0d2f6f;
}

/* ── Product accent thumbnails ── */
.hx-accents {
  display: flex;
  gap: clamp(8px, 1.2vw, 16px);
  margin-top: 6px;
}

.hx-accent {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(13,47,111,0.08);
  box-shadow: 0 2px 8px rgba(13,47,111,0.04);
}

.hx-accent__img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 6px;
}

.hx-accent__label {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #1e3a66;
  white-space: nowrap;
}

section.hero-x .hx-trust__item {
  font-size: 0.69rem;
  color: #ffffff;
}

section.hero-x .hx-bar {
  padding: 10px 18px;
  background: rgba(2,8,20,0.58);
  box-shadow: 0 10px 26px rgba(0,0,0,0.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

section.hero-x .hx-bar__item {
  color: rgba(255,255,255,0.74);
}

.contact-bar__faq-question {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  cursor: pointer;
}

.contact-bar__faq-question svg {
  display: block;
  transition: transform 0.2s ease;
}

.contact-bar__faq-question strong {
  text-wrap: balance;
}

.contact-bar__faq-answer {
  visibility: hidden;
}

.contact-bar__faq-item.is-open {
  border-color: rgba(77,141,255,0.24);
  background:
    linear-gradient(135deg, rgba(77,141,255,0.07), rgba(255,255,255,0.02)),
    rgba(255,255,255,0.04);
  box-shadow: 0 18px 34px rgba(13,47,111,0.08);
}

.contact-bar__faq-item.is-open::before {
  opacity: 1;
}

.contact-bar__faq-item.is-open .contact-bar__faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
}

.contact-bar__faq-item.is-open .contact-bar__faq-answer p {
  transform: translateY(0);
}

.contact-bar__faq-item.is-open .contact-bar__faq-question svg {
  transform: rotate(180deg);
}

@media (max-width: 1100px) {
  section.hero-x .hx-stage {
    width: 100%;
  }

  section.hero-x .hx-brand {
    width: min(255px, 39vw);
  }

  section.hero-x .hx-title {
    width: min(100%, 440px);
    font-size: clamp(1.58rem, 1.12rem + 1.7vw, 2rem);
  }
}

@media (max-width: 820px) {
  section.hero-x {
    min-height: auto !important;
    height: auto !important;
  }

  section.hero-x .hx-wrap {
    min-height: 0 !important;
    justify-content: flex-start;
    padding: 96px 16px 24px !important;
    gap: 14px !important;
  }

  section.hero-x .hx-stage {
    width: 100% !important;
  }

  section.hero-x .hx-core {
    width: min(100%, 336px);
    gap: 7px;
  }

  section.hero-x .hx-brand {
    width: min(281px, 77.5vw);
    gap: 3px;
  }

  section.hero-x .hx-brand__meta {
    max-width: 20ch;
    margin-top: -4px;
    font-size: 0.66rem;
  }

  section.hero-x .hx-title {
    width: min(100%, 334px) !important;
    font-size: clamp(1.48rem, 6vw, 1.88rem) !important;
    line-height: 0.95 !important;
  }

  section.hero-x .hx-sub {
    max-width: 26ch !important;
    margin-inline: auto;
    font-size: 0.82rem !important;
    line-height: 1.32 !important;
    color: rgba(30,41,59,0.76) !important;
  }

  section.hero-x .hx-actions {
    width: min(100%, 340px) !important;
    margin-top: 4px;
  }

  section.hero-x .hx-btn {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }

  section.hero-x .hx-panel {
    width: min(100%, 360px) !important;
    min-height: 224px !important;
    max-height: none;
    margin-inline: auto;
  }

  section.hero-x .hx-panel__media {
    height: 180px !important;
    max-height: none !important;
    padding: 12px;
  }

  section.hero-x .hx-trust {
    gap: 4px 10px;
    justify-content: center;
  }

  section.hero-x .hx-trust__item {
    font-size: 0.64rem;
  }
}

/* Navbar refinement after audit: narrower than original, but balanced. */
#navbar,
#navbar.is-scrolled {
  width: clamp(420px, 38vw, 584px) !important;
  box-shadow:
    0 18px 48px rgba(2,8,23,0.11),
    0 6px 16px rgba(13,47,111,0.05) !important;
}

#navbar #navShell,
#navbar.is-scrolled #navShell {
  border-radius: 72px !important;
}

#navbar .nv2-bar {
  display: grid;
  grid-template-columns: auto minmax(84px, 1fr) auto;
  align-items: center;
  height: 43px;
  padding: 0 14px;
  gap: 10px;
}

#navbar .nv2-menu-btn,
#navbar .nv2-cta {
  position: relative;
  z-index: 1;
  min-width: 0;
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(13,47,111,0.06);
  background: linear-gradient(180deg, rgba(255,255,255,0.3), rgba(255,255,255,0.12));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.36),
    0 4px 12px rgba(13,47,111,0.04);
}

#navbar .nv2-menu-btn {
  justify-self: start;
  gap: 9px;
  padding: 0 12px;
}

#navbar .nv2-menu-icon {
  width: 16px;
  height: 10px;
  gap: 4px;
}

#navbar .nv2-line,
#navbar .nv2-menu-btn.is-open .nv2-line {
  width: 16px;
}

#navbar .nv2-line--bottom {
  width: 11px;
}

#navbar .nv2-menu-btn:hover .nv2-line {
  width: 16px;
}

#navbar #navLogo {
  justify-self: center;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: clamp(68px, 6.2vw, 94px);
  min-width: 0;
  padding: 0;
  min-height: 28px;
}

#navbar #navLogo::before,
#navbar #navLogo::after,
#navbar #navLogo .nv2-logo-img {
  visibility: hidden !important;
  opacity: 0 !important;
}

#navbar .nv2-logo-img {
  width: clamp(134px, 11vw, 156px);
}

#navbar .nv2-cta {
  justify-self: end;
  margin-right: 38px;
  gap: 6px;
  padding: 0 12px;
  background: linear-gradient(180deg, rgba(13,47,111,0.14), rgba(13,47,111,0.08));
  border-color: rgba(13,47,111,0.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.26),
    0 6px 16px rgba(13,47,111,0.06);
}

#navbar .nv2-cta-txt {
  white-space: nowrap;
}

#navbar .nv2-pct {
  right: 14px;
  width: 18px;
  text-align: right;
  font-size: 0.46rem;
  letter-spacing: 0.03em;
  opacity: 0.68;
  z-index: 2;
}

@media (max-width: 768px) {
  #navbar,
  #navbar.is-scrolled {
    width: calc(100% - 16px) !important;
  }

  #navbar #navShell,
  #navbar.is-scrolled #navShell {
    border-radius: 20px !important;
  }

  #navbar .nv2-bar {
    grid-template-columns: auto minmax(10px, 1fr) auto auto;
    height: 48px;
    padding: 0 12px;
    gap: 7px;
  }

  #navbar #navLogo {
    width: clamp(20px, 10vw, 54px);
    padding: 0;
    min-height: auto;
  }

  #navbar .nv2-logo-img {
    width: 106px;
  }

  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    font-size: 0.58rem;
    letter-spacing: 0.09em;
    min-height: 28px;
    border-radius: 999px;
    border: 1px solid rgba(13,47,111,0.055);
    background: linear-gradient(180deg, rgba(255,255,255,0.22), rgba(255,255,255,0.08));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.28),
      0 3px 10px rgba(13,47,111,0.035);
  }

  #navbar .nv2-menu-btn {
    gap: 8px;
    padding: 0 10px;
  }

  #navbar .nv2-cta {
    gap: 5px;
    margin-right: 0;
    padding: 0 10px;
  }

  #navbar .nv2-cta-txt {
    display: inline;
  }

  #navbar .nv2-pct {
    display: block;
    position: static;
    transform: none;
    justify-self: end;
    width: auto;
    font-size: 0.5rem;
    letter-spacing: 0.02em;
    opacity: 0.78;
  }
}

@media (min-width: 640px) and (max-width: 900px) {
  #navbar,
  #navbar.is-scrolled {
    width: min(600px, calc(100% - 28px)) !important;
  }

  #navbar .nv2-bar {
    height: 46px;
    padding: 0 14px;
    gap: 10px;
  }

  #navbar #navLogo {
    width: clamp(64px, 11vw, 94px);
  }

  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    font-size: 0.6rem;
    min-height: 29px;
  }

  #navbar .nv2-menu-btn {
    padding: 0 12px;
  }

  #navbar .nv2-cta {
    margin-right: 0;
    padding: 0 12px;
  }

  #navbar .nv2-pct {
    width: auto;
  }
}

@media (max-width: 480px) {
  #navbar .nv2-bar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0 10px;
    gap: 6px;
  }

  #navbar #navLogo {
    grid-column: 2;
    grid-row: 1;
    width: auto;
  }

  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    font-size: 0.54rem;
    letter-spacing: 0.07em;
    min-height: 27px;
  }

  #navbar .nv2-menu-btn {
    padding: 0 9px;
  }

  #navbar .nv2-cta {
    grid-column: 3;
    grid-row: 1;
    padding: 0 20px 0 9px;
  }

  #navbar .nv2-pct {
    display: block !important;
    visibility: visible !important;
    position: absolute;
    left: auto !important;
    right: auto;
    inset-inline-end: 16px !important;
    top: 50%;
    transform: translate(-50%, -50%);
    margin-right: 0;
    font-size: 0.42rem;
    line-height: 1;
    color: #0d2f6f !important;
    opacity: 0.82 !important;
    z-index: 4 !important;
  }
}

/* Navbar logo: visible from the first viewport and balanced with menu/CTA. */
#navbar,
#navbar.is-scrolled {
  width: clamp(520px, 48vw, 720px) !important;
}

#navbar #navShell {
  position: relative !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

#navbar .nv2-bar {
  grid-template-columns: auto minmax(188px, 236px) auto !important;
  gap: 24px !important;
}

#navbar .nv2-menu-btn,
#navbar .nv2-cta {
  z-index: 2 !important;
}

#navbar .nv2-menu-btn {
  justify-self: start !important;
}

#navbar .nv2-cta {
  justify-self: end !important;
  margin-right: 26px !important;
}

#navbar #navLogo {
  position: static !important;
  justify-self: center !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(178px, 16vw, 226px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-4px) !important;
  transition:
    opacity 0.18s ease-out,
    transform 0.18s ease-out !important;
}

#navbar #navLogo::before,
#navbar #navLogo::after {
  content: none !important;
}

#navbar #navLogo .nv2-logo-img {
  width: 100% !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  filter:
    brightness(0.9)
    contrast(1.22)
    saturate(1.16)
    drop-shadow(0 8px 16px rgba(2, 8, 23, 0.16)) !important;
  transition: opacity 0.18s ease-out !important;
}

#navbar.show-compact-logo #navLogo {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

#navbar.show-compact-logo #navLogo .nv2-logo-img {
  opacity: 1 !important;
  visibility: visible !important;
}

#navbar.show-compact-logo .nv2-menu-btn,
#navbar.show-compact-logo .nv2-cta {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.28),
    0 6px 14px rgba(13,47,111,0.06) !important;
}

@media (max-width: 900px) {
  #navbar,
  #navbar.is-scrolled {
    width: min(680px, calc(100% - 20px)) !important;
  }

  #navbar .nv2-bar {
    grid-template-columns: auto minmax(144px, 176px) auto !important;
    gap: 14px !important;
  }

  #navbar #navLogo {
    width: clamp(136px, 25vw, 170px) !important;
  }

  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    font-size: 0.58rem !important;
  }
}

@media (max-width: 640px) {
  #navbar,
  #navbar.is-scrolled,
  #navbar.show-compact-logo,
  #navbar.show-compact-logo.is-scrolled {
    width: calc(100% - 16px) !important;
  }

  #navbar .nv2-bar {
    grid-template-columns: auto minmax(112px, 138px) auto !important;
    height: 48px !important;
    gap: 8px !important;
    padding: 0 10px !important;
  }

  #navbar #navLogo {
    width: clamp(112px, 32vw, 138px) !important;
  }

  #navbar .nv2-logo-img {
    width: 100% !important;
  }

  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    min-height: 28px !important;
    font-size: 0.53rem !important;
    letter-spacing: 0.06em !important;
  }

  #navbar .nv2-menu-btn {
    gap: 6px !important;
    padding: 0 8px !important;
  }

  #navbar .nv2-cta {
    margin-right: 0 !important;
    gap: 4px !important;
    padding: 0 8px !important;
  }

  #navbar .nv2-pct {
    display: none !important;
  }
}

/* Navbar dual-state system:
   compact while the hero is active, expanded with centered logo after the hero. */
#navbar,
#navbar #navShell,
#navbar .nv2-bar,
#navbar #navLogo,
#navbar #navLogo .nv2-logo-img,
#navbar .nv2-menu-btn,
#navbar .nv2-cta,
#navbar .nv2-pct {
  transition:
    width 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    min-width 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    max-width 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    height 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    gap 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease-out,
    transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.34s ease,
    border-radius 0.34s ease !important;
}

#navbar:not(.nav-ready),
#navbar:not(.nav-ready) * {
  transition: none !important;
}

#navbar.nav-hero-compact,
#navbar.nav-hero-compact.is-scrolled {
  width: clamp(372px, 29vw, 452px) !important;
  height: 39px !important;
  min-height: 39px !important;
  box-shadow:
    0 16px 40px rgba(2,8,23,0.10),
    0 4px 14px rgba(13,47,111,0.05) !important;
}

#navbar.nav-hero-compact #navShell,
#navbar.nav-hero-compact.is-scrolled #navShell {
  padding-left: 12px !important;
  padding-right: 12px !important;
  border-radius: 999px !important;
}

#navbar.nav-hero-compact .nv2-bar {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  height: 39px !important;
  gap: 10px !important;
  padding: 0 8px !important;
}

#navbar.nav-hero-compact .nv2-menu-btn,
#navbar.nav-hero-compact .nv2-cta {
  min-height: 24px !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.09em !important;
  padding: 0 10px !important;
}

#navbar.nav-hero-compact .nv2-menu-btn {
  gap: 7px !important;
}

#navbar.nav-hero-compact .nv2-cta {
  gap: 5px !important;
  margin-right: 18px !important;
}

#navbar.nav-hero-compact .nv2-menu-txt,
#navbar.nav-hero-compact .nv2-cta-txt {
  font-weight: 700 !important;
}

#navbar.nav-hero-compact .nv2-menu-icon {
  width: 14px !important;
  height: 9px !important;
  gap: 3px !important;
}

#navbar.nav-hero-compact .nv2-line,
#navbar.nav-hero-compact .nv2-menu-btn.is-open .nv2-line {
  width: 14px !important;
}

#navbar.nav-hero-compact .nv2-line--bottom {
  width: 9px !important;
}

#navbar.nav-hero-compact #navLogo {
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  transform: translateY(-4px) scale(0.94) !important;
}

#navbar.nav-hero-compact #navLogo .nv2-logo-img {
  opacity: 0 !important;
  visibility: hidden !important;
}

#navbar.nav-hero-compact .nv2-pct {
  right: 12px !important;
  font-size: 0.42rem !important;
  opacity: 0.42 !important;
}

@media (max-width: 900px) {
  #navbar.nav-hero-compact,
  #navbar.nav-hero-compact.is-scrolled {
    width: min(420px, calc(100% - 24px)) !important;
  }
}

@media (max-width: 640px) {
  #navbar.nav-hero-compact,
  #navbar.nav-hero-compact.is-scrolled {
    width: min(344px, calc(100% - 28px)) !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  #navbar.nav-hero-compact .nv2-bar {
    height: 42px !important;
    gap: 8px !important;
    padding: 0 7px !important;
  }

  #navbar.nav-hero-compact .nv2-menu-btn,
  #navbar.nav-hero-compact .nv2-cta {
    min-height: 25px !important;
    font-size: 0.5rem !important;
    letter-spacing: 0.05em !important;
    padding: 0 8px !important;
  }

  #navbar.nav-hero-compact .nv2-menu-btn {
    gap: 5px !important;
  }

  #navbar.nav-hero-compact .nv2-cta {
    margin-right: 0 !important;
    gap: 4px !important;
  }
}

/* MOTORTRUST hero banner integration: keep original hierarchy, add warehouse depth. */
section.hero-x {
  isolation: isolate;
  overflow: hidden;
}

section.hero-x .hx-bg {
  overflow: hidden;
}

section.hero-x .hx-bg__photo {
  position: absolute;
  inset: -6%;
  z-index: 0;
  width: 112%;
  height: 112%;
  object-fit: cover;
  object-position: 66% 48%;
  opacity: 0.22;
  transform: translate3d(0, var(--hx-photo-y, 0px), 0) scale(var(--hx-photo-scale, 1.04));
  filter: saturate(1.06) contrast(1.02) brightness(1);
  pointer-events: none;
}

section.hero-x .hx-bg__grid,
section.hero-x .hx-bg__glow,
section.hero-x .hx-bg__beam {
  position: relative;
  z-index: 1;
}

section.hero-x::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 48%, rgba(77,141,255,0.12), transparent 42%),
    linear-gradient(90deg, rgba(2,8,19,0.66), rgba(2,8,19,0.28) 48%, rgba(2,8,19,0.58));
  opacity: 0.72;
}

section.hero-x .hx-wrap {
  position: relative;
  z-index: 2;
}

section.hero-x .hx-panel,
section.hero-x .hx-core,
section.hero-x .hx-bar {
  position: relative;
  z-index: 2;
}

section.hero-x .hx-panel {
  background:
    linear-gradient(145deg, rgba(255,255,255,0.94), rgba(232,241,255,0.66)),
    rgba(255,255,255,0.78) !important;
}

section.hero-x .hx-core {
  text-shadow: 0 12px 32px rgba(2,8,23,0.16);
}

section.hero-x .hx-bar {
  -webkit-backdrop-filter: blur(12px) saturate(132%);
  backdrop-filter: blur(12px) saturate(132%);
}

section.hero-x.is-ambient-active .hx-bg__photo {
  opacity: 0.28;
}

@media (max-width: 820px) {
  section.hero-x .hx-bg__photo {
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: 63% 50%;
    opacity: 0.16;
    transform: none;
  }

  section.hero-x::before {
    background:
      linear-gradient(180deg, rgba(2,8,19,0.70), rgba(2,8,19,0.34) 42%, rgba(2,8,19,0.76));
    opacity: 0.78;
  }
}

@media (prefers-reduced-motion: reduce) {
  section.hero-x .hx-bg__photo {
    transform: none !important;
  }
}

/* Hero hierarchy guard: panels, core copy, CTAs and indicators must remain visible. */
section.hero-x .hx-stage {
  display: flex !important;
}

section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-panel,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-core,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-core > *,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-actions,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-actions > *,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-trust,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-trust > *,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-bar,
section.hero-x:not(.is-hero-animating):not(.is-scroll-cinema) .hx-bar > * {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

section.hero-x .hx-panel {
  display: flex !important;
}

section.hero-x:not(.is-hero-animating) .hx-bg__photo {
  opacity: 1 !important;
}

section.hero-x.is-ambient-active:not(.is-hero-animating) .hx-bg__photo {
  opacity: 1 !important;
}

section.hero-x::before {
  opacity: 1 !important;
  background:
    linear-gradient(90deg, rgba(5,16,38,0.12) 0%, rgba(5,16,38,0.03) 14%, rgba(5,16,38,0.00) 32%, rgba(5,16,38,0.00) 68%, rgba(5,16,38,0.03) 86%, rgba(5,16,38,0.12) 100%),
    linear-gradient(180deg, rgba(5,16,38,0.03) 0%, rgba(5,16,38,0.00) 24%, rgba(5,16,38,0.00) 72%, rgba(5,16,38,0.08) 100%) !important;
}

section.hero-x .hx-panel {
  border: 1px solid rgba(13,47,111,0.22) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(239,246,255,0.86)),
    rgba(255,255,255,0.78) !important;
  -webkit-backdrop-filter: saturate(1.1) blur(2px) !important;
  backdrop-filter: saturate(1.1) blur(2px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 22px 46px rgba(13,47,111,0.16),
    0 48px 90px rgba(2,8,23,0.16) !important;
}

section.hero-x .hx-panel__foot,
section.hero-x .hx-panel__head {
  border-color: rgba(13,47,111,0.12) !important;
}

section.hero-x .hx-brand__logo {
  max-width: 1030px;
}

section.hero-x:not(.is-scroll-cinema) .hx-eyebrow,
section.hero-x:not(.is-scroll-cinema) .hx-brand,
section.hero-x:not(.is-scroll-cinema) .hx-brand__logo,
section.hero-x:not(.is-scroll-cinema) .hx-brand__meta,
section.hero-x:not(.is-scroll-cinema) .hx-title,
section.hero-x:not(.is-scroll-cinema) .hx-title__l,
section.hero-x:not(.is-scroll-cinema) .hx-sub,
section.hero-x:not(.is-scroll-cinema) .hx-actions,
section.hero-x:not(.is-scroll-cinema) .hx-btn,
section.hero-x:not(.is-scroll-cinema) .hx-trust,
section.hero-x:not(.is-scroll-cinema) .hx-trust__item {
  opacity: 1 !important;
  visibility: visible !important;
}

section.hero-x .hx-brand {
  width: min(clamp(260px, 40vw, 420px), 92vw) !important;
  height: auto !important;
  overflow: visible !important;
}

section.hero-x .hx-brand::before {
  inset: 8% -10% -10% !important;
  background: radial-gradient(ellipse at 50% 58%, rgba(77,141,255,0.13), rgba(255,255,255,0) 68%) !important;
}

section.hero-x .hx-brand__logo {
  width: min(clamp(260px, 40vw, 420px), 92vw) !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  transform: none !important;
  filter: drop-shadow(0 12px 22px rgba(15,23,42,0.18)) !important;
}

section.hero-x .hx-brand:hover .hx-brand__logo {
  transform: translateY(-36%) scale(1.02) !important;
}

section.hero-x .hx-brand__meta {
  display: block !important;
}

section.hero-x .hx-title {
  display: block !important;
  text-align: center !important;
  color: #0a1b35 !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

section.hero-x .hx-title__l {
  display: inline !important;
}

section.hero-x .hx-title__l--accent {
  color: #0d2f6f !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
}

section.hero-x .hx-sub {
  display: block !important;
  color: rgba(30,41,59,0.85) !important;
  text-shadow: none !important;
}

section.hero-x .hx-actions {
  display: flex !important;
  background: rgba(255,255,255,0.94) !important;
  border: 1px solid rgba(13,47,111,0.14) !important;
}

section.hero-x .hx-btn {
  display: inline-flex !important;
  text-decoration: none !important;
}

section.hero-x .hx-btn--primary {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.28),
    0 14px 26px rgba(13,47,111,0.34) !important;
}

section.hero-x .hx-btn--ghost {
  opacity: 0.86;
}

section.hero-x .hx-bar {
  color: var(--mt-corp-blue, #0d2f6f) !important;
}

section.hero-x .hx-bar__item,
section.hero-x .hx-bar__sep,
section.hero-x .hx-bar__num,
section.hero-x .hx-bar__lbl {
  color: rgba(13,47,111,0.86) !important;
  -webkit-text-fill-color: currentColor !important;
}

@media (max-width: 820px) {


  section.hero-x:not(.is-hero-animating) .hx-bg__photo,
  section.hero-x.is-ambient-active:not(.is-hero-animating) .hx-bg__photo {
    opacity: 0.88 !important;
  }

  section.hero-x::before {
    opacity: 1 !important;
    background:
      linear-gradient(180deg, rgba(5,16,38,0.14) 0%, rgba(5,16,38,0.03) 20%, rgba(5,16,38,0.02) 62%, rgba(5,16,38,0.20) 100%),
      linear-gradient(90deg, rgba(5,16,38,0.06) 0%, rgba(5,16,38,0.00) 22%, rgba(5,16,38,0.00) 78%, rgba(5,16,38,0.08) 100%) !important;
  }

  section.hero-x .hx-core {
    width: min(100%, 336px) !important;
    margin-inline: auto !important;
  }

  section.hero-x .hx-brand {
    width: min(800px, 100vw) !important;
    height: auto !important;
  }

  section.hero-x .hx-brand__logo {
    width: min(800px, 100vw) !important;
    height: auto !important;
    transform: none !important;
  }

  section.hero-x .hx-brand:hover .hx-brand__logo {
    transform: none !important;
  }

  section.hero-x .hx-actions {
    position: relative !important;
    left: auto !important;
    width: min(100%, 312px) !important;
    max-width: min(100%, 312px) !important;
    margin-inline: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  section.hero-x .hx-btn {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  section.hero-x .hx-bar {
    width: min(100%, 340px) !important;
    margin-inline: auto !important;
    overflow: hidden !important;
  }
}

/* Hero cutout product treatment: transparent PNGs over a lighter technical frame. */
section.hero-x .hx-panel {
  border-color: rgba(255,255,255,0.34) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.16), rgba(219,235,255,0.05)),
    rgba(7,20,44,0.03) !important;
  -webkit-backdrop-filter: blur(3px) saturate(1.24) !important;
  backdrop-filter: blur(3px) saturate(1.24) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.42),
    inset 0 -1px 0 rgba(13,47,111,0.10),
    0 20px 48px rgba(2,8,23,0.18),
    0 0 0 1px rgba(77,141,255,0.08) !important;
}

section.hero-x .hx-panel::before {
  background:
    linear-gradient(115deg, rgba(255,255,255,0.18), transparent 34%, transparent 72%, rgba(77,141,255,0.08)),
    radial-gradient(ellipse at 50% 76%, rgba(77,141,255,0.12), transparent 58%) !important;
  opacity: 0.46 !important;
}

section.hero-x .hx-panel::after {
  opacity: 0.22 !important;
}

section.hero-x .hx-panel__head,
section.hero-x .hx-panel__foot {
  color: rgba(10,27,53,0.86) !important;
  background: rgba(255,255,255,0.14) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.15) !important;
  backdrop-filter: blur(8px) saturate(1.15) !important;
}

section.hero-x .hx-panel__media {
  background:
    radial-gradient(ellipse at 50% 72%, rgba(255,255,255,0.18), transparent 50%),
    radial-gradient(ellipse at 50% 44%, rgba(77,141,255,0.08), transparent 62%) !important;
  border-color: rgba(255,255,255,0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.14),
    inset 0 -1px 0 rgba(13,47,111,0.04) !important;
}

section.hero-x .hx-panel__media::before {
  opacity: 0.34 !important;
  filter: blur(22px) !important;
}

section.hero-x .hx-panel__media::after {
  opacity: 0.18 !important;
}

section.hero-x .hx-panel__img {
  max-width: 102% !important;
  max-height: 98% !important;
  z-index: 4 !important;
  filter:
    drop-shadow(0 18px 28px rgba(2,8,23,0.22))
    drop-shadow(0 4px 10px rgba(13,47,111,0.16))
    drop-shadow(0 0 22px rgba(143,185,255,0.20)) !important;
}

section.hero-x .hx-panel--left .hx-panel__img {
  transform: translateY(1%) scale(1.05) !important;
}

section.hero-x .hx-panel--right .hx-panel__img {
  transform: translateY(2%) scale(1.28) !important;
}

section.hero-x .hx-panel:hover .hx-panel__img {
  filter:
    drop-shadow(0 22px 34px rgba(2,8,23,0.26))
    drop-shadow(0 8px 16px rgba(13,47,111,0.18))
    drop-shadow(0 0 30px rgba(143,185,255,0.26)) !important;
}

section.hero-x .hx-panel--left:hover .hx-panel__img {
  transform: translateY(-1%) scale(1.09) !important;
}

section.hero-x .hx-panel--right:hover .hx-panel__img {
  transform: translateY(0) scale(1.32) !important;
}

@media (max-width: 820px) {
  #navbar,
  #navbar.is-scrolled {
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  #navbar #navShell {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #navbar:not(.show-compact-logo) .nv2-bar {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  #navbar:not(.show-compact-logo) #navLogo {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
  }

  section.hero-x .hx-panel {
    background:
      linear-gradient(145deg, rgba(255,255,255,0.18), rgba(219,235,255,0.07)),
      rgba(7,20,44,0.04) !important;
    -webkit-backdrop-filter: blur(2px) saturate(1.18) !important;
    backdrop-filter: blur(2px) saturate(1.18) !important;
  }

  section.hero-x .hx-panel__img {
    max-width: 108% !important;
    max-height: 104% !important;
  }

  section.hero-x .hx-panel--left .hx-panel__img {
    transform: translateY(1%) scale(1.02) !important;
  }

  section.hero-x .hx-panel--right .hx-panel__img {
    transform: translateY(2%) scale(1.14) !important;
  }

  section.hero-x .hx-actions {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    align-self: center !important;
    width: min(calc(100vw - 48px), 304px) !important;
    max-width: min(calc(100vw - 48px), 304px) !important;
    margin-inline: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  section.hero-x .hx-btn {
    padding-inline: 14px !important;
  }
}

/* Hero copy legibility tuning: focal contrast only behind logo and core message. */
section.hero-x .hx-core {
  position: relative;
  isolation: isolate;
  padding: clamp(14px, 1.8vw, 22px) clamp(18px, 2vw, 28px) clamp(12px, 1.6vw, 20px);
  border-radius: 28px;
}

section.hero-x .hx-core > * {
  position: relative;
  z-index: 1;
}

section.hero-x .hx-core::before {
  content: '';
  position: absolute;
  inset: -20px -30px -18px;
  z-index: 0;
  pointer-events: none;
  border-radius: 36px;
  background:
    radial-gradient(ellipse at 50% 16%, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.82) 20%, rgba(255,255,255,0.44) 39%, rgba(255,255,255,0.14) 56%, transparent 78%),
    linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.08) 38%, rgba(8,20,44,0.05) 100%);
  border: 1px solid rgba(255,255,255,0.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.45),
    0 18px 52px rgba(2,8,23,0.10);
}

section.hero-x .hx-core::after {
  content: '';
  position: absolute;
  inset: 10% 9% 46%;
  z-index: 0;
  pointer-events: none;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(77,141,255,0.14) 0%, rgba(77,141,255,0.06) 46%, transparent 74%);
  opacity: 0.9;
}

section.hero-x .hx-brand {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(800px, 100vw) !important;
  height: auto !important;
  margin-inline: auto;
  padding: 16px 18px !important;
  border-radius: 22px;
  overflow: visible !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.07) 54%, rgba(77,141,255,0.10)),
    rgba(6,18,42,0.04) !important;
  border: 1px solid rgba(255,255,255,0.42);
  -webkit-backdrop-filter: blur(24px) saturate(1.34) contrast(1.04);
  backdrop-filter: blur(24px) saturate(1.34) contrast(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.56),
    inset 0 -1px 0 rgba(13,47,111,0.12),
    0 22px 50px rgba(2,8,23,0.20),
    0 0 0 1px rgba(77,141,255,0.10);
  perspective: 900px;
}

section.hero-x .hx-brand::before {
  display: block !important;
  inset: -26% -12% -18% !important;
  z-index: -1;
  border-radius: 32px;
  background: radial-gradient(ellipse at 50% 52%, rgba(77,141,255,0.22), rgba(255,255,255,0) 68%) !important;
  opacity: 0.72 !important;
}

section.hero-x .hx-brand::after {
  content: '' !important;
  display: block !important;
  position: absolute;
  inset: 1px;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.06) 36%, rgba(255,255,255,0.00) 62%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.01));
  opacity: 0.42;
}

section.hero-x .hx-brand__logo {
  position: relative;
  z-index: 2;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  transform: none !important;
  transform-origin: center;
  transition: transform 180ms ease-out, filter 180ms ease-out;
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,0.78))
    drop-shadow(0 10px 22px rgba(15,23,42,0.12)) !important;
}

section.hero-x .hx-brand:hover .hx-brand__logo {
  transform: translate3d(0, -2px, 0) rotateX(2deg) rotateY(-3deg) scale(1.012) !important;
}

@media (prefers-reduced-motion: reduce) {
  section.hero-x .hx-brand__logo {
    transition: none !important;
  }

  section.hero-x .hx-brand:hover .hx-brand__logo {
    transform: none !important;
  }
}

section.hero-x .hx-title {
  width: auto !important;
  max-width: 32vw !important;
  margin-top: 4px;
  position: relative;
  display: inline-block !important;
  gap: 0;
  padding: 10px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.72) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
  backdrop-filter: blur(16px) saturate(1.1);
  box-shadow:
    0 8px 32px rgba(13,47,111,0.08),
    inset 0 1px 0 rgba(255,255,255,0.8);
  line-height: 1.10 !important;
  font-weight: 500 !important;
  font-size: clamp(1.04rem, 0.74rem + 0.64vw, 1.37rem) !important;
  color: #1a2330 !important;
  -webkit-text-stroke: 0;
  text-shadow: none !important;
}

section.hero-x .hx-title__l--accent {
  color: #0a46b2 !important;
  -webkit-text-stroke: 0.34px rgba(236,244,255,0.52);
  text-shadow:
    0 1px 0 rgba(255,255,255,0.70),
    0 0 8px rgba(120,176,255,0.14),
    0 5px 12px rgba(7,23,51,0.08) !important;
}

section.hero-x .hx-sub {
  max-width: none !important;
  margin-top: 0;
  margin-inline: 0;
  padding: 0;
  border-radius: 0;
  background: none !important;
  border: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  font-size: clamp(0.78rem, 0.58rem + 0.12vw, 0.88rem) !important;
  font-weight: 450 !important;
  line-height: 1.4 !important;
  color: rgba(30,41,59,0.85) !important;
  text-shadow: none !important;
}

section.hero-x .hx-actions {
  margin-top: 143px;
}

section.hero-x .hx-bar {
  margin-top: clamp(32px, 4.8vh, 56px) !important;
}

@media (max-width: 820px) {
  section.hero-x .hx-core {
    padding: 12px 14px 10px;
    border-radius: 22px;
  }

  section.hero-x .hx-core::before {
    inset: -10px -10px -10px;
    border-radius: 26px;
    background:
      radial-gradient(ellipse at 50% 18%, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.72) 24%, rgba(255,255,255,0.32) 44%, rgba(255,255,255,0.10) 60%, transparent 82%),
      linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.05) 36%, rgba(8,20,44,0.05) 100%);
  }

  section.hero-x .hx-core::after {
    inset: 10% 6% 54%;
  }

  section.hero-x .hx-brand {
    width: min(100%, 312px) !important;
    max-width: min(100%, 312px) !important;
    padding: 12px 14px !important;
    border-radius: 18px;
    box-sizing: border-box !important;
  }

  section.hero-x .hx-brand__logo {
    width: 94% !important;
    height: auto !important;
    max-width: 94% !important;
    transform: none !important;
  }

  section.hero-x .hx-title {
    width: auto !important;
    max-width: 32vw !important;
    margin-top: 3px;
    padding: 8px 12px 9px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.72) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.1);
    backdrop-filter: blur(16px) saturate(1.1);
    box-shadow:
      0 8px 32px rgba(13,47,111,0.08),
      inset 0 1px 0 rgba(255,255,255,0.8);
    line-height: 1.10 !important;
    font-size: clamp(1.04rem, 0.74rem + 0.64vw, 1.37rem) !important;
    -webkit-text-stroke: 0;
    text-shadow: none !important;
  }

  section.hero-x .hx-sub {
    max-width: 29ch !important;
    margin-top: 4px;
    padding: 7px 10px;
    font-size: 0.86rem !important;
    line-height: 1.28 !important;
  }

  section.hero-x .hx-bar {
    margin-top: 24px !important;
  }
}

/* MOTORTRUST Motion Lab: cinematic video bay, scoped to the new section only. */
section.motion-lab {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  max-width: none !important;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: clamp(72px, 9vw, 128px) 18px;
  background:
    radial-gradient(circle at 76% 20%, rgba(44,126,255,0.28), transparent 28%),
    radial-gradient(circle at 18% 80%, rgba(255,176,66,0.16), transparent 30%),
    linear-gradient(135deg, #050b17 0%, #0a1730 48%, #07101f 100%) !important;
  color: #f5f8ff;
}

.motion-lab::before,
.motion-lab::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

.motion-lab::before {
  opacity: 0.26;
  background-image:
    linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent);
}

.motion-lab::after {
  background:
    linear-gradient(90deg, rgba(5,11,23,0.92), rgba(5,11,23,0.2) 48%, rgba(5,11,23,0.82)),
    linear-gradient(180deg, rgba(255,255,255,0.06), transparent 16%, transparent 84%, rgba(0,0,0,0.24));
}

.motion-lab__shell {
  gap: clamp(22px, 3vw, 48px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(280px, 0.86fr) minmax(420px, 1.14fr);
  align-items: center;
  gap: clamp(34px, 5vw, 76px);
}

.motion-lab__copy {
  position: relative;
  z-index: 2;
  margin-left: auto;
  text-align: right;
  max-width: 480px;
}

.motion-lab__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  padding: 9px 13px;
  border: 1px solid rgba(147,183,255,0.26);
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  color: #a9c4ff;
  font: 800 0.72rem/1 "Manrope", sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.motion-lab__eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f6b44d;
  box-shadow: 0 0 0 6px rgba(246,180,77,0.14);
}

.motion-lab__title {
  margin: 0;
  max-width: 10.5ch;
  color: #ffffff;
  font: 900 clamp(2.25rem, 5.6vw, 5.65rem)/0.88 "Manrope", sans-serif;
  letter-spacing: -0.075em;
  text-wrap: balance;
}

.motion-lab__lead {
  margin: clamp(12px, 1.8vw, 18px) 0 0;
  max-width: 46ch;
  color: rgba(225,235,255,0.82);
  font: 700 clamp(1rem, 1.25vw, 1.18rem)/1.35 "Manrope", sans-serif;
}

.motion-lab__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
  justify-content: flex-end;
}

.motion-lab__proof span {
  display: inline-flex;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(245,248,255,0.88);
  font: 800 0.72rem/1 "Manrope", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.motion-lab__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
  justify-content: flex-end;
}

.motion-lab__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  font: 900 0.75rem/1 "Manrope", sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

.motion-lab__button:hover {
  transform: translateY(-2px);
}

.motion-lab__button--primary {
  background: #f5f8ff;
  color: #07152d;
  box-shadow: 0 18px 42px rgba(7,21,45,0.34);
}

.motion-lab__button--ghost {
  border: 1px solid rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.06);
  color: #f5f8ff;
}

.motion-lab__stage {
  position: relative;
  min-height: clamp(560px, 58vw, 710px);
  display: grid;
  place-items: center;
}

.motion-lab__stage::before {
  content: "";
  position: absolute;
  width: min(72%, 560px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(58,133,255,0.34), transparent 66%);
  filter: blur(2px);
  opacity: 0.88;
}

.motion-lab__reel {
  --reel-rotate: -2deg;
  position: absolute;
  z-index: 1;
  display: grid;
  gap: 14px;
  transform: translate3d(0,0,0) rotate(var(--reel-rotate));
  transform-origin: center;
  backface-visibility: hidden;
}

.motion-lab__reel--main {
  left: clamp(0px, 2vw, 34px);
  width: clamp(286px, 32vw, 430px);
  --reel-rotate: -2.2deg;
}

.motion-lab__reel--side {
  right: clamp(0px, 3vw, 44px);
  bottom: clamp(10px, 5vw, 58px);
  width: clamp(218px, 23vw, 332px);
  --reel-rotate: 2.4deg;
  z-index: 2;
}

.motion-lab__frame {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(198,219,255,0.22);
  border-radius: clamp(24px, 2.6vw, 36px);
  background: #020712;
  box-shadow:
    0 34px 90px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.18);
}

.motion-lab__reel--main .motion-lab__frame {
  aspect-ratio: 3 / 4;
}

.motion-lab__reel--side .motion-lab__frame {
  aspect-ratio: 1;
}

.motion-lab__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.18), transparent 22%, transparent 72%, rgba(2,7,18,0.32)),
    radial-gradient(circle at 28% 18%, rgba(255,255,255,0.18), transparent 24%);
  mix-blend-mode: screen;
  opacity: 0.6;
}

.motion-lab__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translateZ(0);
}

/* ─── Intro + Main video overlay (solo reel derecho) ─── */
.motion-lab__video--intro,
.motion-lab__video--main {
  position: absolute;
  inset: 0;
}

.motion-lab__video--intro {
  z-index: 2;
  transition: opacity 0.6s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-lab__video--intro.is-exiting {
  opacity: 0;
  transform: scale(1.08);
  filter: blur(6px);
}

.motion-lab__video--main {
  z-index: 1;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), filter 0.6s ease;
}

.motion-lab__video--main.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* ─── Flash overlay en transición ─── */
.motion-lab__flash {
  position: absolute;
  inset: 0;
  z-index: 3;
  background: radial-gradient(circle, rgba(255,255,255,0.55), rgba(143,185,255,0.25), transparent 70%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.motion-lab__flash.is-active {
  opacity: 1;
  transition: opacity 0s;
}

.motion-lab__caption {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  row-gap: 2px;
  width: calc(100% - 20px);
  margin-inline: auto;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 18px;
  background: rgba(4,13,29,0.72);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 42px rgba(0,0,0,0.28);
}

.motion-lab__caption span {
  grid-row: 1 / span 2;
  align-self: center;
  color: #f6b44d;
  font: 900 0.72rem/1 "Manrope", sans-serif;
  letter-spacing: 0.14em;
}

.motion-lab__caption strong {
  color: #ffffff;
  font: 900 1rem/1 "Manrope", sans-serif;
  letter-spacing: -0.02em;
}

.motion-lab__caption small {
  color: rgba(218,230,255,0.72);
  font: 800 0.72rem/1.2 "Manrope", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


@media (max-width: 980px) {
  .motion-lab__shell {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .motion-lab__copy {
    max-width: 720px;
    text-align: center;
    margin-inline: auto;
  }

  .motion-lab__title,
  .motion-lab__lead {
    margin-inline: auto;
  }

  .motion-lab__proof,
  .motion-lab__actions {
    justify-content: center;
  }

  .motion-lab__stage {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.78fr);
    align-items: end;
    gap: 18px;
  }

  .motion-lab__reel,
  .motion-lab__reel--main,
  .motion-lab__reel--side {
    position: relative;
    inset: auto;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .motion-lab {
    padding: 58px 14px 66px;
  }

  .motion-lab__title {
    max-width: 11ch;
    font-size: clamp(2.25rem, 14vw, 3.75rem);
  }

  .motion-lab__lead {
    font-size: 0.98rem;
  }

  .motion-lab__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .motion-lab__stage {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .motion-lab__reel,
  .motion-lab__reel--main,
  .motion-lab__reel--side {
    --reel-rotate: 0deg;
    max-width: 360px;
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-lab__copy,
  .motion-lab__reel,
  .motion-lab__button {
    animation: none !important;
    transition: none !important;
  }
}

/* Motion Lab redesign: dual video showcase for laptop, desktop and tablet. */
section.motion-lab {
  display: flex;
  align-items: center;
  min-height: clamp(700px, 88svh, 900px);
  padding: clamp(42px, 5vw, 68px) clamp(22px, 4vw, 56px);
  background:
    radial-gradient(circle at 18% 20%, rgba(36,106,210,0.2), transparent 28%),
    radial-gradient(circle at 86% 72%, rgba(232,160,56,0.12), transparent 24%),
    linear-gradient(120deg, #020611 0%, #071122 48%, #030711 100%) !important;
}

section.motion-lab::before {
  opacity: 0.2;
  background-image:
    linear-gradient(rgba(106,148,220,0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(106,148,220,0.12) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

section.motion-lab::after {
  background:
    linear-gradient(90deg, rgba(2,6,17,0.95), rgba(2,6,17,0.18) 46%, rgba(2,6,17,0.86)),
    linear-gradient(180deg, rgba(255,255,255,0.05), transparent 18%, rgba(0,0,0,0.3));
}

.motion-lab__shell {
  width: min(100%, 1380px);
  min-height: min(760px, 100%);
  display: grid;
  grid-template-rows: auto minmax(480px, 1fr);
  align-content: center;
  gap: clamp(24px, 3vw, 38px);
}

.motion-lab__copy {
  justify-items: end;
  text-align: right;
  display: grid;
  grid-template-columns: minmax(360px, 0.95fr) minmax(340px, 0.82fr) minmax(220px, auto);
  align-items: end;
  gap: clamp(16px, 2.2vw, 32px);
  max-width: none;
}

.motion-lab__eyebrow {
  grid-column: 1 / -1;
  justify-self: end;
  margin: 0 0 -4px;
  padding: 8px 12px;
  border-color: rgba(133,172,240,0.34);
  background: rgba(7,18,38,0.7);
  color: #b7ccf5;
}

.motion-lab__title {
  max-width: 12ch;
  font-size: clamp(2.35rem, 4.4vw, 5rem);
  line-height: 0.9;
}

.motion-lab__lead {
  max-width: 42ch;
  margin: 0;
  color: rgba(226,235,250,0.84);
  font-size: clamp(0.98rem, 1.08vw, 1.14rem);
  line-height: 1.48;
}

.motion-lab__proof {
  grid-column: 2;
  margin-top: 14px;
  gap: 8px;
}

.motion-lab__proof span {
  padding: 8px 11px;
  background: rgba(255,255,255,0.07);
  color: rgba(244,248,255,0.84);
  font-size: 0.68rem;
}

.motion-lab__actions {
  grid-column: 3;
  grid-row: 2 / span 2;
  display: grid;
  min-width: 220px;
  margin-top: 0;
  align-self: end;
}

.motion-lab__button {
  min-height: 46px;
  padding-inline: 18px;
  border-radius: 16px;
}

.motion-lab__stage {
  height: clamp(500px, 58vh, 660px);
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(340px, 0.78fr) minmax(520px, 1.22fr);
  align-items: stretch;
  gap: clamp(18px, 2.5vw, 34px);
  place-items: stretch;
}

.motion-lab__stage::before {
  width: min(56vw, 720px);
  background: radial-gradient(circle, rgba(49,111,214,0.24), transparent 68%);
  opacity: 0.65;
  filter: none;
}

.motion-lab__reel,
.motion-lab__reel--main,
.motion-lab__reel--side {
  position: relative;
  inset: auto;
  width: 100% !important;
  height: 100%;
  gap: 0;
  --reel-rotate: 0deg;
  transform: translate3d(0,0,0) !important;
}

.motion-lab__reel--main {
  z-index: 1;
}

.motion-lab__reel--side {
  z-index: 2;
}

.motion-lab__frame,
.motion-lab__reel--main .motion-lab__frame,
.motion-lab__reel--side .motion-lab__frame {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: clamp(26px, 2.8vw, 42px);
  border-color: rgba(190,211,247,0.24);
  background: #020611;
  box-shadow:
    0 32px 80px rgba(0,0,0,0.44),
    0 0 0 1px rgba(255,255,255,0.05),
    inset 0 1px 0 rgba(255,255,255,0.18);
}

.motion-lab__reel--main .motion-lab__video {
  object-position: center 48%;
}

.motion-lab__reel--side .motion-lab__video {
  object-position: center;
}

.motion-lab__frame::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.15), transparent 18%, transparent 76%, rgba(0,0,0,0.44)),
    linear-gradient(110deg, rgba(255,255,255,0.12), transparent 32%);
  opacity: 0.5;
}

.motion-lab__caption {
  position: absolute;
  left: clamp(14px, 1.5vw, 22px);
  right: clamp(14px, 1.5vw, 22px);
  bottom: clamp(14px, 1.5vw, 22px);
  z-index: 3;
  width: auto;
  margin: 0;
  padding: 13px 15px;
  background: rgba(3,9,22,0.82);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.motion-lab__caption strong {
  font-size: clamp(0.96rem, 1.1vw, 1.18rem);
}

.motion-lab__caption small {
  color: rgba(226,235,250,0.78);
}


@media (max-width: 1180px) {
  .motion-lab__copy {
    grid-template-columns: minmax(300px, 0.9fr) minmax(320px, 1fr);
  }

  .motion-lab__actions {
    grid-column: 1 / -1;
    grid-row: auto;
    grid-template-columns: repeat(2, minmax(180px, 220px));
    justify-self: start;
  }

  .motion-lab__stage {
    height: clamp(480px, 54vw, 620px);
    grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1.18fr);
  }
}

@media (max-width: 860px) {
  section.motion-lab {
    min-height: auto;
    padding: 58px 16px 68px;
  }

  .motion-lab__shell {
    grid-template-rows: auto auto;
  }

  .motion-lab__copy {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .motion-lab__eyebrow,
  .motion-lab__actions {
    justify-self: center;
  }

  .motion-lab__title,
  .motion-lab__lead {
    margin-inline: auto;
  }

  .motion-lab__proof {
    grid-column: auto;
    justify-content: center;
  }

  .motion-lab__stage {
    height: auto;
    grid-template-columns: 1fr;
  }

  .motion-lab__reel,
  .motion-lab__reel--main,
  .motion-lab__reel--side {
    height: auto;
    max-width: 640px;
    margin-inline: auto;
  }

  .motion-lab__reel--main .motion-lab__frame {
    aspect-ratio: 3 / 4;
  }

  .motion-lab__reel--side .motion-lab__frame {
    aspect-ratio: 1;
  }
}

/* Motion Lab layout correction: compact copy left, dominant dual-video wall right. */
.motion-lab__shell {
  grid-template-columns: minmax(300px, 0.42fr) minmax(620px, 1fr);
  grid-template-rows: 1fr;
  align-items: center;
  gap: clamp(28px, 4vw, 58px);
}

.motion-lab__copy {
  text-align: right;
  display: block;
  max-width: 430px;
}

.motion-lab__eyebrow {
  margin-bottom: clamp(18px, 2.4vw, 26px);
}

.motion-lab__title {
  max-width: 11.5ch;
  font-size: clamp(2.35rem, 4.1vw, 4.8rem);
}

.motion-lab__lead {
  margin-top: clamp(18px, 2vw, 24px);
  max-width: 34ch;
}

.motion-lab__proof {
  gap: 6px;
  margin-top: 10px;
}

.motion-lab__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.motion-lab__stage {
  grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1.18fr);
  height: clamp(520px, 61vh, 680px);
}

@media (max-width: 1180px) {
  .motion-lab__shell {
    grid-template-columns: minmax(260px, 0.38fr) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 34px);
  }

  .motion-lab__copy {
    max-width: 330px;
  }

  .motion-lab__title {
    font-size: clamp(2rem, 3.9vw, 3.45rem);
  }

  .motion-lab__lead {
    font-size: 0.96rem;
  }

  .motion-lab__stage {
    grid-template-columns: minmax(250px, 0.82fr) minmax(330px, 1.18fr);
    height: clamp(470px, 60vh, 580px);
    gap: 18px;
  }
}

@media (max-width: 860px) {
  .motion-lab__shell {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .motion-lab__copy {
    max-width: 720px;
  }

  .motion-lab__actions {
    grid-template-columns: 1fr;
    width: 100%;
  }
}

/* Motion Lab alignment: match footer content rail and use the active viewport. */
@media (min-width: 861px) {
  section.motion-lab {
    min-height: 100svh;
    padding: clamp(40px, 5.4svh, 64px) 0;
  }

  section.motion-lab .motion-lab__shell {
    width: min(1120px, calc(100% - 32px));
    min-height: calc(100svh - clamp(80px, 10.8svh, 128px));
    margin-inline: auto;
    grid-template-columns: minmax(260px, 0.36fr) minmax(0, 1fr);
    gap: clamp(24px, 3.3vw, 42px);
  }

  section.motion-lab .motion-lab__copy {
    max-width: 320px;
  }

  section.motion-lab .motion-lab__stage {
    height: min(640px, calc(100svh - 136px));
    min-height: 500px;
    grid-template-columns: minmax(250px, 0.8fr) minmax(360px, 1.2fr);
    gap: clamp(18px, 2vw, 28px);
  }
}

@media (min-width: 1181px) {
  section.motion-lab .motion-lab__copy {
    max-width: 330px;
  }

  section.motion-lab .motion-lab__stage {
    min-height: 540px;
  }
}

/* Motion Lab atmosphere: light corporate environment aligned with the site palette. */
section.motion-lab {
  background:
    radial-gradient(circle at 16% 20%, rgba(13,47,111,0.07), transparent 30%),
    radial-gradient(circle at 84% 74%, rgba(232,160,56,0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7faff 48%, #edf3f9 100%) !important;
  color: #0b1f45;
}

section.motion-lab::before {
  opacity: 0.46;
  background-image:
    linear-gradient(rgba(13,47,111,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,47,111,0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

section.motion-lab::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.96), rgba(255,255,255,0.36) 48%, rgba(255,255,255,0.9)),
    linear-gradient(180deg, rgba(13,47,111,0.04), transparent 24%, rgba(13,47,111,0.07));
}

section.motion-lab .motion-lab__eyebrow {
  border-color: rgba(13,47,111,0.18);
  background: rgba(255,255,255,0.92);
  color: #0d2f6f;
  box-shadow: 0 12px 28px rgba(15,23,42,0.06);
}

section.motion-lab .motion-lab__title {
  color: #07152d;
  text-shadow: 0 1px 0 rgba(255,255,255,0.62);
}

section.motion-lab .motion-lab__lead {
  color: #334155;
}

section.motion-lab .motion-lab__proof span {
  border-color: rgba(13,47,111,0.14);
  background: rgba(255,255,255,0.86);
  color: #1e3a66;
  box-shadow: 0 10px 24px rgba(15,23,42,0.045);
}

section.motion-lab .motion-lab__button--primary {
  background: #0d2f6f;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(13,47,111,0.2);
}

section.motion-lab .motion-lab__button--ghost {
  border-color: rgba(13,47,111,0.2);
  background: rgba(255,255,255,0.82);
  color: #0b1f45;
}

section.motion-lab .motion-lab__frame {
  border-color: rgba(13,47,111,0.13);
  box-shadow:
    0 28px 70px rgba(15,23,42,0.16),
    0 0 0 1px rgba(255,255,255,0.78),
    inset 0 1px 0 rgba(255,255,255,0.22);
}

section.motion-lab .motion-lab__stage::before {
  background: radial-gradient(circle, rgba(13,47,111,0.1), transparent 68%);
  opacity: 0.5;
}

/* Motion Lab copy refinement: compact, centered and visually closer to the showcase. */
@media (min-width: 861px) {
  section.motion-lab .motion-lab__copy {
    max-width: 296px;
    justify-self: end;
    text-align: right;
    transform: translateX(clamp(16px, 2vw, 34px));
  }

  section.motion-lab .motion-lab__eyebrow {
    justify-content: flex-end;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }

  section.motion-lab .motion-lab__title {
    max-width: 9.6ch;
    margin-inline: auto;
    font-size: clamp(2.16rem, 3.55vw, 4.05rem);
    line-height: 0.92;
  }

  section.motion-lab .motion-lab__lead {
    max-width: 29ch;
    margin-inline: auto;
    font-size: clamp(0.92rem, 1vw, 1.02rem);
    line-height: 1.48;
  }

  section.motion-lab .motion-lab__proof {
    justify-content: flex-end;
    gap: 6px;
    margin-top: 10px;
  }

  section.motion-lab .motion-lab__actions {
    width: auto;
    margin-inline: 0;
    margin-top: 12px;
    gap: 8px;
  }
}

/* Hero scroll cinema: warehouse depth without layout or blur animation. */
section.hero-x.is-scroll-cinema .hx-stage {
  perspective: 1200px;
  transform-style: preserve-3d;
}

section.hero-x.is-scroll-cinema .hx-bg__photo,
section.hero-x.is-scroll-cinema .hx-panel,
section.hero-x.is-scroll-cinema .hx-brand,
section.hero-x.is-scroll-cinema .hx-brand__logo,
section.hero-x.is-scroll-cinema .hx-eyebrow,
section.hero-x.is-scroll-cinema .hx-title,
section.hero-x.is-scroll-cinema .hx-title__l,
section.hero-x.is-scroll-cinema .hx-sub,
section.hero-x.is-scroll-cinema .hx-actions,
section.hero-x.is-scroll-cinema .hx-actions .hx-btn,
section.hero-x.is-scroll-cinema .hx-trust,
section.hero-x.is-scroll-cinema .hx-trust__item,
section.hero-x.is-scroll-cinema .hx-bar {
  will-change: transform, opacity;
  backface-visibility: hidden;
}

section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-panel,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-core,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-core > *,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-actions,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-actions > *,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-trust,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-trust > *,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-bar,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-bar > * {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-panel__head,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-panel__media,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-panel__img,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-panel__foot,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-spec,
section.hero-x.is-scroll-cinema:not(.is-hero-animating) .hx-corner {
  opacity: 1 !important;
  visibility: visible !important;
}

section.hero-x.is-scroll-cinema .hx-bg__photo {
  filter: saturate(1.12) contrast(1.04) brightness(1.03) !important;
}

section.hero-x.is-scroll-cinema::before {
  background:
    linear-gradient(90deg, rgba(5,16,38,0.08) 0%, rgba(5,16,38,0.015) 18%, rgba(5,16,38,0.00) 36%, rgba(5,16,38,0.00) 64%, rgba(5,16,38,0.018) 82%, rgba(5,16,38,0.09) 100%),
    linear-gradient(180deg, rgba(5,16,38,0.015) 0%, rgba(5,16,38,0.00) 26%, rgba(5,16,38,0.00) 74%, rgba(5,16,38,0.06) 100%) !important;
}

section.hero-x.is-scroll-cinema .hx-panel {
  background:
    linear-gradient(145deg, rgba(255,255,255,0.12), rgba(219,235,255,0.04)),
    rgba(7,20,44,0.02) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

section.hero-x.is-scroll-cinema .hx-panel__head,
section.hero-x.is-scroll-cinema .hx-panel__foot {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: rgba(255,255,255,0.22) !important;
}

section.hero-x.is-scroll-cinema .hx-core::before {
  opacity: 0.88;
}

section.hero-x.is-scroll-cinema .hx-core::after {
  opacity: 0.58;
}

@media (max-width: 820px) {
  section.hero-x.is-scroll-cinema .hx-stage {
    perspective: none;
  }

  section.hero-x.is-scroll-cinema .hx-bg__photo,
  section.hero-x.is-scroll-cinema .hx-panel,
  section.hero-x.is-scroll-cinema .hx-brand,
  section.hero-x.is-scroll-cinema .hx-brand__logo,
  section.hero-x.is-scroll-cinema .hx-eyebrow,
  section.hero-x.is-scroll-cinema .hx-title,
  section.hero-x.is-scroll-cinema .hx-title__l,
  section.hero-x.is-scroll-cinema .hx-sub,
  section.hero-x.is-scroll-cinema .hx-actions,
  section.hero-x.is-scroll-cinema .hx-actions .hx-btn,
  section.hero-x.is-scroll-cinema .hx-trust,
  section.hero-x.is-scroll-cinema .hx-trust__item,
  section.hero-x.is-scroll-cinema .hx-bar {
    will-change: auto;
  }
}

/* Navbar type reinforcement: slightly denser labels for first-view readability. */
#navbar .nv2-menu-btn,
#navbar .nv2-cta,
#navbar .nv2-pct {
  color: rgba(6,21,47,0.94) !important;
}

#navbar .nv2-menu-txt,
#navbar .nv2-cta-txt,
#navbar .nv2-pct {
  font-weight: 800 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.52);
}

#navbar .nv2-menu-btn,
#navbar .nv2-cta {
  font-size: 0.68rem !important;
  letter-spacing: 0.08em !important;
}

@media (max-width: 900px) {
  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    font-size: 0.61rem !important;
  }
}

@media (max-width: 640px) {
  #navbar .nv2-menu-btn,
  #navbar .nv2-cta {
    font-size: 0.56rem !important;
    letter-spacing: 0.05em !important;
  }
}

/* Navbar shell: remove glassmorphism, keep layout intact. */
#navbar #navShell,
#navbar.is-scrolled #navShell {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(13,47,111,0.10) !important;
  box-shadow: none !important;
}

#navbar #navShell::before,
#navbar #navShell::after,
#navbar.is-scrolled #navShell::before,
#navbar.is-scrolled #navShell::after {
  content: none !important;
  display: none !important;
}

#navbar::before,
#navbar::after,
#navbar.is-scrolled::before,
#navbar.is-scrolled::after {
  content: none !important;
  display: none !important;
}

#navbar,
#navbar.is-scrolled {
  box-shadow: none !important;
}

#navbar.nav-hero-compact,
#navbar.nav-hero-compact.is-scrolled {
  box-shadow: none !important;
}

@media (max-width: 820px) {
  #navbar,
  #navbar.is-scrolled,
  #navbar.nav-hero-compact,
  #navbar.nav-hero-compact.is-scrolled {
    left: 24px !important;
    right: auto !important;
    width: calc(100% - 72px) !important;
    max-width: none !important;
    transform: none !important;
  }

  #navbar #navShell,
  #navbar.is-scrolled #navShell {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #navbar .nv2-bar {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Mobile hero stabilization: keep desktop untouched, align all hero content on one rail. */
@media (max-width: 820px) {
  section.hero-x {
    --hx-mobile-rail: min(calc(100vw - 96px), 326px);
    min-height: 100svh !important;
    overflow: hidden !important;
  }

  section.hero-x .hx-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100svh !important;
    padding: calc(58px + env(safe-area-inset-top)) 14px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  section.hero-x .hx-stage {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
  }

  section.hero-x .hx-core {
    width: min(100%, calc(100vw - 28px), 344px) !important;
    max-width: min(100%, calc(100vw - 28px), 344px) !important;
    margin: 0 auto !important;
    padding: 10px 8px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  section.hero-x .hx-core::before {
    inset: -8px -6px -8px !important;
    border-radius: 24px !important;
  }

  section.hero-x .hx-core::after {
    inset: 8% 8% 56% !important;
  }

  section.hero-x .hx-eyebrow {
    width: fit-content !important;
    max-width: calc(100% - 18px) !important;
    min-height: 20px !important;
    margin: 0 auto 1px !important;
    padding: 0 9px !important;
    font-size: clamp(0.46rem, 1.7vw, 0.56rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  section.hero-x .hx-brand {
    width: var(--hx-mobile-rail) !important;
    max-width: var(--hx-mobile-rail) !important;
    margin: 0 auto !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  section.hero-x .hx-brand__logo {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  section.hero-x .hx-brand:hover .hx-brand__logo {
    transform: none !important;
  }

  section.hero-x .hx-title {
    width: var(--hx-mobile-rail) !important;
    max-width: var(--hx-mobile-rail) !important;
    margin: 2px auto 0 !important;
    padding: 9px 12px !important;
    display: block !important;
    text-align: center !important;
    font-size: clamp(1rem, 4.2vw, 1.18rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  section.hero-x .hx-title__l {
    display: block !important;
    white-space: normal !important;
  }

  section.hero-x .hx-sub {
    width: 100% !important;
    max-width: 29ch !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    font-size: clamp(0.72rem, 3.1vw, 0.84rem) !important;
    line-height: 1.26 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  section.hero-x .hx-actions {
    width: var(--hx-mobile-rail) !important;
    max-width: var(--hx-mobile-rail) !important;
    margin: 10px auto 0 !important;
    padding: 6px !important;
    gap: 6px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transform: none !important;
  }

  section.hero-x .hx-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding-inline: 14px !important;
    justify-content: center !important;
    font-size: 0.72rem !important;
    letter-spacing: 0 !important;
    box-sizing: border-box !important;
  }

  section.hero-x .hx-trust {
    width: var(--hx-mobile-rail) !important;
    max-width: var(--hx-mobile-rail) !important;
    margin: 8px auto 0 !important;
    padding: 6px 10px !important;
    gap: 4px 8px !important;
    justify-content: center !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  section.hero-x .hx-trust__item {
    font-size: clamp(0.52rem, 2.2vw, 0.62rem) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  section.hero-x .hx-bar {
    width: var(--hx-mobile-rail) !important;
    max-width: var(--hx-mobile-rail) !important;
    margin: 10px auto 0 !important;
    padding: 8px 10px !important;
    gap: 5px 9px !important;
    justify-content: center !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transform: none !important;
  }

  section.hero-x .hx-bar__item,
  section.hero-x .hx-bar__sep {
    font-size: 0.56rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  section.hero-x {
    --hx-mobile-rail: min(calc(100vw - 96px), 292px);
  }

  section.hero-x .hx-wrap {
    padding-inline: 10px !important;
    gap: 8px !important;
  }

  section.hero-x .hx-core {
    padding-inline: 6px !important;
    gap: 7px !important;
  }

  section.hero-x .hx-brand {
    padding: 9px 10px !important;
  }

  section.hero-x .hx-title {
    padding: 8px 10px !important;
    font-size: clamp(0.98rem, 4.35vw, 1.08rem) !important;
  }

  section.hero-x .hx-sub {
    max-width: 28ch !important;
  }

  section.hero-x .hx-btn {
    min-height: 42px !important;
    font-size: 0.68rem !important;
  }
}

/* Motion Lab mobile stabilization: restore a real single-column flow without touching desktop. */
@media (max-width: 860px) {
  section.motion-lab {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: clamp(42px, 12vw, 58px) 14px clamp(52px, 13vw, 68px) !important;
    display: block !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__shell {
    width: 100% !important;
    max-width: min(100%, 440px) !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    align-content: start !important;
    gap: 24px !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__copy {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 12px !important;
    text-align: center !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__lead {
    width: 100% !important;
    max-width: 34ch !important;
    margin: 0 auto !important;
    font-size: clamp(0.95rem, 4vw, 1.04rem) !important;
    line-height: 1.45 !important;
    text-align: center !important;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  section.motion-lab .motion-lab__proof {
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    grid-column: auto !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__proof span {
    max-width: 100% !important;
    padding: 8px 10px !important;
    font-size: clamp(0.62rem, 2.6vw, 0.7rem) !important;
    line-height: 1 !important;
    letter-spacing: 0.07em !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__actions {
    width: 100% !important;
    max-width: 340px !important;
    min-width: 0 !important;
    margin: 2px auto 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: auto !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    gap: 8px !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding-inline: 16px !important;
    border-radius: 16px !important;
    font-size: 0.74rem !important;
    line-height: 1.05 !important;
    letter-spacing: 0.07em !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__stage {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    place-items: stretch !important;
    gap: 18px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__reel,
  section.motion-lab .motion-lab__reel--main,
  section.motion-lab .motion-lab__reel--side {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: min(100%, 360px) !important;
    height: auto !important;
    margin-inline: auto !important;
    transform: none !important;
    --reel-rotate: 0deg !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__frame,
  section.motion-lab .motion-lab__reel--main .motion-lab__frame,
  section.motion-lab .motion-lab__reel--side .motion-lab__frame {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border-radius: 24px !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__reel--main .motion-lab__frame {
    aspect-ratio: 3 / 4 !important;
  }

  section.motion-lab .motion-lab__reel--side .motion-lab__frame {
    aspect-ratio: 1 !important;
  }

  section.motion-lab .motion-lab__video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  section.motion-lab .motion-lab__reel--main .motion-lab__video {
    transform: translateZ(0) !important;
    transform-origin: center !important;
  }

  section.motion-lab .motion-lab__caption {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    padding: 10px 12px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    box-sizing: border-box !important;
  }

  section.motion-lab .motion-lab__caption strong,
  section.motion-lab .motion-lab__caption small {
    min-width: 0 !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 380px) {
  section.motion-lab {
    padding-inline: 12px !important;
  }

  section.motion-lab .motion-lab__shell {
    gap: 20px !important;
  }

  section.motion-lab .motion-lab__copy {
    gap: 10px !important;
  }

  section.motion-lab .motion-lab__lead {
    font-size: 0.92rem !important;
    line-height: 1.42 !important;
  }

  section.motion-lab .motion-lab__proof {
    gap: 6px !important;
  }

  section.motion-lab .motion-lab__button {
    min-height: 44px !important;
    font-size: 0.7rem !important;
  }

  section.motion-lab .motion-lab__stage {
    gap: 16px !important;
  }

  section.motion-lab .motion-lab__reel,
  section.motion-lab .motion-lab__reel--main,
  section.motion-lab .motion-lab__reel--side {
    max-width: min(100%, 330px) !important;
  }
}
