/* ============================================================================
   EXECUTIVE LAB · DARK DOMINANT REDESIGN
   ============================================================================
   Base · landing original negra preservada
   Aplica · dark predominante en TODAS las secciones (cream → dark)
   Framework · ui-ux-pro-max (accessibility, touch, spacing, motion)
   Mantiene · estructura HTML y copy intactos
   ============================================================================ */

/* ════════════════════════════════════════════════════════════════════════════
   TOKENS
   ════════════════════════════════════════════════════════════════════════════ */

:root {
  --ink-95: #050505;
  --ink-90: #0a0a0a;
  --ink-85: #0f0f0f;
  --ink-80: #141414;
  --ink-75: #1a1a1a;
  --ink-70: #222222;
  --ink-60: #2e2e2e;
  --ink-50: #3f3f3f;

  --cream:        #f4eee6;
  --cream-soft:   #fbf8f3;
  --cream-muted:  rgba(244, 238, 230, 0.85);

  --paper:        #ffffff;

  --line-d05: rgba(255, 255, 255, 0.05);
  --line-d08: rgba(255, 255, 255, 0.08);
  --line-d12: rgba(255, 255, 255, 0.12);
  --line-d18: rgba(255, 255, 255, 0.18);

  --red:        #EC4429;
  --red-deep:   #c5361e;
  --red-soft:   #f05b41;
  --red-muted:  #d65339;
  --red-tint:   rgba(236, 68, 41, 0.08);
  --red-tint-2: rgba(236, 68, 41, 0.14);
  --red-line:   rgba(236, 68, 41, 0.28);
  --red-glow:   rgba(236, 68, 41, 0.32);

  --txt-1: #ffffff;
  --txt-2: rgba(255, 255, 255, 0.86);
  --txt-3: rgba(255, 255, 255, 0.68);
  --txt-4: rgba(255, 255, 255, 0.52);
  --txt-5: rgba(255, 255, 255, 0.4);

  --serif: "DM Serif Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans:  "Lato", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease:        cubic-bezier(0.22, 0.36, 0.18, 1);
  --ease-soft:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.36, 0.64, 1);

  --w-content: 1080px;
  --w-wide:    1240px;
  --w-full:    1400px;
}

/* ════════════════════════════════════════════════════════════════════════════
   GLOBAL · base dark dominant
   ════════════════════════════════════════════════════════════════════════════ */

html { scroll-behavior: smooth; scroll-padding-top: 96px; }

html body {
  background: var(--ink-90) !important;
  color: var(--txt-2) !important;
  font-family: var(--sans) !important;
  font-feature-settings: "kern", "liga", "calt";
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  letter-spacing: -0.003em !important;
  line-height: 1.6 !important;
}

::selection { background: var(--red); color: #ffffff; }

/* Tabular numerals */
.dv2-num, .wr-num, .ide-num, .fv2-num,
.ov3-price, .gv2-seal-percent, .duration, .cur,
.wr-stat .num {
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

*:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   NAVIGATION · spacing + touch
   ════════════════════════════════════════════════════════════════════════════ */

html body header.nav {
  background: rgba(10, 10, 10, 0.86) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  border-bottom: 1px solid var(--line-d08) !important;
}

html body header.nav .nav-inner {
  padding: 18px clamp(20px, 4vw, 56px) !important;
  gap: clamp(20px, 4vw, 48px) !important;
}

html body .nav-logo:hover {
  opacity: 0.7 !important;
  filter: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

html body .nav-logo-img {
  height: 22px !important;
  filter: none !important;
  box-shadow: none !important;
}

html body .nav-links {
  gap: clamp(24px, 3vw, 36px) !important;
}

html body .nav-links a {
  font-family: var(--sans) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.005em !important;
  color: var(--txt-3) !important;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 8px 0 !important;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: color 0.32s var(--ease-soft) !important;
}

html body .nav-links a::after {
  background: var(--red) !important;
  height: 1px !important;
}

html body .nav-links a:hover {
  color: var(--txt-1) !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

html body .nav-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 22px !important;
  font-family: var(--sans) !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: var(--red) !important;
  border: 0 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  min-height: 44px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.14) inset, 0 6px 16px rgba(236, 68, 41, 0.24) !important;
  transition: background 0.32s var(--ease-soft), transform 0.32s var(--ease-soft), box-shadow 0.32s var(--ease-soft) !important;
}

html body .nav-cta::after {
  content: '→';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-size: 13px;
  line-height: 0;
  font-family: var(--sans);
  transition: transform 0.32s var(--ease-soft), background 0.32s var(--ease-soft);
}

html body .nav-cta:hover {
  background: var(--red-deep) !important;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset, 0 12px 28px rgba(236, 68, 41, 0.36) !important;
}

html body .nav-cta:hover::after {
  transform: translateX(3px);
  background: rgba(255, 255, 255, 0.28);
}

html body .nav-cta:active {
  transform: translateY(0) scale(0.97);
}

html body .nav-toggle {
  background: transparent !important;
  border: 1px solid var(--line-d18) !important;
  border-radius: 8px !important;
  padding: 9px !important;
  color: var(--txt-1) !important;
  min-height: 44px;
  min-width: 44px;
}

@media (max-width: 880px) {
  html body header.nav .nav-inner { padding: 14px 20px !important; gap: 12px !important; }
  html body .nav-links { display: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   HERO · respeta dark con ajedrez · mejora spacing + tipografía + CTA
   ════════════════════════════════════════════════════════════════════════════ */

html body section.hv2-section {
  padding: clamp(72px, 9vw, 128px) 0 clamp(72px, 9vw, 120px) !important;
  position: relative;
  overflow: hidden;
}

/* Ajedrez visible (más opacidad para que se vea bien) */
html body section.hv2-section::before {
  opacity: 0.42 !important;
  background-size: cover !important;
  background-position: center 38% !important;
  filter: contrast(1.12) brightness(0.92) !important;
}

html body section.hv2-section::after {
  background: radial-gradient(ellipse at center, rgba(10, 10, 10, 0) 0%, rgba(10, 10, 10, 0.55) 70%, rgba(10, 10, 10, 0.85) 100%) !important;
}

html body .hv2-wrap {
  max-width: 980px !important;
  padding: 0 clamp(24px, 5vw, 64px) !important;
}

/* Kicker pill premium */
html body .hv2-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 8px 16px 8px 12px !important;
  background: rgba(236, 68, 41, 0.10) !important;
  border: 1px solid rgba(236, 68, 41, 0.28) !important;
  border-radius: 999px !important;
  margin: 0 auto 36px !important;
  backdrop-filter: blur(8px);
}

html body .hv2-kicker::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 3px rgba(236, 68, 41, 0.22);
  animation: el-dot-pulse 2.4s var(--ease-soft) infinite;
}

@keyframes el-dot-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.85); }
}

/* Title premium · spacing y wrap balance */
html body .hv2-title {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(40px, 6vw, 80px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.024em !important;
  color: #ffffff !important;
  margin: 0 auto 28px !important;
  text-wrap: balance;
  max-width: 16ch !important;
}

html body .hv2-title em,
html body .hv2-title .accent {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body .hv2-sub {
  font-family: var(--sans) !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.65 !important;
  color: var(--txt-3) !important;
  max-width: 60ch !important;
  margin: 0 auto 44px !important;
  letter-spacing: -0.003em;
}

html body .hv2-sub strong, html body .hv2-sub b {
  color: var(--txt-1) !important;
  font-weight: 700 !important;
}

/* Video wrap · refined frame */
html body .hv2-video-wrap {
  border-radius: 16px !important;
  border: 1px solid var(--line-d12) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 40px 96px -20px rgba(236, 68, 41, 0.18),
    0 32px 80px -20px rgba(0, 0, 0, 0.65) !important;
  margin: 0 auto 44px !important;
}

html body .hv2-video {
  border-radius: 15px !important;
}

/* CTA premium · pill + arrow */
html body .hv2-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 17px 10px 17px 32px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: var(--red) !important;
  border: 0 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  min-height: 52px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 14px 32px -4px rgba(236, 68, 41, 0.42) !important;
  transition: background 0.32s var(--ease-soft), transform 0.32s var(--ease-soft), box-shadow 0.32s var(--ease-soft) !important;
}

html body .hv2-cta svg { display: none !important; }

html body .hv2-cta::after {
  content: '→';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.20);
  font-size: 16px;
  line-height: 0;
  margin-left: 6px;
  transition: transform 0.32s var(--ease-soft), background 0.32s var(--ease-soft);
}

html body .hv2-cta:hover {
  background: var(--red-deep) !important;
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.24) inset, 0 20px 44px -4px rgba(236, 68, 41, 0.55) !important;
}

html body .hv2-cta:hover::after {
  transform: translateX(4px);
  background: rgba(255, 255, 255, 0.30);
}

html body .hv2-cta:active {
  transform: translateY(0) scale(0.98);
}

html body .hv2-cta-meta {
  display: block !important;
  margin-top: 18px !important;
  font-family: var(--mono) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--txt-4) !important;
}

@media (max-width: 720px) {
  html body .hv2-title { font-size: clamp(34px, 9vw, 52px) !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   TRUST MARQUEE · spacing + touch
   ════════════════════════════════════════════════════════════════════════════ */

html body section.trust-marquee {
  background: var(--ink-95) !important;
  padding: 64px 0 72px !important;
  border-top: 1px solid var(--line-d05) !important;
  border-bottom: 1px solid var(--line-d05) !important;
}

html body .tm-label {
  font-family: var(--mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--txt-4) !important;
  margin-bottom: 36px !important;
}

html body .tm-track:hover { animation-play-state: running !important; }

html body .tm-item {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 24px !important;
  height: 68px !important;
  min-width: 220px !important;
  padding: 0 36px !important;
  color: var(--txt-3) !important;
  background: rgba(255, 255, 255, 0.025) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 10px !important;
  transition: color 0.5s var(--ease-soft), border-color 0.5s var(--ease-soft), background 0.5s var(--ease-soft) !important;
}

html body .tm-item:hover {
  color: var(--txt-1) !important;
  background: rgba(236, 68, 41, 0.05) !important;
  border-color: rgba(236, 68, 41, 0.5) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   DOLOR V2 · respeta dark + spacing + tipografía
   ════════════════════════════════════════════════════════════════════════════ */

html body section.dolor-v2 {
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  background: var(--ink-90) !important;
}

html body section.dolor-v2 .dv2-wrap {
  max-width: var(--w-wide) !important;
  margin: 0 auto !important;
}

html body section.dolor-v2 .dv2-head {
  margin-bottom: clamp(72px, 9vw, 112px) !important;
  max-width: 920px !important;
}

html body section.dolor-v2 .dv2-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px 7px 11px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 24px !important;
}

html body section.dolor-v2 .dv2-kicker::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
}

html body section.dolor-v2 h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
  text-wrap: balance;
}

html body section.dolor-v2 h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.dolor-v2 .dv2-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 900px) {
  html body section.dolor-v2 .dv2-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    max-width: 640px;
    margin: 0 auto;
  }
}

html body section.dolor-v2 .dv2-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 14px !important;
  padding: 44px 36px 40px !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft), background 0.45s var(--ease-soft) !important;
}

html body section.dolor-v2 .dv2-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--red);
  transition: width 0.6s var(--ease-soft);
}

html body section.dolor-v2 .dv2-card:hover {
  transform: translateY(-3px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.065) 0%, rgba(255, 255, 255, 0.018) 100%) !important;
  border-color: var(--line-d18) !important;
}

html body section.dolor-v2 .dv2-card:hover::before { width: 100%; opacity: 0.6; }

html body section.dolor-v2 .dv2-num {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 64px !important;
  line-height: 0.88 !important;
  color: var(--red-soft) !important;
  margin-bottom: 22px !important;
  letter-spacing: -0.034em !important;
  display: block !important;
}

html body section.dolor-v2 .dv2-icon {
  width: 28px !important;
  height: 28px !important;
  color: var(--red) !important;
  opacity: 0.75;
  margin-bottom: 20px !important;
  stroke-width: 1.4;
}

html body section.dolor-v2 .dv2-card h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: 25px !important;
  line-height: 1.12 !important;
  color: var(--txt-1) !important;
  margin: 0 0 20px !important;
  letter-spacing: -0.014em;
  text-wrap: balance;
}

html body section.dolor-v2 .dv2-card p {
  font-family: var(--sans) !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  margin: 0 0 14px !important;
  max-width: 56ch;
}

html body section.dolor-v2 .dv2-card p:last-child { margin-bottom: 0 !important; }

html body section.dolor-v2 .dv2-card strong { color: var(--txt-1) !important; font-weight: 700 !important; }
html body section.dolor-v2 .dv2-card em { color: var(--red-soft) !important; font-style: italic !important; }

html body section.dolor-v2 .dv2-foot {
  margin-top: clamp(72px, 9vw, 112px) !important;
  text-align: center;
}

html body section.dolor-v2 .dv2-foot p {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.42 !important;
  color: var(--txt-2) !important;
  max-width: 720px;
  margin: 0 auto;
  text-wrap: balance;
}

/* ════════════════════════════════════════════════════════════════════════════
   OVERVIEW V3 · CONVERTIR a DARK + spacing premium
   ════════════════════════════════════════════════════════════════════════════ */

html body section.overview-v3 {
  background: var(--ink-90) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  color: var(--txt-2) !important;
}

html body section.overview-v3 .ov3-wrap {
  max-width: var(--w-wide) !important;
  margin: 0 auto !important;
}

html body section.overview-v3 .ov3-head {
  text-align: center !important;
  margin: 0 auto clamp(72px, 9vw, 112px) !important;
  max-width: 820px !important;
}

html body section.overview-v3 .ov3-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px 7px 11px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 24px !important;
}

html body section.overview-v3 .ov3-kicker::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
}

html body section.overview-v3 .ov3-head h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 0 22px !important;
  text-wrap: balance;
}

html body section.overview-v3 .ov3-head h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.overview-v3 .ov3-intro {
  font-family: var(--sans) !important;
  font-size: clamp(16px, 1.25vw, 18px) !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  margin: 0 auto !important;
  max-width: 60ch;
}

html body section.overview-v3 .ov3-intro strong {
  color: var(--txt-1) !important;
}

html body section.overview-v3 .ov3-phases {
  display: grid !important;
  grid-template-columns: 1fr 1px 1fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
}

html body section.overview-v3 .ov3-divider {
  background: var(--line-d12) !important;
  width: 1px !important;
  min-height: 100% !important;
  position: relative;
}

html body section.overview-v3 .ov3-divider::before {
  content: '*';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--serif);
  font-style: italic;
  font-size: 56px;
  line-height: 0.7;
  color: var(--red);
  background: var(--ink-90);
  padding: 12px 8px;
}

@media (max-width: 880px) {
  html body section.overview-v3 .ov3-phases {
    grid-template-columns: 1fr !important;
    gap: 56px !important;
  }
  html body section.overview-v3 .ov3-divider { display: none !important; }
}

html body section.overview-v3 .ov3-phase-icon {
  width: 44px !important;
  height: 44px !important;
  color: var(--red) !important;
  stroke-width: 1.4 !important;
  margin-bottom: 22px !important;
}

html body section.overview-v3 .ov3-phase-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 6px 14px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 20px !important;
}

html body section.overview-v3 .ov3-phase h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(26px, 2.8vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em !important;
  color: var(--txt-1) !important;
  margin: 0 0 24px !important;
  text-wrap: balance;
}

html body section.overview-v3 .ov3-phase h3 em,
html body section.overview-v3 .ov3-phase h3 .accent {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.overview-v3 .ov3-phase .desc {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  margin: 0 0 32px !important;
  max-width: 60ch;
}

html body section.overview-v3 .ov3-phase .desc strong {
  color: var(--txt-1) !important;
}

/* Lists · editorial items con bullet rojo */
html body section.overview-v3 .ov3-phase ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 14px !important;
}

html body section.overview-v3 .ov3-phase li {
  position: relative !important;
  padding: 16px 0 16px 36px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-d08) !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--txt-3) !important;
  min-height: 56px;
}

html body section.overview-v3 .ov3-phase li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 27px !important;
  width: 20px !important;
  height: 1.5px !important;
  background: var(--red) !important;
  border-radius: 0 !important;
  -webkit-mask: none !important;
  mask: none !important;
  color: transparent !important;
  font-size: 0 !important;
  transition: width 0.4s var(--ease);
}

html body section.overview-v3 .ov3-phase li::after { display: none !important; }

html body section.overview-v3 .ov3-phase li:hover::before {
  width: 28px !important;
}

html body section.overview-v3 .ov3-phase li strong {
  color: var(--txt-1) !important;
  font-weight: 700 !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   WEEKS ROADMAP · CONVERTIR a DARK + 2x2 compact
   ════════════════════════════════════════════════════════════════════════════ */

html body section.weeks-roadmap {
  background: var(--ink-85) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  color: var(--txt-2) !important;
}

html body section.weeks-roadmap .wr-wrap {
  max-width: var(--w-wide) !important;
  margin: 0 auto !important;
}

html body section.weeks-roadmap .wr-head {
  text-align: center !important;
  margin: 0 auto clamp(64px, 8vw, 96px) !important;
  max-width: 760px;
}

html body section.weeks-roadmap .wr-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px 7px 11px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.weeks-roadmap h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
  text-wrap: balance;
}

html body section.weeks-roadmap h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

/* Timeline → 2x2 BENTO compact */
@media (min-width: 880px) {
  html body section.weeks-roadmap .wr-timeline {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    padding: 0 !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
  }

  html body section.weeks-roadmap .wr-timeline::before { display: none !important; }

  html body section.weeks-roadmap .wr-row {
    display: block !important;
    margin-bottom: 0 !important;
  }

  html body section.weeks-roadmap .wr-row.left .wr-card,
  html body section.weeks-roadmap .wr-row.right .wr-card {
    grid-column: auto !important;
    text-align: left !important;
  }

  html body section.weeks-roadmap .wr-row.left .wr-num,
  html body section.weeks-roadmap .wr-row.right .wr-num {
    text-align: left !important;
  }

  html body section.weeks-roadmap .wr-dot { display: none !important; }
  html body section.weeks-roadmap .wr-card::before { display: none !important; }
}

html body section.weeks-roadmap .wr-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 14px !important;
  padding: 36px 32px 32px !important;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft), background 0.45s var(--ease-soft) !important;
}

html body section.weeks-roadmap .wr-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--red);
  transition: width 0.6s var(--ease-soft);
}

html body section.weeks-roadmap .wr-card:hover {
  transform: translateY(-3px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.015) 100%) !important;
  border-color: var(--line-d18) !important;
}

html body section.weeks-roadmap .wr-card:hover::after { width: 100%; opacity: 0.6; }

html body section.weeks-roadmap .wr-num {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(48px, 5vw, 72px) !important;
  line-height: 0.88 !important;
  color: var(--red-soft) !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.034em !important;
  display: block !important;
}

html body section.weeks-roadmap .wr-week-tag {
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--txt-4) !important;
  margin: 0 0 16px !important;
  display: inline-block;
}

html body section.weeks-roadmap .wr-card h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.014em !important;
  color: var(--txt-1) !important;
  margin: 0 0 14px !important;
  text-wrap: balance;
}

html body section.weeks-roadmap .wr-tagline {
  font-family: var(--sans) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--red-soft) !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 16px !important;
}

html body section.weeks-roadmap .wr-card p:not(.wr-tagline) {
  font-family: var(--sans) !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  margin: 0 0 12px !important;
  max-width: 56ch;
}

html body section.weeks-roadmap .wr-card p strong { color: var(--txt-1) !important; font-weight: 700 !important; }
html body section.weeks-roadmap .wr-card p em { color: var(--red-soft) !important; font-style: italic !important; }

html body section.weeks-roadmap .wr-foot {
  margin-top: clamp(64px, 8vw, 96px) !important;
  padding-top: 40px !important;
  border-top: 1px solid var(--line-d08) !important;
  text-align: center;
}

html body section.weeks-roadmap .wr-stat .num {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(36px, 3.6vw, 48px) !important;
  color: var(--red-soft) !important;
  line-height: 1 !important;
}

html body section.weeks-roadmap .wr-stat .lbl {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--txt-4) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   IDE V2 · CONVERTIR a DARK
   ════════════════════════════════════════════════════════════════════════════ */

html body section.ide-v2 {
  background: var(--ink-90) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) clamp(48px, 6vw, 80px) !important;
  color: var(--txt-2) !important;
}

html body section.ide-v2 .ide-wrap {
  max-width: var(--w-wide) !important;
  margin: 0 auto !important;
}

html body section.ide-v2 .ide-head {
  text-align: center !important;
  margin: 0 auto clamp(72px, 9vw, 112px) !important;
  max-width: 820px;
}

html body section.ide-v2 .ide-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px 7px 11px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.ide-v2 .ide-head h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 0 22px !important;
  text-wrap: balance;
}

html body section.ide-v2 .ide-head h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.ide-v2 .ide-intro {
  font-family: var(--sans) !important;
  font-size: clamp(16px, 1.25vw, 18px) !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  max-width: 64ch !important;
  margin: 0 auto;
}

html body section.ide-v2 .ide-intro strong { color: var(--txt-1) !important; }

html body section.ide-v2 .ide-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

@media (max-width: 880px) {
  html body section.ide-v2 .ide-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

html body section.ide-v2 .ide-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 14px !important;
  padding: 40px 36px !important;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft), background 0.45s var(--ease-soft) !important;
}

html body section.ide-v2 .ide-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--red);
  transition: width 0.6s var(--ease-soft);
}

html body section.ide-v2 .ide-card:hover {
  transform: translateY(-3px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.018) 100%) !important;
  border-color: var(--line-d18) !important;
}

html body section.ide-v2 .ide-card:hover::before { width: 100%; opacity: 0.6; }

html body section.ide-v2 .ide-num {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(48px, 5vw, 72px) !important;
  line-height: 0.88 !important;
  color: var(--red-soft) !important;
  margin: 0 0 24px !important;
  letter-spacing: -0.034em !important;
  display: block !important;
}

html body section.ide-v2 .ide-card h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(20px, 1.8vw, 24px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.014em !important;
  color: var(--txt-1) !important;
  margin: 0 0 18px !important;
  text-wrap: balance;
}

html body section.ide-v2 .ide-card p {
  font-family: var(--sans) !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  margin: 0 !important;
  max-width: 56ch;
}

html body section.ide-v2 .ide-card p strong { color: var(--txt-1) !important; font-weight: 700 !important; }
html body section.ide-v2 .ide-card p em { color: var(--red-soft) !important; font-style: italic !important; }

html body section.ide-v2 .ide-foot {
  margin-top: clamp(64px, 8vw, 96px) !important;
  padding-top: 40px !important;
  border-top: 1px solid var(--line-d08) !important;
  text-align: center;
}

html body section.ide-v2 .ide-foot p {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.42 !important;
  color: var(--txt-2) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  text-wrap: balance;
}

html body section.ide-v2 .ide-foot p em { color: var(--red-soft) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   CTAs INTERMEDIOS · adapt dark
   ════════════════════════════════════════════════════════════════════════════ */

html body section.ide-v2 + div[style*="padding:0 24px 64px"],
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] {
  background: var(--ink-90) !important;
  padding: 0 24px 96px !important;
  position: relative !important;
}

html body section.ide-v2 + div[style*="padding:0 24px 64px"]::before,
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"]::before {
  content: '';
  display: block;
  width: 56px;
  height: 1px;
  background: var(--red);
  opacity: 0.55;
  margin: 0 auto 36px;
}

html body section.ide-v2 + div[style*="padding:0 24px 64px"] > a,
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 17px 10px 17px 32px !important;
  font-family: var(--sans) !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: var(--red) !important;
  border: 0 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  min-height: 52px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 14px 32px -4px rgba(236, 68, 41, 0.42) !important;
  transition: background 0.32s var(--ease-soft), transform 0.32s var(--ease-soft), box-shadow 0.32s var(--ease-soft) !important;
}

html body section.ide-v2 + div[style*="padding:0 24px 64px"] > a svg,
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] > a svg {
  display: none !important;
}

html body section.ide-v2 + div[style*="padding:0 24px 64px"] > a::after,
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] > a::after {
  content: '→';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.20);
  font-size: 16px;
  line-height: 0;
  margin-left: 6px;
  transition: transform 0.32s var(--ease-soft), background 0.32s var(--ease-soft);
}

html body section.ide-v2 + div[style*="padding:0 24px 64px"] > a:hover,
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] > a:hover {
  background: var(--red-deep) !important;
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.24) inset, 0 20px 44px -4px rgba(236, 68, 41, 0.55) !important;
}

html body section.ide-v2 + div[style*="padding:0 24px 64px"] > a:hover::after,
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] > a:hover::after {
  transform: translateX(4px);
  background: rgba(255, 255, 255, 0.30);
}

/* ════════════════════════════════════════════════════════════════════════════
   MENTORS V2 · CONVERTIR a DARK
   ════════════════════════════════════════════════════════════════════════════ */

html body section.mentors-v2 {
  background: var(--ink-85) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  color: var(--txt-2) !important;
}

html body section.mentors-v2 .mv2-wrap {
  max-width: var(--w-wide) !important;
  margin: 0 auto !important;
}

html body section.mentors-v2 .mv2-head {
  text-align: center !important;
  margin: 0 auto clamp(64px, 8vw, 96px) !important;
  max-width: 760px;
}

html body section.mentors-v2 .mv2-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px 7px 11px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.mentors-v2 h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
  text-wrap: balance;
}

html body section.mentors-v2 h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.mentors-v2 .mv2-overline {
  color: var(--txt-3) !important;
  font-family: var(--serif) !important;
  font-style: italic;
}

html body section.mentors-v2 .mv2-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 14px !important;
  padding: 40px 36px !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft), background 0.45s var(--ease-soft) !important;
}

html body section.mentors-v2 .mv2-card::before {
  content: '*';
  position: absolute;
  top: 20px;
  right: 24px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 36px;
  color: var(--red);
  opacity: 0.45;
  line-height: 0.7;
  pointer-events: none;
}

html body section.mentors-v2 .mv2-card:hover {
  transform: translateY(-3px);
  border-color: var(--line-d18) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.065) 0%, rgba(255, 255, 255, 0.018) 100%) !important;
}

html body section.mentors-v2 .mv2-kicker {
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body section.mentors-v2 .mv2-name {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(24px, 2.2vw, 30px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.014em !important;
  color: var(--txt-1) !important;
  margin: 0 0 16px !important;
}

html body section.mentors-v2 .mv2-credentials {
  font-family: var(--sans) !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--txt-3) !important;
  max-width: 56ch;
}

/* ════════════════════════════════════════════════════════════════════════════
   TESTIMONIOS · section-paper → dark
   ════════════════════════════════════════════════════════════════════════════ */

html body section.section-paper#resultados {
  background: var(--ink-90) !important;
  color: var(--txt-2) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
}

html body section.section-paper#resultados .kicker.center {
  color: var(--red) !important;
}

html body section.section-paper#resultados h2 {
  color: var(--txt-1) !important;
}

html body section.section-paper#resultados h2 em,
html body section.section-paper#resultados .accent {
  color: var(--red-soft) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   OFFER V3 · respeta dark + spacing
   ════════════════════════════════════════════════════════════════════════════ */

html body section.offer-v3 {
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
}

html body section.offer-v3 .ov3-head {
  margin: 0 auto clamp(64px, 8vw, 96px) !important;
}

html body section.offer-v3 .ov3-kicker {
  letter-spacing: 0.24em !important;
}

html body section.offer-v3 h2 {
  font-size: clamp(34px, 4.6vw, 52px) !important;
}

html body section.offer-v3 .ov3-card {
  padding: clamp(40px, 5vw, 64px) !important;
  gap: clamp(40px, 5vw, 72px) !important;
}

html body section.offer-v3 .ov3-features h3 {
  letter-spacing: 0.20em !important;
}

html body section.offer-v3 .ov3-features ul {
  gap: 14px !important;
  margin-bottom: 40px !important;
}

html body section.offer-v3 .ov3-features li {
  padding: 4px 0 4px 28px !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  min-height: 28px;
}

html body section.offer-v3 .ov3-features li::before {
  font-size: 16px !important;
  top: 4px !important;
}

html body section.offer-v3 .ov3-price {
  font-family: var(--serif) !important;
  font-size: clamp(60px, 7vw, 84px) !important;
  letter-spacing: -0.038em !important;
}

html body section.offer-v3 .ov3-price .cur {
  color: var(--red-soft) !important;
}

html body section.offer-v3 .ov3-cta {
  border-radius: 999px !important;
  padding: 17px 10px 17px 28px !important;
  letter-spacing: 0.12em !important;
  min-height: 52px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 14px 32px -4px rgba(236, 68, 41, 0.42) !important;
  transition: background 0.32s var(--ease-soft), transform 0.32s var(--ease-soft), box-shadow 0.32s var(--ease-soft) !important;
}

html body section.offer-v3 .ov3-cta svg { display: none !important; }

html body section.offer-v3 .ov3-cta::after {
  content: '→';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.20);
  font-size: 16px;
  line-height: 0;
  transition: transform 0.32s var(--ease-soft), background 0.32s var(--ease-soft);
}

html body section.offer-v3 .ov3-cta:hover {
  background: var(--red-deep) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.24) inset, 0 20px 44px -4px rgba(236, 68, 41, 0.55) !important;
}

html body section.offer-v3 .ov3-cta:hover::after {
  transform: translateX(4px);
  background: rgba(255, 255, 255, 0.30);
}

html body section.offer-v3 .ov3-cta:active {
  transform: translateY(0) scale(0.98) !important;
}

html body section.offer-v3 .ov3-microctas {
  margin-top: 24px !important;
  gap: 12px !important;
}

html body section.offer-v3 .ov3-microctas a {
  padding: 6px 0 !important;
  font-size: 13px !important;
  min-height: 32px;
}

/* ════════════════════════════════════════════════════════════════════════════
   GARANTÍA · CONVERTIR a DARK · sello preservado
   ════════════════════════════════════════════════════════════════════════════ */

html body section.guarantee-v2 {
  background: var(--ink-85) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  color: var(--txt-2) !important;
}

html body section.guarantee-v2 .gv2-wrap {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

html body section.guarantee-v2 .gv2-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 18px !important;
  padding: clamp(40px, 5vw, 72px) !important;
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: clamp(40px, 5vw, 64px) !important;
  align-items: center !important;
  box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.45) !important;
  position: relative !important;
  overflow: hidden !important;
}

html body section.guarantee-v2 .gv2-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--red) 0%, var(--red-soft) 50%, var(--red) 100%) !important;
}

@media (max-width: 760px) {
  html body section.guarantee-v2 .gv2-card {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* Seal · adapt to dark · ring rojo + texto cream */
html body section.guarantee-v2 .gv2-seal {
  position: relative !important;
  width: 240px !important;
  height: 240px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

html body section.guarantee-v2 .gv2-seal-ring {
  position: absolute !important;
  inset: 0 !important;
  border: 2px solid var(--red) !important;
  border-radius: 50% !important;
}

html body section.guarantee-v2 .gv2-seal-ring::before {
  content: '' !important;
  position: absolute !important;
  inset: 8px !important;
  border: 1px dashed rgba(236, 68, 41, 0.5) !important;
  border-radius: 50% !important;
  animation: seal-rotate 28s linear infinite;
}

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

html body section.guarantee-v2 .gv2-seal-percent {
  font-family: var(--serif) !important;
  font-size: 78px !important;
  color: var(--red-soft) !important;
  line-height: 1 !important;
  margin: 0 0 4px !important;
}

html body section.guarantee-v2 .gv2-seal-label {
  font-family: var(--mono) !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--txt-1) !important;
  text-align: center !important;
}

html body section.guarantee-v2 .gv2-seal-days {
  margin-top: 6px !important;
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--txt-3) !important;
}

/* Content */
html body section.guarantee-v2 .gv2-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 6px 14px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 20px !important;
}

html body section.guarantee-v2 .gv2-content h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: var(--txt-1) !important;
  margin: 0 0 24px !important;
  text-wrap: balance;
}

html body section.guarantee-v2 .gv2-content h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.guarantee-v2 .gv2-content p {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: var(--txt-3) !important;
  margin: 0 0 16px !important;
  max-width: 60ch;
}

html body section.guarantee-v2 .gv2-content p strong {
  color: var(--txt-1) !important;
  font-weight: 700 !important;
}

html body section.guarantee-v2 .gv2-condition {
  margin: 24px 0 !important;
  padding: 18px 22px !important;
  background: rgba(236, 68, 41, 0.06) !important;
  border-left: 3px solid var(--red) !important;
  border-radius: 0 6px 6px 0 !important;
}

html body section.guarantee-v2 .gv2-condition .lbl {
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--red-soft) !important;
  margin-bottom: 6px !important;
}

html body section.guarantee-v2 .gv2-condition .txt {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 20px !important;
  color: var(--txt-1) !important;
  line-height: 1.4 !important;
}

html body section.guarantee-v2 .gv2-signature {
  border-top: 1px solid var(--line-d08) !important;
}

html body section.guarantee-v2 .gv2-sig-name {
  color: var(--txt-1) !important;
}

html body section.guarantee-v2 .gv2-sig-role {
  color: var(--txt-4) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   ENCAJE V3 · CONVERTIR a DARK
   ════════════════════════════════════════════════════════════════════════════ */

html body section.encaje-v3 {
  background: var(--ink-90) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  color: var(--txt-2) !important;
}

html body section.encaje-v3 .ev3-wrap {
  max-width: var(--w-wide) !important;
  margin: 0 auto !important;
}

html body section.encaje-v3 .ev3-head {
  text-align: center !important;
  margin: 0 auto clamp(64px, 8vw, 96px) !important;
  max-width: 760px;
}

html body section.encaje-v3 .ev3-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.encaje-v3 h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
  text-wrap: balance;
}

html body section.encaje-v3 h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.encaje-v3 .ev3-table {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

@media (max-width: 760px) {
  html body section.encaje-v3 .ev3-table {
    grid-template-columns: 1fr !important;
  }
}

html body section.encaje-v3 .ev3-col {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 14px !important;
  padding: 44px 36px !important;
  box-shadow: none !important;
  position: relative;
  transition: transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft), background 0.45s var(--ease-soft) !important;
}

html body section.encaje-v3 .ev3-col:hover {
  transform: translateY(-3px);
  border-color: var(--line-d18) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.065) 0%, rgba(255, 255, 255, 0.018) 100%) !important;
}

html body section.encaje-v3 .ev3-col-yes { border-top: 3px solid var(--red) !important; }
html body section.encaje-v3 .ev3-col-no { border-top: 3px solid var(--line-d18) !important; }

html body section.encaje-v3 .ev3-col-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  margin-bottom: 24px !important;
}

html body section.encaje-v3 .ev3-col-yes .ev3-col-tag {
  color: var(--red) !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line);
}

html body section.encaje-v3 .ev3-col-no .ev3-col-tag {
  color: var(--txt-2) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--line-d12);
}

html body section.encaje-v3 .ev3-col h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.014em !important;
  color: var(--txt-1) !important;
  margin: 0 0 24px !important;
  text-wrap: balance;
}

html body section.encaje-v3 .ev3-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 12px !important;
}

html body section.encaje-v3 .ev3-list li {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--txt-3) !important;
  padding: 8px 0 8px 32px !important;
  position: relative;
  min-height: 32px;
}

html body section.encaje-v3 .ev3-col-yes .ev3-list li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 12px !important;
  width: 20px !important;
  height: 1.5px !important;
  background: var(--red) !important;
}

html body section.encaje-v3 .ev3-col-no .ev3-list li::before {
  content: '×' !important;
  position: absolute !important;
  left: 0 !important;
  top: 6px !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--txt-4) !important;
  font-weight: 700 !important;
  font-family: var(--sans) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   FAQ V2 · CONVERTIR a DARK
   ════════════════════════════════════════════════════════════════════════════ */

html body section.faq-v2 {
  background: var(--ink-85) !important;
  padding: clamp(96px, 12vw, 168px) clamp(24px, 5vw, 56px) !important;
  color: var(--txt-2) !important;
}

html body section.faq-v2 .fv2-wrap {
  max-width: 880px !important;
  margin: 0 auto !important;
}

html body section.faq-v2 .fv2-head {
  text-align: center !important;
  margin: 0 auto clamp(56px, 7vw, 80px) !important;
}

html body section.faq-v2 .fv2-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.faq-v2 h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
  text-wrap: balance;
}

html body section.faq-v2 .fv2-list {
  border-top: 1px solid var(--line-d12) !important;
}

html body section.faq-v2 .fv2-item {
  border-bottom: 1px solid var(--line-d08) !important;
  padding: 28px 0 !important;
  position: relative;
}

html body section.faq-v2 .fv2-num {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 30px !important;
  line-height: 1 !important;
  color: var(--red-soft) !important;
  letter-spacing: -0.022em !important;
  flex-shrink: 0 !important;
  min-width: 38px !important;
  padding-top: 8px !important;
  margin-right: 16px !important;
}

html body section.faq-v2 .fv2-q {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(20px, 1.7vw, 26px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.012em !important;
  color: var(--txt-1) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 8px 56px 8px 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  gap: 16px !important;
  min-height: 48px;
  position: relative;
  text-wrap: balance;
  transition: color 0.32s var(--ease-soft) !important;
}

html body section.faq-v2 .fv2-q:hover {
  color: var(--red-soft) !important;
}

html body section.faq-v2 .fv2-toggle {
  position: absolute !important;
  right: 0 !important;
  top: 12px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid var(--line-d18) !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.32s var(--ease-soft), border-color 0.32s var(--ease-soft), transform 0.45s var(--ease-soft) !important;
}

html body section.faq-v2 .fv2-toggle::before,
html body section.faq-v2 .fv2-toggle::after {
  content: '';
  position: absolute;
  background: var(--txt-1);
  border-radius: 1px;
  transition: background 0.32s var(--ease-soft), transform 0.45s var(--ease-soft), opacity 0.32s var(--ease-soft);
}

html body section.faq-v2 .fv2-toggle::before { width: 14px; height: 1.5px; }
html body section.faq-v2 .fv2-toggle::after { width: 1.5px; height: 14px; }

html body section.faq-v2 .fv2-item.is-open .fv2-toggle {
  background: var(--red) !important;
  border-color: var(--red) !important;
  transform: rotate(45deg);
}

html body section.faq-v2 .fv2-ans {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.55s var(--ease-soft), padding 0.4s var(--ease-soft);
  padding-left: 54px !important;
}

html body section.faq-v2 .fv2-item.is-open .fv2-ans {
  max-height: 1200px;
  padding-top: 16px !important;
}

html body section.faq-v2 .fv2-ans p {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: var(--txt-3) !important;
  margin: 0 0 14px !important;
  max-width: 64ch;
}

html body section.faq-v2 .fv2-ans p strong { color: var(--txt-1) !important; }
html body section.faq-v2 .fv2-ans p em { color: var(--red-soft) !important; font-style: italic !important; }

/* ════════════════════════════════════════════════════════════════════════════
   CLOSING V2 · respeta dark + spacing premium
   ════════════════════════════════════════════════════════════════════════════ */

html body section.closing-v2 {
  background: var(--ink-90) !important;
  padding: clamp(120px, 14vw, 200px) clamp(24px, 5vw, 56px) !important;
  position: relative;
  overflow: hidden;
}

/* Asterisco gigante decorativo */
html body section.closing-v2::after {
  content: '*';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(480px, 60vw, 960px);
  line-height: 0.7;
  color: var(--red);
  opacity: 0.05;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

html body section.closing-v2 > * { position: relative; z-index: 1; }

html body section.closing-v2 .container {
  max-width: 920px !important;
  margin: 0 auto !important;
  text-align: center;
}

html body section.closing-v2 .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px !important;
  background: var(--red-tint-2) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 28px !important;
}

html body section.closing-v2 .cv2-h,
html body section.closing-v2 h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(40px, 6vw, 80px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.026em !important;
  color: var(--txt-1) !important;
  text-align: center !important;
  text-wrap: balance;
  margin: 0 0 32px !important;
}

html body section.closing-v2 .cv2-h em,
html body section.closing-v2 h2 em {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

html body section.closing-v2 p {
  font-family: var(--sans) !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.7 !important;
  color: var(--txt-3) !important;
  max-width: 60ch !important;
  margin: 0 auto 48px !important;
}

html body section.closing-v2 .cv2-ctas {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

html body section.closing-v2 .cv2-cta {
  padding: 17px 32px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  min-height: 52px;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: all 0.32s var(--ease-soft) !important;
}

html body section.closing-v2 .cv2-cta-primary {
  background: var(--red) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 14px 32px -4px rgba(236, 68, 41, 0.42) !important;
}

html body section.closing-v2 .cv2-cta-primary:hover {
  background: var(--red-deep) !important;
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.24) inset, 0 20px 44px -4px rgba(236, 68, 41, 0.55) !important;
}

html body section.closing-v2 .cv2-cta-whatsapp {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--txt-1) !important;
  border: 1px solid var(--line-d18) !important;
}

html body section.closing-v2 .cv2-cta-whatsapp:hover {
  background: #25d366 !important;
  color: #ffffff !important;
  border-color: #25d366 !important;
  transform: translateY(-2px);
}

/* ════════════════════════════════════════════════════════════════════════════
   FOOTER · dark refined
   ════════════════════════════════════════════════════════════════════════════ */

html body footer.site-footer {
  background: var(--ink-95) !important;
  padding: 40px clamp(20px, 4vw, 56px) !important;
  border-top: 1px solid var(--line-d05) !important;
  color: var(--txt-4) !important;
}

html body footer.site-footer .footer-legal {
  font-family: var(--mono) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.08em !important;
  color: var(--txt-4) !important;
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

html body footer.site-footer .footer-legal a {
  color: var(--txt-4) !important;
  text-decoration: none !important;
  transition: color 0.32s var(--ease-soft) !important;
}

html body footer.site-footer .footer-legal a:hover {
  color: var(--txt-1) !important;
}

html body footer.site-footer .legal-links {
  display: flex !important;
  gap: 24px !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   COOKIE CONSENT · adapt
   ════════════════════════════════════════════════════════════════════════════ */

html body .cc {
  background: var(--ink-85) !important;
  border: 1px solid var(--line-d12) !important;
  border-radius: 14px !important;
  box-shadow: 0 32px 80px -16px rgba(0, 0, 0, 0.7), 0 4px 12px rgba(0, 0, 0, 0.4) !important;
  padding: 24px !important;
  color: var(--txt-2) !important;
}

html body .cc-title {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  color: var(--txt-1) !important;
  margin: 0 0 6px !important;
}

html body .cc-desc {
  font-family: var(--sans) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: var(--txt-3) !important;
}

html body .cc-desc a {
  color: var(--red-soft) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html body .cc-btn--primary {
  background: var(--red) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  min-height: 44px;
  transition: background 0.32s var(--ease-soft), transform 0.32s var(--ease-soft) !important;
}

html body .cc-btn--primary:hover {
  background: var(--red-deep) !important;
  transform: translateY(-1px);
}

html body .cc-btn--ghost {
  background: transparent !important;
  color: var(--txt-2) !important;
  border: 1px solid var(--line-d18) !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  min-height: 44px;
  transition: background 0.32s var(--ease-soft), color 0.32s var(--ease-soft) !important;
}

html body .cc-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--txt-1) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   WHATSAPP FLOATING BUTTON · sticky bottom-left
   ════════════════════════════════════════════════════════════════════════════ */

html body .el-wa-floating {
  position: fixed !important;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  left: 20px !important;
  z-index: 200 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 20px 12px 14px !important;
  background: #25d366 !important;
  color: #ffffff !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-height: 52px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 12px 28px -4px rgba(37, 211, 102, 0.45),
    0 4px 12px rgba(0, 0, 0, 0.18) !important;
  transition: background 0.32s var(--ease-soft), transform 0.32s var(--ease-soft), box-shadow 0.32s var(--ease-soft) !important;
}

html body .el-wa-floating::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 28px;
  background: #ffffff;
  border-radius: 50%;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16.001 0C7.165 0 0 7.163 0 15.997c0 2.852.747 5.625 2.166 8.073L0 32l8.117-2.124a15.96 15.96 0 0 0 7.884 2.008h.007C24.84 31.884 32 24.72 32 15.887 32 11.611 30.336 7.589 27.31 4.56 24.286 1.527 20.265 0 16.001 0zm0 29.213h-.006a13.218 13.218 0 0 1-6.738-1.846l-.483-.287-5.003 1.31 1.336-4.876-.314-.5a13.225 13.225 0 0 1-2.027-7.018c.002-7.31 5.946-13.253 13.241-13.253 3.535 0 6.857 1.378 9.355 3.879a13.16 13.16 0 0 1 3.875 9.36c-.001 7.31-5.945 13.253-13.236 13.253zm7.262-9.916c-.398-.2-2.353-1.161-2.717-1.294-.364-.133-.629-.199-.894.199-.265.4-1.027 1.295-1.26 1.561-.231.265-.464.298-.862.099-.398-.2-1.682-.62-3.205-1.977-1.184-1.057-1.983-2.362-2.215-2.762-.231-.398-.024-.613.175-.812.179-.179.398-.464.597-.696.199-.232.265-.398.398-.663.133-.265.066-.498-.033-.697-.099-.199-.894-2.155-1.227-2.952-.323-.775-.65-.669-.894-.681l-.762-.014c-.265 0-.696.099-1.06.498-.364.398-1.39 1.358-1.39 3.314 0 1.957 1.422 3.844 1.621 4.109.199.265 2.797 4.267 6.78 5.987.949.41 1.689.654 2.265.838.951.301 1.816.259 2.5.157.762-.114 2.353-.962 2.685-1.891.331-.929.331-1.726.231-1.891-.099-.165-.364-.265-.762-.464z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16.001 0C7.165 0 0 7.163 0 15.997c0 2.852.747 5.625 2.166 8.073L0 32l8.117-2.124a15.96 15.96 0 0 0 7.884 2.008h.007C24.84 31.884 32 24.72 32 15.887 32 11.611 30.336 7.589 27.31 4.56 24.286 1.527 20.265 0 16.001 0zm0 29.213h-.006a13.218 13.218 0 0 1-6.738-1.846l-.483-.287-5.003 1.31 1.336-4.876-.314-.5a13.225 13.225 0 0 1-2.027-7.018c.002-7.31 5.946-13.253 13.241-13.253 3.535 0 6.857 1.378 9.355 3.879a13.16 13.16 0 0 1 3.875 9.36c-.001 7.31-5.945 13.253-13.236 13.253zm7.262-9.916c-.398-.2-2.353-1.161-2.717-1.294-.364-.133-.629-.199-.894.199-.265.4-1.027 1.295-1.26 1.561-.231.265-.464.298-.862.099-.398-.2-1.682-.62-3.205-1.977-1.184-1.057-1.983-2.362-2.215-2.762-.231-.398-.024-.613.175-.812.179-.179.398-.464.597-.696.199-.232.265-.398.398-.663.133-.265.066-.498-.033-.697-.099-.199-.894-2.155-1.227-2.952-.323-.775-.65-.669-.894-.681l-.762-.014c-.265 0-.696.099-1.06.498-.364.398-1.39 1.358-1.39 3.314 0 1.957 1.422 3.844 1.621 4.109.199.265 2.797 4.267 6.78 5.987.949.41 1.689.654 2.265.838.951.301 1.816.259 2.5.157.762-.114 2.353-.962 2.685-1.891.331-.929.331-1.726.231-1.891-.099-.165-.364-.265-.762-.464z'/></svg>") center / contain no-repeat;
  flex-shrink: 0;
}

html body .el-wa-floating:hover {
  background: #20bd5a !important;
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22) inset,
    0 18px 36px -4px rgba(37, 211, 102, 0.55),
    0 6px 16px rgba(0, 0, 0, 0.22) !important;
}

html body .el-wa-floating:active {
  transform: translateY(0) scale(0.97);
}

@media (max-width: 600px) {
  html body .el-wa-floating {
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    left: 16px !important;
    padding: 11px 16px 11px 13px !important;
    font-size: 13px !important;
    gap: 10px !important;
  }
  html body .el-wa-floating::before {
    width: 24px;
    height: 24px;
  }
}

/* Cuando cookie consent está visible, sube el WhatsApp button */
html body .cc:not([hidden]) ~ .el-wa-floating,
html body .cc.is-visible ~ .el-wa-floating {
  bottom: calc(140px + env(safe-area-inset-bottom, 0px)) !important;
}

/* END · Dark dominant + ui-ux-pro-max */

/* ════════════════════════════════════════════════════════════════════════════
   ▓ ui-ux-pro-max OFFICIAL · QC PATCH · pre-delivery checklist applied
   ════════════════════════════════════════════════════════════════════════════
   Aplicado sistemáticamente sobre el CSS actual:
   - §1 Accessibility (contrast 4.5:1 verified, focus rings)
   - §2 Touch (44x44px min, 8px+ spacing, press feedback)
   - §5 Layout (4/8pt rhythm, responsive 375/768/1024/1440)
   - §6 Typography (line-height 1.5-1.75, weight hierarchy)
   - §7 Animation (150-300ms, ease-out enter, transform-only, reduced-motion)
   ════════════════════════════════════════════════════════════════════════════ */

/* ───── §2 cursor-pointer · TODOS los clickables ───── */

html body a,
html body button,
html body [role="button"],
html body .fv2-q,
html body .vid-btn,
html body .vid-dot {
  cursor: pointer !important;
}

html body button:disabled,
html body [aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: 0.45 !important;
}

/* ───── §2 Press feedback · TODOS los CTAs (no solo hero) ───── */

html body a[class*="cta"]:active,
html body .btn:active,
html body button[type="submit"]:active,
html body .ov3-cta:active,
html body .hv2-cta:active,
html body .cv2-cta:active,
html body .nav-cta:active,
html body .cc-btn:active,
html body .el-wa-floating:active {
  transform: translateY(0) scale(0.97) !important;
  transition: transform 0.12s var(--ease) !important;
}

/* ───── §1 Focus visible · uniforme, accesible, no removido ───── */

html body a:focus-visible,
html body button:focus-visible,
html body [role="button"]:focus-visible,
html body .fv2-q:focus-visible,
html body input:focus-visible,
html body textarea:focus-visible,
html body select:focus-visible {
  outline: 2px solid var(--red) !important;
  outline-offset: 3px !important;
  border-radius: 6px !important;
}

/* ───── §2 Touch targets ≥ 44x44px · sweep ───── */

html body .nav-links a {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
}

html body .footer-legal a {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 4px 0;
}

html body .ov3-microctas a {
  min-height: 44px !important;
  padding: 8px 0 !important;
}

html body .vid-btn,
html body .vid-dot,
html body .vid-play {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* ───── §7 Animation timing · normalizado 200-280ms ease-out ───── */

html body a,
html body button,
html body .dv2-card,
html body .ide-card,
html body .wr-card,
html body .mv2-card,
html body .ev3-col,
html body .ov3-card,
html body .fv2-toggle,
html body .ov3-cta,
html body .hv2-cta,
html body .cv2-cta,
html body .nav-cta,
html body .el-wa-floating,
html body .tm-item {
  transition-duration: 260ms !important;
  transition-timing-function: var(--ease-soft) !important;
}

/* Exit animations faster than enter (60-70% of enter) */
html body .fv2-item.is-open .fv2-toggle {
  transition-duration: 200ms !important;
}

/* ───── §1 prefers-reduced-motion · sweep absoluto ───── */

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

  html body .gv2-seal-ring::before {
    animation: none !important;
  }

  html body .closing-v2::after {
    animation: none !important;
  }

  html body .hv2-kicker::before,
  html body .dolor-v2 .dv2-kicker::before,
  html body .overview-v3 .ov3-kicker::before,
  html body .weeks-roadmap .wr-kicker::before,
  html body .ide-v2 .ide-kicker::before,
  html body .mentors-v2 .mv2-kicker::before,
  html body .offer-v3 .ov3-kicker::before,
  html body .encaje-v3 .ev3-kicker::before,
  html body .faq-v2 .fv2-kicker::before,
  html body .closing-v2 .kicker::before {
    animation: none !important;
  }
}

/* ───── §5 Spacing rhythm 4/8pt scale · sweep ───── */

/* Section-level vertical rhythm: 96 / 128 / 168 / 200px */
html body section { box-sizing: border-box; }

/* ───── §6 Typography · weight hierarchy enforcement ───── */

/* Body text: regular (400) */
html body p,
html body li,
html body .desc,
html body .dv2-card p,
html body .wr-card p,
html body .ide-card p,
html body .ov3-features li,
html body .ev3-list li,
html body .fv2-ans p,
html body .hv2-sub,
html body .ov3-intro,
html body .ide-intro,
html body .mv2-credentials,
html body .gv2-content p {
  font-weight: 400 !important;
}

/* Strong: 700 only */
html body strong,
html body b {
  font-weight: 700 !important;
}

/* Display headers: serif 400 (DM Serif Display only has 400) */
html body h1, html body h2, html body h3, html body h4,
html body .hv2-title,
html body .ov3-head h2,
html body .dv2-head h2,
html body .wr-head h2,
html body .ide-head h2,
html body .mv2-head h2,
html body .ov3-card h3,
html body .gv2-content h2,
html body .ev3-head h2,
html body .fv2-head h2,
html body .cv2-h,
html body .dv2-card h3,
html body .wr-card h3,
html body .ide-card h3,
html body .mv2-name {
  font-weight: 400 !important;
}

/* Labels/kickers/eyebrows: mono 700 */
html body .hv2-kicker,
html body .dv2-kicker,
html body .ov3-kicker,
html body .wr-kicker,
html body .ide-kicker,
html body .mv2-kicker,
html body .ev3-kicker,
html body .fv2-kicker,
html body .gv2-kicker,
html body .nav-links a,
html body .nav-cta,
html body .footer-legal,
html body .wr-week-tag,
html body .wr-stat .lbl,
html body .ev3-col-tag {
  font-weight: 700 !important;
}

/* Body line-height enforced 1.5-1.75 */
html body p,
html body .desc,
html body .dv2-card p,
html body .wr-card p:not(.wr-tagline),
html body .ide-card p,
html body .ov3-features li,
html body .ev3-list li,
html body .fv2-ans p,
html body .gv2-content p {
  line-height: 1.7 !important;
}

html body .hv2-sub,
html body .ov3-intro,
html body .ide-intro,
html body .mv2-credentials {
  line-height: 1.65 !important;
}

/* ───── §1 Contrast verification · sweep ───── */

/* Body text on dark sections: rgba(255,255,255,0.86) → 4.5:1+ on #0a0a0a */
html body section.dolor-v2 .dv2-card p,
html body section.overview-v3 .ov3-phase .desc,
html body section.weeks-roadmap .wr-card p:not(.wr-tagline),
html body section.ide-v2 .ide-card p,
html body section.mentors-v2 .mv2-credentials,
html body section.guarantee-v2 .gv2-content p,
html body section.encaje-v3 .ev3-list li,
html body section.faq-v2 .fv2-ans p,
html body section.closing-v2 p,
html body section.offer-v3 .ov3-features li {
  color: rgba(255, 255, 255, 0.86) !important;
}

/* Body intro/sub: 4.5:1 */
html body .hv2-sub,
html body .ov3-intro,
html body .ide-intro,
html body .dv2-sub,
html body .ov3-price-sub,
html body .gv2-seal-days,
html body .wr-week-tag,
html body .ov3-microctas a {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* ───── §2 Hit area expansion · cards full clickable target ───── */

html body .ide-card,
html body .dv2-card,
html body .wr-card,
html body .mv2-card,
html body .ev3-col {
  position: relative;
}

/* ───── §6 Tabular nums extended ───── */

html body .ov3-price-sub,
html body .ov3-fin-body,
html body .ov3-fin-body strong,
html body .wr-week-tag,
html body .gv2-seal-days,
html body .gv2-seal-label,
html body .tm-label {
  font-feature-settings: "tnum" 0, "lnum" 1 !important;
}

/* ───── §5 Responsive · breakpoint 375/768/1024/1440 ───── */

@media (max-width: 375px) {
  /* Smallest mobile: tighter padding but legible */
  html body section.hv2-section { padding: 56px 0 64px !important; }
  html body section.dolor-v2,
  html body section.overview-v3,
  html body section.weeks-roadmap,
  html body section.ide-v2,
  html body section.mentors-v2,
  html body section.offer-v3,
  html body section.guarantee-v2,
  html body section.encaje-v3,
  html body section.faq-v2 {
    padding: 72px 0 !important;
  }
  html body .hv2-title { font-size: 32px !important; line-height: 1.04 !important; }
  html body section.dolor-v2 h2,
  html body section.overview-v3 .ov3-head h2,
  html body section.weeks-roadmap h2,
  html body section.ide-v2 .ide-head h2,
  html body section.mentors-v2 h2,
  html body section.offer-v3 h2,
  html body section.guarantee-v2 .gv2-content h2,
  html body section.encaje-v3 h2,
  html body section.faq-v2 h2 {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }
}

@media (min-width: 1440px) {
  /* Largest desktop: contain content */
  html body section.dolor-v2 .dv2-wrap,
  html body section.overview-v3 .ov3-wrap,
  html body section.weeks-roadmap .wr-wrap,
  html body section.ide-v2 .ide-wrap,
  html body section.mentors-v2 .mv2-wrap,
  html body section.encaje-v3 .ev3-wrap {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
}

/* ───── §5 No horizontal scroll guard ───── */

html body { overflow-x: hidden; }

/* ───── §2 WhatsApp button · ensure 48x48 tap area ───── */

html body .el-wa-floating {
  min-height: 56px !important;
  padding: 14px 22px 14px 16px !important;
}

@media (max-width: 600px) {
  html body .el-wa-floating {
    min-height: 52px !important;
    padding: 12px 18px 12px 14px !important;
  }
}

/* ───── §4 Icon consistency · stroke width unified 1.5 ───── */

html body .dv2-icon,
html body .ov3-phase-icon {
  stroke-width: 1.5 !important;
}

/* ───── §6 Truncation prevention · text-wrap balance ───── */

html body h1, html body h2, html body h3, html body h4 {
  text-wrap: balance;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: anywhere;
}

/* ───── §7 Animation 60-70% on exit · FAQ collapse faster ───── */

html body section.faq-v2 .fv2-ans {
  transition: max-height 0.5s var(--ease-soft), padding 0.32s var(--ease-soft) !important;
}

html body section.faq-v2 .fv2-item.is-open .fv2-ans {
  transition: max-height 0.55s var(--ease-soft), padding 0.4s var(--ease-soft) !important;
}

/* ───── §1 ARIA-friendly · invisible-but-present helpers ───── */

html body [aria-hidden="true"] {
  pointer-events: none !important;
}

/* ───── §5 Safe area · bottom inset awareness ───── */

html body footer.site-footer {
  padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ───── §2 Smooth scroll only · respect user setting via media query ───── */

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* END · ui-ux-pro-max OFFICIAL QC patch */

/* ════════════════════════════════════════════════════════════════════════════
   ▓ DARK RHYTHM + MODERN TESTIMONIALS + TASTE-SKILL FINISH
   ════════════════════════════════════════════════════════════════════════════
   Aplicado:
   - Variación de dark levels por sección (no monótono)
   - Atmospheric layers (sutil radial + grain por sección)
   - Testimonios · horizontal scroll-snap moderno
   - taste-skill editorial-premium · asymmetry + restraint + silent motion
   ════════════════════════════════════════════════════════════════════════════ */

/* ───── 1 · SECTION DARK RHYTHM · evitar monotonía ───── */

/* Hero · ink-90 base (no cambia) */
html body section.hv2-section { background: var(--ink-90) !important; }

/* Trust marquee · ink-95 deep (transición) */
html body section.trust-marquee { background: var(--ink-95) !important; }

/* Dolor · ink-90 base */
html body section.dolor-v2 { background: var(--ink-90) !important; }

/* Overview · ink-85 más light (respiro) */
html body section.overview-v3 { background: var(--ink-85) !important; }

/* Roadmap · ink-90 vuelta a base */
html body section.weeks-roadmap { background: var(--ink-90) !important; }

/* IDE · ink-85 (respiro) */
html body section.ide-v2 { background: var(--ink-85) !important; }

/* CTAs intermedios · ink-85 matching adjacent */
html body section.ide-v2 + div[style*="padding:0 24px 64px"] { background: var(--ink-85) !important; }
html body section.guarantee-v2 + div[style*="padding:0 24px 64px"] { background: var(--ink-90) !important; }

/* Mentors · ink-80 lighter dark (premium tier feel) */
html body section.mentors-v2 { background: var(--ink-80) !important; }

/* Testimonios · ink-85 (mezcla) */
html body section.section-paper#resultados { background: var(--ink-85) !important; }

/* Offer · ink-95 deep (premium climax pricing) */
html body section.offer-v3 { background: var(--ink-95) !important; }

/* Garantía · ink-90 con atmosphere */
html body section.guarantee-v2 { background: var(--ink-90) !important; }

/* Encaje · ink-85 */
html body section.encaje-v3 { background: var(--ink-85) !important; }

/* FAQ · ink-80 (más light, lectura cómoda) */
html body section.faq-v2 { background: var(--ink-80) !important; }

/* Closing · ink-95 (climax final) */
html body section.closing-v2 { background: var(--ink-95) !important; }

/* Footer · ink-95 (consistencia con closing) */
html body footer.site-footer { background: var(--ink-95) !important; }

/* ───── 2 · ATMOSPHERIC LAYERS · radial sutil + grain por sección ───── */

/* Overview · subtle radial rojo top-right */
html body section.overview-v3 {
  position: relative;
}
html body section.overview-v3::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 88% 12%, rgba(236, 68, 41, 0.05), transparent 55%);
  pointer-events: none;
  z-index: 0;
}
html body section.overview-v3 > * { position: relative; z-index: 1; }

/* Mentors · subtle radial cream warm top-left */
html body section.mentors-v2 {
  position: relative;
}
html body section.mentors-v2::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 8% 90%, rgba(244, 238, 230, 0.025), transparent 50%);
  pointer-events: none;
  z-index: 0;
}
html body section.mentors-v2 > * { position: relative; z-index: 1; }

/* Testimonios · subtle radial center */
html body section.section-paper#resultados {
  position: relative;
}
html body section.section-paper#resultados::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center 30%, rgba(236, 68, 41, 0.035), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
html body section.section-paper#resultados > * { position: relative; z-index: 1; }

/* Offer · dual radial (depth premium) */
html body section.offer-v3 {
  position: relative;
}
html body section.offer-v3::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 12% 18%, rgba(236, 68, 41, 0.08), transparent 50%),
    radial-gradient(ellipse at 88% 82%, rgba(236, 68, 41, 0.05), transparent 50%);
  pointer-events: none;
  z-index: 0;
}
html body section.offer-v3 > * { position: relative; z-index: 1; }

/* Garantía · subtle radial seal-facing */
html body section.guarantee-v2 {
  position: relative;
}
html body section.guarantee-v2::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 18% 50%, rgba(236, 68, 41, 0.06), transparent 45%);
  pointer-events: none;
  z-index: 0;
}
html body section.guarantee-v2 > * { position: relative; z-index: 1; }

/* FAQ · subtle radial light */
html body section.faq-v2 {
  position: relative;
}
html body section.faq-v2::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 100% 0%, rgba(255, 255, 255, 0.02), transparent 50%);
  pointer-events: none;
  z-index: 0;
}
html body section.faq-v2 > * { position: relative; z-index: 1; }

/* ───── 3 · TESTIMONIOS · HORIZONTAL SCROLL-SNAP MODERNO ───── */

/* Wrapper carrusel · horizontal scroll natural */
html body section.section-paper#resultados .vid-carousel {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  gap: 24px !important;
  padding: 12px clamp(24px, 5vw, 56px) 56px !important;
  margin: 0 calc(-1 * clamp(24px, 5vw, 56px)) !important;
  max-width: none !important;
  cursor: grab !important;
  position: relative;
}

html body section.section-paper#resultados .vid-carousel::-webkit-scrollbar {
  display: none !important;
}

html body section.section-paper#resultados .vid-carousel:active {
  cursor: grabbing !important;
}

/* Slides · ALL visible inline, scroll-snap-aligned */
html body section.section-paper#resultados .vid-slide {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  flex: 0 0 auto !important;
  width: min(960px, 90vw) !important;
  scroll-snap-align: center !important;
  scroll-snap-stop: always !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  opacity: 0.6;
  transform: scale(0.96);
  transition: opacity 0.45s var(--ease-soft), transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft) !important;
  animation: none !important;
}

html body section.section-paper#resultados .vid-slide.is-active {
  display: grid !important;
  opacity: 1;
  transform: scale(1);
  border-color: var(--line-d18) !important;
}

html body section.section-paper#resultados .vid-slide:hover {
  opacity: 0.92;
}

/* Top red rule expansible (motivo de marca) */
html body section.section-paper#resultados .vid-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--red);
  z-index: 5;
  transition: width 0.6s var(--ease-soft);
}

html body section.section-paper#resultados .vid-slide.is-active::before {
  width: 100%;
  opacity: 0.55;
}

/* Video block dentro de slide */
html body section.section-paper#resultados .vid-video {
  background: #050505 !important;
  position: relative !important;
  min-height: 460px !important;
  aspect-ratio: 16 / 11 !important;
  overflow: hidden !important;
}

/* Vertical 9:16 modifier */
html body section.section-paper#resultados .vid-slide.is-vertical {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
}

html body section.section-paper#resultados .vid-slide.is-vertical .vid-video {
  aspect-ratio: 9 / 16 !important;
  min-height: unset !important;
  max-height: 580px !important;
}

@media (max-width: 768px) {
  html body section.section-paper#resultados .vid-slide {
    grid-template-columns: 1fr !important;
    width: min(420px, 88vw) !important;
  }
  html body section.section-paper#resultados .vid-slide.is-vertical {
    grid-template-columns: 1fr !important;
  }
  html body section.section-paper#resultados .vid-video {
    min-height: 280px !important;
    aspect-ratio: 16 / 9 !important;
  }
  html body section.section-paper#resultados .vid-slide.is-vertical .vid-video {
    aspect-ratio: 9 / 16 !important;
    max-height: 480px !important;
  }
}

/* Info block dentro */
html body section.section-paper#resultados .vid-info {
  padding: 48px 44px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 18px !important;
  background: transparent !important;
  border-left: 1px solid var(--line-d08) !important;
  position: relative;
}

@media (max-width: 768px) {
  html body section.section-paper#resultados .vid-info {
    padding: 32px 28px 36px !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line-d08) !important;
  }
}

html body section.section-paper#resultados .vid-tag {
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
}

html body section.section-paper#resultados .vid-name {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.018em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
}

html body section.section-paper#resultados .vid-sector {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--txt-4) !important;
  margin: 0 !important;
  letter-spacing: 0.005em;
}

html body section.section-paper#resultados .vid-rule {
  display: block !important;
  width: 56px !important;
  height: 2px !important;
  background: var(--red) !important;
  margin: 8px 0 4px !important;
  border-radius: 2px !important;
}

html body section.section-paper#resultados .vid-quote {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  line-height: 1.5 !important;
  color: var(--txt-2) !important;
  margin: 0 !important;
}

html body section.section-paper#resultados .vid-glyph {
  font-family: var(--serif) !important;
  font-style: italic !important;
  color: var(--red) !important;
  font-size: 1.5em !important;
  vertical-align: -0.25em !important;
  margin-right: 0.06em !important;
}

html body section.section-paper#resultados .vid-stars {
  display: inline-flex !important;
  gap: 5px !important;
  margin-top: 4px !important;
}

html body section.section-paper#resultados .vid-star {
  width: 18px !important;
  height: 18px !important;
  fill: var(--red) !important;
}

/* Hide legacy controls (botones prev/next) · now horizontal scroll */
html body section.section-paper#resultados .vid-controls {
  display: none !important;
}

/* Custom modern indicator + scroll hint */
html body section.section-paper#resultados .vid-carousel {
  position: relative;
}

/* Edge fade for elegant peek */
html body section.section-paper#resultados {
  position: relative;
}

html body section.section-paper#resultados .container {
  position: relative;
}

html body section.section-paper#resultados .container::after {
  content: 'arrastra →';
  display: block;
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--txt-4);
  text-align: center;
  margin-top: 24px;
  pointer-events: none;
}

/* Section paper testimonios spacing */
html body section.section-paper#resultados {
  padding: clamp(96px, 12vw, 168px) 0 !important;
}

html body section.section-paper#resultados > .container {
  max-width: var(--w-full) !important;
  margin: 0 auto !important;
  padding: 0 clamp(24px, 5vw, 56px) !important;
}

html body section.section-paper#resultados .section-head {
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto clamp(56px, 7vw, 80px) !important;
}

html body section.section-paper#resultados .section-head .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
  padding: 7px 14px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.section-paper#resultados .section-head h2 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--txt-1) !important;
  margin: 0 !important;
  text-wrap: balance;
}

html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head .accent {
  color: var(--red-soft) !important;
  font-style: italic !important;
}

/* ───── 4 · TASTE-SKILL EDITORIAL-PREMIUM FINISH · subtle polish ───── */

/* Section pacing · density alternation entre vecinos */
html body section.dolor-v2 + section.overview-v3 { padding-top: clamp(112px, 13vw, 192px) !important; }
html body section.overview-v3 + section.weeks-roadmap { padding-top: clamp(112px, 13vw, 192px) !important; }

/* Asymmetric splits ya aplicados en heads · ahora confirma 5/7 en mentions */
/* (ya está) */

/* Refined motion · silent reads in editorial-premium */
html body section.section-paper#resultados .vid-slide {
  will-change: transform, opacity;
}

/* Eyebrow tags · uniformidad en TODAS las sections (taste-skill consistency) */
html body section.dolor-v2 .dv2-kicker,
html body section.overview-v3 .ov3-kicker,
html body section.weeks-roadmap .wr-kicker,
html body section.ide-v2 .ide-kicker,
html body section.mentors-v2 .mv2-kicker,
html body section.guarantee-v2 .gv2-kicker,
html body section.encaje-v3 .ev3-kicker,
html body section.faq-v2 .fv2-kicker,
html body section.closing-v2 .kicker {
  letter-spacing: 0.26em !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  font-family: var(--mono) !important;
  padding: 7px 14px 7px 12px !important;
  background: var(--red-tint) !important;
  border: 1px solid var(--red-line) !important;
  border-radius: 999px !important;
  margin-bottom: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Dot pulse en todos los kickers (taste-skill consistency) */
html body section.dolor-v2 .dv2-kicker::before,
html body section.overview-v3 .ov3-kicker::before,
html body section.weeks-roadmap .wr-kicker::before,
html body section.ide-v2 .ide-kicker::before,
html body section.mentors-v2 .mv2-kicker::before,
html body section.guarantee-v2 .gv2-kicker::before,
html body section.encaje-v3 .ev3-kicker::before,
html body section.faq-v2 .fv2-kicker::before,
html body section.closing-v2 .kicker::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
}

/* Subtle red border lines on top of section transitions */
html body section.dolor-v2 + section.overview-v3,
html body section.overview-v3 + section.weeks-roadmap,
html body section.weeks-roadmap + section.ide-v2,
html body section.ide-v2 + div[style*="padding:0 24px 64px"],
html body section.mentors-v2,
html body section.section-paper#resultados,
html body section.offer-v3,
html body section.guarantee-v2,
html body section.encaje-v3,
html body section.faq-v2,
html body section.closing-v2 {
  border-top: 1px solid var(--line-d05);
}

/* Closing · ensure dramatic */
html body section.closing-v2 {
  position: relative;
  overflow: hidden;
}

html body section.closing-v2::after {
  z-index: 0;
}

/* END · dark rhythm + modern testimonials + taste-skill finish */

/* ════════════════════════════════════════════════════════════════════════════
   ▓ FIXES · 6 ajustes específicos
   ════════════════════════════════════════════════════════════════════════════ */

/* ───── FIX 1 · TESTIMONIOS · scroll horizontal funcional (vencer specificity) ───── */

/* Reactiva display grid en TODOS los slides (no solo is-active) */
html body section.section-paper#resultados .vid-carousel .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide[aria-hidden="true"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  flex: 0 0 auto !important;
  width: min(960px, 90vw) !important;
  scroll-snap-align: center !important;
  scroll-snap-stop: always !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  animation: none !important;
  opacity: 0.55;
  transform: scale(0.96);
  transition: opacity 0.45s var(--ease-soft), transform 0.45s var(--ease-soft), border-color 0.45s var(--ease-soft) !important;
  position: relative !important;
}

html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
  border-color: var(--line-d18) !important;
}

@media (max-width: 768px) {
  html body section.section-paper#resultados .vid-carousel .vid-slide,
  html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
    grid-template-columns: 1fr !important;
    width: min(420px, 88vw) !important;
  }
}

/* Carrusel · scroll natural + drag */
html body section.section-paper#resultados .vid-carousel {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  gap: 24px !important;
  padding: 12px clamp(24px, 5vw, 56px) 56px !important;
  margin: 0 calc(-1 * clamp(24px, 5vw, 56px)) !important;
  max-width: none !important;
  cursor: grab !important;
}

html body section.section-paper#resultados .vid-carousel::-webkit-scrollbar { display: none !important; }
html body section.section-paper#resultados .vid-carousel:active { cursor: grabbing !important; }

/* Ocultar controles legacy (botones prev/next/dots) */
html body section.section-paper#resultados .vid-controls {
  display: none !important;
}

/* ───── FIX 2 · MENTORS · más editorial · asymmetric + photo treatment ───── */

html body section.mentors-v2 {
  background: var(--cream-soft, #fbf8f3) !important;
  color: var(--ink-90) !important;
}

/* Si tiene radial atmosphere de antes, lo neutralizamos */
html body section.mentors-v2::after {
  background: radial-gradient(ellipse at 90% 10%, rgba(236, 68, 41, 0.04), transparent 50%) !important;
}

html body section.mentors-v2 .mv2-head {
  text-align: left !important;
  margin: 0 0 clamp(64px, 8vw, 96px) !important;
  max-width: 920px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
  gap: clamp(32px, 5vw, 80px) !important;
  align-items: end !important;
}

@media (max-width: 880px) {
  html body section.mentors-v2 .mv2-head {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    text-align: left !important;
  }
}

html body section.mentors-v2 .mv2-kicker {
  background: rgba(236, 68, 41, 0.08) !important;
  border: 1px solid rgba(236, 68, 41, 0.24) !important;
  color: var(--red-deep) !important;
}

html body section.mentors-v2 .mv2-kicker::before {
  background: var(--red-deep) !important;
}

html body section.mentors-v2 h2 {
  color: var(--ink-90) !important;
}

html body section.mentors-v2 h2 em {
  color: var(--red-deep) !important;
  font-style: italic !important;
}

html body section.mentors-v2 .mv2-overline {
  color: var(--ink-50) !important;
}

/* Grid asymmetric · 1 big + 2 small */
html body section.mentors-v2 .mv2-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 24px !important;
}

@media (max-width: 1024px) {
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 720px) {
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: 1fr !important;
    max-width: 480px;
    margin: 0 auto !important;
  }
}

/* Cards · paper-feel premium, no más translucent dark */
html body section.mentors-v2 .mv2-card {
  background: #ffffff !important;
  border: 1px solid rgba(20, 18, 14, 0.08) !important;
  border-radius: 16px !important;
  padding: 36px 32px !important;
  box-shadow: 0 1px 0 rgba(20, 18, 14, 0.04), 0 24px 56px -16px rgba(20, 18, 14, 0.08) !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s var(--ease-soft), box-shadow 0.4s var(--ease-soft), border-color 0.4s var(--ease-soft) !important;
}

html body section.mentors-v2 .mv2-card::before {
  content: '*';
  position: absolute;
  top: 18px;
  right: 22px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 36px;
  color: var(--red);
  opacity: 0.5;
  line-height: 0.7;
  pointer-events: none;
}

html body section.mentors-v2 .mv2-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1px 0 rgba(20, 18, 14, 0.04), 0 36px 72px -16px rgba(20, 18, 14, 0.14) !important;
  border-color: rgba(20, 18, 14, 0.14) !important;
}

/* Featured card (1st) bigger typography */
html body section.mentors-v2 .mv2-grid > .mv2-card:first-child {
  padding: 48px 40px !important;
}

html body section.mentors-v2 .mv2-grid > .mv2-card:first-child .mv2-name {
  font-size: clamp(28px, 2.6vw, 38px) !important;
}

/* Text colors · DARK on cream */
html body section.mentors-v2 .mv2-card .mv2-kicker {
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--red-deep) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
}

html body section.mentors-v2 .mv2-card .mv2-kicker::before {
  display: none !important;
}

html body section.mentors-v2 .mv2-name {
  color: var(--ink-90) !important;
}

html body section.mentors-v2 .mv2-credentials {
  color: var(--ink-50) !important;
  line-height: 1.7 !important;
}

/* ───── FIX 3 · HERO más alargado a los lados ───── */

html body .hv2-wrap {
  max-width: 1240px !important;
  padding: 0 clamp(24px, 5vw, 64px) !important;
  text-align: center !important;
}

html body .hv2-title {
  max-width: 22ch !important;
  font-size: clamp(42px, 6.8vw, 92px) !important;
}

html body .hv2-sub {
  max-width: 64ch !important;
}

html body .hv2-video-wrap {
  max-width: 1080px !important;
  margin: 0 auto 44px !important;
}

/* Hero mantiene texto arriba + video abajo (no 2-col) */
@media (min-width: 960px) {
  html body section.hv2-section .hv2-wrap {
    display: block !important;
    grid-template-columns: none !important;
    text-align: center !important;
  }

  html body .hv2-kicker,
  html body .hv2-title,
  html body .hv2-sub,
  html body .hv2-cta,
  html body .hv2-cta-meta,
  html body .hv2-video-wrap {
    grid-column: auto !important;
    grid-row: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: none !important;
    text-align: center !important;
  }

  html body .hv2-kicker { max-width: max-content !important; margin: 0 auto 36px !important; }
  html body .hv2-title { max-width: 22ch !important; margin: 0 auto 28px !important; }
  html body .hv2-sub { max-width: 64ch !important; margin: 0 auto 44px !important; }
  html body .hv2-cta { max-width: max-content !important; }
  html body .hv2-video-wrap { max-width: 1080px !important; margin: 0 auto 44px !important; }
}

/* ───── FIX 4 · ALGUNAS SECCIONES CLARAS · rompiendo monotonía ───── */

/* Overview V3 → CREAM paper (rompe dark) */
html body section.overview-v3 {
  background: var(--cream-soft, #fbf8f3) !important;
  color: var(--ink-90) !important;
}

html body section.overview-v3::after {
  background: radial-gradient(ellipse at 90% 10%, rgba(236, 68, 41, 0.04), transparent 55%) !important;
}

html body section.overview-v3 .ov3-wrap::before {
  display: none !important;
}

html body section.overview-v3 .ov3-kicker {
  background: rgba(236, 68, 41, 0.08) !important;
  border: 1px solid rgba(236, 68, 41, 0.24) !important;
  color: var(--red-deep) !important;
}

html body section.overview-v3 .ov3-kicker::before {
  background: var(--red-deep) !important;
}

html body section.overview-v3 .ov3-head h2 {
  color: var(--ink-90) !important;
}

html body section.overview-v3 .ov3-head h2 em {
  color: var(--red-deep) !important;
}

html body section.overview-v3 .ov3-intro {
  color: var(--ink-50) !important;
}

html body section.overview-v3 .ov3-intro strong {
  color: var(--ink-90) !important;
}

html body section.overview-v3 .ov3-divider {
  background: rgba(20, 18, 14, 0.10) !important;
}

html body section.overview-v3 .ov3-divider::before {
  background: var(--cream-soft, #fbf8f3) !important;
  color: var(--red) !important;
}

html body section.overview-v3 .ov3-phase-tag {
  background: rgba(236, 68, 41, 0.08) !important;
  border: 1px solid rgba(236, 68, 41, 0.20) !important;
  color: var(--red-deep) !important;
}

html body section.overview-v3 .ov3-phase h3 {
  color: var(--ink-90) !important;
}

html body section.overview-v3 .ov3-phase h3 em {
  color: var(--red-deep) !important;
}

html body section.overview-v3 .ov3-phase .desc {
  color: var(--ink-50) !important;
}

html body section.overview-v3 .ov3-phase .desc strong {
  color: var(--ink-90) !important;
}

html body section.overview-v3 .ov3-phase li {
  background: #ffffff !important;
  border: 1px solid rgba(20, 18, 14, 0.06) !important;
  border-left: 3px solid var(--red) !important;
  border-radius: 0 8px 8px 0 !important;
  color: var(--ink-80) !important;
  padding: 18px 22px 18px 50px !important;
  min-height: 56px;
}

html body section.overview-v3 .ov3-phase li::before {
  content: '' !important;
  position: absolute !important;
  left: 18px !important;
  top: 24px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--red) !important;
  color: transparent !important;
}

html body section.overview-v3 .ov3-phase li::after {
  content: '';
  position: absolute;
  left: 24px;
  top: 30px;
  width: 11px;
  height: 6px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
}

html body section.overview-v3 .ov3-phase li:hover {
  transform: translateX(6px);
  box-shadow: 0 14px 36px -12px rgba(20, 18, 14, 0.10);
  border-color: rgba(20, 18, 14, 0.12) !important;
  border-left-color: var(--red-deep) !important;
}

html body section.overview-v3 .ov3-phase li strong {
  color: var(--ink-90) !important;
}

/* FAQ V2 → CREAM paper (rompe dark al final) */
html body section.faq-v2 {
  background: var(--cream-soft, #fbf8f3) !important;
  color: var(--ink-90) !important;
}

html body section.faq-v2::after {
  background: radial-gradient(ellipse at 10% 90%, rgba(236, 68, 41, 0.04), transparent 50%) !important;
}

html body section.faq-v2 .fv2-kicker {
  background: rgba(236, 68, 41, 0.08) !important;
  border: 1px solid rgba(236, 68, 41, 0.24) !important;
  color: var(--red-deep) !important;
}

html body section.faq-v2 .fv2-kicker::before {
  background: var(--red-deep) !important;
}

html body section.faq-v2 h2 {
  color: var(--ink-90) !important;
}

html body section.faq-v2 .fv2-list {
  border-top: 1px solid rgba(20, 18, 14, 0.10) !important;
}

html body section.faq-v2 .fv2-item {
  border-bottom: 1px solid rgba(20, 18, 14, 0.10) !important;
}

html body section.faq-v2 .fv2-num {
  color: var(--red-deep) !important;
}

html body section.faq-v2 .fv2-q {
  color: var(--ink-90) !important;
}

html body section.faq-v2 .fv2-q:hover {
  color: var(--red-deep) !important;
}

html body section.faq-v2 .fv2-toggle {
  border: 1px solid rgba(20, 18, 14, 0.20) !important;
  background: #ffffff !important;
}

html body section.faq-v2 .fv2-toggle::before,
html body section.faq-v2 .fv2-toggle::after {
  background: var(--ink-90) !important;
}

html body section.faq-v2 .fv2-item.is-open .fv2-toggle {
  background: var(--ink-90) !important;
  border-color: var(--ink-90) !important;
}

html body section.faq-v2 .fv2-item.is-open .fv2-toggle::before,
html body section.faq-v2 .fv2-item.is-open .fv2-toggle::after {
  background: var(--cream-soft, #fbf8f3) !important;
}

html body section.faq-v2 .fv2-ans p {
  color: var(--ink-50) !important;
}

html body section.faq-v2 .fv2-ans p strong {
  color: var(--ink-90) !important;
}

/* ───── FIX 5 · WHATSAPP button A LA DERECHA ───── */

html body .el-wa-floating {
  left: auto !important;
  right: 20px !important;
}

@media (max-width: 600px) {
  html body .el-wa-floating {
    right: 16px !important;
    left: auto !important;
  }
}

/* ───── FIX 6 · WEEKS ROADMAP · "Semana N" resaltada, no "01 02 03 04" ───── */

/* Esconde el "01 02 03 04" gigante del wr-num */
html body section.weeks-roadmap .wr-num {
  display: none !important;
}

/* "Semana N" pasa a ser el número monumental */
html body section.weeks-roadmap .wr-week-tag {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(36px, 4vw, 56px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  color: var(--red-soft) !important;
  margin: 0 0 24px !important;
  display: block !important;
  letter-spacing: -0.024em !important;
  text-transform: none !important;
}

/* En dark sections (weeks-roadmap se mantiene dark) */
html body section.weeks-roadmap {
  background: var(--ink-90) !important;
}

/* Title inside card más pequeño que la semana */
html body section.weeks-roadmap .wr-card h3 {
  font-size: clamp(20px, 1.8vw, 26px) !important;
}

/* END · 6 fixes específicos */

/* ════════════════════════════════════════════════════════════════════════════
   ▓ FRONTEND-DESIGN POLISH · 6 fixes con disciplina editorial
   ════════════════════════════════════════════════════════════════════════════ */

/* ───── FIX 1 · TESTIMONIOS · AUTO-SCROLL MARQUEE (sin mouse) ───── */

html body section.section-paper#resultados .vid-carousel {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  scroll-snap-type: none !important;
  width: max-content !important;
  margin: 0 auto !important;
  padding: 12px 0 56px !important;
  gap: 24px !important;
  cursor: default !important;
  animation: vid-marquee 36s linear infinite !important;
}

html body section.section-paper#resultados .vid-carousel::-webkit-scrollbar { display: none !important; }

@keyframes vid-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-100% / 3 * 2)); }
}

/* Pause on hover (a11y · interaction expectation) */
html body section.section-paper#resultados .vid-carousel:hover {
  animation-play-state: paused !important;
}

/* Slides: todos visibles, mismo tamaño, no scaling weird */
html body section.section-paper#resultados .vid-carousel .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide[aria-hidden="true"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  flex: 0 0 auto !important;
  width: min(720px, 80vw) !important;
  scroll-snap-align: none !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%) !important;
  border: 1px solid var(--line-d08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  position: relative !important;
}

html body section.section-paper#resultados .vid-carousel .vid-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--red);
  z-index: 5;
}

@media (max-width: 768px) {
  html body section.section-paper#resultados .vid-carousel .vid-slide,
  html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
    grid-template-columns: 1fr !important;
    width: min(380px, 84vw) !important;
  }
  html body section.section-paper#resultados .vid-carousel {
    animation-duration: 28s !important;
  }
}

/* Edge fade gradient (oculta saltos en bordes) */
html body section.section-paper#resultados {
  position: relative;
  overflow: hidden;
}

html body section.section-paper#resultados > .container {
  position: relative;
}

html body section.section-paper#resultados > .container::before,
html body section.section-paper#resultados > .container::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 12vw;
  z-index: 3;
  pointer-events: none;
}

html body section.section-paper#resultados > .container::before {
  left: 0;
  background: linear-gradient(90deg, var(--ink-85) 10%, transparent);
}

html body section.section-paper#resultados > .container::after {
  right: 0;
  background: linear-gradient(-90deg, var(--ink-85) 10%, transparent);
}

/* Remove drag indicator */
html body section.section-paper#resultados .container::after,
html body section.section-paper#resultados .vid-controls {
  display: none !important;
}

/* Pero re-mostramos el container::after que es el gradient · ojo */
html body section.section-paper#resultados > .container::after {
  display: block !important;
  content: '' !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: transparent !important;
  margin-top: 0 !important;
}

/* Pause animation con reduced motion */
@media (prefers-reduced-motion: reduce) {
  html body section.section-paper#resultados .vid-carousel {
    animation: none !important;
  }
}

/* ───── FIX 2 · IDE V2 · títulos protagonistas, números secundarios ───── */

html body section.ide-v2 .ide-num {
  font-family: var(--mono) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.4) !important;
  margin: 0 0 16px !important;
  line-height: 1 !important;
  display: block !important;
  letter-spacing: 0.32em !important;
}

/* Insert "CAPÍTULO" prefix via pseudo (visual hint) */
html body section.ide-v2 .ide-num::before {
  content: 'CAPÍTULO ';
  color: var(--red-soft);
  font-weight: 600;
  letter-spacing: 0.26em;
}

/* H3 grande en naranja como protagonista */
html body section.ide-v2 .ide-card h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(26px, 2.6vw, 38px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.022em !important;
  color: var(--red-soft) !important;
  margin: 0 0 24px !important;
  text-wrap: balance;
  max-width: 18ch;
}

html body section.ide-v2 .ide-card p {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  max-width: 58ch;
}

/* Top red rule expansible */
html body section.ide-v2 .ide-card::before {
  width: 48px !important;
}

html body section.ide-v2 .ide-card:hover h3 {
  color: var(--red) !important;
}

/* ───── FIX 3 · MENTORS · uniforme 3-col, todos iguales ───── */

html body section.mentors-v2 .mv2-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

@media (max-width: 960px) {
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: 1fr !important;
    max-width: 480px !important;
    margin: 0 auto !important;
  }
}

/* Reset: todas las cards iguales (no más first-child grande) */
html body section.mentors-v2 .mv2-grid > .mv2-card,
html body section.mentors-v2 .mv2-grid > .mv2-card:first-child {
  padding: 40px 32px !important;
  background: #ffffff !important;
  border: 1px solid rgba(20, 18, 14, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 0 rgba(20, 18, 14, 0.04), 0 24px 56px -16px rgba(20, 18, 14, 0.08) !important;
}

html body section.mentors-v2 .mv2-grid > .mv2-card:first-child .mv2-name {
  font-size: clamp(22px, 2vw, 26px) !important;
}

html body section.mentors-v2 .mv2-card .mv2-name {
  font-size: clamp(22px, 2vw, 26px) !important;
  margin: 0 0 14px !important;
}

html body section.mentors-v2 .mv2-card .mv2-credentials {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  max-width: none !important;
}

/* ───── FIX 4 · ENCAJE V3 · CREAM con texto negro + naranja resalte ───── */

html body section.encaje-v3 {
  background: #fbf8f3 !important;
  color: var(--ink-90) !important;
}

html body section.encaje-v3::after {
  background: radial-gradient(ellipse at 90% 90%, rgba(236, 68, 41, 0.04), transparent 50%) !important;
}

html body section.encaje-v3 .ev3-head {
  text-align: center !important;
  margin: 0 auto clamp(56px, 7vw, 88px) !important;
  max-width: 800px !important;
}

html body section.encaje-v3 .ev3-kicker {
  background: rgba(236, 68, 41, 0.08) !important;
  border: 1px solid rgba(236, 68, 41, 0.24) !important;
  color: var(--red-deep) !important;
}

html body section.encaje-v3 .ev3-kicker::before {
  background: var(--red-deep) !important;
}

html body section.encaje-v3 h2 {
  color: var(--ink-90) !important;
  font-size: clamp(34px, 4.6vw, 56px) !important;
}

html body section.encaje-v3 h2 em {
  color: var(--red-deep) !important;
}

html body section.encaje-v3 .ev3-table {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(20, 18, 14, 0.08) !important;
  box-shadow: 0 1px 0 rgba(20, 18, 14, 0.04), 0 36px 80px -20px rgba(20, 18, 14, 0.12) !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}

@media (max-width: 760px) {
  html body section.encaje-v3 .ev3-table {
    grid-template-columns: 1fr !important;
  }
}

html body section.encaje-v3 .ev3-col {
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 48px 44px !important;
  box-shadow: none !important;
  position: relative !important;
}

html body section.encaje-v3 .ev3-col:hover {
  background: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

html body section.encaje-v3 .ev3-col-yes {
  border-top: 4px solid var(--red) !important;
}

html body section.encaje-v3 .ev3-col-no {
  border-top: 4px solid rgba(20, 18, 14, 0.2) !important;
  border-left: 1px solid rgba(20, 18, 14, 0.08) !important;
}

@media (max-width: 760px) {
  html body section.encaje-v3 .ev3-col-no {
    border-left: 0 !important;
    border-top: 1px solid rgba(20, 18, 14, 0.08) !important;
    border-top: 4px solid rgba(20, 18, 14, 0.2) !important;
  }
}

html body section.encaje-v3 .ev3-col-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--mono) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  margin-bottom: 22px !important;
}

html body section.encaje-v3 .ev3-col-yes .ev3-col-tag {
  color: var(--red-deep) !important;
  background: rgba(236, 68, 41, 0.08) !important;
  border: 1px solid rgba(236, 68, 41, 0.22) !important;
}

html body section.encaje-v3 .ev3-col-no .ev3-col-tag {
  color: var(--ink-50) !important;
  background: rgba(20, 18, 14, 0.05) !important;
  border: 1px solid rgba(20, 18, 14, 0.10) !important;
}

html body section.encaje-v3 .ev3-col h3 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: clamp(24px, 2.2vw, 30px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.016em !important;
  color: var(--ink-90) !important;
  margin: 0 0 28px !important;
  text-wrap: balance;
}

html body section.encaje-v3 .ev3-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

html body section.encaje-v3 .ev3-list li {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--ink-80) !important;
  padding: 0 0 0 32px !important;
  position: relative !important;
  min-height: 32px;
}

html body section.encaje-v3 .ev3-col-yes .ev3-list li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--red) !important;
}

html body section.encaje-v3 .ev3-col-yes .ev3-list li::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 11px;
  width: 12px;
  height: 6px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
}

html body section.encaje-v3 .ev3-col-no .ev3-list li::before {
  content: '×' !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(20, 18, 14, 0.08) !important;
  color: var(--ink-50) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  font-family: var(--sans) !important;
  border-radius: 50% !important;
}

/* List dots (mantiene la clase original .dot por compatibilidad) */
html body section.encaje-v3 .dot {
  display: none !important;
}

/* ───── FIX 5 · EYEBROW TAGS · "4 semanas en directo" / "12 meses de I+D externo" agrandar ───── */

/* En Weeks Roadmap el kicker es la fase corta */
html body section.weeks-roadmap .wr-kicker {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.014em !important;
  text-transform: none !important;
  color: var(--red-soft) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  display: block !important;
}

html body section.weeks-roadmap .wr-kicker::before {
  display: none !important;
}

/* En IDE V2 igual */
html body section.ide-v2 .ide-kicker {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.014em !important;
  text-transform: none !important;
  color: var(--red-soft) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  display: block !important;
}

html body section.ide-v2 .ide-kicker::before {
  display: none !important;
}

/* ───── FIX 6 · STRUCTURE de bloques de texto largos ───── */

/* Body text en cards/listas: más legible */
html body section.dolor-v2 .dv2-card p,
html body section.weeks-roadmap .wr-card p:not(.wr-tagline),
html body section.ide-v2 .ide-card p,
html body section.guarantee-v2 .gv2-content p,
html body section.faq-v2 .fv2-ans p {
  font-size: 16px !important;
  line-height: 1.72 !important;
  letter-spacing: -0.002em !important;
  margin: 0 0 16px !important;
  max-width: 60ch !important;
}

/* "Vid quote" en testimonios */
html body section.section-paper#resultados .vid-quote {
  font-size: clamp(17px, 1.4vw, 21px) !important;
  line-height: 1.5 !important;
  letter-spacing: -0.005em !important;
}

/* Encaje list items mejor jerarquía */
html body section.encaje-v3 .ev3-list li {
  letter-spacing: -0.002em !important;
}

/* Headings global · readability */
html body h1, html body h2, html body h3 {
  letter-spacing: -0.022em !important;
  text-wrap: balance;
}

/* Bigger min-size for paragraphs · accessibility */
html body p {
  font-size: clamp(15.5px, 1.1vw, 16.5px) !important;
}

/* Headings inside dark cards · ensure visibility */
html body section.dolor-v2 .dv2-card h3,
html body section.weeks-roadmap .wr-card h3 {
  font-size: clamp(22px, 2.1vw, 28px) !important;
  line-height: 1.12 !important;
}

/* END · 6 fixes frontend-design */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 7 · DOLOR-V2 redesign editorial
   Eliminar 01/02/03 prominentes. Las frases h3 ("El caballo de Troya",
   "Automatizar el caos", "El ruido y el coste") pasan a ser
   TITULARES EDITORIALES en naranja, protagonistas absolutos.
   ═══════════════════════════════════════════════════════════════════ */

/* Layout del wrap más respirado */
html body section.dolor-v2 {
  background: var(--ink-92, #0a0a0a) !important;
  padding: clamp(96px, 12vw, 160px) 24px !important;
}
html body section.dolor-v2 .dv2-wrap {
  max-width: 1200px !important;
  margin: 0 auto !important;
}
html body section.dolor-v2 .dv2-head {
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto clamp(64px, 7vw, 96px) !important;
}
html body section.dolor-v2 .dv2-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.8vw, 60px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--cream-soft, #fbf8f3) !important;
  text-wrap: balance !important;
}
html body section.dolor-v2 .dv2-head h2 em {
  font-style: italic !important;
  color: var(--red-soft, #ff5a3c) !important;
}

/* Grid 3-col uniforme */
html body section.dolor-v2 .dv2-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
  align-items: stretch !important;
}
@media (max-width: 900px) {
  html body section.dolor-v2 .dv2-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* Cards: alto contraste, posicionamiento interno editorial */
html body section.dolor-v2 .dv2-card {
  position: relative !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.01) 100%) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 4px !important;
  padding: clamp(40px, 4vw, 56px) clamp(28px, 2.8vw, 40px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden !important;
  transition: border-color .4s ease, transform .4s ease !important;
}
html body section.dolor-v2 .dv2-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 0; right: 0;
  height: 2px !important;
  background: linear-gradient(90deg, transparent 0%, var(--red-soft, #ff5a3c) 50%, transparent 100%) !important;
  opacity: 0 !important;
  transition: opacity .5s ease !important;
}
html body section.dolor-v2 .dv2-card:hover { border-color: rgba(255,90,60,0.35) !important; }
html body section.dolor-v2 .dv2-card:hover::before { opacity: 1 !important; }

/* ELIMINAR el 01/02/03 grandote */
html body section.dolor-v2 .dv2-card .dv2-num {
  display: none !important;
}

/* Icono más pequeño, decorativo, no protagonista */
html body section.dolor-v2 .dv2-card .dv2-icon {
  width: 28px !important;
  height: 28px !important;
  color: rgba(255,90,60,0.55) !important;
  margin: 0 0 22px 0 !important;
  stroke-width: 1.4 !important;
  opacity: 0.85 !important;
}

/* TITULAR EDITORIAL — la frase es la PROTAGONISTA */
html body section.dolor-v2 .dv2-card h3 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  color: var(--red-soft, #ff5a3c) !important;
  margin: 0 0 24px 0 !important;
  text-wrap: balance !important;
}

/* Separador sutil después del titular */
html body section.dolor-v2 .dv2-card h3::after {
  content: "" !important;
  display: block !important;
  width: 36px !important;
  height: 1px !important;
  background: rgba(255,255,255,0.18) !important;
  margin: 22px 0 4px 0 !important;
}

/* Body text refinado */
html body section.dolor-v2 .dv2-card p {
  font-family: 'Lato', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: rgba(251,248,243,0.78) !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.002em !important;
}
html body section.dolor-v2 .dv2-card p:last-child { margin-bottom: 0 !important; }
html body section.dolor-v2 .dv2-card p strong {
  color: var(--cream-soft, #fbf8f3) !important;
  font-weight: 700 !important;
}

/* Esquina inferior: marca editorial sutil */
html body section.dolor-v2 .dv2-card::after {
  content: "" !important;
  position: absolute !important;
  bottom: 18px !important;
  right: 18px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--red-soft, #ff5a3c) !important;
  border-radius: 50% !important;
  opacity: 0.5 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   PATCH 8 v2 · OVERVIEW-V3 (LAS 2 FASES DEL BOOTCAMP)
   REDISEÑO RADICAL — disciplina UI/UX-pro-max + editorial-premium
   ───────────────────────────────────────────────────────────────────
   PRINCIPIOS APLICADOS:
   · Respira (whitespace generoso, no apilar)
   · Una sola idea por bloque visual
   · Jerarquía tipográfica clara: TAG → TÍTULO → DESC → LISTA → META
   · Asimetría intencional (cabecera 5col + contenido 7col)
   · Densidad legible: line-height ≥1.65, max-width 50–58ch
   · Stack vertical de las 2 fases con separador editorial entre ellas
   · 0 decoración gratuita: cada elemento gráfico cumple función
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────── FRAME BASE ─────────── */
html body section.overview-v3 {
  background: #fbf8f3 !important;
  background-image:
    radial-gradient(ellipse 60% 40% at 0% 0%, rgba(236,68,41,0.035) 0%, transparent 70%),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(10,10,10,0.02) 0%, transparent 70%) !important;
  padding: clamp(120px, 14vw, 180px) clamp(20px, 4vw, 56px) !important;
  position: relative !important;
  overflow: hidden !important;
}
html body section.overview-v3::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 0; right: 0;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(10,10,10,0.10) 50%, transparent 100%) !important;
}
html body section.overview-v3::after { display: none !important; }

html body section.overview-v3 .ov3-wrap {
  max-width: 1180px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}
html body section.overview-v3 .ov3-wrap::before { display: none !important; }

/* ─────────── CABECERA DE SECCIÓN ─────────── */
html body section.overview-v3 .ov3-head {
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto clamp(96px, 10vw, 144px) !important;
  position: relative !important;
}
html body section.overview-v3 .ov3-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: var(--red-deep, #c93521) !important;
  margin-bottom: 32px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body section.overview-v3 .ov3-kicker::before,
html body section.overview-v3 .ov3-kicker::after {
  content: "" !important;
  display: inline-block !important;
  width: 32px !important;
  height: 1px !important;
  background: var(--red-deep, #c93521) !important;
  position: static !important;
  margin: 0 !important;
}
html body section.overview-v3 .ov3-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(38px, 5.6vw, 68px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  color: #0a0a0a !important;
  margin: 0 0 28px !important;
  text-wrap: balance !important;
}
html body section.overview-v3 .ov3-head h2 em {
  font-style: italic !important;
  color: var(--red-deep, #c93521) !important;
}
html body section.overview-v3 .ov3-intro {
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.6 !important;
  color: rgba(10,10,10,0.7) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  letter-spacing: -0.003em !important;
  font-weight: 400 !important;
}
html body section.overview-v3 .ov3-intro strong {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* ─────────── STACK VERTICAL DE LAS 2 FASES ─────────── */
html body section.overview-v3 .ov3-phases {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding-top: 0 !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}
html body section.overview-v3 .ov3-phases::before,
html body section.overview-v3 .ov3-phases::after { display: none !important; }

/* Divider HTML reaprovechado como SEPARADOR EDITORIAL entre fases */
html body section.overview-v3 .ov3-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  position: relative !important;
  margin: clamp(72px, 8vw, 112px) 0 !important;
  padding: 0 !important;
}
html body section.overview-v3 .ov3-divider::before {
  content: "" !important;
  position: absolute !important;
  left: 0; right: 0;
  top: 50%;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(10,10,10,0.18) 50%, transparent 100%) !important;
}
html body section.overview-v3 .ov3-divider::after {
  content: "★" !important;
  position: relative !important;
  background: #fbf8f3 !important;
  padding: 0 24px !important;
  font-family: 'DM Serif Display', serif !important;
  font-size: 18px !important;
  color: var(--red-deep, #c93521) !important;
  line-height: 1 !important;
  z-index: 1 !important;
}

/* ─────────── CADA FASE = PLIEGO EDITORIAL DE PÁGINA COMPLETA ─────────── */
html body section.overview-v3 .ov3-phase {
  position: relative !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: 5fr 7fr !important;
  gap: clamp(48px, 6vw, 96px) !important;
  align-items: start !important;
  transition: none !important;
  overflow: visible !important;
}
html body section.overview-v3 .ov3-phase:hover {
  transform: none !important;
  box-shadow: none !important;
}
html body section.overview-v3 .ov3-phase::before { display: none !important; }

/* Número marca de agua MUY sutil detrás del título */
html body section.overview-v3 .ov3-phase::after {
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(180px, 22vw, 280px) !important;
  font-weight: 400 !important;
  position: absolute !important;
  top: -60px !important;
  left: -20px !important;
  line-height: 1 !important;
  color: rgba(10,10,10,0.03) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  letter-spacing: -0.05em !important;
}
html body section.overview-v3 .ov3-phase:nth-of-type(1)::after,
html body section.overview-v3 .ov3-phase:first-of-type::after { content: "I"; }
html body section.overview-v3 .ov3-phase:nth-of-type(2)::after,
html body section.overview-v3 .ov3-phase:last-of-type::after { content: "II"; }

html body section.overview-v3 .ov3-phase > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ─────────── COLUMNA IZQUIERDA: CABECERA DE FASE ─────────── */
/* Como no podemos modificar HTML, asignamos a los hijos por orden de aparición usando
   grid-area implícita. La estructura HTML real es:
   <svg.ov3-phase-icon> <span.ov3-phase-tag> <h3> <p.desc> <ul>
   Vamos a colocarlos así:
   COLUMNA IZQ (cabecera):  ov3-phase-icon, ov3-phase-tag, h3, desc
   COLUMNA DER (contenido): ul
*/
html body section.overview-v3 .ov3-phase .ov3-phase-icon,
html body section.overview-v3 .ov3-phase .ov3-phase-tag,
html body section.overview-v3 .ov3-phase h3,
html body section.overview-v3 .ov3-phase .desc {
  grid-column: 1 !important;
}
html body section.overview-v3 .ov3-phase ul {
  grid-column: 2 !important;
  grid-row: 1 / span 5 !important;
  align-self: start !important;
}

/* ── Icono refinado ── */
html body section.overview-v3 .ov3-phase-icon {
  width: 32px !important;
  height: 32px !important;
  color: var(--red-deep, #c93521) !important;
  stroke-width: 1.4 !important;
  margin: 0 0 32px 0 !important;
  opacity: 0.85 !important;
  display: block !important;
}

/* ── Tag de fase grande y claro ── */
html body section.overview-v3 .ov3-phase-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--red-deep, #c93521) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
}
html body section.overview-v3 .ov3-phase-tag::before {
  content: "" !important;
  display: inline-block !important;
  width: 28px !important;
  height: 1px !important;
  background: var(--red-deep, #c93521) !important;
}

/* ── Título MONUMENTAL de fase ── */
html body section.overview-v3 .ov3-phase h3 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
  color: #0a0a0a !important;
  margin: 0 0 32px 0 !important;
  text-wrap: balance !important;
  max-width: 12ch !important;
}

/* ── Descripción editorial RESPIRADA ── */
html body section.overview-v3 .ov3-phase .desc {
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(15.5px, 1.15vw, 17px) !important;
  line-height: 1.72 !important;
  color: rgba(10,10,10,0.72) !important;
  margin: 0 !important;
  padding: 24px 0 0 0 !important;
  border-top: 1px solid rgba(10,10,10,0.12) !important;
  letter-spacing: -0.003em !important;
  max-width: 32ch !important;
  font-weight: 400 !important;
}
html body section.overview-v3 .ov3-phase .desc::before { display: none !important; }
html body section.overview-v3 .ov3-phase .desc strong {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* ─────────── COLUMNA DERECHA: LISTA "LO QUE TE LLEVAS" ─────────── */
html body section.overview-v3 .ov3-phase ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  counter-reset: phase-item !important;
  background: #ffffff !important;
  border: 1px solid rgba(10,10,10,0.08) !important;
  border-radius: 2px !important;
  padding: clamp(32px, 3.5vw, 48px) clamp(28px, 3vw, 44px) !important;
  box-shadow:
    0 1px 0 rgba(10,10,10,0.03),
    0 24px 56px -32px rgba(10,10,10,0.14) !important;
}

/* Mini-cabecera "LO QUE TE LLEVAS" */
html body section.overview-v3 .ov3-phase ul::before {
  content: "Lo que te llevas" !important;
  display: block !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  color: var(--red-deep, #c93521) !important;
  margin: 0 0 28px 0 !important;
  padding: 0 0 16px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(10,10,10,0.10) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* ── Items de la lista — UNO POR UNO con MUCHO aire ── */
html body section.overview-v3 .ov3-phase li {
  position: relative !important;
  padding: 22px 0 22px 56px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(15px, 1.05vw, 16.5px) !important;
  line-height: 1.65 !important;
  color: rgba(10,10,10,0.84) !important;
  letter-spacing: -0.003em !important;
  counter-increment: phase-item !important;
  border-bottom: 1px solid rgba(10,10,10,0.06) !important;
  max-width: none !important;
}
html body section.overview-v3 .ov3-phase li:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html body section.overview-v3 .ov3-phase li:first-child {
  padding-top: 4px !important;
}

/* Numeración mono grande y clara */
html body section.overview-v3 .ov3-phase li::before {
  content: counter(phase-item, decimal-leading-zero) !important;
  position: absolute !important;
  left: 0 !important;
  top: 24px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--red-deep, #c93521) !important;
  background: transparent !important;
  width: 36px !important;
  height: auto !important;
  border-radius: 0 !important;
  display: inline-block !important;
  text-align: left !important;
  line-height: 1 !important;
  padding: 0 !important;
  border: 0 !important;
  font-feature-settings: "tnum" !important;
}
html body section.overview-v3 .ov3-phase li:first-child::before {
  top: 6px !important;
}
html body section.overview-v3 .ov3-phase li::after { display: none !important; }
html body section.overview-v3 .ov3-phase li strong {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* Footer editorial de la lista (metadato de formato) */
html body section.overview-v3 .ov3-phase ul::after {
  display: block !important;
  margin: 32px 0 0 0 !important;
  padding: 20px 0 0 0 !important;
  border-top: 1px solid rgba(10,10,10,0.10) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(10,10,10,0.5) !important;
  font-feature-settings: "tnum" !important;
  line-height: 1.5 !important;
}
html body section.overview-v3 .ov3-phase:nth-of-type(1) ul::after,
html body section.overview-v3 .ov3-phase:first-of-type ul::after {
  content: "Formato · 4 semanas en directo · Lun & Jue 18:00 CET" !important;
}
html body section.overview-v3 .ov3-phase:nth-of-type(2) ul::after,
html body section.overview-v3 .ov3-phase:last-of-type ul::after {
  content: "Formato · 12 meses · Async + sesiones en directo mensuales" !important;
}

/* ─────────── TABLET ─────────── */
@media (max-width: 1024px) {
  html body section.overview-v3 .ov3-phase {
    grid-template-columns: 1fr !important;
    gap: clamp(32px, 4vw, 48px) !important;
  }
  html body section.overview-v3 .ov3-phase .ov3-phase-icon,
  html body section.overview-v3 .ov3-phase .ov3-phase-tag,
  html body section.overview-v3 .ov3-phase h3,
  html body section.overview-v3 .ov3-phase .desc,
  html body section.overview-v3 .ov3-phase ul {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  html body section.overview-v3 .ov3-phase h3 {
    max-width: 100% !important;
  }
  html body section.overview-v3 .ov3-phase .desc {
    max-width: 60ch !important;
  }
}

/* ─────────── MOBILE ─────────── */
@media (max-width: 720px) {
  html body section.overview-v3 {
    padding: clamp(72px, 14vw, 96px) 20px !important;
  }
  html body section.overview-v3 .ov3-head {
    margin-bottom: clamp(56px, 12vw, 72px) !important;
  }
  html body section.overview-v3 .ov3-divider {
    margin: clamp(48px, 12vw, 72px) 0 !important;
  }
  html body section.overview-v3 .ov3-phase h3 {
    font-size: clamp(32px, 9vw, 44px) !important;
  }
  html body section.overview-v3 .ov3-phase::after {
    font-size: 140px !important;
    top: -32px !important;
    left: -8px !important;
  }
  html body section.overview-v3 .ov3-phase ul {
    padding: 28px 22px !important;
  }
  html body section.overview-v3 .ov3-phase li {
    padding: 20px 0 20px 44px !important;
  }
  html body section.overview-v3 .ov3-phase li::before {
    width: 28px !important;
    font-size: 12px !important;
  }
}

/* END · PATCH 7 + 8v2 dolor-v2 + overview-v3 rediseño total */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 9 · OVERVIEW-V3 — DARK + NARANJA EDITORIAL CINEMATOGRÁFICO
   ───────────────────────────────────────────────────────────────────
   · Background dark dominante (ink profundo)
   · Romanos I / II en NARANJA visible como marca tipográfica
   · Iconos SVG (reloj + escudo) FUERA — distraen y son redundantes
   · Card de lista: dark con borde naranja sutil y glow
   · Texto cream sobre dark con jerarquía respirada
   · Acento naranja como hilo conductor de la sección
   ═══════════════════════════════════════════════════════════════════ */

/* ── FONDO DARK con luz naranja ── */
html body section.overview-v3 {
  background: var(--ink-92, #0a0a0a) !important;
  background-image:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(236,68,41,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(236,68,41,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 40% 30% at 50% 50%, rgba(255,90,60,0.025) 0%, transparent 70%) !important;
}
html body section.overview-v3::before {
  background: linear-gradient(90deg, transparent 0%, rgba(255,90,60,0.22) 50%, transparent 100%) !important;
}

/* ── Cabecera de sección · cream sobre dark ── */
html body section.overview-v3 .ov3-kicker {
  color: var(--red-soft, #ff5a3c) !important;
}
html body section.overview-v3 .ov3-kicker::before,
html body section.overview-v3 .ov3-kicker::after {
  background: var(--red-soft, #ff5a3c) !important;
}
html body section.overview-v3 .ov3-head h2 {
  color: var(--cream-soft, #fbf8f3) !important;
}
html body section.overview-v3 .ov3-head h2 em {
  color: var(--red-soft, #ff5a3c) !important;
}
html body section.overview-v3 .ov3-intro {
  color: rgba(251,248,243,0.68) !important;
}
html body section.overview-v3 .ov3-intro strong {
  color: var(--cream-soft, #fbf8f3) !important;
}

/* ── Separador entre fases · dark ── */
html body section.overview-v3 .ov3-divider::before {
  background: linear-gradient(90deg, transparent 0%, rgba(255,90,60,0.32) 50%, transparent 100%) !important;
}
html body section.overview-v3 .ov3-divider::after {
  background: var(--ink-92, #0a0a0a) !important;
  color: var(--red-soft, #ff5a3c) !important;
}

/* ── ELIMINAR los iconos SVG (reloj + escudo) ── */
html body section.overview-v3 .ov3-phase .ov3-phase-icon,
html body section.overview-v3 .ov3-phase-icon,
html body section.overview-v3 svg.ov3-phase-icon {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

/* ── ROMANOS I / II NARANJA — marca tipográfica visible ── */
html body section.overview-v3 .ov3-phase::after {
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(220px, 26vw, 340px) !important;
  font-weight: 400 !important;
  position: absolute !important;
  top: -80px !important;
  left: -32px !important;
  line-height: 1 !important;
  color: var(--red-soft, #ff5a3c) !important;
  opacity: 0.10 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  letter-spacing: -0.06em !important;
  text-shadow: 0 0 80px rgba(255,90,60,0.15) !important;
}

/* ── Cabecera de fase · tipografía cream/naranja ── */
html body section.overview-v3 .ov3-phase-tag {
  color: var(--red-soft, #ff5a3c) !important;
}
html body section.overview-v3 .ov3-phase-tag::before {
  background: var(--red-soft, #ff5a3c) !important;
}
html body section.overview-v3 .ov3-phase h3 {
  color: var(--cream-soft, #fbf8f3) !important;
}
html body section.overview-v3 .ov3-phase .desc {
  color: rgba(251,248,243,0.72) !important;
  border-top: 1px solid rgba(255,90,60,0.25) !important;
  padding-top: 28px !important;
}
html body section.overview-v3 .ov3-phase .desc strong {
  color: var(--cream-soft, #fbf8f3) !important;
}

/* ── CARD LISTA · dark con borde naranja sutil + glow ── */
html body section.overview-v3 .ov3-phase ul {
  background: linear-gradient(180deg,
    rgba(255,255,255,0.025) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  border: 1px solid rgba(255,90,60,0.18) !important;
  border-radius: 3px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.02) inset,
    0 0 0 1px rgba(255,90,60,0.04),
    0 32px 64px -32px rgba(0,0,0,0.5),
    0 0 80px -20px rgba(255,90,60,0.08) !important;
  position: relative !important;
}
/* Hairline naranja superior dentro de la card */
html body section.overview-v3 .ov3-phase ul {
  background-image: linear-gradient(180deg,
    rgba(255,90,60,0.06) 0%,
    transparent 12%,
    transparent 100%) !important;
}

/* ── Mini-cabecera "LO QUE TE LLEVAS" en naranja ── */
html body section.overview-v3 .ov3-phase ul::before {
  color: var(--red-soft, #ff5a3c) !important;
  border-bottom: 1px solid rgba(255,90,60,0.22) !important;
}

/* ── Items de la lista — cream, separadores naranja sutiles ── */
html body section.overview-v3 .ov3-phase li {
  color: rgba(251,248,243,0.82) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
html body section.overview-v3 .ov3-phase li:last-child {
  border-bottom: 0 !important;
}
html body section.overview-v3 .ov3-phase li::before {
  color: var(--red-soft, #ff5a3c) !important;
  text-shadow: 0 0 12px rgba(255,90,60,0.4) !important;
}
html body section.overview-v3 .ov3-phase li strong {
  color: var(--cream-soft, #fbf8f3) !important;
}

/* ── Footer metadato · mono naranja tenue ── */
html body section.overview-v3 .ov3-phase ul::after {
  border-top: 1px solid rgba(255,90,60,0.22) !important;
  color: rgba(255,90,60,0.7) !important;
}

/* ── Background variants entre secciones — coherencia con el rediseño dark ── */
/* La sección anterior (dolor-v2) ya es dark; mantenemos contraste con overview-v3 dark también
   pero usando un ink ligeramente distinto para crear ritmo (no monotonía) */
html body section.overview-v3 {
  background-color: #0d0d0d !important;
}

/* END · PATCH 9 overview-v3 dark + naranja editorial */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 10 · OVERVIEW-V3 — FIX contraste + Romanos más intensos
   ───────────────────────────────────────────────────────────────────
   · Eliminar subtextos "Formato · 4 semanas en directo…"
   · Eliminar subtexto "Formato · 12 meses async…"
   · Romanos I / II MUCHO más intensos (naranja vibrante)
   · Mejorar contraste de TODOS los textos sobre dark
   · Asegurar que ningún texto se vea blanco/invisible
   ═══════════════════════════════════════════════════════════════════ */

/* ── ELIMINAR los subtextos "Formato · …" del ::after de la lista ── */
html body section.overview-v3 .ov3-phase ul::after,
html body section.overview-v3 .ov3-phase:nth-of-type(1) ul::after,
html body section.overview-v3 .ov3-phase:nth-of-type(2) ul::after,
html body section.overview-v3 .ov3-phase:first-of-type ul::after,
html body section.overview-v3 .ov3-phase:last-of-type ul::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* ── ROMANOS I / II — naranja vibrante, mucho más intensos ── */
html body section.overview-v3 .ov3-phase::after {
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(240px, 28vw, 380px) !important;
  font-weight: 400 !important;
  position: absolute !important;
  top: -90px !important;
  left: -40px !important;
  line-height: 1 !important;
  color: #ff5a3c !important;
  opacity: 0.28 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  letter-spacing: -0.06em !important;
  text-shadow:
    0 0 60px rgba(255,90,60,0.35),
    0 0 120px rgba(255,90,60,0.18) !important;
  -webkit-text-stroke: 1px rgba(255,90,60,0.45) !important;
}

/* ── CONTRASTE DE TEXTOS · todos legibles sobre dark ── */

/* H2 cabecera de sección */
html body section.overview-v3 .ov3-head h2 {
  color: #ffffff !important;
}
html body section.overview-v3 .ov3-head h2 em {
  color: #ff7a5e !important;
}

/* Intro */
html body section.overview-v3 .ov3-intro {
  color: rgba(251,248,243,0.82) !important;
}
html body section.overview-v3 .ov3-intro strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Kicker arriba */
html body section.overview-v3 .ov3-kicker {
  color: #ff7a5e !important;
}
html body section.overview-v3 .ov3-kicker::before,
html body section.overview-v3 .ov3-kicker::after {
  background: #ff7a5e !important;
}

/* Tag de fase */
html body section.overview-v3 .ov3-phase-tag {
  color: #ff7a5e !important;
}
html body section.overview-v3 .ov3-phase-tag::before {
  background: #ff7a5e !important;
}

/* H3 título de fase MUY blanco */
html body section.overview-v3 .ov3-phase h3 {
  color: #ffffff !important;
}

/* Descripción · cream mucho más legible */
html body section.overview-v3 .ov3-phase .desc {
  color: rgba(251,248,243,0.88) !important;
  border-top: 1px solid rgba(255,122,94,0.32) !important;
}
html body section.overview-v3 .ov3-phase .desc strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Mini-cabecera "LO QUE TE LLEVAS" */
html body section.overview-v3 .ov3-phase ul::before {
  color: #ff7a5e !important;
  border-bottom: 1px solid rgba(255,122,94,0.32) !important;
}

/* Items de la lista · cream alta opacidad para legibilidad */
html body section.overview-v3 .ov3-phase li {
  color: rgba(251,248,243,0.92) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
html body section.overview-v3 .ov3-phase li strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Numeración 01 02 03 04 · naranja más vibrante */
html body section.overview-v3 .ov3-phase li::before {
  color: #ff7a5e !important;
  text-shadow: 0 0 16px rgba(255,90,60,0.55) !important;
}

/* Separador entre fases · ★ naranja más visible */
html body section.overview-v3 .ov3-divider::after {
  color: #ff7a5e !important;
  background: #0d0d0d !important;
  font-size: 20px !important;
}
html body section.overview-v3 .ov3-divider::before {
  background: linear-gradient(90deg, transparent 0%, rgba(255,122,94,0.4) 50%, transparent 100%) !important;
}

/* END · PATCH 10 overview-v3 contraste + romanos intensos */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 11 · OVERVIEW-V3 — VUELTA A 2-COL + LIMPIEZA DE COPY INVENTADO
   ───────────────────────────────────────────────────────────────────
   · Las 2 fases lado a lado separadas por LÍNEA VERTICAL
   · ELIMINAR "Lo que te llevas" (copy inventado)
   · ELIMINAR cualquier subtexto de formato inventado
   · Mantener dark + naranja editorial
   · Romanos I/II naranja intensos
   · Layout interno simple por fase: tag → h3 → desc → lista
   · Items con guion editorial sutil naranja
   ═══════════════════════════════════════════════════════════════════ */

/* ── Grid 2-col HORIZONTAL con divider central ── */
html body section.overview-v3 .ov3-phases {
  display: grid !important;
  flex-direction: row !important;
  grid-template-columns: 1fr 1px 1fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  align-items: start !important;
  padding-top: 0 !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

/* ── DIVIDER VERTICAL entre fases ── */
html body section.overview-v3 .ov3-divider {
  display: block !important;
  width: 1px !important;
  height: 100% !important;
  min-height: 480px !important;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(255,122,94,0.28) 18%,
    rgba(255,122,94,0.32) 50%,
    rgba(255,122,94,0.28) 82%,
    transparent 100%) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  align-self: stretch !important;
  justify-self: center !important;
}
html body section.overview-v3 .ov3-divider::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 6px !important;
  height: 6px !important;
  background: #ff7a5e !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: 0 0 16px rgba(255,122,94,0.6) !important;
}
html body section.overview-v3 .ov3-divider::after {
  display: none !important;
  content: none !important;
}

/* ── CADA FASE: stack vertical simple ── */
html body section.overview-v3 .ov3-phase {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: visible !important;
}

/* Resetear grid-column de cada hijo (estaban forzados en patch 8v2) */
html body section.overview-v3 .ov3-phase .ov3-phase-icon,
html body section.overview-v3 .ov3-phase .ov3-phase-tag,
html body section.overview-v3 .ov3-phase h3,
html body section.overview-v3 .ov3-phase .desc,
html body section.overview-v3 .ov3-phase ul {
  grid-column: auto !important;
  grid-row: auto !important;
}

/* ── Tag de fase ── */
html body section.overview-v3 .ov3-phase-tag {
  margin: 0 0 28px 0 !important;
}

/* ── H3 título de fase ── */
html body section.overview-v3 .ov3-phase h3 {
  max-width: none !important;
  margin: 0 0 28px 0 !important;
  font-size: clamp(34px, 4.2vw, 52px) !important;
}

/* ── Descripción ── */
html body section.overview-v3 .ov3-phase .desc {
  max-width: none !important;
  margin: 0 0 40px 0 !important;
  padding-top: 28px !important;
}

/* ── LISTA · sin card blanca, sin "Lo que te llevas" ── */
html body section.overview-v3 .ov3-phase ul {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* ELIMINAR "Lo que te llevas" definitivamente */
html body section.overview-v3 .ov3-phase ul::before {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* ELIMINAR cualquier ::after de la lista (subtextos formato inventados) */
html body section.overview-v3 .ov3-phase ul::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* ── Items de la lista · uno por uno con aire ── */
html body section.overview-v3 .ov3-phase li {
  position: relative !important;
  padding: 22px 0 22px 36px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(15px, 1.05vw, 16.5px) !important;
  line-height: 1.65 !important;
  color: rgba(251,248,243,0.92) !important;
  letter-spacing: -0.003em !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  max-width: none !important;
  counter-increment: none !important;
}
html body section.overview-v3 .ov3-phase li:first-child {
  padding-top: 4px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 22px !important;
}
html body section.overview-v3 .ov3-phase li:last-child {
  border-bottom: 0 !important;
}
html body section.overview-v3 .ov3-phase li strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* ── Bullet: guion editorial naranja en lugar de número ── */
html body section.overview-v3 .ov3-phase li::before {
  content: "—" !important;
  position: absolute !important;
  left: 0 !important;
  top: 22px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: #ff7a5e !important;
  text-shadow: none !important;
  background: transparent !important;
  width: 24px !important;
  height: auto !important;
  border-radius: 0 !important;
  display: inline-block !important;
  text-align: left !important;
  line-height: 1 !important;
  padding: 0 !important;
  border: 0 !important;
}
html body section.overview-v3 .ov3-phase li:first-child::before {
  top: 24px !important;
}
html body section.overview-v3 .ov3-phase li::after {
  display: none !important;
  content: none !important;
}

/* ── Resetear ::after de cada fase (que era el romano) — sigue activo del patch 10 ── */
/* No tocamos el ::after de .ov3-phase porque ese es el romano I/II que queremos mantener */

/* ── Romanos I/II posición ajustada para layout 2-col ── */
html body section.overview-v3 .ov3-phase::after {
  font-size: clamp(180px, 22vw, 280px) !important;
  top: -56px !important;
  left: -24px !important;
  opacity: 0.32 !important;
  color: #ff7a5e !important;
  text-shadow:
    0 0 50px rgba(255,122,94,0.4),
    0 0 100px rgba(255,90,60,0.2) !important;
  -webkit-text-stroke: 1px rgba(255,122,94,0.5) !important;
}

/* ── Mobile · stack vertical 1-col + sin divider ── */
@media (max-width: 880px) {
  html body section.overview-v3 .ov3-phases {
    grid-template-columns: 1fr !important;
    gap: clamp(56px, 12vw, 80px) !important;
  }
  html body section.overview-v3 .ov3-divider {
    display: none !important;
  }
  html body section.overview-v3 .ov3-phase::after {
    font-size: 160px !important;
    top: -40px !important;
    left: -16px !important;
  }
}

/* END · PATCH 11 overview-v3 vuelta 2-col + limpieza copy */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 12 · OVERVIEW-V3 — FIX CRÍTICO de cards blancas + alineación
   ───────────────────────────────────────────────────────────────────
   PROBLEMA: los <li> heredaron background blanco de algún patch
   anterior (probablemente editorial.css o programa.css originales),
   creando cards blancas con texto blanco invisible.

   SOLUCIÓN: reset agresivo de background + color forzado en items,
   alineación rigurosa, eliminar punto del divider, mejorar contraste.
   ═══════════════════════════════════════════════════════════════════ */

/* ── RESET TOTAL de cualquier background heredado en items ── */
html body section.overview-v3 .ov3-phase,
html body section.overview-v3 .ov3-phase * {
  background-color: transparent !important;
  background-image: none !important;
}

/* Excepción: el ::after del romano sigue siendo color naranja */
/* (no afecta porque el ::after no es background, es color de texto) */

/* ── LISTA · stack limpio sin cards ── */
html body section.overview-v3 .ov3-phase ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 8px 0 0 0 !important;
  list-style: none !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* ── ITEM · línea limpia con border-top único ── */
html body section.overview-v3 .ov3-phase ul li,
html body section.overview-v3 .ov3-phase li {
  display: block !important;
  position: relative !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 22px 0 22px 40px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(15px, 1.05vw, 16.5px) !important;
  line-height: 1.65 !important;
  color: rgba(251,248,243,0.94) !important;
  letter-spacing: -0.003em !important;
  font-weight: 400 !important;
  text-align: left !important;
}
html body section.overview-v3 .ov3-phase ul li:last-child,
html body section.overview-v3 .ov3-phase li:last-child {
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
}

/* Strong DENTRO de items · blanco puro */
html body section.overview-v3 .ov3-phase ul li strong,
html body section.overview-v3 .ov3-phase li strong {
  color: #ffffff !important;
  font-weight: 700 !important;
  background: transparent !important;
}

/* ── BULLET guion naranja · alineado con la primera línea ── */
html body section.overview-v3 .ov3-phase ul li::before,
html body section.overview-v3 .ov3-phase li::before {
  content: "—" !important;
  position: absolute !important;
  left: 0 !important;
  top: 22px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: #ff7a5e !important;
  text-shadow: none !important;
  background: transparent !important;
  width: 24px !important;
  height: auto !important;
  border-radius: 0 !important;
  display: inline-block !important;
  text-align: left !important;
  line-height: 1.65 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 1 !important;
}
html body section.overview-v3 .ov3-phase ul li::after,
html body section.overview-v3 .ov3-phase li::after {
  display: none !important;
  content: none !important;
}

/* ── DIVIDER: línea vertical limpia SIN punto central ── */
html body section.overview-v3 .ov3-divider::before {
  display: none !important;
  content: none !important;
}
html body section.overview-v3 .ov3-divider {
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(255,122,94,0.22) 12%,
    rgba(255,122,94,0.32) 50%,
    rgba(255,122,94,0.22) 88%,
    transparent 100%) !important;
}

/* ── ALINEAR cabeceras de fase (tag, h3, desc) y lista al mismo eje ── */
html body section.overview-v3 .ov3-phase {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0 !important;
  gap: 0 !important;
}
html body section.overview-v3 .ov3-phase > * {
  width: 100% !important;
}
html body section.overview-v3 .ov3-phase-tag {
  align-self: flex-start !important;
  width: auto !important;
}

/* ── H3 título · margen consistente ── */
html body section.overview-v3 .ov3-phase h3 {
  margin: 0 0 24px 0 !important;
  max-width: none !important;
}

/* ── Desc · margen + border-top hairline ── */
html body section.overview-v3 .ov3-phase .desc {
  margin: 0 0 32px 0 !important;
  padding: 28px 0 0 0 !important;
  border-top: 1px solid rgba(255,122,94,0.32) !important;
  border-bottom: 0 !important;
  max-width: none !important;
  color: rgba(251,248,243,0.88) !important;
}
html body section.overview-v3 .ov3-phase .desc strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* ── Romanos I/II · posición pulida ── */
html body section.overview-v3 .ov3-phase::after {
  position: absolute !important;
  top: -40px !important;
  left: -20px !important;
  font-size: clamp(160px, 20vw, 240px) !important;
  color: #ff7a5e !important;
  opacity: 0.18 !important;
  text-shadow:
    0 0 40px rgba(255,122,94,0.35),
    0 0 80px rgba(255,90,60,0.18) !important;
  -webkit-text-stroke: 1px rgba(255,122,94,0.4) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Asegurar que todo el contenido va por encima del romano */
html body section.overview-v3 .ov3-phase > .ov3-phase-tag,
html body section.overview-v3 .ov3-phase > h3,
html body section.overview-v3 .ov3-phase > .desc,
html body section.overview-v3 .ov3-phase > ul {
  position: relative !important;
  z-index: 2 !important;
}

/* ── BACKDROP suave debajo del título para que no compita con el romano ── */
/* (no se aplica un fondo, solo se asegura jerarquía con z-index) */

/* ── ELIMINAR cualquier ::before/::after de la <ul> que reaparezca ── */
html body section.overview-v3 .ov3-phase ul::before,
html body section.overview-v3 .ov3-phase ul::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* END · PATCH 12 overview-v3 fix cards blancas + alineación */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 13 · Tres ajustes
   A) Strong en NARANJA executive en overview-v3
   B) Eliminar prefijo "CAPÍTULO" en ide-v2
   C) Rediseño editorial premium de testimonios
   ═══════════════════════════════════════════════════════════════════ */

/* ─────── A · STRONG naranja executive en overview-v3 ─────── */
html body section.overview-v3 .ov3-phase .desc strong,
html body section.overview-v3 .ov3-phase ul li strong,
html body section.overview-v3 .ov3-phase li strong,
html body section.overview-v3 .ov3-intro strong,
html body section.overview-v3 .ov3-head h2 em {
  color: #ff7a5e !important;
  font-weight: 700 !important;
}

/* ─────── B · ELIMINAR el prefijo "CAPÍTULO" del IDE V2 ─────── */
html body section.ide-v2 .ide-num::before,
html body section.ide-v2 .ide-card .ide-num::before {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
}

/* También ocultar el .ide-num completo (número 01/02/03/04) ya que era el ancla del prefijo */
html body section.ide-v2 .ide-num,
html body section.ide-v2 .ide-card .ide-num {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   C · TESTIMONIOS — REDISEÑO EDITORIAL PREMIUM
   ───────────────────────────────────────────────────────────────────
   · Cancelar el marquee anterior (volver a slider clásico)
   · Solo el .vid-slide.is-active es visible
   · Layout: vídeo (5col) + info (7col) en cada slide
   · Quote monumental DM Serif italic con glyph " gigante
   · Dark dominante + acento naranja vibrante
   · Stars naranja, controles editoriales (mono + ruling)
   · Esquinas .vid-c convertidas en marcas tipográficas
   ═══════════════════════════════════════════════════════════════════ */

/* ── Cancelar marquee del patch anterior ── */
html body section.section-paper#resultados .vid-carousel {
  display: block !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
  cursor: default !important;
  animation: none !important;
  transform: none !important;
  position: relative !important;
}
html body section.section-paper#resultados .vid-carousel:hover {
  animation: none !important;
}

/* ── Frame de la sección testimonios ── */
html body section.section-paper#resultados {
  background: var(--ink-92, #0a0a0a) !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(255,122,94,0.08) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(255,90,60,0.06) 0%, transparent 65%) !important;
  padding: clamp(120px, 14vw, 180px) clamp(20px, 4vw, 56px) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Cabecera */
html body section.section-paper#resultados .section-head {
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto clamp(72px, 8vw, 112px) !important;
}
html body section.section-paper#resultados .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body section.section-paper#resultados .kicker::before,
html body section.section-paper#resultados .kicker::after {
  content: "" !important;
  display: inline-block !important;
  width: 32px !important;
  height: 1px !important;
  background: #ff7a5e !important;
}
html body section.section-paper#resultados .section-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 5.2vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-wrap: balance !important;
}
html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head h2 .accent {
  font-style: italic !important;
  color: #ff7a5e !important;
}

/* ── SLIDES: solo .is-active visible, layout 2-col ── */
html body section.section-paper#resultados .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide {
  display: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  flex: none !important;
  scroll-snap-align: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
}
html body section.section-paper#resultados .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
  display: grid !important;
  grid-template-columns: 5fr 7fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  align-items: center !important;
  animation: vid-fadein .6s ease both !important;
}
@keyframes vid-fadein {
  0%   { opacity: 0; transform: translateY(12px); }
  100% { opacity: 1; transform: translateY(0); }
}
html body section.section-paper#resultados .vid-slide::before,
html body section.section-paper#resultados .vid-slide.is-active::before {
  display: none !important;
  content: none !important;
}

/* ── VIDEO COLUMNA IZQUIERDA · placeholder editorial ── */
html body section.section-paper#resultados .vid-video {
  position: relative !important;
  aspect-ratio: 4 / 5 !important;
  width: 100% !important;
  background: linear-gradient(160deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.015) 100%) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body section.section-paper#resultados .vid-placeholder {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  width: 100% !important;
  height: 100% !important;
  padding: 32px !important;
  background: transparent !important;
}

/* Asterisco editorial · marca de pliego */
html body section.section-paper#resultados .vid-aster {
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(80px, 12vw, 140px) !important;
  color: #ff7a5e !important;
  opacity: 0.5 !important;
  line-height: 0.7 !important;
  text-shadow: 0 0 40px rgba(255,122,94,0.4) !important;
}

/* Botón play discreto */
html body section.section-paper#resultados .vid-play {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border: 1px solid rgba(255,122,94,0.5) !important;
  border-radius: 50% !important;
  background: rgba(255,122,94,0.08) !important;
  color: #ff7a5e !important;
  backdrop-filter: blur(4px) !important;
  transition: transform .3s ease, background .3s ease !important;
}
html body section.section-paper#resultados .vid-play svg {
  width: 18px !important;
  height: 18px !important;
  margin-left: 2px !important;
}
html body section.section-paper#resultados .vid-video:hover .vid-play {
  transform: scale(1.08) !important;
  background: rgba(255,122,94,0.18) !important;
}

/* Label "Vídeo · próximamente" */
html body section.section-paper#resultados .vid-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  font-feature-settings: "tnum" !important;
}

/* Esquinas .vid-c · marcas tipográficas en las 4 esquinas */
html body section.section-paper#resultados .vid-c {
  position: absolute !important;
  width: 16px !important;
  height: 16px !important;
  border-color: #ff7a5e !important;
  opacity: 0.7 !important;
}
html body section.section-paper#resultados .vid-c-tl {
  top: 12px !important; left: 12px !important;
  border-top: 1px solid #ff7a5e !important;
  border-left: 1px solid #ff7a5e !important;
  border-right: 0 !important; border-bottom: 0 !important;
}
html body section.section-paper#resultados .vid-c-tr {
  top: 12px !important; right: 12px !important;
  border-top: 1px solid #ff7a5e !important;
  border-right: 1px solid #ff7a5e !important;
  border-left: 0 !important; border-bottom: 0 !important;
}
html body section.section-paper#resultados .vid-c-bl {
  bottom: 12px !important; left: 12px !important;
  border-bottom: 1px solid #ff7a5e !important;
  border-left: 1px solid #ff7a5e !important;
  border-right: 0 !important; border-top: 0 !important;
}
html body section.section-paper#resultados .vid-c-br {
  bottom: 12px !important; right: 12px !important;
  border-bottom: 1px solid #ff7a5e !important;
  border-right: 1px solid #ff7a5e !important;
  border-left: 0 !important; border-top: 0 !important;
}

/* ── INFO COLUMNA DERECHA · jerarquía editorial ── */
html body section.section-paper#resultados .vid-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: left !important;
}

/* Tag "Testimonio · 01" */
html body section.section-paper#resultados .vid-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  align-self: flex-start !important;
}
html body section.section-paper#resultados .vid-tag::before {
  content: "" !important;
  display: inline-block !important;
  width: 24px !important;
  height: 1px !important;
  background: #ff7a5e !important;
}

/* Nombre + sector */
html body section.section-paper#resultados .vid-name {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.028em !important;
  color: #ffffff !important;
  margin: 0 0 12px 0 !important;
}
html body section.section-paper#resultados .vid-sector {
  font-family: 'Lato', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: rgba(255,255,255,0.6) !important;
  margin: 0 0 28px 0 !important;
}

/* Regla naranja editorial */
html body section.section-paper#resultados .vid-rule {
  display: block !important;
  width: 56px !important;
  height: 2px !important;
  background: #ff7a5e !important;
  margin: 0 0 32px 0 !important;
}

/* ── QUOTE MONUMENTAL ── */
html body section.section-paper#resultados .vid-quote {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.32 !important;
  letter-spacing: -0.012em !important;
  color: rgba(255,255,255,0.94) !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
  max-width: 56ch !important;
  text-wrap: balance !important;
}

/* Glyph " gigante decorativo */
html body section.section-paper#resultados .vid-glyph {
  display: inline !important;
  position: absolute !important;
  top: -32px !important;
  left: -12px !important;
  font-family: 'DM Serif Display', serif !important;
  font-size: clamp(80px, 9vw, 120px) !important;
  font-style: italic !important;
  color: #ff7a5e !important;
  opacity: 0.18 !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ── ESTRELLAS NARANJA ── */
html body section.section-paper#resultados .vid-stars {
  display: inline-flex !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.section-paper#resultados .vid-star {
  width: 18px !important;
  height: 18px !important;
  fill: #ff7a5e !important;
  color: #ff7a5e !important;
  filter: drop-shadow(0 0 8px rgba(255,122,94,0.4)) !important;
}

/* ── CONTROLES editorial ── */
html body section.section-paper#resultados .vid-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  margin: clamp(56px, 6vw, 80px) auto 0 !important;
  padding: 0 !important;
  max-width: 480px !important;
}

html body section.section-paper#resultados .vid-btn {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: rgba(255,255,255,0.7) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: border-color .3s ease, color .3s ease, transform .3s ease !important;
}
html body section.section-paper#resultados .vid-btn:hover {
  border-color: #ff7a5e !important;
  color: #ff7a5e !important;
  transform: scale(1.06) !important;
}
html body section.section-paper#resultados .vid-btn svg {
  width: 18px !important;
  height: 18px !important;
}

/* Dots tipo "01 / 02 / 03" */
html body section.section-paper#resultados .vid-dots {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  background: transparent !important;
}
html body section.section-paper#resultados .vid-dot {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.35) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 4px 0 !important;
  cursor: pointer !important;
  position: relative !important;
  font-feature-settings: "tnum" !important;
  transition: color .3s ease !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
}
html body section.section-paper#resultados .vid-dot:hover {
  color: rgba(255,122,94,0.7) !important;
}
html body section.section-paper#resultados .vid-dot.is-active {
  color: #ff7a5e !important;
}
html body section.section-paper#resultados .vid-dot.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 0; right: 0;
  bottom: -4px !important;
  height: 1px !important;
  background: #ff7a5e !important;
  box-shadow: 0 0 8px rgba(255,122,94,0.6) !important;
}

/* ── Mobile ── */
@media (max-width: 880px) {
  html body section.section-paper#resultados .vid-slide.is-active {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  html body section.section-paper#resultados .vid-video {
    aspect-ratio: 4 / 5 !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  html body section.section-paper#resultados .vid-quote {
    font-size: 20px !important;
  }
  html body section.section-paper#resultados .vid-glyph {
    top: -20px !important;
    left: -4px !important;
    font-size: 64px !important;
  }
  html body section.section-paper#resultados .vid-controls {
    gap: 16px !important;
  }
}

/* END · PATCH 13 strong-naranja + sin-CAPÍTULO + testimonios-rediseño */


/* ═══════════════════════════════════════════════════════════════════
   PATCH 14 · TESTIMONIOS — REDISEÑO RADICAL CINEMATOGRÁFICO
   ───────────────────────────────────────────────────────────────────
   PROBLEMA: el layout 5/7 con vídeo + info se veía vacío porque
   los vídeos no existen (todos placeholders) y la composición no
   funcionaba con tanto elemento decorativo.

   SOLUCIÓN: layout vertical CENTRADO con:
   · ASTERISCO grande naranja como marca de Executive Lab (logo)
   · Quote MONUMENTAL como hero absoluto
   · Vídeo placeholder OCULTO (se reactivará cuando haya .mp4 real)
   · Stars + name + sector debajo, jerarquía editorial limpia
   · Controles editoriales abajo (prev / 01 · 02 · 03 / next)
   ═══════════════════════════════════════════════════════════════════ */

/* ── OCULTAR el vid-video completo (todos son placeholders) ── */
html body section.section-paper#resultados .vid-video,
html body section.section-paper#resultados .vid-slide .vid-video,
html body section.section-paper#resultados .vid-slide.is-active .vid-video {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
/* Y todas las decoraciones del vídeo */
html body section.section-paper#resultados .vid-c,
html body section.section-paper#resultados .vid-c-tl,
html body section.section-paper#resultados .vid-c-tr,
html body section.section-paper#resultados .vid-c-bl,
html body section.section-paper#resultados .vid-c-br,
html body section.section-paper#resultados .vid-placeholder,
html body section.section-paper#resultados .vid-aster,
html body section.section-paper#resultados .vid-play,
html body section.section-paper#resultados .vid-label {
  display: none !important;
  visibility: hidden !important;
}

/* ── SLIDE ACTIVO: layout vertical centrado ── */
html body section.section-paper#resultados .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
}

/* ── ASTERISCO MARCA EXECUTIVE LAB ── */
html body section.section-paper#resultados .vid-slide.is-active::before {
  content: "✱" !important;
  display: block !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: normal !important;
  font-size: clamp(64px, 7vw, 96px) !important;
  line-height: 0.8 !important;
  color: #ff5a3c !important;
  margin: 0 auto 40px !important;
  text-shadow:
    0 0 40px rgba(255,90,60,0.45),
    0 0 80px rgba(255,90,60,0.2) !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
  transform: rotate(0deg) !important;
  z-index: 2 !important;
  animation: aster-pulse 3s ease-in-out infinite !important;
}
@keyframes aster-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.04); opacity: 0.92; }
}

/* ── INFO COLUMN: centrada, vertical, máxima jerarquía ── */
html body section.section-paper#resultados .vid-info,
html body section.section-paper#resultados .vid-slide.is-active .vid-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* ── TAG "TESTIMONIO · 01" minimal centrada ── */
html body section.section-paper#resultados .vid-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  color: rgba(255,122,94,0.85) !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  align-self: center !important;
}
html body section.section-paper#resultados .vid-tag::before {
  content: "" !important;
  display: inline-block !important;
  width: 20px !important;
  height: 1px !important;
  background: rgba(255,122,94,0.6) !important;
}
html body section.section-paper#resultados .vid-tag::after {
  content: "" !important;
  display: inline-block !important;
  width: 20px !important;
  height: 1px !important;
  background: rgba(255,122,94,0.6) !important;
}

/* ── QUOTE MONUMENTAL · PROTAGONISTA ABSOLUTO ── */
html body section.section-paper#resultados .vid-quote {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(26px, 3.4vw, 44px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 auto 40px !important;
  padding: 0 24px !important;
  border: 0 !important;
  position: relative !important;
  max-width: 22ch !important;
  text-wrap: balance !important;
  text-align: center !important;
  display: block !important;
}

/* Glyph " — comilla de apertura ASIMÉTRICA editorial */
html body section.section-paper#resultados .vid-glyph {
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(56px, 6vw, 80px) !important;
  font-weight: 400 !important;
  color: #ff7a5e !important;
  opacity: 0.45 !important;
  line-height: 0.5 !important;
  margin: 0 auto 16px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  text-shadow: 0 0 24px rgba(255,122,94,0.3) !important;
}

/* ── DIVIDER editorial naranja después del quote ── */
html body section.section-paper#resultados .vid-rule {
  display: block !important;
  width: 48px !important;
  height: 1px !important;
  background: rgba(255,122,94,0.6) !important;
  margin: 8px auto 32px !important;
  position: relative !important;
}

/* ── NAME · grande, italic, central ── */
html body section.section-paper#resultados .vid-name {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 auto 10px !important;
  text-align: center !important;
}

/* ── SECTOR · mono small, naranja tenue ── */
html body section.section-paper#resultados .vid-sector {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
  font-feature-settings: "tnum" !important;
}

/* ── STARS NARANJA centradas ── */
html body section.section-paper#resultados .vid-stars {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}
html body section.section-paper#resultados .vid-star {
  width: 20px !important;
  height: 20px !important;
  fill: #ff7a5e !important;
  color: #ff7a5e !important;
  filter: drop-shadow(0 0 10px rgba(255,122,94,0.45)) !important;
}

/* ── FRAME GLOBAL · más respiración + asterisco gigante de fondo ── */
html body section.section-paper#resultados {
  background: var(--ink-92, #0a0a0a) !important;
  background-image:
    radial-gradient(ellipse 50% 40% at 50% 30%, rgba(255,122,94,0.08) 0%, transparent 65%),
    radial-gradient(ellipse 70% 50% at 50% 100%, rgba(255,90,60,0.04) 0%, transparent 70%) !important;
  padding: clamp(120px, 14vw, 200px) clamp(20px, 4vw, 56px) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Asterisco gigante de fondo decorativo */
html body section.section-paper#resultados::before {
  content: "✱" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-family: 'DM Serif Display', serif !important;
  font-size: clamp(400px, 60vw, 800px) !important;
  color: #ff5a3c !important;
  opacity: 0.025 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  line-height: 1 !important;
  font-style: normal !important;
}

html body section.section-paper#resultados .container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

html body section.section-paper#resultados .vid-carousel {
  position: relative !important;
  z-index: 1 !important;
}

/* ── CONTROLES editorial mejorados ── */
html body section.section-paper#resultados .vid-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 32px !important;
  margin: clamp(64px, 7vw, 96px) auto 0 !important;
  padding: 0 !important;
  max-width: 480px !important;
}

html body section.section-paper#resultados .vid-btn {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: rgba(255,255,255,0.6) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: border-color .3s ease, color .3s ease, transform .3s ease, background .3s ease !important;
}
html body section.section-paper#resultados .vid-btn:hover {
  border-color: #ff7a5e !important;
  color: #ff7a5e !important;
  background: rgba(255,122,94,0.06) !important;
  transform: scale(1.08) !important;
}
html body section.section-paper#resultados .vid-btn svg {
  width: 16px !important;
  height: 16px !important;
}

html body section.section-paper#resultados .vid-dots {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  background: transparent !important;
}
html body section.section-paper#resultados .vid-dot {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.32) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 6px 0 !important;
  cursor: pointer !important;
  position: relative !important;
  font-feature-settings: "tnum" !important;
  transition: color .3s ease !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  min-width: 24px !important;
}
html body section.section-paper#resultados .vid-dot:hover {
  color: rgba(255,122,94,0.7) !important;
}
html body section.section-paper#resultados .vid-dot.is-active {
  color: #ff7a5e !important;
}
html body section.section-paper#resultados .vid-dot.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 16px !important;
  height: 2px !important;
  background: #ff7a5e !important;
  box-shadow: 0 0 10px rgba(255,122,94,0.7) !important;
  border-radius: 1px !important;
}

/* ── Cabecera de sección · más cinematográfica ── */
html body section.section-paper#resultados .section-head {
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto clamp(80px, 9vw, 120px) !important;
  position: relative !important;
  z-index: 1 !important;
}
html body section.section-paper#resultados .section-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 5.2vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-wrap: balance !important;
}
html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head h2 .accent {
  font-style: italic !important;
  color: #ff7a5e !important;
}

/* ── Mobile ── */
@media (max-width: 720px) {
  html body section.section-paper#resultados {
    padding: clamp(72px, 14vw, 112px) 20px !important;
  }
  html body section.section-paper#resultados .vid-slide.is-active::before {
    font-size: 56px !important;
    margin-bottom: 28px !important;
  }
  html body section.section-paper#resultados .vid-quote {
    font-size: clamp(22px, 6vw, 28px) !important;
    padding: 0 !important;
  }
  html body section.section-paper#resultados .vid-glyph {
    font-size: 48px !important;
  }
  html body section.section-paper#resultados .vid-controls {
    gap: 18px !important;
  }
}

/* END · PATCH 14 testimonios rediseño cinematográfico */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 15 · TESTIMONIOS — DESDE CERO — EDITORIAL MAGAZINE SPREAD
   ───────────────────────────────────────────────────────────────────────
   Concepto: "Pull quote" de revista premium.
   - Layout asimétrico 7/5: quote a la izq, marca asterisco a la dcha
   - Asterisco MONUMENTAL como hero gráfico (firma Executive Lab)
   - Sin vídeo placeholder (oculto, se reactiva cuando haya .mp4)
   - Tipografía editorial extrema: drop-cap, kerning fino, balance
   - Paginación tipo "01 / 03" en mono, no botones genéricos
   - Background: noche profunda + atmósfera naranja sutil
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── RESET HARD: cancelar todo lo previo en testimonios ─────────────── */
html body section.section-paper#resultados,
html body section.section-paper#resultados * {
  /* mantenemos lo que el reset previo dejó, solo aseguramos: */
}

/* ── Frame general · noche profunda con luz lateral ── */
html body section.section-paper#resultados {
  background: #07070a !important;
  background-image:
    radial-gradient(ellipse 50% 70% at 100% 50%, rgba(255,90,60,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 0% 100%, rgba(255,122,94,0.05) 0%, transparent 65%),
    radial-gradient(ellipse 80% 30% at 50% 0%, rgba(255,255,255,0.02) 0%, transparent 60%) !important;
  padding: clamp(112px, 14vw, 192px) clamp(24px, 5vw, 64px) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Filo superior + inferior hairline naranja */
html body section.section-paper#resultados::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 10%; right: 10%;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,122,94,0.32) 50%, transparent 100%) !important;
  z-index: 1 !important;
  transform: none !important;
  font-size: 0 !important;
  color: transparent !important;
  opacity: 1 !important;
  pointer-events: none !important;
  font-family: inherit !important;
}

/* Container · más respirado */
html body section.section-paper#resultados .container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

/* ── Cabecera ────────────────────────────────────────────────────────── */
html body section.section-paper#resultados .section-head {
  text-align: left !important;
  max-width: none !important;
  margin: 0 auto clamp(80px, 9vw, 120px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
html body section.section-paper#resultados .section-head .kicker,
html body section.section-paper#resultados .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.36em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  align-self: flex-start !important;
}
html body section.section-paper#resultados .section-head .kicker::before {
  content: "" !important;
  display: inline-block !important;
  width: 28px !important; height: 1px !important;
  background: #ff7a5e !important;
}
html body section.section-paper#resultados .section-head .kicker::after { display: none !important; }
html body section.section-paper#resultados .section-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(38px, 5.4vw, 68px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-wrap: balance !important;
  max-width: 22ch !important;
  text-align: left !important;
}
html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head h2 .accent {
  font-style: italic !important;
  color: #ff7a5e !important;
}

/* ── Carrusel base · sin animación, sin scroll, sin marquee ─────────── */
html body section.section-paper#resultados .vid-carousel {
  display: block !important;
  flex-direction: unset !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: visible !important;
  animation: none !important;
  transform: none !important;
  cursor: default !important;
  scroll-snap-type: none !important;
}
html body section.section-paper#resultados .vid-carousel:hover { animation: none !important; }

/* ── Slide oculto por defecto, solo .is-active visible ──────────────── */
html body section.section-paper#resultados .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide {
  display: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  flex: none !important;
  scroll-snap-align: none !important;
  opacity: 1 !important;
  transform: none !important;
}
html body section.section-paper#resultados .vid-slide::before,
html body section.section-paper#resultados .vid-slide::after {
  content: none !important;
  display: none !important;
}

/* ── Slide ACTIVO · spread editorial 7/5 ─────────────────────────────── */
html body section.section-paper#resultados .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
  display: grid !important;
  grid-template-columns: 7fr 5fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  align-items: center !important;
  text-align: left !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  animation: testimonio-in .7s cubic-bezier(.2,.7,.2,1) both !important;
}
@keyframes testimonio-in {
  0%   { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
html body section.section-paper#resultados .vid-slide.is-active::before {
  content: none !important;
  display: none !important;
  animation: none !important;
  transform: none !important;
  text-shadow: none !important;
  font-size: 0 !important;
  margin: 0 !important;
}

/* ─── OCULTAR vídeo y todas las decoraciones del placeholder ─────────── */
html body section.section-paper#resultados .vid-video,
html body section.section-paper#resultados .vid-placeholder,
html body section.section-paper#resultados .vid-aster,
html body section.section-paper#resultados .vid-play,
html body section.section-paper#resultados .vid-label,
html body section.section-paper#resultados .vid-c,
html body section.section-paper#resultados .vid-c-tl,
html body section.section-paper#resultados .vid-c-tr,
html body section.section-paper#resultados .vid-c-bl,
html body section.section-paper#resultados .vid-c-br {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* ─────────────────────────────────────────────────────────────────────
   COLUMNA IZQUIERDA · QUOTE EDITORIAL
   ───────────────────────────────────────────────────────────────────── */

html body section.section-paper#resultados .vid-info {
  grid-column: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* Número grande "Nº 01" en mono naranja arriba */
html body section.section-paper#resultados .vid-tag {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: rgba(255,122,94,0.85) !important;
  margin: 0 0 36px 0 !important;
  padding: 0 0 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,122,94,0.32) !important;
  width: auto !important;
  align-self: flex-start !important;
  font-feature-settings: "tnum" !important;
}
html body section.section-paper#resultados .vid-tag::before,
html body section.section-paper#resultados .vid-tag::after {
  content: none !important;
  display: none !important;
}

/* Glyph " — comilla de apertura editorial grande */
html body section.section-paper#resultados .vid-glyph {
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(64px, 7vw, 96px) !important;
  line-height: 0.4 !important;
  color: #ff7a5e !important;
  opacity: 1 !important;
  margin: 0 0 8px -4px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  text-shadow: 0 0 24px rgba(255,122,94,0.22) !important;
}

/* QUOTE protagonista absoluto */
html body section.section-paper#resultados .vid-quote {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 0 40px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
  max-width: 26ch !important;
  text-wrap: balance !important;
  text-align: left !important;
  display: block !important;
}
html body section.section-paper#resultados .vid-quote::after {
  content: "”" !important;
  display: inline-block !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  color: #ff7a5e !important;
  margin-left: 4px !important;
  font-size: inherit !important;
  line-height: inherit !important;
  opacity: 0.7 !important;
}

/* Línea naranja editorial · separador antes de atribución */
html body section.section-paper#resultados .vid-rule {
  display: block !important;
  width: 56px !important;
  height: 1px !important;
  background: #ff7a5e !important;
  margin: 0 0 28px 0 !important;
  border: 0 !important;
}

/* Stars naranja con glow · pequeñas y editoriales */
html body section.section-paper#resultados .vid-stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}
html body section.section-paper#resultados .vid-star {
  width: 16px !important;
  height: 16px !important;
  fill: #ff7a5e !important;
  color: #ff7a5e !important;
  filter: drop-shadow(0 0 6px rgba(255,122,94,0.45)) !important;
}

/* Atribución · NAME italic + SECTOR mono */
html body section.section-paper#resultados .vid-name {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(22px, 2.2vw, 28px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 0 6px 0 !important;
  text-align: left !important;
}
html body section.section-paper#resultados .vid-sector {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-feature-settings: "tnum" !important;
}

/* ─────────────────────────────────────────────────────────────────────
   COLUMNA DERECHA · ASTERISCO HERO MONUMENTAL
   ───────────────────────────────────────────────────────────────────── */

/* Como no hay HTML para esta columna, la "construimos" como pseudo
   sobre el slide activo: ::after del .vid-slide.is-active dibuja el
   asterisco gigante con número de paginación superpuesto */
html body section.section-paper#resultados .vid-slide.is-active {
  position: relative !important;
}
html body section.section-paper#resultados .vid-slide.is-active::after {
  content: "✱" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: clamp(220px, 28vw, 380px) !important;
  line-height: 0.85 !important;
  color: #ff5a3c !important;
  text-shadow:
    0 0 80px rgba(255,90,60,0.45),
    0 0 160px rgba(255,90,60,0.22) !important;
  letter-spacing: -0.04em !important;
  opacity: 0.95 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  width: 100% !important;
  max-width: 42% !important;
  text-align: right !important;
  animation: aster-breath 6s ease-in-out infinite !important;
}
@keyframes aster-breath {
  0%, 100% { transform: translateY(-50%) scale(1); opacity: 0.95; }
  50%      { transform: translateY(-50%) scale(1.03); opacity: 1; }
}

/* ── PAGINACIÓN tipo "01 / 03" en la columna derecha ────────────────── */
/* Usamos el .vid-stars existente NO — está en columna izq. La paginación
   real está en .vid-controls. Aquí solo enfatizamos visualmente que la
   columna derecha tiene "espacio" para el asterisco hero. */

/* ─────────────────────────────────────────────────────────────────────
   CONTROLES · paginación editorial debajo del spread
   ───────────────────────────────────────────────────────────────────── */

html body section.section-paper#resultados .vid-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: clamp(80px, 9vw, 120px) auto 0 !important;
  padding: 28px 0 0 0 !important;
  max-width: none !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Botones prev/next · tipográficos no circulares */
html body section.section-paper#resultados .vid-btn {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.6) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  padding: 8px 0 !important;
  transition: color .3s ease, gap .3s ease !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  font-feature-settings: "tnum" !important;
  position: relative !important;
}
html body section.section-paper#resultados .vid-btn::after {
  display: none !important;
}
html body section.section-paper#resultados .vid-btn:hover {
  color: #ff7a5e !important;
  gap: 16px !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
}
html body section.section-paper#resultados .vid-btn svg {
  width: 16px !important;
  height: 16px !important;
  stroke-width: 1.4 !important;
}

/* Etiquetas textuales en los botones (via pseudo) */
html body section.section-paper#resultados .vid-prev {
  flex-direction: row !important;
}
html body section.section-paper#resultados .vid-prev::before {
  content: "Anterior" !important;
  order: 2 !important;
  font-family: inherit !important;
  letter-spacing: inherit !important;
}
html body section.section-paper#resultados .vid-prev svg {
  order: 1 !important;
}

html body section.section-paper#resultados .vid-next {
  flex-direction: row !important;
}
html body section.section-paper#resultados .vid-next::before {
  content: "Siguiente" !important;
  order: 1 !important;
  font-family: inherit !important;
  letter-spacing: inherit !important;
}
html body section.section-paper#resultados .vid-next svg {
  order: 2 !important;
}

/* Dots · paginación "01 — 02 — 03" centrada */
html body section.section-paper#resultados .vid-dots {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  flex: 0 0 auto !important;
}
html body section.section-paper#resultados .vid-dot {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.32) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 6px 14px !important;
  cursor: pointer !important;
  position: relative !important;
  font-feature-settings: "tnum" !important;
  transition: color .3s ease !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  min-width: 0 !important;
}
html body section.section-paper#resultados .vid-dot + .vid-dot::before {
  content: "—" !important;
  position: absolute !important;
  left: -4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: rgba(255,255,255,0.18) !important;
  font-size: 10px !important;
}
html body section.section-paper#resultados .vid-dot:hover {
  color: rgba(255,122,94,0.8) !important;
}
html body section.section-paper#resultados .vid-dot.is-active {
  color: #ff7a5e !important;
}
html body section.section-paper#resultados .vid-dot.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -2px !important;
  width: 18px !important;
  height: 2px !important;
  background: #ff7a5e !important;
  box-shadow: 0 0 10px rgba(255,122,94,0.7) !important;
  border-radius: 1px !important;
}

/* ─────────────────────────────────────────────────────────────────────
   MOBILE · stack vertical, asterisco arriba
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 880px) {
  html body section.section-paper#resultados .section-head h2 {
    font-size: clamp(32px, 8vw, 44px) !important;
  }
  html body section.section-paper#resultados .vid-slide.is-active {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  html body section.section-paper#resultados .vid-slide.is-active::after {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    max-width: 100% !important;
    text-align: left !important;
    font-size: 160px !important;
    margin-bottom: 16px !important;
    line-height: 0.8 !important;
    animation: none !important;
    order: -1 !important;
  }
  html body section.section-paper#resultados .vid-info {
    order: 1 !important;
  }
  html body section.section-paper#resultados .vid-quote {
    font-size: clamp(24px, 6vw, 32px) !important;
  }
  html body section.section-paper#resultados .vid-controls {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    justify-content: center !important;
  }
}

/* END · PATCH 15 testimonios spread editorial desde cero */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 16 · TESTIMONIOS — FORMATO TARJETAS VERTICALES + FLECHAS LATERALES
   ───────────────────────────────────────────────────────────────────────
   Patrón clásico y reconocible (Stripe, Linear, Vercel testimonials):
   · Una sola CARD vertical centrada visible
   · Flechas ◀ ▶ clickables a izquierda y derecha de la card
   · Dots / paginación abajo
   · Card: dark con borde naranja sutil, quote + atribución + stars
   · Transición suave entre cards
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Frame de sección · más sobrio ─────────────────────────────────── */
html body section.section-paper#resultados {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255,122,94,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(255,90,60,0.04) 0%, transparent 65%) !important;
  padding: clamp(112px, 13vw, 168px) clamp(20px, 4vw, 56px) !important;
  position: relative !important;
  overflow: hidden !important;
}
html body section.section-paper#resultados::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 10%; right: 10%;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,122,94,0.22) 50%, transparent 100%) !important;
}

/* Container */
html body section.section-paper#resultados .container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}

/* ── Cabecera centrada ─────────────────────────────────────────────── */
html body section.section-paper#resultados .section-head {
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto clamp(72px, 8vw, 112px) !important;
  display: block !important;
  align-items: center !important;
}
html body section.section-paper#resultados .section-head .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  align-self: center !important;
}
html body section.section-paper#resultados .section-head .kicker::before,
html body section.section-paper#resultados .section-head .kicker::after {
  content: "" !important;
  display: inline-block !important;
  width: 28px !important; height: 1px !important;
  background: #ff7a5e !important;
}
html body section.section-paper#resultados .section-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.8vw, 56px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.026em !important;
  color: #ffffff !important;
  margin: 0 auto !important;
  text-align: center !important;
  text-wrap: balance !important;
  max-width: none !important;
}
html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head h2 .accent {
  font-style: italic !important;
  color: #ff7a5e !important;
}

/* ── CAROUSEL: posición relativa para anclar las flechas a los lados ── */
html body section.section-paper#resultados .vid-carousel {
  display: block !important;
  flex-direction: unset !important;
  position: relative !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 80px !important; /* hueco a izq/dcha para las flechas */
  gap: 0 !important;
  overflow: visible !important;
  animation: none !important;
  transform: none !important;
  cursor: default !important;
  scroll-snap-type: none !important;
}

/* ── SLIDES: solo .is-active visible ──────────────────────────────── */
html body section.section-paper#resultados .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide {
  display: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  flex: none !important;
  scroll-snap-align: none !important;
  opacity: 1 !important;
  transform: none !important;
}
html body section.section-paper#resultados .vid-slide::before,
html body section.section-paper#resultados .vid-slide::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* ── OCULTAR vídeo placeholder y sus decoraciones ──────────────────── */
html body section.section-paper#resultados .vid-video,
html body section.section-paper#resultados .vid-placeholder,
html body section.section-paper#resultados .vid-aster,
html body section.section-paper#resultados .vid-play,
html body section.section-paper#resultados .vid-label,
html body section.section-paper#resultados .vid-c,
html body section.section-paper#resultados .vid-c-tl,
html body section.section-paper#resultados .vid-c-tr,
html body section.section-paper#resultados .vid-c-bl,
html body section.section-paper#resultados .vid-c-br {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* ── CARD activa · tarjeta vertical centrada ───────────────────────── */
html body section.section-paper#resultados .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: clamp(40px, 5vw, 64px) clamp(28px, 3.5vw, 48px) !important;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.03) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 4px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 32px 64px -32px rgba(0,0,0,0.6),
    0 0 80px -32px rgba(255,122,94,0.18) !important;
  position: relative !important;
  animation: card-in .5s ease both !important;
  gap: 0 !important;
}
@keyframes card-in {
  0%   { opacity: 0; transform: translateY(14px) scale(0.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Hairline naranja superior · marca editorial */
html body section.section-paper#resultados .vid-slide.is-active::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 48px !important;
  height: 2px !important;
  background: #ff7a5e !important;
  border-radius: 0 0 2px 2px !important;
  box-shadow: 0 0 16px rgba(255,122,94,0.5) !important;
  animation: none !important;
  font-size: 0 !important;
  color: transparent !important;
  margin: 0 !important;
}
html body section.section-paper#resultados .vid-slide.is-active::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* ── INFO COLUMN: contenedor de la card ─────────────────────────────── */
html body section.section-paper#resultados .vid-info,
html body section.section-paper#resultados .vid-slide.is-active .vid-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  gap: 0 !important;
}

/* Tag "TESTIMONIO · 01" en mono naranja */
html body section.section-paper#resultados .vid-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: rgba(255,122,94,0.9) !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  align-self: center !important;
  font-feature-settings: "tnum" !important;
}
html body section.section-paper#resultados .vid-tag::before,
html body section.section-paper#resultados .vid-tag::after {
  content: none !important;
  display: none !important;
}

/* ── Glyph " editorial grande, centrado ── */
html body section.section-paper#resultados .vid-glyph {
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(56px, 6vw, 80px) !important;
  line-height: 0.4 !important;
  color: #ff7a5e !important;
  opacity: 0.6 !important;
  margin: 0 auto 12px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  text-shadow: 0 0 20px rgba(255,122,94,0.25) !important;
  text-align: center !important;
  width: auto !important;
}

/* ── QUOTE protagonista de la card ── */
html body section.section-paper#resultados .vid-quote {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.32 !important;
  letter-spacing: -0.018em !important;
  color: #ffffff !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
  max-width: 28ch !important;
  text-wrap: balance !important;
  text-align: center !important;
  display: block !important;
}
html body section.section-paper#resultados .vid-quote::after {
  display: none !important;
  content: none !important;
}

/* ── Rule naranja ─────────────────────────────────────────────────── */
html body section.section-paper#resultados .vid-rule {
  display: block !important;
  width: 32px !important;
  height: 1px !important;
  background: rgba(255,122,94,0.5) !important;
  margin: 0 auto 24px !important;
  border: 0 !important;
}

/* ── NAME + SECTOR · centrados ────────────────────────────────────── */
html body section.section-paper#resultados .vid-name {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin: 0 auto 8px !important;
  text-align: center !important;
}
html body section.section-paper#resultados .vid-sector {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 auto 22px !important;
  text-align: center !important;
  font-feature-settings: "tnum" !important;
}

/* ── STARS centradas ─────────────────────────────────────────────── */
html body section.section-paper#resultados .vid-stars {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}
html body section.section-paper#resultados .vid-star {
  width: 18px !important;
  height: 18px !important;
  fill: #ff7a5e !important;
  color: #ff7a5e !important;
  filter: drop-shadow(0 0 6px rgba(255,122,94,0.4)) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   CONTROLES · FLECHAS LATERALES + DOTS ABAJO
   ═══════════════════════════════════════════════════════════════════ */

/* Resetear el contenedor .vid-controls (cancelar el flex space-between anterior) */
html body section.section-paper#resultados .vid-controls {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 32px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  position: relative !important;
  z-index: 3 !important;
}

/* ── FLECHAS · position absolute a los lados de la card ── */
html body section.section-paper#resultados .vid-btn,
html body section.section-paper#resultados .vid-prev,
html body section.section-paper#resultados .vid-next {
  position: absolute !important;
  top: 50% !important;
  width: 52px !important;
  height: 52px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 50% !important;
  background: rgba(10,10,12,0.6) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: rgba(255,255,255,0.7) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s ease !important;
  z-index: 10 !important;
  padding: 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  flex-direction: row !important;
}
html body section.section-paper#resultados .vid-btn:hover {
  border-color: #ff7a5e !important;
  color: #ff7a5e !important;
  background: rgba(255,122,94,0.12) !important;
  transform: translateY(-50%) scale(1.08) !important;
  gap: 0 !important;
}
html body section.section-paper#resultados .vid-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 1.6 !important;
  order: 1 !important;
}

/* Anclar las flechas a los lados de la carousel */
html body section.section-paper#resultados .vid-prev {
  left: 0 !important;
  right: auto !important;
  transform: translateY(-50%) !important;
}
html body section.section-paper#resultados .vid-next {
  right: 0 !important;
  left: auto !important;
  transform: translateY(-50%) !important;
}
html body section.section-paper#resultados .vid-prev:hover,
html body section.section-paper#resultados .vid-next:hover {
  transform: translateY(-50%) scale(1.08) !important;
}

/* Cancelar las etiquetas "Anterior" / "Siguiente" que añadía el patch 15 */
html body section.section-paper#resultados .vid-prev::before,
html body section.section-paper#resultados .vid-next::before,
html body section.section-paper#resultados .vid-prev::after,
html body section.section-paper#resultados .vid-next::after {
  content: none !important;
  display: none !important;
}

/* IMPORTANTE: como .vid-controls (que contiene los .vid-btn) está
   anidado en .vid-carousel, las flechas con position:absolute se
   anclarán a .vid-carousel (relative). Eso es lo que queremos. */
html body section.section-paper#resultados .vid-controls .vid-prev,
html body section.section-paper#resultados .vid-controls .vid-next {
  position: absolute !important;
  top: calc(50% - 48px) !important; /* ajuste por la altura del dots abajo */
}

/* ── DOTS · paginación abajo ───────────────────────────────────────── */
html body section.section-paper#resultados .vid-dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: transparent !important;
  flex: 0 0 auto !important;
  margin: 32px auto 0 !important;
  padding: 0 !important;
}
html body section.section-paper#resultados .vid-dot {
  width: 8px !important;
  height: 8px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.18) !important;
  border: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  font-size: 0 !important;
  color: transparent !important;
  letter-spacing: 0 !important;
  font-weight: inherit !important;
  font-family: inherit !important;
  transition: background .3s ease, width .3s ease !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
html body section.section-paper#resultados .vid-dot::before,
html body section.section-paper#resultados .vid-dot::after {
  content: none !important;
  display: none !important;
}
html body section.section-paper#resultados .vid-dot:hover {
  background: rgba(255,122,94,0.6) !important;
}
html body section.section-paper#resultados .vid-dot.is-active {
  background: #ff7a5e !important;
  width: 24px !important;
  border-radius: 999px !important;
  box-shadow: 0 0 12px rgba(255,122,94,0.6) !important;
}

/* ── Mobile ── */
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-carousel {
    padding: 0 60px !important;
    max-width: 100% !important;
  }
  html body section.section-paper#resultados .vid-slide.is-active {
    padding: 32px 24px !important;
  }
  html body section.section-paper#resultados .vid-btn {
    width: 40px !important;
    height: 40px !important;
  }
  html body section.section-paper#resultados .vid-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
  html body section.section-paper#resultados .vid-quote {
    font-size: clamp(18px, 5vw, 22px) !important;
  }
}

/* END · PATCH 16 testimonios tarjeta vertical + flechas laterales */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 17 · TESTIMONIOS · MARQUEE HORIZONTAL · TARJETAS VERTICALES
   ───────────────────────────────────────────────────────────────────────
   · Una sola línea horizontal con tarjetas verticales
   · Se mueve sola (CSS animation marquee infinita)
   · Pausa en hover para que se pueda leer
   · Cards bien separadas con gap generoso
   · Cada card: tag → nombre → rol → quote corto → stars
   · Máscara naranja-fade en bordes para entrada/salida elegante
   · El JS inyectado en index.html clona los slides para loop seamless
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Frame de sección ── */
html body section.section-paper#resultados {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(255,122,94,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 80% 40% at 50% 100%, rgba(255,90,60,0.04) 0%, transparent 70%) !important;
  padding: clamp(112px, 13vw, 168px) 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Container · cabecera con padding lateral, marquee sin padding */
html body section.section-paper#resultados .container {
  position: relative !important;
  z-index: 2 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.section-paper#resultados .section-head {
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto clamp(64px, 7vw, 96px) !important;
  padding: 0 clamp(20px, 4vw, 56px) !important;
}
html body section.section-paper#resultados .section-head .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body section.section-paper#resultados .section-head .kicker::before,
html body section.section-paper#resultados .section-head .kicker::after {
  content: "" !important;
  display: inline-block !important;
  width: 28px !important; height: 1px !important;
  background: #ff7a5e !important;
}
html body section.section-paper#resultados .section-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 4.8vw, 56px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.026em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-align: center !important;
  text-wrap: balance !important;
}
html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head h2 .accent {
  font-style: italic !important;
  color: #ff7a5e !important;
}

/* ── CAROUSEL · contenedor del marquee con máscara fade ── */
html body section.section-paper#resultados .vid-carousel {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  animation: none !important;
  transform: none !important;
  cursor: default !important;
  scroll-snap-type: none !important;
  /* Máscara fade en los bordes para entrada/salida elegante */
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%) !important;
}

/* ── TRACK que se mueve (creado por JS) ── */
html body section.section-paper#resultados .vid-carousel .vid-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  gap: clamp(24px, 2.6vw, 40px) !important;
  padding: 32px 0 !important;
  animation: marquee-testi 48s linear infinite !important;
  will-change: transform !important;
}
@keyframes marquee-testi {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* la mitad porque clonamos exactamente x2 */
}
html body section.section-paper#resultados .vid-carousel:hover .vid-track {
  animation-play-state: paused !important;
}

/* ── SLIDES: todos visibles, formato tarjeta vertical fija ── */
html body section.section-paper#resultados .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-active,
html body section.section-paper#resultados .vid-carousel .vid-slide[aria-hidden="false"],
html body section.section-paper#resultados .vid-carousel .vid-slide[aria-hidden="true"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  flex: 0 0 auto !important;
  width: clamp(280px, 24vw, 340px) !important;
  min-width: clamp(280px, 24vw, 340px) !important;
  max-width: clamp(280px, 24vw, 340px) !important;
  margin: 0 !important;
  padding: clamp(32px, 3.4vw, 44px) clamp(24px, 2.6vw, 32px) !important;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.035) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 4px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 24px 48px -28px rgba(0,0,0,0.6),
    0 0 60px -28px rgba(255,122,94,0.14) !important;
  position: relative !important;
  scroll-snap-align: none !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  gap: 0 !important;
}
html body section.section-paper#resultados .vid-slide::before,
html body section.section-paper#resultados .vid-slide::after,
html body section.section-paper#resultados .vid-carousel .vid-slide::before,
html body section.section-paper#resultados .vid-carousel .vid-slide::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
html body section.section-paper#resultados .vid-slide:hover {
  border-color: rgba(255,122,94,0.32) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 32px 64px -28px rgba(0,0,0,0.7),
    0 0 80px -20px rgba(255,122,94,0.25) !important;
}

/* ── OCULTAR vídeo placeholder y decoraciones ── */
html body section.section-paper#resultados .vid-video,
html body section.section-paper#resultados .vid-placeholder,
html body section.section-paper#resultados .vid-aster,
html body section.section-paper#resultados .vid-play,
html body section.section-paper#resultados .vid-label,
html body section.section-paper#resultados .vid-c,
html body section.section-paper#resultados .vid-c-tl,
html body section.section-paper#resultados .vid-c-tr,
html body section.section-paper#resultados .vid-c-bl,
html body section.section-paper#resultados .vid-c-br {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* ── INFO COLUMN dentro de la card ── */
html body section.section-paper#resultados .vid-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  gap: 0 !important;
}

/* ── Tag mono naranja arriba ── */
html body section.section-paper#resultados .vid-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: rgba(255,122,94,0.85) !important;
  margin: 0 0 22px 0 !important;
  padding: 0 0 12px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,122,94,0.25) !important;
  width: auto !important;
  align-self: center !important;
  font-feature-settings: "tnum" !important;
}
html body section.section-paper#resultados .vid-tag::before,
html body section.section-paper#resultados .vid-tag::after {
  content: none !important;
  display: none !important;
}

/* ── NAME ── */
html body section.section-paper#resultados .vid-name {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 0 6px 0 !important;
  text-align: center !important;
}

/* ── SECTOR · rol ── */
html body section.section-paper#resultados .vid-sector {
  font-family: 'Lato', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: rgba(255,255,255,0.6) !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

/* Rule naranja */
html body section.section-paper#resultados .vid-rule {
  display: block !important;
  width: 24px !important;
  height: 1px !important;
  background: rgba(255,122,94,0.55) !important;
  margin: 0 auto 20px !important;
  border: 0 !important;
}

/* ── Glyph " editorial ── */
html body section.section-paper#resultados .vid-glyph {
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 36px !important;
  line-height: 0.4 !important;
  color: #ff7a5e !important;
  opacity: 0.5 !important;
  margin: 0 auto 4px !important;
  pointer-events: none !important;
  text-align: center !important;
  width: auto !important;
}

/* ── QUOTE corto ── */
html body section.section-paper#resultados .vid-quote {
  font-family: 'Lato', sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  letter-spacing: -0.003em !important;
  color: rgba(255,255,255,0.86) !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
  max-width: none !important;
  text-wrap: balance !important;
  text-align: center !important;
  display: block !important;
  /* Recortar quotes muy largos a 4 líneas */
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body section.section-paper#resultados .vid-quote em,
html body section.section-paper#resultados .vid-quote .accent {
  color: #ff7a5e !important;
  font-style: italic !important;
  font-weight: 600 !important;
}
html body section.section-paper#resultados .vid-quote::after {
  display: none !important;
  content: none !important;
}

/* ── Stars naranja ── */
html body section.section-paper#resultados .vid-stars {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: auto !important;
}
html body section.section-paper#resultados .vid-star {
  width: 14px !important;
  height: 14px !important;
  fill: #ff7a5e !important;
  color: #ff7a5e !important;
  filter: drop-shadow(0 0 4px rgba(255,122,94,0.4)) !important;
}

/* ── OCULTAR los controles (marquee se mueve solo) ── */
html body section.section-paper#resultados .vid-controls,
html body section.section-paper#resultados .vid-btn,
html body section.section-paper#resultados .vid-prev,
html body section.section-paper#resultados .vid-next,
html body section.section-paper#resultados .vid-dots,
html body section.section-paper#resultados .vid-dot {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* ── Mobile · cards más estrechas, animación más rápida ── */
@media (max-width: 720px) {
  html body section.section-paper#resultados {
    padding: clamp(72px, 14vw, 96px) 0 !important;
  }
  html body section.section-paper#resultados .vid-slide,
  html body section.section-paper#resultados .vid-carousel .vid-slide {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    padding: 28px 22px !important;
  }
  html body section.section-paper#resultados .vid-carousel .vid-track {
    gap: 16px !important;
    animation-duration: 36s !important;
  }
  html body section.section-paper#resultados .vid-name {
    font-size: 22px !important;
  }
  html body section.section-paper#resultados .vid-quote {
    font-size: 14px !important;
  }
}

/* END · PATCH 17 testimonios marquee tarjetas verticales */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 18 · TESTIMONIOS · ajustes finales
   · Ocultar kicker "CASOS DE ÉXITO"
   · Quitar pausa en hover (marquee siempre en movimiento)
   · Flechas a los lados clickables (movidas fuera de .vid-controls vía JS)
   · Track con rAF en lugar de CSS animation
   · Mejorar el CTA "Solicitar mi plaza" debajo de testimonios
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Ocultar kicker "Casos de éxito" ── */
html body section.section-paper#resultados .section-head .kicker {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Cancelar la CSS animation (ahora se mueve con rAF en JS) ── */
html body section.section-paper#resultados .vid-carousel .vid-track {
  animation: none !important;
  will-change: transform !important;
  transform: translateX(0) !important;
}
html body section.section-paper#resultados .vid-carousel:hover .vid-track {
  animation-play-state: running !important; /* da igual, no hay animation */
}

/* ── FLECHAS a los lados del carousel ────────────────────────────── */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  display: inline-flex !important;
  visibility: visible !important;
  position: absolute !important;
  top: 50% !important;
  width: 56px !important;
  height: 56px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 50% !important;
  background: rgba(10,10,12,0.75) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: rgba(255,255,255,0.85) !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s ease !important;
  z-index: 20 !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  flex-direction: row !important;
}
html body section.section-paper#resultados .vid-carousel .vid-prev {
  left: clamp(16px, 3vw, 40px) !important;
  right: auto !important;
  transform: translateY(-50%) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-next {
  right: clamp(16px, 3vw, 40px) !important;
  left: auto !important;
  transform: translateY(-50%) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn:hover {
  border-color: #ff7a5e !important;
  color: #ff7a5e !important;
  background: rgba(255,122,94,0.14) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-prev:hover {
  transform: translateY(-50%) scale(1.08) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-next:hover {
  transform: translateY(-50%) scale(1.08) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 1.6 !important;
  display: block !important;
}
html body section.section-paper#resultados .vid-carousel .vid-prev::before,
html body section.section-paper#resultados .vid-carousel .vid-prev::after,
html body section.section-paper#resultados .vid-carousel .vid-next::before,
html body section.section-paper#resultados .vid-carousel .vid-next::after {
  content: none !important;
  display: none !important;
}

/* ── Mejorar el bloque CTA "Solicitar mi plaza" debajo de testimonios ── */
/* El HTML tiene un <div style="background:#FBF8F3; padding:0 24px 64px"> con
   un <a> CTA naranja. Lo coordinamos visualmente con la sección de testimonios. */
html body section.section-paper#resultados + div[style*="FBF8F3"],
html body section.section-paper#resultados + div[style*="#FBF8F3"] {
  background: #0a0a0c !important;
  padding: 0 clamp(20px, 4vw, 56px) clamp(96px, 11vw, 144px) !important;
  text-align: center !important;
  margin-top: -1px !important;
  position: relative !important;
  z-index: 2 !important;
}
html body section.section-paper#resultados + div[style*="FBF8F3"] a,
html body section.section-paper#resultados + div[style*="#FBF8F3"] a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: #ff5a3c !important;
  color: #ffffff !important;
  padding: 22px 40px !important;
  border-radius: 999px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background .3s ease, transform .2s ease, box-shadow .3s ease !important;
  box-shadow:
    0 16px 40px -12px rgba(255,90,60,0.55),
    0 0 0 1px rgba(255,255,255,0.06) inset !important;
  margin-top: clamp(56px, 6vw, 80px) !important;
  position: relative !important;
}
html body section.section-paper#resultados + div[style*="FBF8F3"] a:hover,
html body section.section-paper#resultados + div[style*="#FBF8F3"] a:hover {
  background: #ff7a5e !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 24px 56px -16px rgba(255,90,60,0.7),
    0 0 0 1px rgba(255,255,255,0.1) inset !important;
}
html body section.section-paper#resultados + div[style*="FBF8F3"] a svg,
html body section.section-paper#resultados + div[style*="#FBF8F3"] a svg {
  width: 16px !important;
  height: 16px !important;
}

/* ── Ajuste de section-head: ahora sin kicker, h2 con un poco más de aire ── */
html body section.section-paper#resultados .section-head {
  margin-bottom: clamp(72px, 8vw, 112px) !important;
}

/* ── Asegurar que las flechas están visibles aunque PATCH 17 las hubiera ocultado ── */
html body section.section-paper#resultados .vid-controls {
  display: none !important;
}
/* Los .vid-prev y .vid-next ya están movidos fuera de .vid-controls por el JS */
html body section.section-paper#resultados .vid-prev,
html body section.section-paper#resultados .vid-next {
  display: inline-flex !important;
  visibility: visible !important;
  width: 56px !important;
  height: 56px !important;
}

/* ── Mobile: flechas más pequeñas, más cerca del borde ── */
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-carousel .vid-prev,
  html body section.section-paper#resultados .vid-carousel .vid-next,
  html body section.section-paper#resultados .vid-prev,
  html body section.section-paper#resultados .vid-next {
    width: 44px !important;
    height: 44px !important;
  }
  html body section.section-paper#resultados .vid-carousel .vid-prev {
    left: 8px !important;
  }
  html body section.section-paper#resultados .vid-carousel .vid-next {
    right: 8px !important;
  }
  html body section.section-paper#resultados .vid-carousel .vid-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
}

/* END · PATCH 18 testimonios sin-kicker + flechas-laterales + cta-fix */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 19 · TESTIMONIOS FIX + HERO COMPACTO + EXPANDIR ANCHOS
   ───────────────────────────────────────────────────────────────────────
   A) Testimonios mueven OK (quitar transform !important del track)
   B) Flechas visibles (mask-image fuera, gradient pseudo en su lugar)
   C) Vídeos respetando 9:16 (default) y 16:9 (.is-horizontal opcional)
   D) Hero: ocultar "Programa ejecutivo · Edición Junio 2026"
   E) Expandir ancho de containers en todas las secciones
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · TESTIMONIOS · TRACK SE MUEVE
   ═══════════════════════════════════════ */
/* Cancelar el transform !important del PATCH 18 (que bloqueaba el JS rAF) */
html body section.section-paper#resultados .vid-carousel .vid-track {
  animation: none !important;
  will-change: transform !important;
  /* sin transform !important → JS gana con setProperty('transform', x, 'important') */
}

/* ═══════════════════════════════════════
   B · FLECHAS VISIBLES (mask-image OUT)
   ═══════════════════════════════════════ */
html body section.section-paper#resultados .vid-carousel {
  mask-image: none !important;
  -webkit-mask-image: none !important;
  overflow: hidden !important;
}
/* Gradients laterales como pseudo (no afecta a hijos como mask hace) */
html body section.section-paper#resultados .vid-carousel::before,
html body section.section-paper#resultados .vid-carousel::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: clamp(64px, 8vw, 140px) !important;
  pointer-events: none !important;
  z-index: 5 !important;
}
html body section.section-paper#resultados .vid-carousel::before {
  left: 0 !important;
  background: linear-gradient(90deg, #0a0a0c 0%, rgba(10,10,12,0.85) 40%, transparent 100%) !important;
}
html body section.section-paper#resultados .vid-carousel::after {
  right: 0 !important;
  background: linear-gradient(270deg, #0a0a0c 0%, rgba(10,10,12,0.85) 40%, transparent 100%) !important;
}

/* Flechas con z-index encima de los gradients */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  z-index: 20 !important;
}

/* ═══════════════════════════════════════
   C · VÍDEOS · 9:16 (vertical) + 16:9 opcional
   ═══════════════════════════════════════ */

/* Mostrar el .vid-video DENTRO de cada card (cancelar el display:none anterior) */
html body section.section-paper#resultados .vid-video,
html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video {
  display: flex !important;
  visibility: visible !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 9 / 16 !important;
  background: linear-gradient(160deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 4px !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Variante horizontal 16:9 */
html body section.section-paper#resultados .vid-slide.is-horizontal .vid-video,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-horizontal .vid-video {
  aspect-ratio: 16 / 9 !important;
}

/* Las cards .is-horizontal son más anchas */
html body section.section-paper#resultados .vid-slide.is-horizontal,
html body section.section-paper#resultados .vid-carousel .vid-slide.is-horizontal {
  width: clamp(380px, 32vw, 460px) !important;
  min-width: clamp(380px, 32vw, 460px) !important;
  max-width: clamp(380px, 32vw, 460px) !important;
}

/* Video tag real (cuando se reemplace el placeholder) */
html body section.section-paper#resultados .vid-video video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  background: #050505 !important;
}

/* Placeholder: asterisco + play minimal */
html body section.section-paper#resultados .vid-placeholder {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  width: 100% !important;
  height: 100% !important;
  padding: 24px !important;
  background: transparent !important;
  visibility: visible !important;
}
html body section.section-paper#resultados .vid-aster {
  display: block !important;
  visibility: visible !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(56px, 6vw, 80px) !important;
  color: #ff5a3c !important;
  line-height: 0.7 !important;
  text-shadow: 0 0 24px rgba(255,90,60,0.35) !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0.55 !important;
}
html body section.section-paper#resultados .vid-play {
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255,122,94,0.5) !important;
  border-radius: 50% !important;
  background: rgba(255,122,94,0.08) !important;
  color: #ff7a5e !important;
  backdrop-filter: blur(4px) !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.section-paper#resultados .vid-play svg {
  width: 14px !important;
  height: 14px !important;
  margin-left: 2px !important;
}
html body section.section-paper#resultados .vid-label {
  display: block !important;
  visibility: visible !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 9.5px !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Esquinas .vid-c ocultas (las quitamos del diseño) */
html body section.section-paper#resultados .vid-c,
html body section.section-paper#resultados .vid-c-tl,
html body section.section-paper#resultados .vid-c-tr,
html body section.section-paper#resultados .vid-c-bl,
html body section.section-paper#resultados .vid-c-br {
  display: none !important;
}

/* Card: layout ajustado para incluir vídeo arriba */
html body section.section-paper#resultados .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide {
  width: clamp(280px, 22vw, 320px) !important;
  min-width: clamp(280px, 22vw, 320px) !important;
  max-width: clamp(280px, 22vw, 320px) !important;
  padding: clamp(20px, 1.8vw, 24px) !important;
}

/* Sin quote dentro del marquee (el vídeo cuenta la historia, datos abajo) */
html body section.section-paper#resultados .vid-quote,
html body section.section-paper#resultados .vid-glyph,
html body section.section-paper#resultados .vid-rule {
  display: none !important;
}

/* Tag arriba, antes del vídeo */
html body section.section-paper#resultados .vid-slide {
  display: flex !important;
  flex-direction: column !important;
}
/* No podemos reordenar el HTML, pero el HTML real es:
   .vid-video → .vid-info(tag, name, sector, rule, quote, stars)
   Eso es OK: vídeo arriba, después tag + nombre + sector + stars */

/* Info debajo del vídeo */
html body section.section-paper#resultados .vid-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.section-paper#resultados .vid-tag {
  margin: 0 0 14px 0 !important;
  padding: 0 0 10px 0 !important;
  font-size: 9.5px !important;
  letter-spacing: 0.28em !important;
}
html body section.section-paper#resultados .vid-name {
  font-size: clamp(20px, 1.8vw, 24px) !important;
  margin: 0 0 4px 0 !important;
}
html body section.section-paper#resultados .vid-sector {
  font-size: 11.5px !important;
  margin: 0 0 14px 0 !important;
}
html body section.section-paper#resultados .vid-stars {
  margin: 0 !important;
}

/* ═══════════════════════════════════════
   D · HERO: ocultar badge edición + compactar
   ═══════════════════════════════════════ */
html body section.hv2-section .hv2-kicker {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.hv2-section {
  padding-top: clamp(48px, 6vw, 88px) !important;
  padding-bottom: clamp(56px, 7vw, 96px) !important;
}
html body section.hv2-section .hv2-title {
  margin-top: 0 !important;
}

/* ═══════════════════════════════════════
   E · EXPANDIR ANCHOS EN TODAS LAS SECCIONES
   ═══════════════════════════════════════ */

/* Container global más amplio */
html body .container,
html body section .container {
  max-width: min(1440px, 92vw) !important;
}

/* Wraps específicos: ampliar también */
html body .hv2-wrap,
html body .dv2-wrap,
html body .ov3-wrap,
html body .wr-wrap,
html body .ide-wrap,
html body section.section-paper#resultados .container,
html body section.overview-v3 .ov3-wrap,
html body section.weeks-roadmap .wr-wrap,
html body section.ide-v2 .ide-wrap,
html body section.dolor-v2 .dv2-wrap,
html body section.encaje-v3 .ev3-wrap,
html body section.faq-v2 .fv2-wrap,
html body section.guarantee-v2 .gv2-wrap,
html body section.offer-v3 .ofr3-wrap,
html body section.mentors-v2 .mv2-wrap,
html body section.closing-v2 .cv2-wrap {
  max-width: min(1440px, 92vw) !important;
  margin: 0 auto !important;
}

/* Padding lateral consistente en secciones (no demasiado generoso) */
html body section.hv2-section,
html body section.dolor-v2,
html body section.overview-v3,
html body section.weeks-roadmap,
html body section.ide-v2,
html body section.mentors-v2,
html body section.offer-v3,
html body section.guarantee-v2,
html body section.encaje-v3,
html body section.faq-v2,
html body section.closing-v2 {
  padding-left: clamp(24px, 4vw, 56px) !important;
  padding-right: clamp(24px, 4vw, 56px) !important;
}

/* Sección de testimonios: padding solo en cabecera, el carousel ocupa todo */
html body section.section-paper#resultados {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html body section.section-paper#resultados .section-head {
  padding-left: clamp(24px, 4vw, 56px) !important;
  padding-right: clamp(24px, 4vw, 56px) !important;
}

/* CTA "Solicitar mi plaza" debajo: padding mejorado */
html body section.section-paper#resultados + div[style*="FBF8F3"],
html body section.section-paper#resultados + div[style*="#FBF8F3"] {
  padding-left: clamp(24px, 4vw, 56px) !important;
  padding-right: clamp(24px, 4vw, 56px) !important;
}

/* Cabeceras h2 con max-width más generoso */
html body section.section-paper#resultados .section-head h2,
html body section.overview-v3 .ov3-head h2,
html body section.weeks-roadmap .wr-head h2,
html body section.dolor-v2 .dv2-head h2,
html body section.ide-v2 .ide-head h2 {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: padding más reducido */
@media (max-width: 720px) {
  html body section.hv2-section,
  html body section.dolor-v2,
  html body section.overview-v3,
  html body section.weeks-roadmap,
  html body section.ide-v2,
  html body section.mentors-v2,
  html body section.offer-v3,
  html body section.guarantee-v2,
  html body section.encaje-v3,
  html body section.faq-v2,
  html body section.closing-v2 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  html body .container,
  html body section .container,
  html body .hv2-wrap,
  html body .dv2-wrap,
  html body .ov3-wrap,
  html body .wr-wrap,
  html body .ide-wrap {
    max-width: 100% !important;
  }
}

/* END · PATCH 19 testimonios-fix + hero-compacto + anchos-expandidos */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 20 · Flechas + REDISEÑO MENTORES
   A) Flechas testimonios más visibles (background más claro, border marcado)
   B) Mentores rediseño total: cabecera centrada, 4 cards en 1 línea, dark
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · FLECHAS DEL MARQUEE MÁS VISIBLES
   ═══════════════════════════════════════ */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  width: 56px !important;
  height: 56px !important;
  border: 1.5px solid rgba(255,255,255,0.5) !important;
  background: rgba(20,20,24,0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  color: #ffffff !important;
  box-shadow:
    0 8px 24px -8px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,0.04) inset !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn:hover {
  border-color: #ff7a5e !important;
  color: #ff7a5e !important;
  background: rgba(255,122,94,0.18) !important;
  box-shadow:
    0 12px 32px -8px rgba(255,90,60,0.4),
    0 0 0 1px rgba(255,122,94,0.2) inset !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2 !important;
}


/* ═══════════════════════════════════════════════════════════════════════
   B · REDISEÑO MENTORES — desde cero
   ───────────────────────────────────────────────────────────────────────
   PROBLEMA actual:
   · Cabecera en 2-col mal aprovechada (kicker izq, h2 dcha → mucho espacio vacío)
   · Cards en cream paper, asterisco distrae
   · 4 mentores pero la lectura se hace 3+1 (rompe la línea)

   NUEVO:
   · Background dark coherente con dolor-v2 / overview-v3
   · Cabecera CENTRADA arriba (kicker → h2)
   · 4 cards en 1 línea horizontal con grid 4-col
   · Foto aspect ratio 3:4 portrait
   · Tipografía: name italic, role mono, credentials bullets editorial
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Frame ── */
html body section.mentors-v2 {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(255,122,94,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(255,90,60,0.04) 0%, transparent 70%) !important;
  padding: clamp(112px, 13vw, 168px) clamp(24px, 4vw, 56px) !important;
  position: relative !important;
  overflow: hidden !important;
}
html body section.mentors-v2::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 10%; right: 10%;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,122,94,0.22) 50%, transparent 100%) !important;
  z-index: 1 !important;
}

html body section.mentors-v2 .mv2-wrap {
  max-width: min(1440px, 92vw) !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ── CABECERA CENTRADA ── */
html body section.mentors-v2 .mv2-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto clamp(72px, 8vw, 112px) !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
html body section.mentors-v2 .mv2-kicker,
html body section.mentors-v2 .mv2-overline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  align-self: center !important;
}
html body section.mentors-v2 .mv2-kicker::before,
html body section.mentors-v2 .mv2-kicker::after,
html body section.mentors-v2 .mv2-overline::before,
html body section.mentors-v2 .mv2-overline::after {
  content: "" !important;
  display: inline-block !important;
  width: 28px !important;
  height: 1px !important;
  background: #ff7a5e !important;
}
html body section.mentors-v2 .mv2-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 5.2vw, 60px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.028em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-align: center !important;
  text-wrap: balance !important;
  max-width: 920px !important;
}
html body section.mentors-v2 .mv2-head h2 em {
  font-style: italic !important;
  color: #ff7a5e !important;
}
html body section.mentors-v2 .mv2-head h2 br {
  display: none !important; /* dejar que text-wrap balance maneje los saltos */
}
html body section.mentors-v2 .mv2-intro {
  display: none !important; /* limpieza */
}

/* ── GRID 4 COLUMNAS · todos los mentores en 1 línea ── */
html body section.mentors-v2 .mv2-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
  align-items: stretch !important;
  max-width: none !important;
  margin: 0 !important;
}

/* ── CADA CARD ── */
html body section.mentors-v2 .mv2-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.035) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 4px !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 24px 48px -28px rgba(0,0,0,0.6) !important;
  transition: border-color .4s ease, transform .4s ease, box-shadow .4s ease !important;
}
html body section.mentors-v2 .mv2-card:hover {
  border-color: rgba(255,122,94,0.35) !important;
  transform: translateY(-4px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.06) inset,
    0 36px 72px -28px rgba(0,0,0,0.7),
    0 0 60px -20px rgba(255,122,94,0.2) !important;
}

/* ── FOTO · aspect 3:4 portrait ── */
html body section.mentors-v2 .mv2-photo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  background: linear-gradient(160deg, #0f0f12 0%, #08080a 100%) !important;
  position: relative !important;
  color: rgba(255,122,94,0.4) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  overflow: hidden !important;
}
html body section.mentors-v2 .mv2-photo::before {
  content: "✱" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -55%) !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(56px, 5vw, 80px) !important;
  color: rgba(255,90,60,0.18) !important;
  line-height: 0.7 !important;
  text-shadow: 0 0 24px rgba(255,90,60,0.15) !important;
  pointer-events: none !important;
}
html body section.mentors-v2 .mv2-photo::after { display: none !important; }
/* Cuando .mv2-photo tenga una <img>, ajustarla */
html body section.mentors-v2 .mv2-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
html body section.mentors-v2 .mv2-card:hover .mv2-photo {
  transform: none !important;
}

/* ── CONTENIDO DEBAJO DE LA FOTO ── */
html body section.mentors-v2 .mv2-card > h3.mv2-name,
html body section.mentors-v2 .mv2-card > .mv2-name {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(22px, 1.9vw, 26px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 !important;
  padding: 24px 22px 6px 22px !important;
  text-align: left !important;
}
html body section.mentors-v2 .mv2-card > .mv2-role {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 !important;
  padding: 0 22px 16px 22px !important;
  text-align: left !important;
  line-height: 1.4 !important;
}

/* ── CREDENCIALES como lista editorial ── */
html body section.mentors-v2 .mv2-card > ul.mv2-credentials,
html body section.mentors-v2 .mv2-card > .mv2-credentials {
  list-style: none !important;
  padding: 16px 22px 22px 22px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  background: transparent !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li {
  position: relative !important;
  padding: 8px 0 8px 18px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,0.78) !important;
  letter-spacing: -0.002em !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  text-align: left !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li:last-child {
  border-bottom: 0 !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li::before {
  content: "—" !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  color: #ff7a5e !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li em {
  font-style: italic !important;
  color: #ffffff !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1080px) {
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}
@media (max-width: 600px) {
  html body section.mentors-v2 {
    padding: clamp(72px, 14vw, 96px) 20px !important;
  }
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  html body section.mentors-v2 .mv2-card > .mv2-name {
    font-size: 22px !important;
  }
}

/* END · PATCH 20 flechas-más-claras + mentores-rediseño */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 21 · MENTORES · cards en cream con texto negro + naranja intenso
   ───────────────────────────────────────────────────────────────────────
   Las cards quedaron con fondo claro pero el texto seguía blanco → invisible.
   Forzar fondo cream/blanco + texto negro + acentos naranja intenso.
   ═══════════════════════════════════════════════════════════════════════ */

/* Card · cream paper con borde sutil */
html body section.mentors-v2 .mv2-card {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(10,10,10,0.08) !important;
  box-shadow:
    0 1px 0 rgba(10,10,10,0.03) inset,
    0 24px 48px -28px rgba(0,0,0,0.45) !important;
}
html body section.mentors-v2 .mv2-card:hover {
  border-color: rgba(236,68,41,0.4) !important;
  box-shadow:
    0 1px 0 rgba(10,10,10,0.04) inset,
    0 36px 72px -28px rgba(0,0,0,0.55),
    0 0 60px -20px rgba(236,68,41,0.18) !important;
}

/* Hairline asterisco esquina superior derecha (decorativo) — ahora naranja sutil sobre blanco */
html body section.mentors-v2 .mv2-card::before,
html body section.mentors-v2 .mv2-card::after {
  color: rgba(236,68,41,0.5) !important;
}

/* Foto: contraste con el cream — dark queda igual, con el asterisco naranja */
html body section.mentors-v2 .mv2-photo {
  background: linear-gradient(160deg, #0f0f12 0%, #08080a 100%) !important;
  border-bottom: 1px solid rgba(10,10,10,0.08) !important;
  color: rgba(255,122,94,0.45) !important;
}

/* NOMBRE · negro intenso */
html body section.mentors-v2 .mv2-card > h3.mv2-name,
html body section.mentors-v2 .mv2-card > .mv2-name,
html body section.mentors-v2 .mv2-name {
  color: #0a0a0a !important;
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
}

/* ROL · naranja intenso (red-deep) */
html body section.mentors-v2 .mv2-card > .mv2-role,
html body section.mentors-v2 .mv2-role {
  color: #EC4429 !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-weight: 700 !important;
}

/* CREDENCIALES · separador top oscuro, items texto NEGRO */
html body section.mentors-v2 .mv2-card > ul.mv2-credentials,
html body section.mentors-v2 .mv2-card > .mv2-credentials,
html body section.mentors-v2 .mv2-credentials {
  border-top: 1px solid rgba(10,10,10,0.08) !important;
  background: transparent !important;
}

/* Cada item · texto NEGRO bien legible */
html body section.mentors-v2 .mv2-card .mv2-credentials li,
html body section.mentors-v2 .mv2-credentials li {
  color: #1a1a1a !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  border-bottom: 1px solid rgba(10,10,10,0.06) !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li:last-child {
  border-bottom: 0 !important;
}

/* Bullet — naranja intenso */
html body section.mentors-v2 .mv2-card .mv2-credentials li::before,
html body section.mentors-v2 .mv2-credentials li::before {
  color: #EC4429 !important;
  font-weight: 900 !important;
}

/* Strong y em dentro de credentials · naranja intenso */
html body section.mentors-v2 .mv2-card .mv2-credentials li strong,
html body section.mentors-v2 .mv2-credentials li strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li em,
html body section.mentors-v2 .mv2-credentials li em {
  color: #EC4429 !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

/* END · PATCH 21 mentores cards cream texto negro */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 22 · ENCAJE-V3 hovers + ELIMINAR kickers + EXPANDIR títulos
   ───────────────────────────────────────────────────────────────────────
   A) Encaje-v3 hovers correctos (yes·hover ilumina YES, no·hover ilumina NO)
   B) Cards cream con texto negro (legibles)
   C) Animaciones naranja chulas en hover
   D) Eliminar kickers "Preguntas frecuentes", "El último paso"
   E) Expandir h2 horizontalmente
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · ENCAJE-V3 · cards cream + hover correcto
   ═══════════════════════════════════════ */

/* Sección dark sigue, pero forzamos cards CLARAS para legibilidad */
html body section.encaje-v3 {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(255,122,94,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(255,90,60,0.04) 0%, transparent 70%) !important;
  padding: clamp(112px, 13vw, 168px) clamp(24px, 4vw, 56px) !important;
}

html body section.encaje-v3 .ev3-wrap {
  max-width: min(1440px, 92vw) !important;
}

html body section.encaje-v3 h2 {
  color: #ffffff !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body section.encaje-v3 h2 em {
  color: #ff7a5e !important;
}

/* Reset hover anterior que aplicaba a TODAS las cols */
html body section.encaje-v3 .ev3-col:hover {
  transform: none !important;
  border-color: initial !important;
  background: initial !important;
}

/* ── COLUMNAS · estado base ── */
html body section.encaje-v3 .ev3-col {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(10,10,10,0.10) !important;
  border-top: 3px solid transparent !important;
  border-radius: 4px !important;
  padding: clamp(32px, 3.4vw, 48px) !important;
  position: relative !important;
  overflow: hidden !important;
  transition:
    transform .4s cubic-bezier(.2,.7,.2,1),
    border-color .4s ease,
    box-shadow .4s ease,
    background-color .4s ease !important;
  box-shadow:
    0 1px 0 rgba(10,10,10,0.03) inset,
    0 24px 48px -28px rgba(0,0,0,0.45) !important;
}

/* Banda superior decorativa · YES naranja · NO gris */
html body section.encaje-v3 .ev3-col-yes {
  border-top: 3px solid #EC4429 !important;
}
html body section.encaje-v3 .ev3-col-no {
  border-top: 3px solid rgba(10,10,10,0.18) !important;
}

/* ── HOVER YES · efecto naranja chulo ── */
html body section.encaje-v3 .ev3-col-yes:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(236,68,41,0.4) !important;
  border-top-color: #EC4429 !important;
  background: #fffcfb !important;
  box-shadow:
    0 1px 0 rgba(236,68,41,0.08) inset,
    0 36px 72px -28px rgba(0,0,0,0.5),
    0 0 80px -20px rgba(236,68,41,0.35),
    0 0 0 1px rgba(236,68,41,0.15) !important;
}

/* Efecto barrido naranja en el hover yes (línea inferior que se llena) */
html body section.encaje-v3 .ev3-col-yes::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, #EC4429 0%, #ff7a5e 100%) !important;
  transition: width .6s cubic-bezier(.2,.7,.2,1) !important;
  box-shadow: 0 0 16px rgba(236,68,41,0.6) !important;
  z-index: 2 !important;
}
html body section.encaje-v3 .ev3-col-yes:hover::after {
  width: 100% !important;
}

/* Marca naranja decorativa en esquina sup-derecha del YES en hover */
html body section.encaje-v3 .ev3-col-yes::before {
  content: "✱" !important;
  position: absolute !important;
  top: 14px !important;
  right: 18px !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: #EC4429 !important;
  opacity: 0 !important;
  transform: scale(0.7) rotate(-15deg) !important;
  transition: opacity .4s ease, transform .5s cubic-bezier(.2,.7,.2,1) !important;
  z-index: 3 !important;
  line-height: 1 !important;
}
html body section.encaje-v3 .ev3-col-yes:hover::before {
  opacity: 0.85 !important;
  transform: scale(1) rotate(0deg) !important;
}

/* ── HOVER NO · efecto neutro/contención sobrio ── */
html body section.encaje-v3 .ev3-col-no:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(10,10,10,0.22) !important;
  border-top-color: rgba(10,10,10,0.35) !important;
  background: #f7f5f1 !important;
  box-shadow:
    0 1px 0 rgba(10,10,10,0.04) inset,
    0 32px 64px -28px rgba(0,0,0,0.45) !important;
}

/* Línea inferior gris que se llena en NO (más sobria) */
html body section.encaje-v3 .ev3-col-no::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: rgba(10,10,10,0.3) !important;
  transition: width .6s cubic-bezier(.2,.7,.2,1) !important;
  z-index: 2 !important;
}
html body section.encaje-v3 .ev3-col-no:hover::after {
  width: 100% !important;
}

/* ── TEXTOS NEGROS DENTRO DE CARDS ── */
html body section.encaje-v3 .ev3-col h3 {
  color: #0a0a0a !important;
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
}
html body section.encaje-v3 .ev3-col-yes h3 {
  color: #0a0a0a !important;
}
html body section.encaje-v3 .ev3-col-no h3 {
  color: #2a2a2a !important;
}

html body section.encaje-v3 .ev3-col-yes .ev3-col-tag {
  color: #EC4429 !important;
}
html body section.encaje-v3 .ev3-col-no .ev3-col-tag {
  color: #6a6a6a !important;
}
html body section.encaje-v3 .ev3-col-yes .ev3-col-tag .dot {
  background: #EC4429 !important;
  box-shadow: 0 0 12px rgba(236,68,41,0.5) !important;
}
html body section.encaje-v3 .ev3-col-no .ev3-col-tag .dot {
  background: rgba(10,10,10,0.4) !important;
}

/* Lista items texto negro */
html body section.encaje-v3 .ev3-list li {
  color: #1a1a1a !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
html body section.encaje-v3 .ev3-col-yes .ev3-list li {
  color: #1a1a1a !important;
}
html body section.encaje-v3 .ev3-col-no .ev3-list li {
  color: #5a5a5a !important;
}
html body section.encaje-v3 .ev3-list li strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
}
html body section.encaje-v3 .ev3-col-no .ev3-list li strong {
  color: #2a2a2a !important;
  font-weight: 700 !important;
}

/* Bullets: YES check naranja · NO cruz gris */
html body section.encaje-v3 .ev3-col-yes .ev3-list li::before {
  color: #EC4429 !important;
}
html body section.encaje-v3 .ev3-col-no .ev3-list li::before {
  color: rgba(10,10,10,0.35) !important;
}


/* ═══════════════════════════════════════
   B · ELIMINAR kickers de secciones
   "Preguntas frecuentes" · "El último paso"
   ═══════════════════════════════════════ */
html body section.faq-v2 .fv2-kicker,
html body section.closing-v2 .cv2-kicker,
html body section.guarantee-v2 .gv2-kicker,
html body section.encaje-v3 .ev3-kicker,
html body section.offer-v3 .ofr3-kicker {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ═══════════════════════════════════════
   C · EXPANDIR TÍTULOS H2 HORIZONTALMENTE
   ═══════════════════════════════════════ */
html body section.section-paper#resultados .section-head h2,
html body section.overview-v3 .ov3-head h2,
html body section.weeks-roadmap .wr-head h2,
html body section.dolor-v2 .dv2-head h2,
html body section.ide-v2 .ide-head h2,
html body section.mentors-v2 .mv2-head h2,
html body section.encaje-v3 .ev3-head h2,
html body section.faq-v2 .fv2-head h2,
html body section.closing-v2 .cv2-head h2,
html body section.guarantee-v2 .gv2-head h2,
html body section.offer-v3 .ofr3-head h2 {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(36px, 5vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  text-wrap: balance !important;
  text-align: center !important;
}

/* Section heads expanded */
html body section.section-paper#resultados .section-head,
html body section.overview-v3 .ov3-head,
html body section.weeks-roadmap .wr-head,
html body section.dolor-v2 .dv2-head,
html body section.ide-v2 .ide-head,
html body section.mentors-v2 .mv2-head,
html body section.encaje-v3 .ev3-head,
html body section.faq-v2 .fv2-head,
html body section.closing-v2 .cv2-head,
html body section.guarantee-v2 .gv2-head,
html body section.offer-v3 .ofr3-head {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ═══════════════════════════════════════
   Responsive · móvil mantiene grid 1-col en encaje
   ═══════════════════════════════════════ */
@media (max-width: 820px) {
  html body section.encaje-v3 .ev3-table {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* END · PATCH 22 encaje-hovers + kickers-out + h2-expandidos */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 23 · OVERVIEW-V3 — CARDS GUAPAS · HEADERS INTEGRADOS · HOVER ELEGANTE
   ───────────────────────────────────────────────────────────────────────
   CONCEPTO: editorial premium, cards CREAM iluminadas sobre fondo dark.
   - Headers "FASE 1 · DÍAS 1—30" integrados como cabecera de la card
   - Romano I / II como marca de agua tenue dentro de la card
   - Banda decorativa naranja superior (gradient)
   - Hover suave y multi-capa:
     · Levitación 8px cubic-bezier elegante
     · Glow naranja 120px exterior
     · Banda superior se anima (width 0 → 100% con shimmer)
     · Romano aumenta presencia + traslada 4px
     · Asterisco naranja aparece en esquina
     · Items de lista iluminan secuencialmente
   ═══════════════════════════════════════════════════════════════════════ */

/* ── SECCIÓN · dark con luz naranja ── */
html body section.overview-v3 {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(255,122,94,0.07) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(255,90,60,0.05) 0%, transparent 70%) !important;
}

html body section.overview-v3 .ov3-wrap {
  max-width: min(1440px, 92vw) !important;
}

/* ── PHASES grid 2-col con divider central ── */
html body section.overview-v3 .ov3-phases {
  display: grid !important;
  grid-template-columns: 1fr 1px 1fr !important;
  gap: clamp(48px, 5vw, 80px) !important;
  align-items: stretch !important;
  padding-top: 0 !important;
  max-width: none !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* Divider vertical naranja entre cards */
html body section.overview-v3 .ov3-divider {
  display: block !important;
  width: 1px !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch !important;
  justify-self: center !important;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(255,122,94,0.18) 14%,
    rgba(255,122,94,0.3) 50%,
    rgba(255,122,94,0.18) 86%,
    transparent 100%) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}
html body section.overview-v3 .ov3-divider::before,
html body section.overview-v3 .ov3-divider::after {
  display: none !important;
  content: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   CADA FASE = CARD CREAM ILUMINADA
   ═══════════════════════════════════════════════════════════════════════ */
html body section.overview-v3 .ov3-phase {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fbf8f3 !important;
  background-image: none !important;
  border: 1px solid rgba(10,10,10,0.06) !important;
  border-radius: 4px !important;
  padding: clamp(36px, 3.6vw, 56px) clamp(32px, 3.2vw, 48px) clamp(40px, 4vw, 56px) !important;
  overflow: hidden !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.6) inset,
    0 24px 56px -28px rgba(0,0,0,0.45) !important;
  transition:
    transform .55s cubic-bezier(.2,.7,.2,1),
    box-shadow .55s cubic-bezier(.2,.7,.2,1),
    border-color .4s ease,
    background .5s ease !important;
}

/* Banda superior · gradient naranja-fade */
html body section.overview-v3 .ov3-phase::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg,
    rgba(236,68,41,0) 0%,
    #EC4429 18%,
    #ff7a5e 50%,
    #EC4429 82%,
    rgba(236,68,41,0) 100%) !important;
  opacity: 0.85 !important;
  transform: scaleX(0.65) !important;
  transform-origin: center !important;
  transition: transform .8s cubic-bezier(.2,.7,.2,1), opacity .4s ease !important;
  z-index: 3 !important;
}

/* Romano I / II como marca de agua dentro de la card */
html body section.overview-v3 .ov3-phase::after {
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(200px, 24vw, 320px) !important;
  font-weight: 400 !important;
  position: absolute !important;
  top: -72px !important;
  right: -28px !important;
  left: auto !important;
  line-height: 1 !important;
  color: #EC4429 !important;
  opacity: 0.08 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  letter-spacing: -0.05em !important;
  transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1) !important;
  text-shadow: 0 0 60px rgba(236,68,41,0.15) !important;
}
html body section.overview-v3 .ov3-phase:nth-of-type(1)::after,
html body section.overview-v3 .ov3-phase:first-of-type::after { content: "I" !important; }
html body section.overview-v3 .ov3-phase:nth-of-type(2)::after,
html body section.overview-v3 .ov3-phase:last-of-type::after { content: "II" !important; }

/* Asegurar que el contenido va por encima del romano */
html body section.overview-v3 .ov3-phase > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   HEADER · "FASE 1 · DÍAS 1-30" como cabecera integrada
   ═══════════════════════════════════════════════════════════════════════ */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: #EC4429 !important;
  margin: 0 0 32px 0 !important;
  padding: 0 0 18px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(236,68,41,0.22) !important;
  font-feature-settings: "tnum" !important;
  align-self: stretch !important;
  position: relative !important;
}
html body section.overview-v3 .ov3-phase .ov3-phase-tag::before {
  content: "" !important;
  display: none !important;
}
/* Asterisco decorativo a la derecha del header */
html body section.overview-v3 .ov3-phase .ov3-phase-tag::after {
  content: "✱" !important;
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(236,68,41,0.55) !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
  transform: rotate(0deg) !important;
  transition: transform .6s cubic-bezier(.2,.7,.2,1), color .4s ease !important;
}

/* ── H3 título de fase ── */
html body section.overview-v3 .ov3-phase h3 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
  color: #0a0a0a !important;
  margin: 0 0 24px 0 !important;
  max-width: none !important;
  text-wrap: balance !important;
}

/* ── Descripción ── */
html body section.overview-v3 .ov3-phase .desc {
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  line-height: 1.7 !important;
  letter-spacing: -0.003em !important;
  color: rgba(10,10,10,0.78) !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: none !important;
}
html body section.overview-v3 .ov3-phase .desc::before {
  display: none !important;
  content: none !important;
}
html body section.overview-v3 .ov3-phase .desc strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
}

/* ── Lista de items · uno por uno con hairlines elegantes ── */
html body section.overview-v3 .ov3-phase ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(10,10,10,0.08) !important;
  box-shadow: none !important;
}
html body section.overview-v3 .ov3-phase ul::before,
html body section.overview-v3 .ov3-phase ul::after {
  content: none !important;
  display: none !important;
}

html body section.overview-v3 .ov3-phase li {
  position: relative !important;
  padding: 18px 0 18px 36px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(14px, 1vw, 15.5px) !important;
  line-height: 1.55 !important;
  color: rgba(10,10,10,0.85) !important;
  letter-spacing: -0.002em !important;
  border-bottom: 1px solid rgba(10,10,10,0.06) !important;
  max-width: none !important;
  transition: background .3s ease, padding-left .3s ease !important;
}
html body section.overview-v3 .ov3-phase li:last-child {
  border-bottom: 0 !important;
}
html body section.overview-v3 .ov3-phase li strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
}

/* Bullet · guion naranja con transición a flecha en hover de item */
html body section.overview-v3 .ov3-phase li::before {
  content: "—" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: #EC4429 !important;
  text-shadow: none !important;
  background: transparent !important;
  width: 24px !important;
  height: auto !important;
  border-radius: 0 !important;
  display: inline-block !important;
  text-align: left !important;
  line-height: 1.55 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 1 !important;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), color .3s ease !important;
}
html body section.overview-v3 .ov3-phase li::after {
  display: none !important;
  content: none !important;
}
html body section.overview-v3 .ov3-phase li:hover::before {
  transform: translateX(4px) !important;
  color: #c93521 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   HOVER · animación suave multi-capa elegante
   ═══════════════════════════════════════════════════════════════════════ */
html body section.overview-v3 .ov3-phase:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(236,68,41,0.32) !important;
  background: #fff8f3 !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 40px 80px -32px rgba(0,0,0,0.55),
    0 0 100px -24px rgba(236,68,41,0.32),
    0 0 0 1px rgba(236,68,41,0.12) !important;
}

/* Banda superior se expande en hover */
html body section.overview-v3 .ov3-phase:hover::before {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

/* Romano aumenta presencia en hover */
html body section.overview-v3 .ov3-phase:hover::after {
  opacity: 0.18 !important;
  transform: translateX(-8px) translateY(4px) !important;
}

/* Asterisco del header rota en hover */
html body section.overview-v3 .ov3-phase:hover .ov3-phase-tag::after {
  transform: rotate(90deg) scale(1.15) !important;
  color: #EC4429 !important;
}

/* Borde naranja del header se intensifica */
html body section.overview-v3 .ov3-phase:hover .ov3-phase-tag {
  border-bottom-color: rgba(236,68,41,0.45) !important;
}

/* Items: ligero shift cuando se hover la card entera */
html body section.overview-v3 .ov3-phase:hover li {
  background: rgba(236,68,41,0.015) !important;
}

/* Cabecera de sección · h2 también en blanco sobre dark */
html body section.overview-v3 .ov3-head h2 {
  color: #ffffff !important;
}
html body section.overview-v3 .ov3-head h2 em {
  color: #ff7a5e !important;
}
html body section.overview-v3 .ov3-intro {
  color: rgba(251,248,243,0.72) !important;
}
html body section.overview-v3 .ov3-intro strong {
  color: #ffffff !important;
}
html body section.overview-v3 .ov3-kicker,
html body section.overview-v3 .ov3-kicker::before,
html body section.overview-v3 .ov3-kicker::after {
  color: #ff7a5e !important;
}
html body section.overview-v3 .ov3-kicker::before,
html body section.overview-v3 .ov3-kicker::after {
  background: #ff7a5e !important;
}

/* ── Mobile · stack vertical ── */
@media (max-width: 1024px) {
  html body section.overview-v3 .ov3-phases {
    grid-template-columns: 1fr !important;
    gap: clamp(32px, 4vw, 48px) !important;
  }
  html body section.overview-v3 .ov3-divider {
    display: none !important;
  }
  html body section.overview-v3 .ov3-phase h3 {
    font-size: clamp(32px, 7vw, 42px) !important;
  }
  html body section.overview-v3 .ov3-phase::after {
    font-size: 160px !important;
    top: -48px !important;
    right: -16px !important;
  }
}

/* END · PATCH 23 fases cards guapas + headers integrados + hover elegante */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 24 · OVERVIEW-V3 · VUELTA AL DARK PREMIUM (NEGRO + NARANJA)
   ───────────────────────────────────────────────────────────────────────
   El cream paper rompió el premium feel. Volvemos al dark cinematográfico:
   · Cards: glass dark con gradient white 3.5% → 1% sobre dark
   · Header "FASE 1 · DÍAS 1—30" integrado con asterisco a la derecha
   · Romano I/II naranja vibrante como marca de agua
   · Banda superior naranja
   · Texto cream-soft / blanco sobre dark
   · Acentos naranja Executive vibrante
   · Hover multi-capa elegante (mantenido)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── CADA FASE · card DARK premium ── */
html body section.overview-v3 .ov3-phase {
  background: linear-gradient(180deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  background-image: linear-gradient(180deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 4px !important;
  padding: clamp(36px, 3.6vw, 56px) clamp(32px, 3.2vw, 48px) clamp(40px, 4vw, 56px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.05) inset,
    0 24px 56px -28px rgba(0,0,0,0.7) !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Romano I / II · naranja vibrante intenso */
html body section.overview-v3 .ov3-phase::after {
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(220px, 26vw, 360px) !important;
  font-weight: 400 !important;
  position: absolute !important;
  top: -80px !important;
  right: -32px !important;
  left: auto !important;
  line-height: 1 !important;
  color: #ff5a3c !important;
  opacity: 0.12 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  letter-spacing: -0.06em !important;
  text-shadow:
    0 0 60px rgba(255,90,60,0.35),
    0 0 120px rgba(255,90,60,0.18) !important;
  -webkit-text-stroke: 1px rgba(255,122,94,0.35) !important;
  transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1) !important;
}

/* ── HEADER · "FASE 1 · DÍAS 1—30" sobre dark ── */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 0 32px 0 !important;
  padding: 0 0 18px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,122,94,0.28) !important;
  font-feature-settings: "tnum" !important;
  align-self: stretch !important;
}
html body section.overview-v3 .ov3-phase .ov3-phase-tag::before {
  display: none !important;
  content: none !important;
}
html body section.overview-v3 .ov3-phase .ov3-phase-tag::after {
  content: "✱" !important;
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: 20px !important;
  color: rgba(255,122,94,0.7) !important;
  text-shadow: 0 0 12px rgba(255,90,60,0.4) !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
  transform: rotate(0deg) !important;
  transition: transform .6s cubic-bezier(.2,.7,.2,1), color .4s ease, text-shadow .4s ease !important;
}

/* ── H3 título · blanco premium ── */
html body section.overview-v3 .ov3-phase h3 {
  color: #ffffff !important;
  text-shadow: 0 0 40px rgba(255,255,255,0.05) !important;
}

/* ── Descripción · cream sobre dark ── */
html body section.overview-v3 .ov3-phase .desc {
  color: rgba(251,248,243,0.86) !important;
  border: 0 !important;
}
html body section.overview-v3 .ov3-phase .desc strong {
  color: #ff7a5e !important;
  font-weight: 700 !important;
}

/* ── Lista de items sobre dark ── */
html body section.overview-v3 .ov3-phase ul {
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

html body section.overview-v3 .ov3-phase li {
  color: rgba(251,248,243,0.9) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
html body section.overview-v3 .ov3-phase li:last-child {
  border-bottom: 0 !important;
}
html body section.overview-v3 .ov3-phase li strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Bullet — naranja vibrante con glow sutil */
html body section.overview-v3 .ov3-phase li::before {
  content: "—" !important;
  color: #ff7a5e !important;
  text-shadow: 0 0 8px rgba(255,122,94,0.35) !important;
}
html body section.overview-v3 .ov3-phase li:hover::before {
  color: #ffaa8c !important;
  transform: translateX(4px) !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   HOVER · multi-capa elegante sobre DARK
   ═══════════════════════════════════════════════════════════════════════ */
html body section.overview-v3 .ov3-phase:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(255,122,94,0.4) !important;
  background: linear-gradient(180deg,
    rgba(255,122,94,0.06) 0%,
    rgba(255,255,255,0.015) 100%) !important;
  background-image: linear-gradient(180deg,
    rgba(255,122,94,0.06) 0%,
    rgba(255,255,255,0.015) 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.08) inset,
    0 40px 80px -32px rgba(0,0,0,0.8),
    0 0 100px -24px rgba(255,90,60,0.4),
    0 0 0 1px rgba(255,122,94,0.18) !important;
}

/* Banda superior se expande */
html body section.overview-v3 .ov3-phase::before {
  background: linear-gradient(90deg,
    rgba(255,90,60,0) 0%,
    #ff5a3c 18%,
    #ff7a5e 50%,
    #ff5a3c 82%,
    rgba(255,90,60,0) 100%) !important;
  box-shadow: 0 0 12px rgba(255,90,60,0.3) !important;
}
html body section.overview-v3 .ov3-phase:hover::before {
  transform: scaleX(1) !important;
  opacity: 1 !important;
  box-shadow: 0 0 20px rgba(255,90,60,0.6) !important;
}

/* Romano en hover · más visible + glow más fuerte */
html body section.overview-v3 .ov3-phase:hover::after {
  opacity: 0.22 !important;
  transform: translateX(-10px) translateY(4px) !important;
  text-shadow:
    0 0 80px rgba(255,90,60,0.55),
    0 0 160px rgba(255,90,60,0.28) !important;
}

/* Asterisco header rota en hover */
html body section.overview-v3 .ov3-phase:hover .ov3-phase-tag::after {
  transform: rotate(90deg) scale(1.18) !important;
  color: #ffaa8c !important;
  text-shadow: 0 0 16px rgba(255,122,94,0.6) !important;
}

/* Header border se intensifica */
html body section.overview-v3 .ov3-phase:hover .ov3-phase-tag {
  border-bottom-color: rgba(255,122,94,0.5) !important;
}

/* Items: sutil iluminación al hover de card */
html body section.overview-v3 .ov3-phase:hover li {
  background: rgba(255,122,94,0.02) !important;
}

/* END · PATCH 24 fases DARK premium con naranja vibrante */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 25 · OVERVIEW-V3 · Header centrado + bigger + Romanos enteros
   ───────────────────────────────────────────────────────────────────────
   · Header "FASE 1 · DÍAS 1—30" y "FASE 2 · MESES 2—13" centrados
   · Font-size un pelín más grande (más presencia, menos minúsculo)
   · Romano I / II reposicionado para que se vea entero detrás
   ═══════════════════════════════════════════════════════════════════════ */

/* ── HEADER · centrado y más grande ── */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  justify-content: center !important;
  text-align: center !important;
  font-size: 13.5px !important;
  letter-spacing: 0.3em !important;
  padding-bottom: 22px !important;
  margin-bottom: 36px !important;
  gap: 14px !important;
}

/* Quitar el asterisco lateral (rompía el centrado) */
html body section.overview-v3 .ov3-phase .ov3-phase-tag::after {
  display: none !important;
  content: none !important;
}

/* Pseudo-elemento ::before como pequeña marca decorativa NARANJA antes del texto */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  position: relative !important;
}
/* Línea decorativa BAJO el header (mejor centrada que asterisco lateral) */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  border-bottom: 1px solid rgba(255,122,94,0.28) !important;
}

/* ── ROMANO I / II · que se vea entero ── */
html body section.overview-v3 .ov3-phase::after {
  font-size: clamp(280px, 32vw, 420px) !important;
  /* Reposicionar para mostrar la silueta casi completa */
  top: 50% !important;
  right: auto !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-align: center !important;
  opacity: 0.08 !important;
  /* Más glow sutil ahora que el romano está más visible */
  text-shadow:
    0 0 80px rgba(255,90,60,0.3),
    0 0 160px rgba(255,90,60,0.15) !important;
}

/* Hover: traslación sutil sin perder el centro */
html body section.overview-v3 .ov3-phase:hover::after {
  opacity: 0.14 !important;
  transform: translate(-50%, -50%) scale(1.04) !important;
  text-shadow:
    0 0 100px rgba(255,90,60,0.5),
    0 0 200px rgba(255,90,60,0.25) !important;
}

/* Mobile · romano un poco menor */
@media (max-width: 1024px) {
  html body section.overview-v3 .ov3-phase::after {
    font-size: 220px !important;
  }
}
@media (max-width: 600px) {
  html body section.overview-v3 .ov3-phase::after {
    font-size: 180px !important;
  }
  html body section.overview-v3 .ov3-phase .ov3-phase-tag {
    font-size: 12px !important;
    letter-spacing: 0.26em !important;
  }
}

/* END · PATCH 25 header centrado + romanos enteros */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 26 · OFFER-V3 (ACCESO AL PROGRAMA) — REDISEÑO PREMIUM DARK
   ───────────────────────────────────────────────────────────────────────
   · Eliminar el kicker "Acceso al programa"
   · Mover el "€" detrás del número: 2.497€ (no €2.497)
   · Layout 2-col: features (izq) + pricing (dcha)
   · Dark premium glass con naranja vibrante
   · Precio MONUMENTAL en DM Serif italic
   · Asterisco gigante decorativo de fondo
   · CTA pill naranja con glow editorial
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Eliminar kicker "Acceso al programa" ── */
html body section.offer-v3 .ov3-kicker {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── SECCIÓN · dark con luz naranja ── */
html body section.offer-v3 {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(255,122,94,0.08) 0%, transparent 65%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(255,90,60,0.06) 0%, transparent 70%) !important;
  padding: clamp(112px, 13vw, 168px) clamp(24px, 4vw, 56px) !important;
  position: relative !important;
  overflow: hidden !important;
}
html body section.offer-v3::before {
  content: "" !important;
  position: absolute !important;
  top: 0; left: 10%; right: 10%;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,122,94,0.22) 50%, transparent 100%) !important;
  z-index: 1 !important;
}

html body section.offer-v3 .ov3-wrap {
  max-width: min(1440px, 92vw) !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ── Cabecera · h2 expandido y centrado ── */
html body section.offer-v3 .ov3-head {
  text-align: center !important;
  max-width: 1100px !important;
  margin: 0 auto clamp(72px, 8vw, 112px) !important;
}
html body section.offer-v3 .ov3-head h2 {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 5vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-wrap: balance !important;
}
html body section.offer-v3 .ov3-head h2 em {
  font-style: italic !important;
  color: #ff7a5e !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   CARD PRINCIPAL · glass dark + asterisco gigante de fondo
   ═══════════════════════════════════════════════════════════════════════ */
html body section.offer-v3 .ov3-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: 0 !important;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  background-image: linear-gradient(180deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.012) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 4px !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.06) inset,
    0 32px 80px -32px rgba(0,0,0,0.75),
    0 0 100px -32px rgba(255,90,60,0.18) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

/* Banda superior naranja decorativa */
html body section.offer-v3 .ov3-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg,
    rgba(255,90,60,0) 0%,
    #ff5a3c 25%,
    #ff7a5e 50%,
    #ff5a3c 75%,
    rgba(255,90,60,0) 100%) !important;
  box-shadow: 0 0 16px rgba(255,90,60,0.4) !important;
  z-index: 3 !important;
}

/* Asterisco gigante de fondo decorativo */
html body section.offer-v3 .ov3-card::after {
  content: "✱" !important;
  position: absolute !important;
  top: 50% !important;
  right: -80px !important;
  transform: translateY(-50%) !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: clamp(360px, 42vw, 560px) !important;
  font-weight: 400 !important;
  color: #ff5a3c !important;
  opacity: 0.05 !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  text-shadow: 0 0 100px rgba(255,90,60,0.2) !important;
}

/* Asegurar contenido por encima del asterisco */
html body section.offer-v3 .ov3-card > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   COLUMNA IZQUIERDA · FEATURES (lo que incluye)
   ═══════════════════════════════════════════════════════════════════════ */
html body section.offer-v3 .ov3-features {
  padding: clamp(44px, 4vw, 64px) clamp(36px, 3.6vw, 56px) !important;
  border-right: 1px solid rgba(255,255,255,0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 36px !important;
  background: transparent !important;
}

html body section.offer-v3 .ov3-features h3 {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.022em !important;
  color: #ffffff !important;
  margin: 0 0 16px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid rgba(255,122,94,0.25) !important;
}
html body section.offer-v3 .ov3-features h3 .duration {
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-style: normal !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  padding: 5px 10px !important;
  background: rgba(255,122,94,0.1) !important;
  border: 1px solid rgba(255,122,94,0.3) !important;
  border-radius: 999px !important;
  margin: 0 !important;
  font-feature-settings: "tnum" !important;
}

html body section.offer-v3 .ov3-features ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 4px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
html body section.offer-v3 .ov3-features li {
  position: relative !important;
  padding: 12px 0 12px 28px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(14px, 1vw, 15.5px) !important;
  line-height: 1.55 !important;
  color: rgba(251,248,243,0.88) !important;
  letter-spacing: -0.002em !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  transition: transform .3s ease !important;
}
html body section.offer-v3 .ov3-features li:last-child {
  border-bottom: 0 !important;
}
html body section.offer-v3 .ov3-features li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  color: #ff7a5e !important;
  text-shadow: 0 0 8px rgba(255,122,94,0.35) !important;
  line-height: 1.55 !important;
}
html body section.offer-v3 .ov3-features li:hover::before {
  transform: translateX(2px) !important;
}
html body section.offer-v3 .ov3-features li strong {
  color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   COLUMNA DERECHA · PRICING
   ═══════════════════════════════════════════════════════════════════════ */
html body section.offer-v3 .ov3-price-col {
  padding: clamp(44px, 4vw, 64px) clamp(36px, 3.6vw, 56px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: linear-gradient(180deg,
    rgba(255,122,94,0.04) 0%,
    rgba(255,122,94,0.01) 100%) !important;
  gap: 0 !important;
}

/* Tag "PAGO ÚNICO" */
html body section.offer-v3 .ov3-price-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #ff7a5e !important;
  margin: 0 auto 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-feature-settings: "tnum" !important;
}
html body section.offer-v3 .ov3-price-tag::before,
html body section.offer-v3 .ov3-price-tag::after {
  content: "" !important;
  display: inline-block !important;
  width: 20px !important;
  height: 1px !important;
  background: #ff7a5e !important;
}

/* ── PRECIO MONUMENTAL · "2.497€" ── */
html body section.offer-v3 .ov3-price {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 0 !important;
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(72px, 9vw, 120px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.032em !important;
  color: #ffffff !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  text-shadow: 0 0 60px rgba(255,255,255,0.05) !important;
  position: relative !important;
}

/* Ocultar el "€" original que va DELANTE */
html body section.offer-v3 .ov3-price .cur {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
}

/* Añadir el "€" DETRÁS del número */
html body section.offer-v3 .ov3-price::after {
  content: "€" !important;
  display: inline-block !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(48px, 6vw, 80px) !important;
  color: #ff7a5e !important;
  margin-left: 8px !important;
  line-height: 1 !important;
  text-shadow: 0 0 24px rgba(255,122,94,0.4) !important;
  vertical-align: baseline !important;
  position: relative !important;
  top: -8px !important;
}

/* Subtítulo precio */
html body section.offer-v3 .ov3-price-sub {
  font-family: 'Lato', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  letter-spacing: -0.003em !important;
  color: rgba(251,248,243,0.6) !important;
  margin: 0 auto 32px !important;
  padding: 0 0 24px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  width: 100% !important;
  max-width: 320px !important;
}

/* ── Bloque financiación ── */
html body section.offer-v3 .ov3-financing {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: center !important;
}
html body section.offer-v3 .ov3-fin-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.offer-v3 .ov3-fin-body {
  font-family: 'Lato', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -0.002em !important;
  color: rgba(251,248,243,0.85) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
html body section.offer-v3 .ov3-fin-body strong {
  color: #ff7a5e !important;
  font-weight: 700 !important;
  font-feature-settings: "tnum" !important;
}

/* ── CTA principal · pill naranja con glow editorial ── */
html body section.offer-v3 .ov3-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  background: #ff5a3c !important;
  color: #ffffff !important;
  padding: 22px 40px !important;
  border-radius: 999px !important;
  border: 0 !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background .3s ease, transform .25s ease, box-shadow .3s ease !important;
  box-shadow:
    0 18px 40px -12px rgba(255,90,60,0.55),
    0 0 0 1px rgba(255,255,255,0.08) inset,
    0 0 60px -20px rgba(255,90,60,0.6) !important;
  margin: 0 auto 24px !important;
  width: auto !important;
  position: relative !important;
}
html body section.offer-v3 .ov3-cta:hover {
  background: #ff7a5e !important;
  transform: translateY(-3px) !important;
  box-shadow:
    0 28px 56px -14px rgba(255,90,60,0.7),
    0 0 0 1px rgba(255,255,255,0.15) inset,
    0 0 80px -16px rgba(255,90,60,0.8) !important;
}
html body section.offer-v3 .ov3-cta svg {
  width: 16px !important;
  height: 16px !important;
  transition: transform .3s ease !important;
}
html body section.offer-v3 .ov3-cta:hover svg {
  transform: translateX(4px) !important;
}

/* ── Microctas ── */
html body section.offer-v3 .ov3-microctas {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 auto !important;
  width: 100% !important;
  align-items: center !important;
}
html body section.offer-v3 .ov3-microctas a {
  font-family: 'Lato', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  letter-spacing: -0.002em !important;
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  transition: color .3s ease !important;
  padding: 4px 0 !important;
}
html body section.offer-v3 .ov3-microctas a strong {
  color: rgba(255,255,255,0.8) !important;
  font-weight: 700 !important;
}
html body section.offer-v3 .ov3-microctas a:hover {
  color: #ff7a5e !important;
}
html body section.offer-v3 .ov3-microctas a:hover strong {
  color: #ff7a5e !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   Mobile · stack vertical
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 880px) {
  html body section.offer-v3 .ov3-card {
    grid-template-columns: 1fr !important;
  }
  html body section.offer-v3 .ov3-features {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 32px 24px !important;
  }
  html body section.offer-v3 .ov3-price-col {
    padding: 32px 24px !important;
  }
  html body section.offer-v3 .ov3-price {
    font-size: 64px !important;
  }
  html body section.offer-v3 .ov3-price::after {
    font-size: 40px !important;
    top: -4px !important;
  }
  html body section.offer-v3 .ov3-card::after {
    font-size: 280px !important;
    right: -60px !important;
  }
}

/* END · PATCH 26 offer-v3 rediseño premium dark + euro detrás del número */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 27 · CREAM EXECUTIVE #e9e1d9 en 4 secciones
   ───────────────────────────────────────────────────────────────────────
   · A) Trust-marquee (logos)
   · B) Weeks-roadmap (4 semanas en directo)
   · C) Mentors-v2 (profesores)
   · D) Offer-v3 (accede a Executive Lab)
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · TRUST-MARQUEE · cream Executive
   ═══════════════════════════════════════ */
html body section.trust-marquee {
  background: #e9e1d9 !important;
  background-image: none !important;
}
html body section.trust-marquee::before {
  background: linear-gradient(90deg, transparent 0%, rgba(10,10,10,0.12) 50%, transparent 100%) !important;
}
html body section.trust-marquee .trust-eyebrow,
html body section.trust-marquee .tm-label,
html body section.trust-marquee .trust-label {
  color: #EC4429 !important;
}
html body section.trust-marquee .tm-logo,
html body section.trust-marquee .trust-logo,
html body section.trust-marquee img {
  filter: brightness(0.3) opacity(0.7) !important;
}


/* ═══════════════════════════════════════
   B · WEEKS-ROADMAP · cream Executive
   ═══════════════════════════════════════ */
html body section.weeks-roadmap {
  background: #e9e1d9 !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(236,68,41,0.05) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(10,10,10,0.025) 0%, transparent 70%) !important;
}
html body section.weeks-roadmap::before {
  background: linear-gradient(90deg, transparent 0%, rgba(10,10,10,0.14) 50%, transparent 100%) !important;
}

/* Eyebrow "4 semanas en directo" */
html body section.weeks-roadmap .wr-kicker {
  color: #EC4429 !important;
}

/* Cabecera h2 */
html body section.weeks-roadmap .wr-head h2 {
  color: #0a0a0a !important;
}
html body section.weeks-roadmap .wr-head h2 em {
  color: #EC4429 !important;
}
html body section.weeks-roadmap .wr-head .wr-sub,
html body section.weeks-roadmap .wr-sub,
html body section.weeks-roadmap .wr-head p {
  color: rgba(10,10,10,0.72) !important;
}
html body section.weeks-roadmap .wr-head strong,
html body section.weeks-roadmap .wr-sub strong,
html body section.weeks-roadmap .wr-head p strong {
  color: #0a0a0a !important;
}

/* Cards: pasan a fondo claro (#fbf8f3) sobre el cream más oscuro de la sección */
html body section.weeks-roadmap .wr-card {
  background: #fbf8f3 !important;
  background-image: none !important;
  border: 1px solid rgba(10,10,10,0.08) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.6) inset,
    0 18px 40px -24px rgba(0,0,0,0.18) !important;
  color: #0a0a0a !important;
}
html body section.weeks-roadmap .wr-card:hover {
  border-color: rgba(236,68,41,0.32) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 28px 56px -24px rgba(0,0,0,0.22),
    0 0 60px -20px rgba(236,68,41,0.18) !important;
}

/* Textos dentro de cards */
html body section.weeks-roadmap .wr-card h3 {
  color: #0a0a0a !important;
}
html body section.weeks-roadmap .wr-card p,
html body section.weeks-roadmap .wr-card .wr-tagline,
html body section.weeks-roadmap .wr-card li {
  color: #1a1a1a !important;
}
html body section.weeks-roadmap .wr-card strong {
  color: #EC4429 !important;
}
html body section.weeks-roadmap .wr-card em {
  color: #EC4429 !important;
}

/* Número "Semana N" o equivalente */
html body section.weeks-roadmap .wr-num,
html body section.weeks-roadmap .wr-week-num,
html body section.weeks-roadmap .wr-card .num {
  color: #EC4429 !important;
}

/* Bullets de listas en weeks */
html body section.weeks-roadmap .wr-card ul li::before,
html body section.weeks-roadmap .wr-card ol li::before {
  color: #EC4429 !important;
}

/* Borders internos de cards */
html body section.weeks-roadmap .wr-card hr,
html body section.weeks-roadmap .wr-card .wr-divider {
  border-color: rgba(10,10,10,0.08) !important;
  background: rgba(10,10,10,0.08) !important;
}


/* ═══════════════════════════════════════
   C · MENTORS-V2 · cream Executive
   ═══════════════════════════════════════ */
html body section.mentors-v2 {
  background: #e9e1d9 !important;
  background-image:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(236,68,41,0.05) 0%, transparent 65%),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(10,10,10,0.025) 0%, transparent 70%) !important;
}
html body section.mentors-v2::before {
  background: linear-gradient(90deg, transparent 0%, rgba(10,10,10,0.14) 50%, transparent 100%) !important;
}

/* Cabecera mentores */
html body section.mentors-v2 .mv2-head h2 {
  color: #0a0a0a !important;
}
html body section.mentors-v2 .mv2-head h2 em {
  color: #EC4429 !important;
}
html body section.mentors-v2 .mv2-kicker {
  color: #EC4429 !important;
}
html body section.mentors-v2 .mv2-kicker::before,
html body section.mentors-v2 .mv2-kicker::after {
  background: #EC4429 !important;
}

/* Cards mentores siguen blancas, ya estaba bien */
/* Foto: queda dark, contraste sigue funcionando */


/* ═══════════════════════════════════════
   D · OFFER-V3 · cream Executive con cards iluminadas
   ═══════════════════════════════════════ */
html body section.offer-v3 {
  background: #e9e1d9 !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(236,68,41,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(10,10,10,0.025) 0%, transparent 70%) !important;
}
html body section.offer-v3::before {
  background: linear-gradient(90deg, transparent 0%, rgba(10,10,10,0.18) 50%, transparent 100%) !important;
}

/* Cabecera */
html body section.offer-v3 .ov3-head h2 {
  color: #0a0a0a !important;
}
html body section.offer-v3 .ov3-head h2 em {
  color: #EC4429 !important;
}

/* CARD principal · pasa a cream-soft (#fbf8f3) sobre el cream Executive */
html body section.offer-v3 .ov3-card {
  background: #fbf8f3 !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #fbf8f3 100%) !important;
  border: 1px solid rgba(10,10,10,0.10) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 32px 80px -32px rgba(0,0,0,0.18),
    0 0 100px -32px rgba(236,68,41,0.12) !important;
}

/* Asterisco gigante de fondo sobre cream */
html body section.offer-v3 .ov3-card::after {
  color: #EC4429 !important;
  opacity: 0.06 !important;
  text-shadow: 0 0 100px rgba(236,68,41,0.15) !important;
}

/* Banda superior naranja: igual */
/* (ya está bien) */

/* Features (izq) */
html body section.offer-v3 .ov3-features {
  border-right: 1px solid rgba(10,10,10,0.08) !important;
}
html body section.offer-v3 .ov3-features h3 {
  color: #0a0a0a !important;
  border-bottom: 1px solid rgba(236,68,41,0.25) !important;
}
html body section.offer-v3 .ov3-features h3 .duration {
  color: #EC4429 !important;
  background: rgba(236,68,41,0.08) !important;
  border: 1px solid rgba(236,68,41,0.3) !important;
}
html body section.offer-v3 .ov3-features li {
  color: #1a1a1a !important;
  border-bottom: 1px solid rgba(10,10,10,0.06) !important;
}
html body section.offer-v3 .ov3-features li::before {
  color: #EC4429 !important;
  text-shadow: 0 0 8px rgba(236,68,41,0.25) !important;
}
html body section.offer-v3 .ov3-features li strong {
  color: #0a0a0a !important;
}

/* Pricing (dcha) */
html body section.offer-v3 .ov3-price-col {
  background: linear-gradient(180deg,
    rgba(236,68,41,0.04) 0%,
    rgba(236,68,41,0.01) 100%) !important;
}

/* Tag "PAGO ÚNICO" */
html body section.offer-v3 .ov3-price-tag {
  color: #EC4429 !important;
}
html body section.offer-v3 .ov3-price-tag::before,
html body section.offer-v3 .ov3-price-tag::after {
  background: #EC4429 !important;
}

/* Precio MONUMENTAL · negro sobre cream */
html body section.offer-v3 .ov3-price {
  color: #0a0a0a !important;
  text-shadow: 0 0 60px rgba(10,10,10,0.04) !important;
}
html body section.offer-v3 .ov3-price::after {
  color: #EC4429 !important;
  text-shadow: 0 0 24px rgba(236,68,41,0.35) !important;
}

/* Subtítulo precio */
html body section.offer-v3 .ov3-price-sub {
  color: rgba(10,10,10,0.6) !important;
  border-bottom: 1px solid rgba(10,10,10,0.10) !important;
}

/* Financiación */
html body section.offer-v3 .ov3-fin-label {
  color: rgba(10,10,10,0.5) !important;
}
html body section.offer-v3 .ov3-fin-body {
  color: #1a1a1a !important;
}
html body section.offer-v3 .ov3-fin-body strong {
  color: #EC4429 !important;
}

/* CTA principal · mantener naranja pill, ahora sobre cream */
html body section.offer-v3 .ov3-cta {
  background: #EC4429 !important;
  color: #ffffff !important;
  box-shadow:
    0 18px 40px -12px rgba(236,68,41,0.55),
    0 0 0 1px rgba(255,255,255,0.12) inset,
    0 0 60px -20px rgba(236,68,41,0.5) !important;
}
html body section.offer-v3 .ov3-cta:hover {
  background: #c93521 !important;
  box-shadow:
    0 28px 56px -14px rgba(236,68,41,0.7),
    0 0 0 1px rgba(255,255,255,0.18) inset,
    0 0 80px -16px rgba(236,68,41,0.7) !important;
}

/* Microctas */
html body section.offer-v3 .ov3-microctas a {
  color: rgba(10,10,10,0.55) !important;
}
html body section.offer-v3 .ov3-microctas a strong {
  color: #0a0a0a !important;
}
html body section.offer-v3 .ov3-microctas a:hover {
  color: #EC4429 !important;
}
html body section.offer-v3 .ov3-microctas a:hover strong {
  color: #EC4429 !important;
}

/* END · PATCH 27 secciones cream Executive #e9e1d9 */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 28 · Ajustes finales:
   A) Trust-marquee · "Directivos de estas empresas..." en OSCURO
   B) Weeks-roadmap · forzar textos oscuros dentro de cards
   C) IDE-v2 · cards cream con texto oscuro
   D) Microctas con más cariño visual
   E) WhatsApp mobile solo icono
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · TRUST · texto del eyebrow en oscuro
   ═══════════════════════════════════════ */
html body section.trust-marquee .tm-label,
html body section.trust-marquee .trust-eyebrow,
html body section.trust-marquee .trust-label {
  color: #0a0a0a !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}


/* ═══════════════════════════════════════
   B · WEEKS-ROADMAP · forzar textos oscuros TODOS
   ═══════════════════════════════════════ */

/* TODOS los textos dentro de cards a negro */
html body section.weeks-roadmap .wr-card,
html body section.weeks-roadmap .wr-card * {
  color: #1a1a1a !important;
}

/* Excepción: número "Semana N" en naranja */
html body section.weeks-roadmap .wr-card h2,
html body section.weeks-roadmap .wr-card .wr-week-num,
html body section.weeks-roadmap .wr-card .wr-num,
html body section.weeks-roadmap .wr-card > h2:first-child {
  color: #EC4429 !important;
}

/* H3 título de semana · negro intenso */
html body section.weeks-roadmap .wr-card h3 {
  color: #0a0a0a !important;
}

/* Párrafo y demás texto · ink oscuro */
html body section.weeks-roadmap .wr-card p,
html body section.weeks-roadmap .wr-card .wr-tagline,
html body section.weeks-roadmap .wr-card li,
html body section.weeks-roadmap .wr-card span,
html body section.weeks-roadmap .wr-card div {
  color: #1a1a1a !important;
}

/* Strong y em en naranja Executive */
html body section.weeks-roadmap .wr-card strong,
html body section.weeks-roadmap .wr-card b,
html body section.weeks-roadmap .wr-card em,
html body section.weeks-roadmap .wr-card i {
  color: #EC4429 !important;
}

/* Bullets en naranja */
html body section.weeks-roadmap .wr-card ul li::before,
html body section.weeks-roadmap .wr-card ol li::before {
  color: #EC4429 !important;
}


/* ═══════════════════════════════════════
   C · IDE-V2 · cards cream con texto oscuro
   "Filtramos el ruido del mercado" + las 3 que la acompañan
   ═══════════════════════════════════════ */

/* Cards en cream-soft (más claro que el background dark de la sección) */
html body section.ide-v2 .ide-card {
  background: #e9e1d9 !important;
  background-image: none !important;
  border: 1px solid rgba(10,10,10,0.08) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.6) inset,
    0 24px 56px -28px rgba(0,0,0,0.55) !important;
  transition:
    transform .4s cubic-bezier(.2,.7,.2,1),
    border-color .4s ease,
    box-shadow .4s ease,
    background .4s ease !important;
}
html body section.ide-v2 .ide-card:hover {
  transform: translateY(-4px) !important;
  background: #f0e9e1 !important;
  border-color: rgba(236,68,41,0.32) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 32px 72px -28px rgba(0,0,0,0.65),
    0 0 80px -20px rgba(236,68,41,0.25) !important;
}

/* Textos dentro de las cards · oscuros */
html body section.ide-v2 .ide-card h3 {
  color: #0a0a0a !important;
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
}
html body section.ide-v2 .ide-card p {
  color: #1a1a1a !important;
}
html body section.ide-v2 .ide-card p strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
}
html body section.ide-v2 .ide-card p em {
  color: #EC4429 !important;
  font-style: italic !important;
}

/* La sección sigue dark · texto cabecera blanco */
/* (no tocamos el fondo de section.ide-v2, solo las cards) */

/* Eyebrow "12 meses de I+D externo" sobre dark → mantener naranja */
html body section.ide-v2 .ide-kicker {
  color: #ff7a5e !important;
}


/* ═══════════════════════════════════════
   D · MICROCTAS · más cariño visual
   "¿Lo tienes claro? Compra directa →"
   "¿Una duda rápida? Hablamos por WhatsApp →"
   ═══════════════════════════════════════ */
html body section.offer-v3 .ov3-microctas {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 16px auto 0 !important;
  width: 100% !important;
  max-width: 360px !important;
  align-items: stretch !important;
}
html body section.offer-v3 .ov3-microctas a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  letter-spacing: -0.002em !important;
  color: rgba(10,10,10,0.7) !important;
  text-decoration: none !important;
  transition:
    color .3s ease,
    border-color .3s ease,
    background .3s ease,
    transform .3s ease !important;
  padding: 14px 18px !important;
  background: rgba(255,255,255,0.4) !important;
  border: 1px solid rgba(10,10,10,0.08) !important;
  border-radius: 12px !important;
  text-align: left !important;
  line-height: 1.4 !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
}
html body section.offer-v3 .ov3-microctas a strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: gap .3s ease !important;
}
/* Línea de borde animada en hover */
html body section.offer-v3 .ov3-microctas a::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: linear-gradient(180deg, #EC4429 0%, #ff7a5e 100%) !important;
  opacity: 0 !important;
  transition: opacity .3s ease, transform .3s ease !important;
  transform: scaleY(0.4) !important;
}
html body section.offer-v3 .ov3-microctas a:hover {
  color: #0a0a0a !important;
  background: rgba(236,68,41,0.06) !important;
  border-color: rgba(236,68,41,0.4) !important;
  transform: translateX(4px) !important;
  box-shadow: 0 12px 28px -16px rgba(236,68,41,0.4) !important;
}
html body section.offer-v3 .ov3-microctas a:hover::before {
  opacity: 1 !important;
  transform: scaleY(1) !important;
}
html body section.offer-v3 .ov3-microctas a:hover strong {
  color: #EC4429 !important;
  gap: 10px !important;
}


/* ═══════════════════════════════════════
   E · WHATSAPP FLOATING · mobile solo icono
   ═══════════════════════════════════════ */

/* WhatsApp icon SVG como background */
@media (max-width: 720px) {
  html body a.el-wa-floating {
    font-size: 0 !important;
    color: transparent !important;
    width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #25D366 !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23ffffff'><path d='M19.11 17.205c-.372 0-1.088 1.39-1.518 1.39a.63.63 0 0 1-.315-.1c-.802-.402-1.504-.817-2.163-1.447-.545-.516-1.146-1.29-1.46-1.963a.426.426 0 0 1-.073-.215c0-.33.99-.945.99-1.49 0-.143-.73-2.09-.832-2.335-.143-.372-.214-.487-.6-.487-.187 0-.36-.043-.53-.043-.302 0-.53.115-.746.315-.688.645-1.032 1.318-1.06 2.264v.114c-.015.99.472 1.977 1.017 2.78 1.23 1.82 2.78 3.41 4.71 4.477.516.286 2.13 1.06 2.7 1.06.515 0 1.39-.358 1.69-.846.13-.214.198-.5.198-.768 0-.107-.057-.227-.27-.337-.244-.142-1.546-.83-1.738-.83zM16 5.34c-5.875 0-10.66 4.785-10.66 10.66 0 1.84.475 3.65 1.376 5.247l-1.49 5.474 5.61-1.475A10.65 10.65 0 0 0 16 26.66c5.875 0 10.66-4.785 10.66-10.66S21.875 5.34 16 5.34zm0 19.49a8.77 8.77 0 0 1-4.785-1.418l-.343-.214-3.345.875.892-3.262-.223-.348A8.69 8.69 0 0 1 7.34 16c0-4.78 3.88-8.66 8.66-8.66 4.78 0 8.66 3.88 8.66 8.66 0 4.78-3.88 8.83-8.66 8.83z'/></svg>") !important;
    background-size: 32px 32px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    box-shadow:
      0 8px 24px -8px rgba(37,211,102,0.55),
      0 0 0 1px rgba(255,255,255,0.15) inset !important;
    bottom: 20px !important;
    right: 20px !important;
    left: auto !important;
    overflow: hidden !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
  }
  html body a.el-wa-floating:hover {
    transform: scale(1.05) !important;
    background-color: #1ebe5d !important;
  }
}

/* END · PATCH 28 ajustes finales (logos · weeks · ide · microctas · wa mobile) */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 29 · Ajustes:
   A) Trust-marquee · BACK to dark
   B) Dolor-v2 (mayor riesgo) · cream Executive
   C) Weeks-roadmap · cazar textos blancos restantes
   D) Eliminar CTA "Solicitar plaza" debajo de testimonios
   E) Reducir espacios garantía → CTA → encaje
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · TRUST-MARQUEE · BACK A DARK
   ═══════════════════════════════════════ */
html body section.trust-marquee {
  background: #0a0a0c !important;
  background-image:
    radial-gradient(ellipse 60% 60% at 50% 50%, rgba(255,122,94,0.04) 0%, transparent 70%) !important;
}
html body section.trust-marquee::before {
  background: linear-gradient(90deg, transparent 0%, rgba(255,122,94,0.22) 50%, transparent 100%) !important;
}
html body section.trust-marquee .tm-label,
html body section.trust-marquee .trust-eyebrow,
html body section.trust-marquee .trust-label {
  color: rgba(255,255,255,0.65) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}
/* Logos · volver a blancos sobre dark */
html body section.trust-marquee .tm-logo,
html body section.trust-marquee .trust-logo,
html body section.trust-marquee img {
  filter: brightness(0) invert(1) opacity(0.7) !important;
}

/* ═══════════════════════════════════════
   B · DOLOR-V2 "El mayor riesgo" · cream Executive
   ═══════════════════════════════════════ */
html body section.dolor-v2 {
  background: #e9e1d9 !important;
  background-color: #e9e1d9 !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(236,68,41,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(10,10,10,0.03) 0%, transparent 70%) !important;
}
/* H2 a negro */
html body section.dolor-v2 h2,
html body section.dolor-v2 .dv2-head h2 {
  color: #0a0a0a !important;
}
html body section.dolor-v2 h2 em,
html body section.dolor-v2 .dv2-head h2 em {
  color: #EC4429 !important;
  font-style: italic !important;
}

/* Cards en cream-soft más claro */
html body section.dolor-v2 .dv2-card {
  background: #fbf8f3 !important;
  background-image: none !important;
  border: 1px solid rgba(10,10,10,0.08) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.6) inset,
    0 18px 40px -24px rgba(0,0,0,0.18) !important;
}
html body section.dolor-v2 .dv2-card:hover {
  border-color: rgba(236,68,41,0.35) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 28px 56px -24px rgba(0,0,0,0.22),
    0 0 80px -24px rgba(236,68,41,0.25) !important;
}

/* Textos dentro de cards · negros */
html body section.dolor-v2 .dv2-card h3 {
  color: #EC4429 !important;  /* mantener naranja como protagonista */
}
html body section.dolor-v2 .dv2-card p {
  color: #1a1a1a !important;
}
html body section.dolor-v2 .dv2-card p strong {
  color: #0a0a0a !important;
}
html body section.dolor-v2 .dv2-card p em {
  color: #EC4429 !important;
}

/* Separador h3::after de gris claro */
html body section.dolor-v2 .dv2-card h3::after {
  background: rgba(10,10,10,0.18) !important;
}

/* Icono más visible sobre cream */
html body section.dolor-v2 .dv2-card .dv2-icon {
  color: rgba(236,68,41,0.6) !important;
}

/* Punto rojo esquina inferior derecha */
html body section.dolor-v2 .dv2-card::after {
  background: #EC4429 !important;
}

/* Borde superior decorativo */
html body section.dolor-v2 .dv2-card::before {
  background: linear-gradient(90deg, transparent 0%, #EC4429 50%, transparent 100%) !important;
}

/* ═══════════════════════════════════════
   C · WEEKS-ROADMAP · forzar TODOS los textos
   ═══════════════════════════════════════ */

/* Hammer fuerte: cualquier descendiente de .wr-card en negro */
html body section.weeks-roadmap .wr-card,
html body section.weeks-roadmap .wr-card *,
html body section.weeks-roadmap .wr-card *:not(strong):not(em):not(b):not(i):not(h2):not(.wr-num):not(.wr-week-num) {
  color: #1a1a1a !important;
}

/* Texto del párrafo (incluyendo cuando es texto directo no en strong) */
html body section.weeks-roadmap .wr-card p,
html body section.weeks-roadmap .wr-card .wr-card-body,
html body section.weeks-roadmap .wr-card .wr-card p,
html body section.weeks-roadmap .wr-card > div,
html body section.weeks-roadmap .wr-card > div * {
  color: #1a1a1a !important;
}

/* Excepciones · naranja para acentos */
html body section.weeks-roadmap .wr-card strong,
html body section.weeks-roadmap .wr-card b,
html body section.weeks-roadmap .wr-card em,
html body section.weeks-roadmap .wr-card i,
html body section.weeks-roadmap .wr-card h2,
html body section.weeks-roadmap .wr-card .wr-num,
html body section.weeks-roadmap .wr-card .wr-week-num,
html body section.weeks-roadmap .wr-card .num {
  color: #EC4429 !important;
}

/* Título h3 · negro */
html body section.weeks-roadmap .wr-card h3 {
  color: #0a0a0a !important;
}


/* ═══════════════════════════════════════
   D · ELIMINAR el CTA "Solicitar mi plaza" debajo de testimonios
   ═══════════════════════════════════════ */
html body section.section-paper#resultados + div[style*="FBF8F3"],
html body section.section-paper#resultados + div[style*="#FBF8F3"],
html body section.section-paper#resultados + div[style*="padding"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ═══════════════════════════════════════
   E · REDUCIR ESPACIOS entre secciones críticas
   guarantee-v2 → encaje-v3 (Para quién está diseñado)
   guarantee-v2 → CTA "Solicitar plaza"
   ═══════════════════════════════════════ */

/* Guarantee-v2 · reducir padding bottom */
html body section.guarantee-v2,
html body section.injected-garantia.guarantee-v2 {
  padding-top: clamp(72px, 8vw, 96px) !important;
  padding-bottom: clamp(56px, 6vw, 80px) !important;
}

/* Encaje-v3 · reducir padding top (viene después de guarantee) */
html body section.encaje-v3,
html body section.section-cream.encaje-v3,
html body section.injected-audience.encaje-v3 {
  padding-top: clamp(72px, 8vw, 96px) !important;
}

/* Offer-v3 · reducir padding bottom (viene antes de guarantee) */
html body section.offer-v3 {
  padding-bottom: clamp(72px, 8vw, 96px) !important;
}

/* En general · reducir el espacio entre secciones consecutivas */
html body section.offer-v3 + section.guarantee-v2 {
  margin-top: 0 !important;
}
html body section.guarantee-v2 + section.encaje-v3 {
  margin-top: 0 !important;
}

/* Cancelar los padding-top extra que pusieron patches anteriores */
html body section.dolor-v2 + section.overview-v3 {
  padding-top: clamp(96px, 11vw, 144px) !important;
}
html body section.overview-v3 + section.weeks-roadmap {
  padding-top: clamp(96px, 11vw, 144px) !important;
}

/* Closing-v2 · padding correcto (último CTA) */
html body section.closing-v2 {
  padding-top: clamp(72px, 8vw, 96px) !important;
  padding-bottom: clamp(96px, 11vw, 144px) !important;
}

/* END · PATCH 29 logos-dark + dolor-cream + weeks-fix + cta-out + espacios */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 30 · WEEKS-ROADMAP fix final
   A) "Semana 1/2/3/4" en NARANJA grande
   B) TODOS los strong/em en NARANJA (cero blancos)
   C) Cards alineadas por abajo (igual altura)
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   C · ALINEAR cards por abajo (igual altura)
   ═══════════════════════════════════════ */
html body section.weeks-roadmap .wr-grid,
html body section.weeks-roadmap .wr-list,
html body section.weeks-roadmap .wr-cards,
html body section.weeks-roadmap .wr-wrap > div:not(.wr-head) {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

html body section.weeks-roadmap .wr-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  align-self: stretch !important;
}

/* Mobile · 1 columna */
@media (max-width: 720px) {
  html body section.weeks-roadmap .wr-grid,
  html body section.weeks-roadmap .wr-list,
  html body section.weeks-roadmap .wr-cards,
  html body section.weeks-roadmap .wr-wrap > div:not(.wr-head) {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════
   A · "Semana N" en NARANJA grande y prominente
   ═══════════════════════════════════════ */
html body section.weeks-roadmap .wr-card .wr-num,
html body section.weeks-roadmap .wr-card .wr-week-num,
html body section.weeks-roadmap .wr-card .num,
html body section.weeks-roadmap .wr-card h2,
html body section.weeks-roadmap .wr-card > h2,
html body section.weeks-roadmap .wr-card > .wr-num,
html body section.weeks-roadmap .wr-card > span:first-child {
  color: #EC4429 !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* ═══════════════════════════════════════
   B · TODOS los resaltados en NARANJA (no blanco)
   ═══════════════════════════════════════ */

/* Reset agresivo: cualquier strong, em, b, i en wr-card → NARANJA */
html body section.weeks-roadmap .wr-card strong,
html body section.weeks-roadmap .wr-card b,
html body section.weeks-roadmap .wr-card em,
html body section.weeks-roadmap .wr-card i,
html body section.weeks-roadmap .wr-card .accent,
html body section.weeks-roadmap .wr-card span.accent,
html body section.weeks-roadmap .wr-card span[class*="accent"],
html body section.weeks-roadmap .wr-card span[class*="highlight"],
html body section.weeks-roadmap .wr-card p strong,
html body section.weeks-roadmap .wr-card p em,
html body section.weeks-roadmap .wr-card p b,
html body section.weeks-roadmap .wr-card p i,
html body section.weeks-roadmap .wr-card div strong,
html body section.weeks-roadmap .wr-card div em,
html body section.weeks-roadmap .wr-card li strong,
html body section.weeks-roadmap .wr-card li em {
  color: #EC4429 !important;
  background: transparent !important;
  -webkit-text-fill-color: #EC4429 !important;
}

/* Asegurar font-weight para strong y font-style para em */
html body section.weeks-roadmap .wr-card strong,
html body section.weeks-roadmap .wr-card b {
  font-weight: 700 !important;
}
html body section.weeks-roadmap .wr-card em,
html body section.weeks-roadmap .wr-card i {
  font-style: italic !important;
}

/* Asegurar también que h3 sea negro (no naranja) */
html body section.weeks-roadmap .wr-card h3,
html body section.weeks-roadmap .wr-card > h3 {
  color: #0a0a0a !important;
}

/* P y otros wrappers en negro como antes */
html body section.weeks-roadmap .wr-card p,
html body section.weeks-roadmap .wr-card .wr-card-body,
html body section.weeks-roadmap .wr-card li,
html body section.weeks-roadmap .wr-card .desc {
  color: #1a1a1a !important;
}

/* END · PATCH 30 weeks · semanas naranja + cero blanco + cards alineadas */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 31 · Semana N en naranja + FAQ desplegado completo
   A) .wr-week-tag y .wr-num · NARANJA forzado
   B) FAQ · usar selector details[open] (no .is-open) + max-height grande
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · "SEMANA 1/2/3/4" EN NARANJA ✱
   ═══════════════════════════════════════ */

/* El HTML real usa .wr-week-tag (NO .wr-week-num) y .wr-num */
html body section.weeks-roadmap .wr-card .wr-week-tag,
html body section.weeks-roadmap .wr-week-tag,
html body section.weeks-roadmap span.wr-week-tag {
  color: #EC4429 !important;
  -webkit-text-fill-color: #EC4429 !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* .wr-num "01 02 03 04" también en naranja */
html body section.weeks-roadmap .wr-card .wr-num,
html body section.weeks-roadmap .wr-num,
html body section.weeks-roadmap span.wr-num {
  color: #EC4429 !important;
  -webkit-text-fill-color: #EC4429 !important;
}

/* ═══════════════════════════════════════
   B · FAQ DESPLEGADO COMPLETO
   ───────────────────────────────────────
   PROBLEMA: el CSS antiguo usa .fv2-item.is-open (requiere JS).
   El HTML usa <details> con atributo `open` nativo.
   FIX: usar details[open] + max-height suficientemente grande.
   ═══════════════════════════════════════ */

/* Reset del comportamiento problemático */
html body section.faq-v2 details.fv2-item,
html body section.faq-v2 .fv2-item {
  /* details es block por defecto, dejarlo así */
}

/* Cuando está cerrado: ans escondido */
html body section.faq-v2 .fv2-ans,
html body section.faq-v2 details.fv2-item:not([open]) .fv2-ans {
  overflow: hidden !important;
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition: max-height 0.55s cubic-bezier(.2,.7,.2,1), padding 0.4s cubic-bezier(.2,.7,.2,1) !important;
}

/* Cuando está abierto (atributo `open` del <details>): ans visible completo */
html body section.faq-v2 details.fv2-item[open] .fv2-ans,
html body section.faq-v2 .fv2-item[open] .fv2-ans {
  max-height: 3000px !important; /* suficientemente grande para item 01 con calendario */
  padding-top: 16px !important;
  padding-bottom: 24px !important;
  overflow: visible !important;
}

/* Vencer el .is-open antiguo dejándolo coexistir con [open] */
html body section.faq-v2 details.fv2-item.is-open .fv2-ans {
  max-height: 3000px !important;
  padding-top: 16px !important;
  padding-bottom: 24px !important;
}

/* Estilizar el contenido para que se lea bien */
html body section.faq-v2 details.fv2-item[open] .fv2-ans p,
html body section.faq-v2 .fv2-item[open] .fv2-ans p,
html body section.faq-v2 .fv2-ans p {
  font-family: 'Lato', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: #1a1a1a !important;
  margin: 0 0 14px !important;
  max-width: 64ch !important;
}
html body section.faq-v2 .fv2-ans p strong {
  color: #EC4429 !important;
  font-weight: 700 !important;
}
html body section.faq-v2 .fv2-ans p em {
  color: #EC4429 !important;
  font-style: italic !important;
}

/* UL con calendario · Kick-off + 8 clases */
html body section.faq-v2 .fv2-ans ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  max-width: 64ch !important;
}
html body section.faq-v2 .fv2-ans ul li {
  position: relative !important;
  padding: 10px 0 10px 26px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: #1a1a1a !important;
  border-bottom: 1px solid rgba(10,10,10,0.06) !important;
  margin: 0 !important;
}
html body section.faq-v2 .fv2-ans ul li:last-child {
  border-bottom: 0 !important;
}
html body section.faq-v2 .fv2-ans ul li::before {
  content: "—" !important;
  position: absolute !important;
  left: 0 !important;
  top: 10px !important;
  color: #EC4429 !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Asegurar que el item completo se ve · sin overflow hidden parent */
html body section.faq-v2 .fv2-list,
html body section.faq-v2 .fv2-wrap {
  overflow: visible !important;
}

/* END · PATCH 31 semanas naranja + faq desplegado completo */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 32 · Botones flotantes mobile · WhatsApp + Solicitar plaza
   A) WhatsApp SIEMPRE visible (no aparecer/desaparecer con scroll)
   B) WhatsApp posición fija sin cortar (safe-area + right adecuado)
   C) Nuevo botón "Solicitar plaza" flotante en mobile, centrado abajo
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · WhatsApp · SIEMPRE VISIBLE en cualquier scroll
   ═══════════════════════════════════════ */
html body a.el-wa-floating {
  /* Reset cualquier comportamiento de hide/show por scroll */
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  pointer-events: auto !important;
  transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease !important;
  transform: none !important;
  /* Posición fija siempre */
  position: fixed !important;
  z-index: 9999 !important;
}

/* Vencer cualquier estado .is-hidden o similar */
html body a.el-wa-floating.is-hidden,
html body a.el-wa-floating[hidden],
html body a.el-wa-floating[data-hidden="true"] {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  transform: none !important;
  pointer-events: auto !important;
}

/* ═══════════════════════════════════════
   B · DESKTOP: pill texto · WhatsApp abajo derecha
   ═══════════════════════════════════════ */
@media (min-width: 721px) {
  html body a.el-wa-floating {
    bottom: 24px !important;
    right: 24px !important;
    left: auto !important;
    background: #25D366 !important;
    color: #ffffff !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    box-shadow:
      0 12px 32px -10px rgba(37,211,102,0.55),
      0 0 0 1px rgba(255,255,255,0.12) inset !important;
    align-items: center !important;
    justify-content: center !important;
  }
  html body a.el-wa-floating:hover {
    background: #1ebe5d !important;
    transform: translateY(-2px) !important;
    box-shadow:
      0 18px 42px -10px rgba(37,211,102,0.7),
      0 0 0 1px rgba(255,255,255,0.18) inset !important;
  }
}

/* ═══════════════════════════════════════
   C · MOBILE: WhatsApp icono pequeño + Botón "Solicitar plaza" centrado
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  /* WhatsApp icon · pequeño circular a la derecha */
  html body a.el-wa-floating {
    font-size: 0 !important;
    color: transparent !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #25D366 !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23ffffff'><path d='M19.11 17.205c-.372 0-1.088 1.39-1.518 1.39a.63.63 0 0 1-.315-.1c-.802-.402-1.504-.817-2.163-1.447-.545-.516-1.146-1.29-1.46-1.963a.426.426 0 0 1-.073-.215c0-.33.99-.945.99-1.49 0-.143-.73-2.09-.832-2.335-.143-.372-.214-.487-.6-.487-.187 0-.36-.043-.53-.043-.302 0-.53.115-.746.315-.688.645-1.032 1.318-1.06 2.264v.114c-.015.99.472 1.977 1.017 2.78 1.23 1.82 2.78 3.41 4.71 4.477.516.286 2.13 1.06 2.7 1.06.515 0 1.39-.358 1.69-.846.13-.214.198-.5.198-.768 0-.107-.057-.227-.27-.337-.244-.142-1.546-.83-1.738-.83zM16 5.34c-5.875 0-10.66 4.785-10.66 10.66 0 1.84.475 3.65 1.376 5.247l-1.49 5.474 5.61-1.475A10.65 10.65 0 0 0 16 26.66c5.875 0 10.66-4.785 10.66-10.66S21.875 5.34 16 5.34zm0 19.49a8.77 8.77 0 0 1-4.785-1.418l-.343-.214-3.345.875.892-3.262-.223-.348A8.69 8.69 0 0 1 7.34 16c0-4.78 3.88-8.66 8.66-8.66 4.78 0 8.66 3.88 8.66 8.66 0 4.78-3.88 8.83-8.66 8.83z'/></svg>") !important;
    background-size: 28px 28px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    box-shadow:
      0 8px 20px -6px rgba(37,211,102,0.55),
      0 0 0 1px rgba(255,255,255,0.15) inset !important;
    /* Posición: SIEMPRE abajo a la derecha, dentro del viewport */
    position: fixed !important;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(16px + env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    z-index: 9999 !important;
    border: 0 !important;
  }

  /* Cancelar cualquier ::before previo */
  html body a.el-wa-floating::before,
  html body a.el-wa-floating::after {
    display: none !important;
    content: none !important;
  }

  html body a.el-wa-floating:hover,
  html body a.el-wa-floating:active {
    transform: scale(1.05) !important;
    background-color: #1ebe5d !important;
  }
}

/* ═══════════════════════════════════════
   D · BOTÓN "SOLICITAR PLAZA" FLOTANTE MOBILE
   Visible solo en mobile, fijo abajo, casi todo el ancho
   ═══════════════════════════════════════ */

/* Desktop: oculto */
html body a.el-cta-mobile {
  display: none !important;
}

@media (max-width: 720px) {
  html body a.el-cta-mobile {
    display: inline-flex !important;
    visibility: visible !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    position: fixed !important;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    left: 16px !important;
    right: 84px !important; /* hueco para el WhatsApp circular (52 + gap) */
    z-index: 9998 !important;
    background: #EC4429 !important;
    color: #ffffff !important;
    padding: 16px 20px !important;
    border-radius: 999px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1 !important;
    text-align: center !important;
    box-shadow:
      0 14px 32px -10px rgba(236,68,41,0.6),
      0 0 0 1px rgba(255,255,255,0.12) inset,
      0 0 40px -10px rgba(236,68,41,0.5) !important;
    transition: background .3s ease, transform .25s ease, box-shadow .3s ease !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    border: 0 !important;
    /* Asegurar visibilidad sobre todo */
    will-change: transform !important;
  }
  html body a.el-cta-mobile:hover,
  html body a.el-cta-mobile:active {
    background: #c93521 !important;
    transform: translateY(-2px) !important;
    box-shadow:
      0 20px 40px -10px rgba(236,68,41,0.75),
      0 0 0 1px rgba(255,255,255,0.18) inset,
      0 0 60px -10px rgba(236,68,41,0.7) !important;
  }
  html body a.el-cta-mobile svg {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 auto !important;
  }

  /* Padding bottom extra al body en mobile · que no se solape el footer con los botones flotantes */
  html body {
    padding-bottom: 88px !important;
  }
}

/* ═══════════════════════════════════════
   E · Cookie consent compatible (cuando visible, los botones suben)
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body .cc:not([hidden]) ~ a.el-wa-floating,
  html body .cc.is-visible ~ a.el-wa-floating {
    bottom: calc(20px + env(safe-area-inset-bottom, 0px) + 120px) !important;
  }
  html body .cc:not([hidden]) ~ a.el-cta-mobile,
  html body .cc.is-visible ~ a.el-cta-mobile {
    bottom: calc(20px + env(safe-area-inset-bottom, 0px) + 120px) !important;
  }
}

/* END · PATCH 32 wa + cta mobile flotantes siempre visibles */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 33 · FIX FINAL flotantes + márgenes mobile + spacings reducidos
   A) WhatsApp ULTRA-fixed (nunca se oculta, ni transform, ni opacity)
   B) Márgenes laterales mobile bien respetados
   C) Reducir spacings excesivos entre secciones
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · WhatsApp · ULTRA-fixed override
   ═══════════════════════════════════════ */

/* Hammer máximo: cancelar cualquier transform / opacity / visibility */
html body a.el-wa-floating,
html body a.el-wa-floating.is-hidden,
html body a.el-wa-floating[hidden],
html body a.el-wa-floating[data-hidden="true"],
html body a.el-wa-floating[aria-hidden="true"],
html body a.el-wa-floating.hidden,
html body a.el-wa-floating.scroll-up,
html body a.el-wa-floating.scroll-down,
body.scroll-up a.el-wa-floating,
body.scroll-down a.el-wa-floating,
html.scroll-up body a.el-wa-floating,
html.scroll-down body a.el-wa-floating {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  pointer-events: auto !important;
  transform: translateY(0) translateX(0) !important;
  position: fixed !important;
  z-index: 9999 !important;
  filter: none !important;
}

/* Aplicar lo mismo al CTA mobile */
html body a.el-cta-mobile,
html body a.el-cta-mobile.is-hidden,
html body a.el-cta-mobile[hidden],
html body a.el-cta-mobile.hidden,
html body a.el-cta-mobile.scroll-up,
html body a.el-cta-mobile.scroll-down {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) translateX(0) !important;
  position: fixed !important;
  z-index: 9998 !important;
  filter: none !important;
}

/* ═══════════════════════════════════════
   B · MOBILE · márgenes bien respetados
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  /* WhatsApp · esquina derecha · margen claro */
  html body a.el-wa-floating {
    bottom: 18px !important;
    right: 16px !important;
    left: auto !important;
    top: auto !important;
    width: 52px !important;
    height: 52px !important;
    /* Asegurar visibilidad */
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* CTA "Solicitar mi plaza" · centrado · respeta el hueco del wa */
  html body a.el-cta-mobile {
    bottom: 18px !important;
    left: 16px !important;
    right: 84px !important;  /* 52 (wa) + 16 (gap) + 16 (margen wa) = 84 */
    top: auto !important;
    padding: 14px 18px !important;
    font-size: 11.5px !important;
    letter-spacing: 0.16em !important;
    /* Centrar el texto si el contenedor es ancho */
    text-align: center !important;
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* Cuando hay safe-area-inset-bottom (iPhone home indicator), añadir */
  @supports (bottom: env(safe-area-inset-bottom)) {
    html body a.el-wa-floating {
      bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }
    html body a.el-cta-mobile {
      bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }
  }
}


/* ═══════════════════════════════════════
   C · SPACINGS · reducir paddings excesivos entre secciones
   ═══════════════════════════════════════ */

/* Padding-Y unificado · menos extremo */
html body section.hv2-section { padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: clamp(48px, 6vw, 80px) !important; }
html body section.trust-marquee { padding-top: clamp(40px, 4vw, 56px) !important; padding-bottom: clamp(40px, 4vw, 56px) !important; }
html body section.dolor-v2 { padding-top: clamp(72px, 9vw, 120px) !important; padding-bottom: clamp(72px, 9vw, 120px) !important; }
html body section.overview-v3 { padding-top: clamp(80px, 10vw, 128px) !important; padding-bottom: clamp(80px, 10vw, 128px) !important; }
html body section.weeks-roadmap { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.ide-v2 { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.mentors-v2 { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.section-paper#resultados { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.offer-v3 { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.guarantee-v2,
html body section.injected-garantia.guarantee-v2 { padding-top: clamp(56px, 7vw, 88px) !important; padding-bottom: clamp(56px, 7vw, 88px) !important; }
html body section.encaje-v3,
html body section.section-cream.encaje-v3,
html body section.injected-audience.encaje-v3 { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.faq-v2,
html body section.section-cream.faq-v2 { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(72px, 9vw, 112px) !important; }
html body section.closing-v2,
html body section.injected-closing.closing-v2 { padding-top: clamp(72px, 9vw, 112px) !important; padding-bottom: clamp(80px, 10vw, 128px) !important; }

/* Reset margin-top de section consecutivas (evitar acumulación) */
html body section + section { margin-top: 0 !important; }
html body section + div + section { margin-top: 0 !important; }

/* Mobile: paddings aún más reducidos */
@media (max-width: 720px) {
  html body section.hv2-section { padding-top: 32px !important; padding-bottom: 48px !important; }
  html body section.trust-marquee { padding-top: 32px !important; padding-bottom: 32px !important; }
  html body section.dolor-v2,
  html body section.overview-v3,
  html body section.weeks-roadmap,
  html body section.ide-v2,
  html body section.mentors-v2,
  html body section.section-paper#resultados,
  html body section.offer-v3,
  html body section.encaje-v3,
  html body section.faq-v2 {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  html body section.guarantee-v2 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  html body section.closing-v2 {
    padding-top: 56px !important;
    padding-bottom: 96px !important; /* espacio extra para los botones flotantes */
  }

  /* Padding-bottom del body para los botones flotantes */
  html body {
    padding-bottom: 92px !important;
  }
}

/* END · PATCH 33 wa-fixed-final + márgenes-mobile + spacings-reducidos */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 34 · Tipografía global más grande + ocultar iconos parásitos
   A) Subir font-size de captions, tags, body text en TODA la web
   B) Ocultar iconos SVG decorativos que rompen layout (escudo, etc.)
   C) Compactar cards que se hicieron muy altas por iconos sueltos
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   B · OCULTAR ICONOS DECORATIVOS PROBLEMÁTICOS
   (escudo, reloj, gráficos que no aportan y rompen layout)
   ═══════════════════════════════════════ */

/* Iconos de "El caballo de Troya", "Automatizar el caos", "El ruido y el coste" */
html body section.dolor-v2 .dv2-card .dv2-icon,
html body section.dolor-v2 .dv2-icon,
html body section.dolor-v2 svg.dv2-icon {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* En su lugar, marca editorial discreta antes del título */
html body section.dolor-v2 .dv2-card h3 {
  position: relative !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Iconos de overview-v3 (ya estaban ocultos en patches anteriores, refuerzo) */
html body section.overview-v3 .ov3-phase-icon,
html body section.overview-v3 svg.ov3-phase-icon {
  display: none !important;
}


/* ═══════════════════════════════════════
   A · FONT-SIZES MÁS GRANDES en toda la web
   ═══════════════════════════════════════ */

/* ─── TAGS / KICKERS / EYEBROWS (mono uppercase) ─── */
html body section.section-paper#resultados .kicker,
html body section.section-paper#resultados .section-head .kicker,
html body section.mentors-v2 .mv2-kicker,
html body section.encaje-v3 .ev3-kicker,
html body section.dolor-v2 .dv2-kicker,
html body section.ide-v2 .ide-kicker,
html body section.overview-v3 .ov3-kicker,
html body section.weeks-roadmap .wr-kicker,
html body section.guarantee-v2 .gv2-kicker,
html body section.faq-v2 .fv2-kicker,
html body section.closing-v2 .cv2-kicker,
html body section.offer-v3 .ov3-kicker,
html body section.trust-marquee .tm-label {
  font-size: 12.5px !important;
  letter-spacing: 0.3em !important;
}

/* ─── BODY TEXT GLOBAL ─── */
html body p,
html body section p {
  font-size: clamp(15.5px, 1.15vw, 17.5px) !important;
}

/* ─── SUBTÍTULOS / INTROS de cabecera ─── */
html body section.overview-v3 .ov3-intro,
html body section.weeks-roadmap .wr-sub,
html body section.dolor-v2 .dv2-sub,
html body section.ide-v2 .ide-intro,
html body section.section-paper#resultados .section-head p {
  font-size: clamp(17px, 1.4vw, 20px) !important;
  line-height: 1.6 !important;
}


/* ═══════════════════════════════════════
   DOLOR-V2 · cards compactas + textos más legibles
   ═══════════════════════════════════════ */

/* Padding card más compacto sin icono */
html body section.dolor-v2 .dv2-card {
  padding: clamp(32px, 3.4vw, 44px) clamp(28px, 2.8vw, 36px) !important;
}

/* Título "El caballo de Troya" · empieza desde arriba */
html body section.dolor-v2 .dv2-card h3 {
  font-size: clamp(26px, 2.8vw, 36px) !important;
  margin: 0 0 20px 0 !important;
  padding-top: 8px !important;
}

/* Marca editorial discreta sobre el título · pseudo */
html body section.dolor-v2 .dv2-card h3::before {
  content: "✱" !important;
  display: block !important;
  position: absolute !important;
  top: -16px !important;
  left: 0 !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: rgba(236,68,41,0.55) !important;
  line-height: 1 !important;
  z-index: 1 !important;
}
html body section.dolor-v2 .dv2-card {
  position: relative !important;
}

/* Body text más legible */
html body section.dolor-v2 .dv2-card p {
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  line-height: 1.65 !important;
  margin: 0 0 14px 0 !important;
}


/* ═══════════════════════════════════════
   OVERVIEW-V3 · subir tamaño body text dentro de fases
   ═══════════════════════════════════════ */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  font-size: 14px !important;
}
html body section.overview-v3 .ov3-phase .desc {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.7 !important;
}
html body section.overview-v3 .ov3-phase li {
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  line-height: 1.65 !important;
  padding: 16px 0 16px 32px !important;
}


/* ═══════════════════════════════════════
   WEEKS-ROADMAP · textos más grandes
   ═══════════════════════════════════════ */
html body section.weeks-roadmap .wr-card .wr-week-tag {
  font-size: clamp(26px, 2.4vw, 32px) !important;
}
html body section.weeks-roadmap .wr-card h3 {
  font-size: clamp(20px, 1.8vw, 24px) !important;
  line-height: 1.2 !important;
}
html body section.weeks-roadmap .wr-card p {
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  line-height: 1.65 !important;
}


/* ═══════════════════════════════════════
   IDE-V2 · cards "filtramos el ruido"
   ═══════════════════════════════════════ */
html body section.ide-v2 .ide-card h3 {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.15 !important;
}
html body section.ide-v2 .ide-card p {
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  line-height: 1.65 !important;
}


/* ═══════════════════════════════════════
   MENTORES · textos más grandes
   ═══════════════════════════════════════ */
html body section.mentors-v2 .mv2-card > h3.mv2-name,
html body section.mentors-v2 .mv2-card > .mv2-name {
  font-size: clamp(24px, 2.1vw, 28px) !important;
}
html body section.mentors-v2 .mv2-card > .mv2-role {
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}


/* ═══════════════════════════════════════
   ENCAJE V3 · subir texto items
   ═══════════════════════════════════════ */
html body section.encaje-v3 .ev3-col h3 {
  font-size: clamp(22px, 2vw, 28px) !important;
}
html body section.encaje-v3 .ev3-list li {
  font-size: clamp(15.5px, 1.15vw, 17px) !important;
  line-height: 1.6 !important;
}
html body section.encaje-v3 .ev3-col-tag {
  font-size: 13px !important;
  letter-spacing: 0.22em !important;
}


/* ═══════════════════════════════════════
   FAQ · números, preguntas, respuestas
   ═══════════════════════════════════════ */
html body section.faq-v2 .fv2-num {
  font-size: 14px !important;
}
html body section.faq-v2 .fv2-q {
  font-size: clamp(16px, 1.3vw, 19px) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
html body section.faq-v2 .fv2-ans p {
  font-size: clamp(15.5px, 1.15vw, 17px) !important;
  line-height: 1.7 !important;
}
html body section.faq-v2 .fv2-ans ul li {
  font-size: 15px !important;
  line-height: 1.6 !important;
}


/* ═══════════════════════════════════════
   OFFER-V3 · subir tamaño de items features
   ═══════════════════════════════════════ */
html body section.offer-v3 .ov3-features h3 {
  font-size: clamp(22px, 2vw, 28px) !important;
}
html body section.offer-v3 .ov3-features h3 .duration {
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  padding: 6px 12px !important;
}
html body section.offer-v3 .ov3-features li {
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  line-height: 1.65 !important;
  padding: 14px 0 14px 30px !important;
}
html body section.offer-v3 .ov3-price-tag {
  font-size: 13px !important;
  letter-spacing: 0.32em !important;
}
html body section.offer-v3 .ov3-price-sub {
  font-size: 15px !important;
}
html body section.offer-v3 .ov3-fin-label {
  font-size: 11px !important;
}
html body section.offer-v3 .ov3-fin-body {
  font-size: 15.5px !important;
}
html body section.offer-v3 .ov3-cta {
  font-size: 13.5px !important;
  letter-spacing: 0.22em !important;
  padding: 22px 42px !important;
}
html body section.offer-v3 .ov3-microctas a {
  font-size: 13.5px !important;
}


/* ═══════════════════════════════════════
   TESTIMONIOS · subir tamaños dentro del marquee
   ═══════════════════════════════════════ */
html body section.section-paper#resultados .vid-tag {
  font-size: 11.5px !important;
  letter-spacing: 0.3em !important;
}
html body section.section-paper#resultados .vid-name {
  font-size: clamp(22px, 2vw, 28px) !important;
}
html body section.section-paper#resultados .vid-sector {
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  line-height: 1.4 !important;
}


/* ═══════════════════════════════════════
   FOOTER + Nav + texto general residual
   ═══════════════════════════════════════ */
html body .site-footer,
html body .footer-legal,
html body .footer-legal a,
html body .footer-legal span {
  font-size: 13px !important;
  letter-spacing: 0.02em !important;
}


/* ═══════════════════════════════════════
   MOBILE · todavía más legible
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body p,
  html body section p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  html body section.dolor-v2 .dv2-card h3 {
    font-size: 26px !important;
  }
  html body section.ide-v2 .ide-card h3 {
    font-size: 24px !important;
  }
  html body section.weeks-roadmap .wr-card .wr-week-tag {
    font-size: 26px !important;
  }
  html body section.weeks-roadmap .wr-card h3 {
    font-size: 20px !important;
  }
  html body section.faq-v2 .fv2-q {
    font-size: 16px !important;
  }
  html body section.offer-v3 .ov3-features h3 {
    font-size: 22px !important;
  }
  html body section.section-paper#resultados .vid-name {
    font-size: 22px !important;
  }
}

/* END · PATCH 34 fuentes más grandes + iconos parásitos fuera */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 35 · Asterisco INLINE en dolor-v2 + fuentes aún más grandes
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · DOLOR-V2 · asterisco al PRINCIPIO del título (inline)
   ═══════════════════════════════════════ */

/* Cancelar el pseudo absoluto del patch 34 */
html body section.dolor-v2 .dv2-card h3::before {
  content: "✱  " !important;
  display: inline !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-size: 0.82em !important;
  color: #EC4429 !important;
  opacity: 0.7 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: baseline !important;
  line-height: 1 !important;
}

/* Resetear padding-top que añadí para huequito del asterisco */
html body section.dolor-v2 .dv2-card h3 {
  padding-top: 0 !important;
}


/* ═══════════════════════════════════════
   B · FUENTES AÚN MÁS GRANDES
   ═══════════════════════════════════════ */

/* BODY TEXT global +1 punto */
html body p,
html body section p {
  font-size: clamp(17px, 1.25vw, 19px) !important;
  line-height: 1.65 !important;
}

/* TAGS / kickers · +1 punto */
html body section.section-paper#resultados .kicker,
html body section.section-paper#resultados .section-head .kicker,
html body section.mentors-v2 .mv2-kicker,
html body section.encaje-v3 .ev3-kicker,
html body section.dolor-v2 .dv2-kicker,
html body section.ide-v2 .ide-kicker,
html body section.overview-v3 .ov3-kicker,
html body section.weeks-roadmap .wr-kicker,
html body section.guarantee-v2 .gv2-kicker,
html body section.faq-v2 .fv2-kicker,
html body section.closing-v2 .cv2-kicker,
html body section.offer-v3 .ov3-kicker,
html body section.trust-marquee .tm-label {
  font-size: 13.5px !important;
  letter-spacing: 0.28em !important;
}

/* INTROS / subtítulos +1 punto */
html body section.overview-v3 .ov3-intro,
html body section.weeks-roadmap .wr-sub,
html body section.dolor-v2 .dv2-sub,
html body section.ide-v2 .ide-intro,
html body section.section-paper#resultados .section-head p {
  font-size: clamp(18px, 1.5vw, 22px) !important;
  line-height: 1.55 !important;
}

/* ═══════════════════════════════════════
   POR SECCIÓN · valores específicos
   ═══════════════════════════════════════ */

/* Dolor */
html body section.dolor-v2 .dv2-card h3 {
  font-size: clamp(28px, 3vw, 38px) !important;
}
html body section.dolor-v2 .dv2-card p {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.65 !important;
}

/* Overview · fases */
html body section.overview-v3 .ov3-phase .ov3-phase-tag {
  font-size: 15px !important;
}
html body section.overview-v3 .ov3-phase .desc {
  font-size: clamp(17px, 1.3vw, 19px) !important;
}
html body section.overview-v3 .ov3-phase li {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.6 !important;
}

/* Weeks roadmap */
html body section.weeks-roadmap .wr-card .wr-week-tag {
  font-size: clamp(28px, 2.6vw, 36px) !important;
}
html body section.weeks-roadmap .wr-card h3 {
  font-size: clamp(22px, 2vw, 26px) !important;
}
html body section.weeks-roadmap .wr-card p {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.6 !important;
}

/* IDE */
html body section.ide-v2 .ide-card h3 {
  font-size: clamp(26px, 2.6vw, 34px) !important;
}
html body section.ide-v2 .ide-card p {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.65 !important;
}

/* Mentores */
html body section.mentors-v2 .mv2-card > h3.mv2-name,
html body section.mentors-v2 .mv2-card > .mv2-name {
  font-size: clamp(26px, 2.2vw, 30px) !important;
}
html body section.mentors-v2 .mv2-card > .mv2-role {
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
}
html body section.mentors-v2 .mv2-card .mv2-credentials li {
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}

/* Encaje */
html body section.encaje-v3 .ev3-col h3 {
  font-size: clamp(24px, 2.2vw, 30px) !important;
}
html body section.encaje-v3 .ev3-list li {
  font-size: clamp(16.5px, 1.25vw, 18.5px) !important;
  line-height: 1.6 !important;
}
html body section.encaje-v3 .ev3-col-tag {
  font-size: 14px !important;
  letter-spacing: 0.22em !important;
}

/* FAQ */
html body section.faq-v2 .fv2-num {
  font-size: 15px !important;
}
html body section.faq-v2 .fv2-q {
  font-size: clamp(17.5px, 1.4vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
html body section.faq-v2 .fv2-ans p {
  font-size: clamp(16.5px, 1.25vw, 18.5px) !important;
  line-height: 1.65 !important;
}
html body section.faq-v2 .fv2-ans ul li {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Offer */
html body section.offer-v3 .ov3-features h3 {
  font-size: clamp(24px, 2.2vw, 30px) !important;
}
html body section.offer-v3 .ov3-features h3 .duration {
  font-size: 13px !important;
  letter-spacing: 0.22em !important;
  padding: 7px 14px !important;
}
html body section.offer-v3 .ov3-features li {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.65 !important;
}
html body section.offer-v3 .ov3-price-tag {
  font-size: 14px !important;
}
html body section.offer-v3 .ov3-price-sub {
  font-size: 16px !important;
}
html body section.offer-v3 .ov3-fin-label {
  font-size: 12px !important;
}
html body section.offer-v3 .ov3-fin-body {
  font-size: 17px !important;
}
html body section.offer-v3 .ov3-cta {
  font-size: 14.5px !important;
  padding: 24px 44px !important;
}
html body section.offer-v3 .ov3-microctas a {
  font-size: 14.5px !important;
  padding: 16px 20px !important;
}

/* Testimonios marquee */
html body section.section-paper#resultados .vid-tag {
  font-size: 12.5px !important;
  letter-spacing: 0.26em !important;
}
html body section.section-paper#resultados .vid-name {
  font-size: clamp(24px, 2.2vw, 30px) !important;
}
html body section.section-paper#resultados .vid-sector {
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
}

/* Logos eyebrow "DIRECTIVOS DE ESTAS EMPRESAS..." */
html body section.trust-marquee .tm-label {
  font-size: 13.5px !important;
}

/* Footer */
html body .site-footer,
html body .footer-legal,
html body .footer-legal a,
html body .footer-legal span {
  font-size: 14px !important;
}


/* ═══════════════════════════════════════
   MOBILE · más generoso
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body p,
  html body section p {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }
  html body section.dolor-v2 .dv2-card h3 {
    font-size: 28px !important;
  }
  html body section.ide-v2 .ide-card h3 {
    font-size: 26px !important;
  }
  html body section.weeks-roadmap .wr-card .wr-week-tag {
    font-size: 28px !important;
  }
  html body section.weeks-roadmap .wr-card h3 {
    font-size: 22px !important;
  }
  html body section.faq-v2 .fv2-q {
    font-size: 17px !important;
  }
  html body section.offer-v3 .ov3-features h3 {
    font-size: 24px !important;
  }
  html body section.section-paper#resultados .vid-name {
    font-size: 24px !important;
  }
}

/* END · PATCH 35 asterisco-inline + fuentes +1 punto */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 36 · OFFER-V3 · 2 botones principales en columna de precio
   · "Solicitar mi plaza" · primary sólido naranja (igual que antes)
   · "Compra directa" · secondary outline naranja (mismo tamaño)
   · WhatsApp microcta · ELIMINADO
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Container de microctas · stack vertical, ancho total ── */
html body section.offer-v3 .ov3-microctas {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 14px auto 0 !important;
  width: 100% !important;
  max-width: 360px !important;
  align-items: stretch !important;
}

/* ── 1er microcta = "Compra directa" · OUTLINE secondary ── */
html body section.offer-v3 .ov3-microctas a:first-child,
html body section.offer-v3 .ov3-microctas a:nth-child(1) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  background: transparent !important;
  color: #EC4429 !important;
  padding: 20px 36px !important;
  border-radius: 999px !important;
  border: 2px solid #EC4429 !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background .3s ease, color .3s ease, transform .25s ease, box-shadow .3s ease, border-color .3s ease !important;
  box-shadow:
    0 12px 28px -14px rgba(236,68,41,0.32),
    0 0 0 1px rgba(236,68,41,0) inset !important;
  text-align: center !important;
  line-height: 1 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Cambiar el texto del primer microcta (sustituir pregunta+strong por texto limpio) */
html body section.offer-v3 .ov3-microctas a:first-child {
  font-size: 0 !important;  /* ocultar texto original "¿Lo tienes claro? Compra directa →" */
}
html body section.offer-v3 .ov3-microctas a:first-child::before {
  content: "Compra directa" !important;
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: inherit !important;
  line-height: 1 !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.offer-v3 .ov3-microctas a:first-child::after {
  content: "→" !important;
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 15px !important;
  margin-left: 12px !important;
  color: inherit !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transition: transform .3s ease !important;
}

/* Asegurar que cualquier strong/span/etc dentro queden ocultos */
html body section.offer-v3 .ov3-microctas a:first-child * {
  display: none !important;
}

/* Cancelar la banda vertical naranja del patch 28 (era para tipo card) */
html body section.offer-v3 .ov3-microctas a::before {
  /* el ::before lo redefinimos arriba sólo en a:first-child */
}
html body section.offer-v3 .ov3-microctas a:first-child::before {
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Hover · invertir colores (background naranja, text blanco) */
html body section.offer-v3 .ov3-microctas a:first-child:hover {
  background: #EC4429 !important;
  color: #ffffff !important;
  border-color: #EC4429 !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 18px 42px -14px rgba(236,68,41,0.55),
    0 0 0 1px rgba(255,255,255,0.12) inset,
    0 0 60px -20px rgba(236,68,41,0.5) !important;
}
html body section.offer-v3 .ov3-microctas a:first-child:hover::after {
  transform: translateX(4px) !important;
}


/* ── 2do microcta = "WhatsApp" · ELIMINADO ── */
html body section.offer-v3 .ov3-microctas a:nth-child(2),
html body section.offer-v3 .ov3-microctas a:last-child {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}


/* ── Ajustar el CTA primario para que sea coherente con el secundario ── */
html body section.offer-v3 .ov3-cta {
  padding: 22px 40px !important;
  font-size: 13.5px !important;
  letter-spacing: 0.22em !important;
  width: 100% !important;
  max-width: 360px !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
}

/* END · PATCH 36 offer · 2 botones principales + wa fuera */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 37 · LOGOS reales en trust-marquee
   · Hespérides, Andorra Telecom, FEDA
   · Filter para que los 3 (amarillo/magenta/multicolor) salgan blancos
   ═══════════════════════════════════════════════════════════════════════ */

/* Items que contienen <img> · sin borde dashed */
html body section.trust-marquee .tm-item:has(img) {
  border: 0 !important;
  background: transparent !important;
  padding: 0 12px !important;
  min-width: 160px !important;
  height: 68px !important;
}

/* Imágenes de logos · normalizadas a blanco sobre dark */
html body section.trust-marquee .tm-item img {
  max-height: 48px !important;
  max-width: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 0.75 !important;
  filter: brightness(0) invert(1) opacity(0.75) !important;
  transition: filter .3s ease, opacity .3s ease, transform .3s ease !important;
}

/* Hover: logos a 100% blanco con sutil scale */
html body section.trust-marquee .tm-item:hover img {
  opacity: 1 !important;
  filter: brightness(0) invert(1) opacity(1) !important;
  transform: scale(1.04) !important;
}
html body section.trust-marquee .tm-item:has(img):hover {
  border: 0 !important;
}

/* Mobile · logos un pelín más pequeños */
@media (max-width: 720px) {
  html body section.trust-marquee .tm-item img {
    max-height: 36px !important;
    max-width: 130px !important;
  }
  html body section.trust-marquee .tm-item:has(img) {
    height: 52px !important;
    min-width: 130px !important;
  }
}

/* END · PATCH 37 logos reales filter blanco */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 38 · LOGOS · colores ORIGINALES + más grandes + tarjeta
   · Quitar el filter blanco
   · Mostrar cada logo con sus colores reales (amarillo / magenta / blanco)
   · Tamaño grande
   · Border-radius para suavizar el cuadrado
   ═══════════════════════════════════════════════════════════════════════ */

/* Items con <img> · tarjetas con borde sutil para que respiren sobre el dark */
html body section.trust-marquee .tm-item:has(img) {
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.02) !important;
  padding: 8px 14px !important;
  min-width: 200px !important;
  height: 96px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: border-color .3s ease, transform .3s ease !important;
}
html body section.trust-marquee .tm-item:has(img):hover {
  border-color: rgba(255,122,94,0.4) !important;
  transform: scale(1.04) !important;
}

/* Imágenes · colores originales, sin filter, más grandes */
html body section.trust-marquee .tm-item img {
  max-height: 72px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  border-radius: 8px !important;
  display: block !important;
  transition: transform .3s ease !important;
}
html body section.trust-marquee .tm-item:hover img {
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
}

/* Mobile · ajustar tamaño */
@media (max-width: 720px) {
  html body section.trust-marquee .tm-item:has(img) {
    height: 72px !important;
    min-width: 150px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
  }
  html body section.trust-marquee .tm-item img {
    max-height: 52px !important;
    max-width: 150px !important;
    border-radius: 6px !important;
  }
}

/* END · PATCH 38 logos colores originales + grandes */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 39 · Eyebrows fases del programa MÁS GRANDES
   "4 semanas en directo" / "12 meses de I+D externo" son las 2 fases
   del programa, tienen que pesar mucho más visualmente
   ═══════════════════════════════════════════════════════════════════════ */

/* "4 semanas en directo" · sobre weeks-roadmap */
html body section.weeks-roadmap .wr-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #EC4429 !important;
  margin-bottom: 24px !important;
  line-height: 1.1 !important;
}
html body section.weeks-roadmap .wr-kicker::before,
html body section.weeks-roadmap .wr-kicker::after {
  content: "" !important;
  display: inline-block !important;
  width: 36px !important;
  height: 2px !important;
  background: #EC4429 !important;
}

/* "12 meses de I+D externo" · sobre ide-v2 */
html body section.ide-v2 .ide-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-family: 'DM Serif Display', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #ff7a5e !important;
  margin-bottom: 24px !important;
  line-height: 1.1 !important;
}
html body section.ide-v2 .ide-kicker::before,
html body section.ide-v2 .ide-kicker::after {
  content: "" !important;
  display: inline-block !important;
  width: 36px !important;
  height: 2px !important;
  background: #ff7a5e !important;
}

/* Mobile · un pelín más pequeño pero aún protagonista */
@media (max-width: 720px) {
  html body section.weeks-roadmap .wr-kicker,
  html body section.ide-v2 .ide-kicker {
    font-size: clamp(24px, 6vw, 32px) !important;
    gap: 10px !important;
  }
  html body section.weeks-roadmap .wr-kicker::before,
  html body section.weeks-roadmap .wr-kicker::after,
  html body section.ide-v2 .ide-kicker::before,
  html body section.ide-v2 .ide-kicker::after {
    width: 24px !important;
  }
}

/* END · PATCH 39 eyebrows fases del programa monumentales */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 40 · Nav no-sticky mobile + scroll-margin para CTA precio
   ═══════════════════════════════════════════════════════════════════════ */

/* Nav superior · en MÓVIL no sticky (en desktop sigue fijo) */
@media (max-width: 720px) {
  html body header,
  html body header.site-header,
  html body header[class*="header"],
  html body .site-header,
  html body nav.site-header,
  html body .nav-wrap {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
  }
}

/* CTA "Solicitar plaza" / "Inversión" / "Solicitar acceso"
   ahora apunta a #precio (la .ov3-card)
   Le damos un scroll-margin-top NEGATIVO para que al saltar
   se vea bien el card de pricing (sin que la cabecera de la
   sección lo tape) */
html body #precio {
  scroll-margin-top: 40px !important;
}

/* En mobile, scroll-margin-top más generoso */
@media (max-width: 720px) {
  html body #precio {
    scroll-margin-top: 24px !important;
  }
}

/* Smooth scroll global · suaviza el salto */
html {
  scroll-behavior: smooth !important;
}

/* END · PATCH 40 nav mobile + scroll a precio */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 41 · NAVEGACIÓN MOBILE RESPONSIVE · disciplina UI/UX-pro-max
   ───────────────────────────────────────────────────────────────────────
   PRINCIPIOS APLICADOS:
   · Touch targets ≥ 44px (Apple HIG) en todos los botones flotantes
   · No horizontal scroll en NINGÚN viewport
   · Iconos SVG inline (no background-image que se rompen al volver)
   · Tabular numerals consistentes
   · Letter-spacing balanced
   · Performance: backdrop-filter solo donde aporta
   · Estados focus/active accesibles
   · Safe areas iPhone respetadas (notch + home indicator)
   ───────────────────────────────────────────────────────────────────────
   FIX CRÍTICOS:
   1) WhatsApp icon: pasado de background-image a <svg> inline (no se borra)
   2) Horizontal overflow: bloqueado a nivel html/body
   3) Touch targets garantizados ≥48px
   4) iOS safe-area-inset respetado
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   A · BLOQUEO de scroll horizontal global
   ═══════════════════════════════════════ */
html,
html body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
  position: relative !important;
}

/* Prevenir elementos sobresalientes en mobile */
@media (max-width: 720px) {
  html body section,
  html body section > * {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  /* Imgs y media nunca sobresalen */
  html body img,
  html body video,
  html body iframe {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ═══════════════════════════════════════
   B · WHATSAPP FLOATING · SVG inline robusto
   El SVG real dentro del <a> NO se borra al volver a la página
   (a diferencia del background-image que sufría en iOS Safari)
   ═══════════════════════════════════════ */

/* Cancelar el background-image SVG anterior (que se rompía) */
html body a.el-wa-floating {
  background-image: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  text-indent: 0 !important;
}

/* Reset display de hijos: SVG e span coexisten */
html body a.el-wa-floating .el-wa-icon,
html body a.el-wa-floating svg.el-wa-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  fill: currentColor !important;
}

/* ── DESKTOP: pill texto + icono pequeño ── */
@media (min-width: 721px) {
  html body a.el-wa-floating {
    bottom: 24px !important;
    right: 24px !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 48px !important;
    background: #25D366 !important;
    background-color: #25D366 !important;
    color: #ffffff !important;
    padding: 14px 22px 14px 18px !important;
    border-radius: 999px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease !important;
    box-shadow:
      0 12px 32px -10px rgba(37,211,102,0.55),
      0 0 0 1px rgba(255,255,255,0.12) inset !important;
    font-size: 13.5px !important;
  }
  html body a.el-wa-floating svg.el-wa-icon {
    width: 20px !important;
    height: 20px !important;
    color: #ffffff !important;
    fill: #ffffff !important;
  }
  html body a.el-wa-floating .el-wa-text {
    display: inline-block !important;
    font-size: 13.5px !important;
    color: #ffffff !important;
    line-height: 1 !important;
  }
  html body a.el-wa-floating:hover {
    background-color: #1ebe5d !important;
    transform: translateY(-2px) !important;
    box-shadow:
      0 18px 42px -10px rgba(37,211,102,0.7),
      0 0 0 1px rgba(255,255,255,0.18) inset !important;
  }
}

/* ── MOBILE: círculo solo con icono ── */
@media (max-width: 720px) {
  html body a.el-wa-floating {
    position: fixed !important;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(16px + env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
    top: auto !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    border-radius: 50% !important;
    background: #25D366 !important;
    background-color: #25D366 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-shadow:
      0 8px 24px -6px rgba(37,211,102,0.55),
      0 0 0 1px rgba(255,255,255,0.15) inset !important;
    z-index: 9999 !important;
    transform: none !important;
    /* SVG inline siempre visible */
    background-image: none !important;
  }
  html body a.el-wa-floating svg.el-wa-icon {
    width: 28px !important;
    height: 28px !important;
    color: #ffffff !important;
    fill: #ffffff !important;
    display: block !important;
    flex-shrink: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Ocultar el texto en mobile */
  html body a.el-wa-floating .el-wa-text {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body a.el-wa-floating:hover,
  html body a.el-wa-floating:active,
  html body a.el-wa-floating:focus,
  html body a.el-wa-floating:visited {
    background-color: #1ebe5d !important;
    color: #ffffff !important;
  }
  html body a.el-wa-floating:hover svg,
  html body a.el-wa-floating:active svg,
  html body a.el-wa-floating:focus svg,
  html body a.el-wa-floating:visited svg {
    fill: #ffffff !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }
}


/* ═══════════════════════════════════════
   C · CTA "Solicitar plaza" mobile · robusto
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body a.el-cta-mobile {
    bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    left: calc(16px + env(safe-area-inset-left, 0px)) !important;
    right: calc(84px + env(safe-area-inset-right, 0px)) !important;
    top: auto !important;
    position: fixed !important;
    z-index: 9998 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 14px 20px !important;
    background: #EC4429 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 999px !important;
    border: 0 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    text-align: center !important;
    box-shadow:
      0 14px 32px -10px rgba(236,68,41,0.6),
      0 0 0 1px rgba(255,255,255,0.12) inset,
      0 0 40px -10px rgba(236,68,41,0.5) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    /* Truncar texto si fuera necesario · pero no se romperá */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html body a.el-cta-mobile svg {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    stroke: #ffffff !important;
  }
}


/* ═══════════════════════════════════════
   D · NAV SUPERIOR mobile · sin sticky + mejor toque
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body header,
  html body header.site-header,
  html body .site-header {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
  }
  /* Links del nav · touch targets ≥44px */
  html body header a,
  html body .site-header a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  /* Toggle mobile · touch target garantizado */
  html body .nav-toggle {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}


/* ═══════════════════════════════════════
   E · TOUCH TARGETS globales ≥44px en mobile
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body a.ov3-cta,
  html body a.hv2-cta,
  html body a.cv2-cta,
  html body button.vid-btn,
  html body button.vid-dot {
    min-height: 44px !important;
  }
}


/* ═══════════════════════════════════════
   F · MARQUEE de logos · prevenir overflow
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body section.trust-marquee {
    overflow: hidden !important;
    max-width: 100vw !important;
  }
  html body section.trust-marquee .tm-viewport {
    overflow: hidden !important;
    max-width: 100vw !important;
  }
}


/* ═══════════════════════════════════════
   G · TESTIMONIOS marquee · prevenir overflow
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body section.section-paper#resultados {
    overflow: hidden !important;
    max-width: 100vw !important;
  }
  html body section.section-paper#resultados .vid-carousel {
    overflow: hidden !important;
    max-width: 100vw !important;
  }
}


/* ═══════════════════════════════════════
   H · SECTION HEADS · padding contención
   ═══════════════════════════════════════ */
@media (max-width: 720px) {
  html body h1,
  html body h2,
  html body h3 {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
  }
}


/* ═══════════════════════════════════════
   I · FOCUS states accesibles
   ═══════════════════════════════════════ */
html body a:focus-visible,
html body button:focus-visible {
  outline: 2px solid #EC4429 !important;
  outline-offset: 3px !important;
  border-radius: 4px;
}
/* Botones flotantes · focus ring distinct */
html body a.el-wa-floating:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}
html body a.el-cta-mobile:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}

/* END · PATCH 41 navegación móvil responsive + WA icon SVG robusto */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 42 · FIX duplicación icono WhatsApp en desktop
   El ::before antiguo del PATCH inicial seguía añadiendo otro icono.
   ═══════════════════════════════════════════════════════════════════════ */

html body a.el-wa-floating::before,
html body .el-wa-floating::before,
html body a.el-wa-floating::after,
html body .el-wa-floating::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  visibility: hidden !important;
}

/* END · PATCH 42 fix WA icon duplicado desktop */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 43 · Fotos reales de mentores + videos testimonios
   · .mv2-photo · img object-fit cover
   · Sobre la foto, asterisco placeholder OFF cuando hay <img>
   · .vid-video · video tag con object-fit cover
   ═══════════════════════════════════════════════════════════════════════ */

/* Fotos de mentores · cuando .mv2-photo contiene <img>, ocupa todo el frame */
html body section.mentors-v2 .mv2-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cuando hay <img>, ocultar el asterisco placeholder y el texto [foto] */
html body section.mentors-v2 .mv2-photo:has(img)::before,
html body section.mentors-v2 .mv2-photo:has(img)::after {
  display: none !important;
  content: none !important;
}
html body section.mentors-v2 .mv2-photo:has(img) {
  font-size: 0 !important; /* oculta texto residual */
}

/* Videos de testimonios · object-fit cover dentro del .vid-video */
html body section.section-paper#resultados .vid-video video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  background: #050505 !important;
  border-radius: 4px !important;
}

/* Cuando hay <video>, ocultar placeholder */
html body section.section-paper#resultados .vid-video:has(video) .vid-placeholder {
  display: none !important;
}

/* END · PATCH 43 fotos profes + videos testimonios */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 44 · Testimonios · flechas BIEN VISIBLES + sin auto-scroll
   El marquee ya NO se mueve solo (controlado en JS).
   Solo necesitamos que las flechas se vean y se usen claramente.
   ═══════════════════════════════════════════════════════════════════════ */

/* Flechas · MÁS GRANDES, MÁS BLANCAS, MÁS VISIBLES */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  width: 64px !important;
  height: 64px !important;
  border: 2px solid #ffffff !important;
  background: rgba(255,255,255,0.10) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  color: #ffffff !important;
  box-shadow:
    0 12px 32px -8px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,0.15) inset,
    0 0 40px -10px rgba(255,255,255,0.2) !important;
  cursor: pointer !important;
  transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease !important;
  z-index: 25 !important;
}

/* Iconos · más grandes y bien blancos */
html body section.section-paper#resultados .vid-carousel .vid-btn svg {
  width: 24px !important;
  height: 24px !important;
  stroke: #ffffff !important;
  stroke-width: 2.4 !important;
  fill: none !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4)) !important;
}

/* Hover · naranja Executive */
html body section.section-paper#resultados .vid-carousel .vid-btn:hover {
  background: #EC4429 !important;
  border-color: #EC4429 !important;
  color: #ffffff !important;
  box-shadow:
    0 16px 40px -8px rgba(236,68,41,0.55),
    0 0 0 1px rgba(255,255,255,0.2) inset,
    0 0 60px -10px rgba(236,68,41,0.5) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-prev:hover {
  transform: translateY(-50%) scale(1.08) translateX(-2px) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-next:hover {
  transform: translateY(-50%) scale(1.08) translateX(2px) !important;
}

/* Active (click) · feedback claro */
html body section.section-paper#resultados .vid-carousel .vid-btn:active {
  background: #c93521 !important;
  transform: translateY(-50%) scale(0.96) !important;
}

/* Posición · más separadas para no tapar contenido */
html body section.section-paper#resultados .vid-carousel .vid-prev {
  left: clamp(8px, 2vw, 24px) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-next {
  right: clamp(8px, 2vw, 24px) !important;
}

/* Mobile · ajustar tamaño */
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-carousel .vid-btn,
  html body section.section-paper#resultados .vid-carousel .vid-prev,
  html body section.section-paper#resultados .vid-carousel .vid-next {
    width: 48px !important;
    height: 48px !important;
    border-width: 1.5px !important;
  }
  html body section.section-paper#resultados .vid-carousel .vid-btn svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Ajustar también el padding del carousel para hueco de flechas */
html body section.section-paper#resultados .vid-carousel {
  padding: 0 80px !important;
}
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-carousel {
    padding: 0 64px !important;
  }
}

/* END · PATCH 44 flechas testimonios visibles + sin auto-scroll */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 45 · Flechas POR ENCIMA del fade vintage + videos clickeables
   1) Flechas z-index 100 (por encima de gradients laterales)
   2) Gradients vintage con pointer-events: none (no bloquean clicks)
   3) Video tag con pointer-events: auto y z-index correcto
   ═══════════════════════════════════════════════════════════════════════ */

/* Gradients laterales del marquee · NUNCA bloquean clicks */
html body section.section-paper#resultados .vid-carousel::before,
html body section.section-paper#resultados .vid-carousel::after {
  pointer-events: none !important;
  z-index: 4 !important;
}

/* Flechas · MUY por encima de TODO */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  z-index: 100 !important;
  pointer-events: auto !important;
  position: absolute !important;
}

/* Video · clickeable y sin elementos encima */
html body section.section-paper#resultados .vid-video {
  pointer-events: auto !important;
  z-index: 2 !important;
  position: relative !important;
}
html body section.section-paper#resultados .vid-video video {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 3 !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}

/* Asegurar que los placeholders ocultos no bloquean clicks */
html body section.section-paper#resultados .vid-placeholder,
html body section.section-paper#resultados .vid-c,
html body section.section-paper#resultados .vid-c-tl,
html body section.section-paper#resultados .vid-c-tr,
html body section.section-paper#resultados .vid-c-bl,
html body section.section-paper#resultados .vid-c-br {
  pointer-events: none !important;
}

/* Slides · permiten clicks en sus hijos */
html body section.section-paper#resultados .vid-slide,
html body section.section-paper#resultados .vid-carousel .vid-slide {
  pointer-events: auto !important;
}

/* END · PATCH 45 flechas encima fade + videos clickeables */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 46 · MODAL POPUP testimonios + flechas con fondo sólido naranja
   ═══════════════════════════════════════════════════════════════════════ */

/* ════ FLECHAS · fondo naranja sólido (destacan SIEMPRE sobre cualquier fade) ════ */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  background: #EC4429 !important;
  background-color: #EC4429 !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    0 16px 40px -8px rgba(0,0,0,0.5),
    0 0 0 1px rgba(255,255,255,0.25) inset,
    0 0 32px -4px rgba(236,68,41,0.6) !important;
  z-index: 150 !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn:hover {
  background: #c93521 !important;
  background-color: #c93521 !important;
  border-color: #ffffff !important;
  box-shadow:
    0 20px 48px -8px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,0.35) inset,
    0 0 60px -4px rgba(236,68,41,0.8) !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn:active {
  background: #b02e1a !important;
}
html body section.section-paper#resultados .vid-carousel .vid-btn svg {
  stroke: #ffffff !important;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.4)) !important;
}

/* Gradient laterales · pointer-events none ya pero asegurar z-index bajo */
html body section.section-paper#resultados .vid-carousel::before,
html body section.section-paper#resultados .vid-carousel::after {
  z-index: 3 !important;
  pointer-events: none !important;
}

/* Videos del marquee · cursor pointer pero NO play directo (lo intercepta el JS) */
html body section.section-paper#resultados .vid-video video {
  pointer-events: auto !important;
  cursor: pointer !important;
}
/* Ocultar controles nativos en el marquee · se reproduce en modal */
html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video video {
  pointer-events: none !important; /* el click lo capta el slide entero */
}
html body section.section-paper#resultados .vid-carousel .vid-slide {
  cursor: pointer !important;
}
/* Indicador visual play sobre cada slide del marquee */
html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video {
  position: relative !important;
  cursor: pointer !important;
}
html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at center, rgba(0,0,0,0) 30%, rgba(0,0,0,0.25) 100%),
    rgba(0,0,0,0.1) !important;
  pointer-events: none !important;
  z-index: 2 !important;
  transition: background .3s ease !important;
}
html body section.section-paper#resultados .vid-carousel .vid-slide:hover .vid-video::after {
  background:
    radial-gradient(circle at center, rgba(236,68,41,0.1) 30%, rgba(0,0,0,0.4) 100%),
    rgba(0,0,0,0.2) !important;
}
/* Botón play overlay en cada video del marquee */
html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video::before {
  content: "▶" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 60px !important;
  height: 60px !important;
  background: #EC4429 !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  line-height: 60px !important;
  text-align: center !important;
  z-index: 3 !important;
  box-shadow:
    0 8px 24px -4px rgba(0,0,0,0.5),
    0 0 0 4px rgba(255,255,255,0.15),
    0 0 40px -8px rgba(236,68,41,0.7) !important;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), background .3s ease !important;
  pointer-events: none !important;
  padding-left: 4px !important;
  box-sizing: border-box !important;
}
html body section.section-paper#resultados .vid-carousel .vid-slide:hover .vid-video::before {
  transform: translate(-50%, -50%) scale(1.12) !important;
  background: #ff7a5e !important;
}


/* ════ MODAL VIDEO POPUP ════ */
html body .el-vidmodal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: rgba(0, 0, 0, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .35s ease, visibility .35s ease !important;
  pointer-events: none !important;
}
html body .el-vidmodal[aria-hidden="false"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

html body .el-vidmodal-inner {
  position: relative !important;
  max-width: min(560px, 92vw) !important;
  max-height: 90vh !important;
  width: auto !important;
  aspect-ratio: 9 / 16 !important;
  background: #000000 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow:
    0 32px 80px -16px rgba(0,0,0,0.7),
    0 0 80px -16px rgba(236,68,41,0.3),
    0 0 0 1px rgba(255,255,255,0.08) inset !important;
  transform: scale(0.92) !important;
  transition: transform .4s cubic-bezier(.2,.7,.2,1) !important;
}
html body .el-vidmodal[aria-hidden="false"] .el-vidmodal-inner {
  transform: scale(1) !important;
}

html body .el-vidmodal-video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  background: #000000 !important;
  object-fit: contain !important;
}

html body .el-vidmodal-close {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.7) !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 100001 !important;
  transition: background .25s ease, transform .25s ease, border-color .25s ease !important;
  padding: 0 !important;
  box-shadow:
    0 8px 24px -4px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,0.1) inset !important;
}
html body .el-vidmodal-close:hover {
  background: #EC4429 !important;
  border-color: #EC4429 !important;
  transform: scale(1.08) !important;
}
html body .el-vidmodal-close svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #ffffff !important;
}

/* Mobile · modal full width */
@media (max-width: 720px) {
  html body .el-vidmodal {
    padding: 16px !important;
  }
  html body .el-vidmodal-inner {
    max-width: 100vw !important;
    border-radius: 8px !important;
  }
  html body .el-vidmodal-close {
    width: 44px !important;
    height: 44px !important;
    top: 16px !important;
    right: 16px !important;
  }
  html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video::before {
    width: 48px !important;
    height: 48px !important;
    font-size: 18px !important;
  }
}

/* END · PATCH 46 modal popup + flechas naranja sólido + play overlays */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 47 · Modal · NO fullscreen + click-to-play + play icon overlay
   ═══════════════════════════════════════════════════════════════════════ */

/* Bloqueo visual del botón fullscreen nativo (Chrome/Safari/Firefox) */
html body .el-vidmodal-video::-webkit-media-controls-fullscreen-button {
  display: none !important;
  -webkit-appearance: none !important;
}
html body .el-vidmodal-video::-webkit-media-controls-overlay-enclosure {
  display: none !important;
}
/* iOS · esconder badge fullscreen */
html body .el-vidmodal-video {
  -webkit-user-select: none !important;
  user-select: none !important;
}
/* Asegurar que el video del modal no entra en fullscreen */
html body .el-vidmodal-video:fullscreen {
  position: absolute !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
}

/* Video del modal · cursor pointer (toggle play/pause) */
html body .el-vidmodal-video {
  cursor: pointer !important;
}

/* Play icon overlay · grande y central · aparece solo cuando paused */
html body .el-vidmodal-playicon {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(1) !important;
  width: 88px !important;
  height: 88px !important;
  background: rgba(236,68,41,0.95) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 100 !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .25s ease, transform .25s ease, background .25s ease !important;
  box-shadow:
    0 12px 40px -6px rgba(0,0,0,0.5),
    0 0 0 5px rgba(255,255,255,0.18),
    0 0 60px -10px rgba(236,68,41,0.7) !important;
}
html body .el-vidmodal-playicon svg {
  width: 36px !important;
  height: 36px !important;
  fill: #ffffff !important;
  margin-left: 5px !important;
}
html body .el-vidmodal-playicon:hover {
  background: #ff7a5e !important;
  transform: translate(-50%, -50%) scale(1.08) !important;
}

/* Mostrar play icon SOLO cuando is-paused */
html body .el-vidmodal.is-paused .el-vidmodal-playicon {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Mobile · play icon más pequeño */
@media (max-width: 720px) {
  html body .el-vidmodal-playicon {
    width: 72px !important;
    height: 72px !important;
  }
  html body .el-vidmodal-playicon svg {
    width: 28px !important;
    height: 28px !important;
  }
}

/* END · PATCH 47 modal sin fullscreen + click-to-play + play icon overlay */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 48 · FLECHAS FUERA del carousel · NUNCA tapadas por vintage fade
   Las flechas ahora viven en el .container (padre del carousel)
   con position absolute. Como NO están dentro del .vid-carousel
   (que tiene los gradients ::before/::after), nada las puede oscurecer.
   ═══════════════════════════════════════════════════════════════════════ */

/* Reglas viejas para flechas DENTRO del carousel · neutralizadas */
html body section.section-paper#resultados .vid-carousel .vid-btn,
html body section.section-paper#resultados .vid-carousel .vid-prev,
html body section.section-paper#resultados .vid-carousel .vid-next {
  /* Si todavía estuvieran dentro del carousel, también funcionarían */
  z-index: 200 !important;
}

/* Flechas en su nueva ubicación · directamente bajo el .container */
html body section.section-paper#resultados .container > .vid-prev-outer,
html body section.section-paper#resultados .container > .vid-next-outer,
html body section.section-paper#resultados .container .vid-prev-outer,
html body section.section-paper#resultados .container .vid-next-outer,
html body section.section-paper#resultados .vid-prev-outer,
html body section.section-paper#resultados .vid-next-outer {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: #EC4429 !important;
  background-color: #EC4429 !important;
  border: 3px solid #ffffff !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 500 !important;
  visibility: visible !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
  box-shadow:
    0 16px 40px -8px rgba(0,0,0,0.7),
    0 0 0 1px rgba(255,255,255,0.35) inset,
    0 0 50px -6px rgba(236,68,41,0.8),
    0 0 0 6px rgba(0,0,0,0.4) !important;
  transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease !important;
  font-family: inherit !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body section.section-paper#resultados .vid-prev-outer {
  left: clamp(16px, 3vw, 40px) !important;
  right: auto !important;
}
html body section.section-paper#resultados .vid-next-outer {
  right: clamp(16px, 3vw, 40px) !important;
  left: auto !important;
}

html body section.section-paper#resultados .vid-prev-outer svg,
html body section.section-paper#resultados .vid-next-outer svg {
  width: 26px !important;
  height: 26px !important;
  stroke: #ffffff !important;
  stroke-width: 2.8 !important;
  fill: none !important;
  display: block !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.6)) !important;
}

/* Hover · más grande + glow más fuerte */
html body section.section-paper#resultados .vid-prev-outer:hover,
html body section.section-paper#resultados .vid-next-outer:hover {
  background-color: #c93521 !important;
  box-shadow:
    0 20px 48px -8px rgba(0,0,0,0.75),
    0 0 0 1px rgba(255,255,255,0.45) inset,
    0 0 70px -6px rgba(236,68,41,1),
    0 0 0 6px rgba(0,0,0,0.5) !important;
}
html body section.section-paper#resultados .vid-prev-outer:hover {
  transform: translateY(-50%) scale(1.08) !important;
}
html body section.section-paper#resultados .vid-next-outer:hover {
  transform: translateY(-50%) scale(1.08) !important;
}

html body section.section-paper#resultados .vid-prev-outer:active,
html body section.section-paper#resultados .vid-next-outer:active {
  background-color: #b02e1a !important;
}

/* Asegurar que el .container del marquee es relative */
html body section.section-paper#resultados .container {
  position: relative !important;
}

/* Cancelar pseudo-elements ::before/::after de las flechas viejas */
html body section.section-paper#resultados .vid-prev-outer::before,
html body section.section-paper#resultados .vid-prev-outer::after,
html body section.section-paper#resultados .vid-next-outer::before,
html body section.section-paper#resultados .vid-next-outer::after {
  content: none !important;
  display: none !important;
}

/* MOBILE · flechas más pequeñas pero igual de visibles */
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-prev-outer,
  html body section.section-paper#resultados .vid-next-outer {
    width: 48px !important;
    height: 48px !important;
    border-width: 2px !important;
    box-shadow:
      0 12px 28px -6px rgba(0,0,0,0.7),
      0 0 0 1px rgba(255,255,255,0.35) inset,
      0 0 36px -4px rgba(236,68,41,0.8),
      0 0 0 4px rgba(0,0,0,0.4) !important;
  }
  html body section.section-paper#resultados .vid-prev-outer {
    left: 12px !important;
  }
  html body section.section-paper#resultados .vid-next-outer {
    right: 12px !important;
  }
  html body section.section-paper#resultados .vid-prev-outer svg,
  html body section.section-paper#resultados .vid-next-outer svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 3 !important;
  }
}

/* END · PATCH 48 flechas FUERA del carousel · imposibles de tapar */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 49 · Unificar naranjas en "El mayor riesgo" (dolor-v2)
   Todos los acentos naranja de los 3 bloques usan el mismo color:
   #EC4429 (Executive · primary)
   ═══════════════════════════════════════════════════════════════════════ */

/* H3 títulos de las 3 cards · mismo naranja Executive */
html body section.dolor-v2 .dv2-card h3 {
  color: #EC4429 !important;
}
/* El asterisco ::before del título · mismo naranja */
html body section.dolor-v2 .dv2-card h3::before {
  color: #EC4429 !important;
  opacity: 0.85 !important;
}
/* Strong dentro de los párrafos · negro intenso (no naranja, para legibilidad) */
html body section.dolor-v2 .dv2-card p strong,
html body section.dolor-v2 .dv2-card p b {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}
/* Em dentro de párrafos · naranja Executive */
html body section.dolor-v2 .dv2-card p em,
html body section.dolor-v2 .dv2-card p i {
  color: #EC4429 !important;
  font-style: italic !important;
}
/* Icono SVG (oculto pero por si reaparece) · naranja */
html body section.dolor-v2 .dv2-card .dv2-icon {
  color: rgba(236,68,41,0.6) !important;
}
/* Punto rojo esquina inferior derecha (decorativo) · naranja */
html body section.dolor-v2 .dv2-card::after {
  background: #EC4429 !important;
}
/* Borde superior decorativo · gradient con naranja Executive */
html body section.dolor-v2 .dv2-card::before {
  background: linear-gradient(90deg, transparent 0%, #EC4429 50%, transparent 100%) !important;
}
/* H2 cabecera · em en naranja Executive */
html body section.dolor-v2 .dv2-head h2 em,
html body section.dolor-v2 h2 em {
  color: #EC4429 !important;
}

/* END · PATCH 49 naranjas unificados en dolor-v2 */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 50 · Naranjas unificados GLOBAL · #EC4429 Executive primary
   ═══════════════════════════════════════════════════════════════════════ */
html body section.overview-v3 .ov3-head h2 em,
html body section.overview-v3 .ov3-phase h3 em,
html body section.overview-v3 .ov3-phase-tag,
html body section.overview-v3 .ov3-phase li::before,
html body section.overview-v3 .ov3-kicker,
html body section.overview-v3 .ov3-phase .desc strong { color: #EC4429 !important; }
html body section.overview-v3 .ov3-phase::after { color: #EC4429 !important; }

html body section.weeks-roadmap .wr-card .wr-week-tag,
html body section.weeks-roadmap .wr-card .wr-num,
html body section.weeks-roadmap .wr-kicker,
html body section.weeks-roadmap .wr-head h2 em,
html body section.weeks-roadmap .wr-card h3 em {
  color: #EC4429 !important;
  -webkit-text-fill-color: #EC4429 !important;
}
html body section.weeks-roadmap .wr-card h3 { color: #0a0a0a !important; }

html body section.ide-v2 .ide-card h3,
html body section.ide-v2 .ide-kicker { color: #EC4429 !important; }
html body section.ide-v2 .ide-card p { color: #1a1a1a !important; }
html body section.ide-v2 .ide-card p strong,
html body section.ide-v2 .ide-card p em { color: #EC4429 !important; }

html body section.mentors-v2 .mv2-head h2 em { color: #EC4429 !important; }

html body section.section-paper#resultados .section-head h2 em,
html body section.section-paper#resultados .section-head h2 .accent,
html body section.section-paper#resultados .vid-tag,
html body section.section-paper#resultados .vid-glyph { color: #EC4429 !important; }

html body section.offer-v3 .ov3-head h2 em,
html body section.offer-v3 .ov3-price-tag,
html body section.offer-v3 .ov3-features h3 .duration,
html body section.offer-v3 .ov3-features li::before,
html body section.offer-v3 .ov3-fin-body strong,
html body section.offer-v3 .ov3-price::after { color: #EC4429 !important; }

html body section.guarantee-v2 h2 em { color: #EC4429 !important; }

html body section.encaje-v3 h2 em,
html body section.encaje-v3 .ev3-col-yes .ev3-col-tag,
html body section.encaje-v3 .ev3-col-yes .ev3-list li::before,
html body section.encaje-v3 .ev3-col-yes .ev3-list li strong { color: #EC4429 !important; }

html body section.faq-v2 .fv2-q em,
html body section.faq-v2 .fv2-head h2 em,
html body section.faq-v2 .fv2-ans p strong,
html body section.faq-v2 .fv2-ans p em,
html body section.faq-v2 .fv2-ans ul li::before { color: #EC4429 !important; }

html body section.closing-v2 h2 em { color: #EC4429 !important; }

/* END · PATCH 50 naranjas unificados global */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 51 · Alineación dolor-v2 + h2 expandido + offer/mentors fixes
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── DOLOR-V2 · cards alineadas (misma altura, titulos al tope) ─── */
html body section.dolor-v2 .dv2-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
html body section.dolor-v2 .dv2-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: clamp(40px, 4vw, 56px) clamp(32px, 3.2vw, 42px) clamp(48px, 5vw, 64px) !important;
}
html body section.dolor-v2 .dv2-card h3 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 24px !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
html body section.dolor-v2 .dv2-card p {
  flex: 1 1 auto !important;
}

/* ─── DOLOR-V2 · H2 expandido (más ancho) ─── */
html body section.dolor-v2 .dv2-head {
  max-width: 1240px !important;
  margin: 0 auto clamp(64px, 7vw, 96px) !important;
}
html body section.dolor-v2 .dv2-head h2,
html body section.dolor-v2 h2 {
  font-size: clamp(36px, 5vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-wrap: balance !important;
}

@media (max-width: 880px) {
  html body section.dolor-v2 .dv2-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* ─── OFFER · botón "Compra directa" → "Acceso directo" ─── */
html body section.offer-v3 .ov3-microctas a:first-child::before {
  content: "Acceso directo" !important;
}

/* ─── MENTORES · kicker fuera + grid 3 cols (sin Nacho) ─── */
html body section.mentors-v2 .mv2-kicker {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body section.mentors-v2 .mv2-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1080px) {
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  html body section.mentors-v2 .mv2-grid {
    grid-template-columns: 1fr !important;
  }
}

/* END · PATCH 51 dolor-v2 align + h2 wider + offer + mentors fixes */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 52 · IDE titulos negro + Bitcoin sin naranja + ruido 2 lineas
   + cards expandidas + flechas botones fuera + WA closing → acceso directo
   ═══════════════════════════════════════════════════════════════════════ */

/* IDE-V2 · titulos h3 en NEGRO (no naranja) */
html body section.ide-v2 .ide-card h3 {
  color: #0a0a0a !important;
}

/* Mentores · "Bitcoin con Rigor" sin naranja (em normal en cream) */
html body section.mentors-v2 .mv2-card .mv2-credentials li em {
  color: #0a0a0a !important;
  font-style: italic !important;
}

/* Cards · expandir para que textos largos no rompan en 3 lineas
   Aumentar ancho mínimo de las cards a 1fr stretch en grid ya estaba */
html body section.ide-v2 .ide-grid {
  max-width: 1320px !important;
  margin: 0 auto !important;
}
html body section.ide-v2 .ide-card {
  padding: clamp(36px, 3.4vw, 48px) clamp(28px, 2.8vw, 40px) clamp(40px, 4vw, 52px) !important;
}
html body section.ide-v2 .ide-card p {
  max-width: none !important;
}

/* Encaje-v3 · cards ancho amplio y items sin saltos innecesarios */
html body section.encaje-v3 .ev3-table {
  max-width: 1320px !important;
  margin: 0 auto !important;
}
html body section.encaje-v3 .ev3-col {
  padding: clamp(32px, 3.4vw, 48px) clamp(28px, 2.8vw, 40px) !important;
}
html body section.encaje-v3 .ev3-list li {
  max-width: none !important;
  padding-right: 8px !important;
}

/* Wrap general más amplio para no romper en 3 líneas */
html body section.ide-v2 .ide-wrap,
html body section.encaje-v3 .ev3-wrap {
  max-width: min(1320px, 94vw) !important;
}

/* END · PATCH 52 ide negro + bitcoin sin naranja + expandido */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 53 · Ocultar flechas SVG de TODOS los botones Solicitar
   ═══════════════════════════════════════════════════════════════════════ */

/* Hero CTA · sin flecha */
html body a.hv2-cta svg,
html body .hv2-cta svg {
  display: none !important;
}

/* CTA pricing card principal */
html body section.offer-v3 .ov3-cta svg {
  display: none !important;
}

/* CTA closing primary (Solicitar mi plaza al pie) */
html body section.closing-v2 .cv2-cta-primary svg {
  display: none !important;
}

/* CTAs intermedios (post-IDE, post-garantía, post-testimonios) */
html body section.section-paper#resultados + div[style*="FBF8F3"] a svg,
html body section.section-paper#resultados + div[style*="#FBF8F3"] a svg,
html body div[style*="FBF8F3"] a[href="#precio"] svg,
html body div[style*="F2EBE0"] a svg {
  display: none !important;
}

/* CTA mobile flotante */
html body a.el-cta-mobile svg {
  display: none !important;
}

/* END · PATCH 53 flechas fuera */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 54 · Closing-v2 · botón "Acceso directo" (sustituye WhatsApp)
   Estilo outline naranja, sin flecha
   ═══════════════════════════════════════════════════════════════════════ */
html body section.closing-v2 .cv2-cta-secondary,
html body section.closing-v2 .cv2-cta.cv2-cta-secondary {
  background: transparent !important;
  color: #EC4429 !important;
  border: 2px solid #EC4429 !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 18px 32px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  transition: background .25s ease, color .25s ease, transform .25s ease !important;
}
html body section.closing-v2 .cv2-cta-secondary:hover {
  background: #EC4429 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* END · PATCH 54 closing acceso directo */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 55 · Anchos expandidos + flechas SVG OFF agresivo
   ═══════════════════════════════════════════════════════════════════════ */

/* Overview-v3 · subtitulo "Esto no es un curso de IA" → 2 lineas */
html body section.overview-v3 .ov3-intro {
  max-width: 880px !important;
  font-size: clamp(17px, 1.4vw, 20px) !important;
}

/* Dolor-v2 · cards más anchas para que "El ruido y el coste" entre en menos lineas */
html body section.dolor-v2 .dv2-wrap {
  max-width: min(1400px, 94vw) !important;
}
html body section.dolor-v2 .dv2-grid {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
html body section.dolor-v2 .dv2-card {
  padding: clamp(36px, 3.6vw, 52px) clamp(28px, 2.8vw, 40px) !important;
}
html body section.dolor-v2 .dv2-card p {
  max-width: none !important;
  font-size: clamp(15.5px, 1.15vw, 17px) !important;
}

/* IDE-V2 · "De nada sirve aprender la herramienta de moda..." en 2 lineas */
html body section.ide-v2 .ide-foot {
  max-width: 1100px !important;
  margin: 0 auto !important;
}
html body section.ide-v2 .ide-foot p {
  max-width: 1000px !important;
  font-size: clamp(17px, 1.4vw, 20px) !important;
  line-height: 1.5 !important;
}

/* FLECHAS SVG · OCULTAR EN TODOS LOS BOTONES SOLICITAR (más agresivo) */
html body a.hv2-cta svg,
html body section.offer-v3 .ov3-cta svg,
html body section.closing-v2 .cv2-cta svg,
html body section.closing-v2 .cv2-cta-primary svg,
html body a.el-cta-mobile svg,
html body div[style*="FBF8F3"] a svg,
html body div[style*="F2EBE0"] a svg,
html body div[style*="background:#FBF8F3"] a svg,
html body div[style*="background:#F2EBE0"] a svg,
html body a[data-source="cta-intermedio"] svg,
html body a[data-source="post-garantia"] svg,
html body a[data-source="closing"] svg,
html body a[data-source="closing-checkout"] svg,
html body a[data-source="mobile-floating"] svg,
html body a[data-source="hero"] svg,
html body a[data-source="offer"] svg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
}

/* END · PATCH 55 expandido + flechas off final */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 56 · NUCLEAR · naranja unificado + flechas off + testimonio tag off
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── NARANJA ÚNICO #EC4429 EN TODA LA WEB ─── */
/* Cualquier color naranja del sistema vieja → ec4429 */
html body [style*="color:#EC4429"],
html body [style*="color: #EC4429"],
html body [style*="color:#ec4429"],
html body [style*="color: #ec4429"] {
  color: #EC4429 !important;
}

/* Variables CSS naranja · forzar a #EC4429 */
:root,
html,
html body {
  --red: #EC4429 !important;
  --red-soft: #EC4429 !important;
  --red-deep: #EC4429 !important;
  --accent: #EC4429 !important;
  --primary: #EC4429 !important;
  --primary-orange: #EC4429 !important;
  --executive-red: #EC4429 !important;
  --orange: #EC4429 !important;
}

/* Em y strong con colores naranja en TODOS los contextos */
html body em,
html body strong em,
html body .accent {
  /* No forzar TODO em a naranja porque algunos son intencionados negros */
}

/* TODO em DENTRO de secciones key → naranja unificado */
html body section.dolor-v2 em,
html body section.overview-v3 em,
html body section.weeks-roadmap em,
html body section.ide-v2 em,
html body section.mentors-v2 .mv2-head em,
html body section.section-paper#resultados em,
html body section.offer-v3 em,
html body section.guarantee-v2 em,
html body section.encaje-v3 em,
html body section.faq-v2 em,
html body section.closing-v2 em {
  color: #EC4429 !important;
  -webkit-text-fill-color: #EC4429 !important;
}

/* Excepción · Bitcoin con Rigor en mentores · NEGRO */
html body section.mentors-v2 .mv2-card .mv2-credentials li em {
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
}

/* Encaje NO column · em gris (no naranja) */
html body section.encaje-v3 .ev3-col-no em {
  color: #5a5a5a !important;
  -webkit-text-fill-color: #5a5a5a !important;
}

/* ─── FLECHAS SVG · OFF NUCLEAR ─── */
/* Cualquier SVG dentro de cualquier link Solicitar/Acceso/CTA */
html body a[href*="precio"] svg,
html body a[href*="calendar.executivelab"] svg,
html body a[href*="checkout"] svg,
html body a[data-track="booking"] svg,
html body .hv2-cta svg,
html body .ov3-cta svg,
html body .cv2-cta svg,
html body .cv2-cta-primary svg,
html body .cv2-cta-secondary svg,
html body .el-cta-mobile svg,
html body section.offer-v3 .ov3-microctas a svg,
html body section.section-paper#resultados + div a svg,
html body section.guarantee-v2 + div a svg,
html body div[style*="FBF8F3"] a svg,
html body div[style*="F2EBE0"] a svg,
html body div[style*="background:#FBF8F3"] a svg,
html body div[style*="background:#F2EBE0"] a svg,
html body div[style*="background: #FBF8F3"] a svg,
html body div[style*="background: #F2EBE0"] a svg {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

/* ─── TESTIMONIOS · ocultar tag "Testimonio · 01/02/03/04" ─── */
html body section.section-paper#resultados .vid-tag {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* END · PATCH 56 nuclear naranjas + flechas off + testimonio tag off */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 57 · KILL FLECHAS ::after definitivamente · titulos dolor en negro
   + flechas testimonios más translucidas
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── PSEUDO ARROWS (círculos translúcidos con →) · OUT ─── */
html body a.hv2-cta::after,
html body .hv2-cta::after,
html body .btn-primary::after,
html body a.nav-cta::after,
html body .nav-cta::after,
html body a.ov3-cta::after,
html body .ov3-cta::after,
html body a.cv2-cta::after,
html body a.cv2-cta-primary::after,
html body a.cv2-cta-secondary::after,
html body a.el-cta-mobile::after,
html body section.offer-v3 .ov3-cta::after,
html body section.closing-v2 .cv2-cta::after,
html body section.closing-v2 .cv2-cta-primary::after,
html body section.closing-v2 .cv2-cta-secondary::after,
html body div[style*="FBF8F3"] a::after,
html body div[style*="F2EBE0"] a::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  visibility: hidden !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* hover/active del ::after también */
html body .hv2-cta:hover::after,
html body .hv2-cta:active::after,
html body .ov3-cta:hover::after,
html body .ov3-cta:active::after,
html body .cv2-cta:hover::after,
html body .cv2-cta:active::after {
  content: none !important;
  display: none !important;
  transform: none !important;
}

/* ─── DOLOR-V2 · TODOS los títulos h3 en NEGRO ─── */
html body section.dolor-v2 .dv2-card h3,
html body section.dolor-v2 article.dv2-card h3 {
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
}
/* El asterisco ::before del título queda en naranja */
html body section.dolor-v2 .dv2-card h3::before {
  color: #EC4429 !important;
  -webkit-text-fill-color: #EC4429 !important;
}

/* ─── TESTIMONIOS · flechas laterales más TRANSLÚCIDAS ─── */
html body section.section-paper#resultados .vid-prev-outer,
html body section.section-paper#resultados .vid-next-outer {
  background: rgba(236, 68, 41, 0.72) !important;
  background-color: rgba(236, 68, 41, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow:
    0 12px 32px -8px rgba(0,0,0,0.45),
    0 0 0 1px rgba(255,255,255,0.18) inset,
    0 0 36px -10px rgba(236,68,41,0.5) !important;
}
html body section.section-paper#resultados .vid-prev-outer:hover,
html body section.section-paper#resultados .vid-next-outer:hover {
  background: rgba(236, 68, 41, 0.95) !important;
  background-color: rgba(236, 68, 41, 0.95) !important;
  border-color: #ffffff !important;
}

/* END · PATCH 57 flechas pseudo OUT + dolor negro + flechas translucid */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 58 · Centrar texto en botones (sin flecha ya)
   ═══════════════════════════════════════════════════════════════════════ */

/* Todos los CTAs de Solicitar/Acceso · texto centrado, sin gap reservado */
html body a.hv2-cta,
html body section.offer-v3 .ov3-cta,
html body section.closing-v2 .cv2-cta,
html body section.closing-v2 .cv2-cta-primary,
html body section.closing-v2 .cv2-cta-secondary,
html body a.el-cta-mobile,
html body a.nav-cta,
html body .nav-cta,
html body div[style*="FBF8F3"] a,
html body div[style*="F2EBE0"] a {
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
}

/* Microctas del offer · mantener su gap interno */
html body section.offer-v3 .ov3-microctas a {
  justify-content: center !important;
  gap: 0 !important;
}

/* END · PATCH 58 botones centrados sin flecha */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 59 · Centrar botón "Solicitar acceso" del hero
   ═══════════════════════════════════════════════════════════════════════ */

/* El div que envuelve el .hv2-cta · centrado */
html body section.hv2-section .hv2-wrap > div:has(> .hv2-cta) {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 24px auto 0 !important;
}

/* Fallback para navegadores sin :has · todos los hijos div del hv2-wrap centrados */
html body section.hv2-section .hv2-wrap {
  text-align: center !important;
}
html body section.hv2-section .hv2-wrap > div {
  text-align: center !important;
}

/* El propio CTA centrado */
html body section.hv2-section a.hv2-cta {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* END · PATCH 59 hero cta centrado */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 60 · Texto dentro del botón CENTRADO (ya sin flecha)
   El gap del flex y el ::after fantasma desplazaban el texto a la izquierda.
   Reset total con padding simétrico forzado.
   ═══════════════════════════════════════════════════════════════════════ */

/* TODOS los CTAs · padding/gap reset garantizando texto centrado */
html body a.hv2-cta,
html body .hv2-cta,
html body section.offer-v3 .ov3-cta,
html body section.offer-v3 a.ov3-cta,
html body section.closing-v2 .cv2-cta,
html body section.closing-v2 .cv2-cta-primary,
html body section.closing-v2 .cv2-cta-secondary,
html body section.closing-v2 a.cv2-cta,
html body a.el-cta-mobile,
html body a.nav-cta,
html body .nav-cta,
html body div[style*="FBF8F3"] a,
html body div[style*="F2EBE0"] a,
html body section.offer-v3 .ov3-microctas a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  /* Padding lateral simétrico para asegurar centrado óptico */
  padding-left: 36px !important;
  padding-right: 36px !important;
}

/* Pseudo ::after debe ser EXACTAMENTE 0 ancho · sin reservar espacio */
html body a.hv2-cta::after,
html body .hv2-cta::after,
html body section.offer-v3 .ov3-cta::after,
html body section.offer-v3 a.ov3-cta::after,
html body section.closing-v2 .cv2-cta::after,
html body section.closing-v2 a.cv2-cta::after,
html body section.closing-v2 .cv2-cta-primary::after,
html body section.closing-v2 .cv2-cta-secondary::after,
html body a.el-cta-mobile::after,
html body a.nav-cta::after,
html body .nav-cta::after,
html body div[style*="FBF8F3"] a::after,
html body div[style*="F2EBE0"] a::after,
html body section.offer-v3 .ov3-microctas a::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 0 !important;
  visibility: hidden !important;
}

/* Y los span/texto dentro · sin margin desplazado */
html body a.hv2-cta > *,
html body section.offer-v3 .ov3-cta > *,
html body section.closing-v2 .cv2-cta > *,
html body a.el-cta-mobile > * {
  margin: 0 !important;
}

/* Mobile CTA · padding propio (no sobreescribir si rompe el ancho) */
@media (max-width: 720px) {
  html body a.el-cta-mobile {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* END · PATCH 60 texto botones centrado */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 61 · NUCLEAR · centrar el botón completo dentro de su div padre
   El problema NO es el texto dentro del pill, es el pill DENTRO del div.
   Los divs CTA intermedios tienen text-align:center pero el <a> 
   inline-flex no se centra por algún SVG hijo invisible que ocupa
   espacio de inline-block en algunos navegadores.
   ═══════════════════════════════════════════════════════════════════════ */

/* Forzar contenedores CTA intermedios a centrar con FLEX (no text-align solo) */
html body div[style*="FBF8F3"],
html body div[style*="F2EBE0"],
html body div[style*="background:#FBF8F3"],
html body div[style*="background:#F2EBE0"],
html body div[style*="background: #FBF8F3"],
html body div[style*="background: #F2EBE0"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
}

/* Y dentro, el <a> con margin auto + ancho ajustado */
html body div[style*="FBF8F3"] > a,
html body div[style*="F2EBE0"] > a,
html body div[style*="background:#FBF8F3"] > a,
html body div[style*="background:#F2EBE0"] > a,
html body div[style*="background: #FBF8F3"] > a,
html body div[style*="background: #F2EBE0"] > a {
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
  width: auto !important;
  max-width: max-content !important;
}

/* El SVG fantasma · realmente fuera del flow */
html body div[style*="FBF8F3"] > a svg,
html body div[style*="F2EBE0"] > a svg,
html body div[style*="background:#FBF8F3"] > a svg,
html body div[style*="background:#F2EBE0"] > a svg,
html body div[style*="background: #FBF8F3"] > a svg,
html body div[style*="background: #F2EBE0"] > a svg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  position: absolute !important;
  visibility: hidden !important;
  flex: 0 0 0 !important;
}

/* Hero CTA específico · centrado total */
html body section.hv2-section .hv2-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
html body section.hv2-section .hv2-wrap > div {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
html body a.hv2-cta {
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
}

/* Closing CTAs */
html body section.closing-v2 .cv2-ctas {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
}
html body section.closing-v2 .cv2-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
}

/* Offer CTA principal · centrado */
html body section.offer-v3 .ov3-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* END · PATCH 61 nuclear centrar botones */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 62 · Posters de testimonios visibles en mobile
   ═══════════════════════════════════════════════════════════════════════ */

/* Video tag con poster · imagen siempre visible hasta que se reproduce */
html body section.section-paper#resultados .vid-video video,
html body section.section-paper#resultados .vid-mp4 {
  object-fit: cover !important;
  object-position: center center !important;
  background: #050505 !important;
  width: 100% !important;
  height: 100% !important;
}

/* iOS Safari · forzar a que muestre el poster antes del primer play */
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-video video {
    -webkit-tap-highlight-color: transparent !important;
    background: #050505 !important;
  }
  /* Aspect ratio garantizado en mobile · evita que se vea cortado */
  html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video {
    aspect-ratio: 9 / 16 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
}

/* END · PATCH 62 thumbnails testimonios mobile */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 63 · Fix thumbnails testimonios mobile · contain en vez de cover
   Los videos son 9:16 verticales, no queremos zoom/crop forzado
   ═══════════════════════════════════════════════════════════════════════ */

/* Video tag · CONTAIN (no cortar) · fondo dark integrado */
html body section.section-paper#resultados .vid-video video,
html body section.section-paper#resultados .vid-mp4,
html body section.section-paper#resultados .vid-carousel .vid-slide video {
  object-fit: contain !important;
  object-position: center center !important;
  background: #050505 !important;
}

/* Contenedor video · aspect ratio 9:16 forzado en todos los breakpoints */
html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video,
html body section.section-paper#resultados .vid-slide .vid-video {
  aspect-ratio: 9 / 16 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 70vh !important;
  overflow: hidden !important;
  background: #050505 !important;
  border-radius: 4px !important;
  position: relative !important;
}

/* Mobile · max-height más conservador para que entre todo en viewport */
@media (max-width: 720px) {
  html body section.section-paper#resultados .vid-carousel .vid-slide .vid-video {
    max-height: 65vh !important;
    width: 100% !important;
  }
  html body section.section-paper#resultados .vid-video video {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
  }
}

/* END · PATCH 63 video thumbnails contain mobile fix */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 64 · Banner "Plazas cerradas" en hero de /acceso
   ═══════════════════════════════════════════════════════════════════════ */

html body section.hv2-section .el-closed-banner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto clamp(36px, 5vw, 56px) !important;
  padding: clamp(32px, 4vw, 52px) clamp(24px, 3vw, 48px) !important;
  background: linear-gradient(180deg, rgba(236,68,41,0.08) 0%, rgba(255,255,255,0.015) 100%) !important;
  border: 1px solid rgba(236,68,41,0.3) !important;
  border-radius: 6px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.05) inset,
    0 24px 64px -32px rgba(0,0,0,0.6),
    0 0 80px -28px rgba(236,68,41,0.3) !important;
  position: relative !important;
}

/* Badge "Inscripciones cerradas" */
html body section.hv2-section .el-closed-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: #EC4429 !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 8px 24px -8px rgba(236,68,41,0.6) !important;
}
html body section.hv2-section .el-closed-badge::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 0 8px rgba(255,255,255,0.8) !important;
}

/* Título grande */
html body section.hv2-section .el-closed-title {
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.028em !important;
  color: #ffffff !important;
  margin: 0 0 20px 0 !important;
  text-wrap: balance !important;
}
html body section.hv2-section .el-closed-title em {
  font-style: italic !important;
  color: #EC4429 !important;
}

/* Subtítulo */
html body section.hv2-section .el-closed-sub {
  font-family: 'Lato', sans-serif !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.6 !important;
  color: rgba(251,248,243,0.78) !important;
  max-width: 640px !important;
  margin: 0 0 32px 0 !important;
}
html body section.hv2-section .el-closed-sub strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* CTA WhatsApp del banner */
html body section.hv2-section .el-closed-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background: #25D366 !important;
  color: #ffffff !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 18px 34px !important;
  border-radius: 999px !important;
  transition: background .25s ease, transform .2s ease, box-shadow .25s ease !important;
  box-shadow:
    0 14px 36px -10px rgba(37,211,102,0.55),
    0 0 0 1px rgba(255,255,255,0.1) inset !important;
}
html body section.hv2-section .el-closed-cta:hover {
  background: #1ebe5d !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 20px 44px -10px rgba(37,211,102,0.7),
    0 0 0 1px rgba(255,255,255,0.16) inset !important;
}
html body section.hv2-section .el-closed-cta .el-closed-wa {
  width: 22px !important;
  height: 22px !important;
  fill: #ffffff !important;
  flex-shrink: 0 !important;
}

/* Hero CTA inferior · pasa a verde WhatsApp en /acceso */
html body section.hv2-section a.hv2-cta[data-source="hero"] {
  background: #25D366 !important;
}
html body section.hv2-section a.hv2-cta[data-source="hero"]:hover {
  background: #1ebe5d !important;
}

/* Mobile */
@media (max-width: 720px) {
  html body section.hv2-section .el-closed-banner {
    padding: 28px 20px !important;
    margin-bottom: 32px !important;
  }
  html body section.hv2-section .el-closed-title {
    font-size: clamp(28px, 8vw, 38px) !important;
  }
  html body section.hv2-section .el-closed-cta {
    width: 100% !important;
    padding: 16px 24px !important;
  }
}

/* END · PATCH 64 banner plazas cerradas */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 65 · Plazas cerradas · CTAs a WhatsApp (texto real, sin pseudo)
   ═══════════════════════════════════════════════════════════════════════ */

/* La microcta ya NO usa pseudo "Acceso directo" · mostrar su texto real */
html body section.offer-v3 .ov3-microctas a:first-child {
  font-size: 13.5px !important;
}
html body section.offer-v3 .ov3-microctas a:first-child::before {
  content: none !important;
  display: none !important;
}
html body section.offer-v3 .ov3-microctas a:first-child::after {
  content: none !important;
  display: none !important;
}
html body section.offer-v3 .ov3-microctas a:first-child * {
  display: inline !important;
}

/* Closing · ahora 1 solo botón, centrarlo */
html body section.closing-v2 .cv2-ctas {
  justify-content: center !important;
}

/* CTAs principales en /acceso · verde WhatsApp coherente */
html body section.offer-v3 .ov3-cta {
  background: #25D366 !important;
}
html body section.offer-v3 .ov3-cta:hover {
  background: #1ebe5d !important;
}
html body section.closing-v2 .cv2-cta-primary {
  background: #25D366 !important;
}
html body section.closing-v2 .cv2-cta-primary:hover {
  background: #1ebe5d !important;
}

/* END · PATCH 65 ctas whatsapp plazas cerradas */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 66 · Plazas cerradas · ocultar sección de PRECIO (offer-v3)
   ═══════════════════════════════════════════════════════════════════════ */

/* Sección de precio completa fuera (incoherente con plazas cerradas) */
html body section.offer-v3,
html body section#solicitar.offer-v3,
html body #solicitar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* END · PATCH 66 precio oculto */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 67 · Plazas cerradas · ocultar sección GARANTÍA
   (la devolución de dinero solo aplica si puedes comprar)
   ═══════════════════════════════════════════════════════════════════════ */

html body section.guarantee-v2,
html body section.injected-garantia.guarantee-v2 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* END · PATCH 67 garantía oculta */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 68 · REPASO INTEGRAL MOBILE · /acceso
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 720px) {

  /* ── No overflow horizontal en ningún caso ── */
  html, html body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  html body * {
    max-width: 100vw !important;
  }

  /* ── Banner plazas cerradas · compacto y legible ── */
  html body section.hv2-section .el-closed-banner {
    padding: 24px 18px !important;
    margin-bottom: 28px !important;
    border-radius: 14px !important;
  }
  html body section.hv2-section .el-closed-badge {
    font-size: 10.5px !important;
    letter-spacing: 0.18em !important;
    padding: 8px 14px !important;
    margin-bottom: 18px !important;
  }
  html body section.hv2-section .el-closed-title {
    font-size: clamp(26px, 7.5vw, 34px) !important;
    line-height: 1.1 !important;
  }
  html body section.hv2-section .el-closed-sub {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-bottom: 26px !important;
  }
  html body section.hv2-section .el-closed-cta {
    width: 100% !important;
    max-width: 340px !important;
    padding: 16px 20px !important;
    font-size: 13px !important;
  }

  /* ── Hero · padding y título ── */
  html body section.hv2-section {
    padding: 28px 18px 44px !important;
  }
  html body section.hv2-section .hv2-sub {
    font-size: 16px !important;
    line-height: 1.55 !important;
    padding: 0 4px !important;
  }

  /* ── Headings de sección · sin desbordar ── */
  html body h1, html body h2, html body h3 {
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  /* ── Botones flotantes · no tapar contenido ── */
  html body {
    padding-bottom: 88px !important;
  }

  /* ── Marquees · contenidos ── */
  html body section.trust-marquee,
  html body section.section-paper#resultados {
    overflow: hidden !important;
    max-width: 100vw !important;
  }

  /* ── Cards de secciones · padding cómodo ── */
  html body section.dolor-v2 .dv2-card,
  html body section.ide-v2 .ide-card,
  html body section.mentors-v2 .mv2-card,
  html body section.weeks-roadmap .wr-card {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* ── Closing · texto centrado y legible ── */
  html body section.closing-v2 .cv2-h {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.1 !important;
  }
  html body section.closing-v2 .cv2-sub {
    font-size: 15px !important;
    line-height: 1.55 !important;
    padding: 0 8px !important;
  }
  html body section.closing-v2 .cv2-cta {
    width: 100% !important;
    max-width: 340px !important;
  }

  /* ── Eyebrows de fases (4 semanas / I+D) · no romper ── */
  html body section.weeks-roadmap .wr-kicker,
  html body section.ide-v2 .ide-kicker {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.1 !important;
  }
}

/* END · PATCH 68 repaso mobile integral */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 69 · AUDITORÍA MOBILE EXHAUSTIVA · ui-ux-pro-max
   Aplica: Touch&Interaction · Performance · Responsive · Animation · A11y
   Sin tocar estructura ni copy · solo CSS
   ═══════════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────────────────
   P2 · TOUCH & INTERACTION (CRITICAL)
   ───────────────────────────────────────────────────────────────────── */

/* tap-delay · eliminar el delay de 300ms en TODOS los interactivos */
html body a,
html body button,
html body .vid-dot,
html body .vid-btn,
html body summary {
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(236,68,41,0.15) !important;
}

/* scale-feedback · feedback visual al pulsar (HIG/MD) */
@media (hover: none) and (pointer: coarse) {
  html body a.hv2-cta:active,
  html body section.offer-v3 .ov3-cta:active,
  html body section.closing-v2 .cv2-cta:active,
  html body a.el-cta-mobile:active,
  html body section.hv2-section .el-closed-cta:active,
  html body div[style*="FBF8F3"] a:active,
  html body div[style*="F2EBE0"] a:active,
  html body a.el-wa-floating:active {
    transform: scale(0.96) !important;
    transition: transform .12s ease !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P5 · LAYOUT & RESPONSIVE (HIGH) · WhatsApp + CTA mobile sin cortes
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 720px) {

  /* WhatsApp flotante · safe-area completo · NUNCA cortado */
  html body a.el-wa-floating {
    position: fixed !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(14px + env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
    top: auto !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9999 !important;
    overflow: visible !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  html body a.el-wa-floating svg.el-wa-icon {
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
    display: block !important;
  }

  /* CTA "Contactar con el equipo" · no invade el WhatsApp */
  html body a.el-cta-mobile {
    position: fixed !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    left: calc(14px + env(safe-area-inset-left, 0px)) !important;
    right: calc(80px + env(safe-area-inset-right, 0px)) !important;
    top: auto !important;
    z-index: 9998 !important;
    min-height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Body padding para que los flotantes no tapen el footer */
  html body {
    padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P3 · PERFORMANCE · logos marquee más rápido (era 38s · muy lento)
   ───────────────────────────────────────────────────────────────────── */
html body section.trust-marquee .tm-track {
  animation-duration: 24s !important;
}
@media (max-width: 720px) {
  html body section.trust-marquee .tm-track {
    animation-duration: 16s !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P5 · No horizontal scroll · refuerzo total
   ───────────────────────────────────────────────────────────────────── */
html, html body {
  overflow-x: clip !important;
  max-width: 100% !important;
}
@media (max-width: 720px) {
  html body section,
  html body section > div,
  html body .container,
  html body .hv2-wrap {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  /* Cualquier media nunca desborda */
  html body img,
  html body video,
  html body iframe,
  html body svg {
    max-width: 100% !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P6 · TYPOGRAPHY · 16px mínimo body en mobile (evita auto-zoom iOS)
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  html body p,
  html body li,
  html body .vid-quote,
  html body input,
  html body textarea {
    font-size: max(16px, 1rem) !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P1/P7 · ACCESSIBILITY · reduced-motion (respeta preferencia usuario)
   ───────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  html body section.trust-marquee .tm-track,
  html body section.section-paper#resultados .vid-track {
    animation: none !important;
    transform: none !important;
  }
  html body * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P9 · NAV · header mobile sin sticky molesto + touch targets
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  html body header.nav a,
  html body header.nav button,
  html body .nav-toggle {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* Nav CTA no se corta */
  html body .nav-cta {
    white-space: nowrap !important;
    font-size: 12px !important;
    padding: 10px 16px !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────
   P5 · Hero · min-height dvh (mejor que vh en mobile · barra navegador)
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  html body section.hv2-section {
    min-height: auto !important;
    padding-top: max(24px, env(safe-area-inset-top, 0px)) !important;
  }
}

/* END · PATCH 69 auditoría mobile exhaustiva ui-ux-pro-max */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 70 · FIX nav mobile pisado + logos mucho más rápidos
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── NAV MOBILE · ocultar nav-cta (se pisa con logo + hamburguesa) ─── */
@media (max-width: 860px) {
  html body header.nav .nav-cta,
  html body .nav-cta,
  html body a.nav-cta {
    display: none !important;
    visibility: hidden !important;
  }
  /* Nav limpio: solo logo + hamburguesa */
  html body header.nav .nav-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  html body header.nav .nav-logo {
    flex: 0 1 auto !important;
    max-width: 62% !important;
  }
  html body header.nav .nav-logo-img {
    max-width: 100% !important;
    height: auto !important;
  }
  html body .nav-toggle {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
}

/* ─── LOGOS MARQUEE · mucho más rápido (override fuerte) ─── */
html body section.trust-marquee .tm-track,
html body .trust-marquee .tm-track,
html body .tm-viewport .tm-track {
  animation-duration: 18s !important;
}
@media (max-width: 720px) {
  html body section.trust-marquee .tm-track,
  html body .trust-marquee .tm-track,
  html body .tm-viewport .tm-track {
    animation-duration: 10s !important;
  }
}

/* END · PATCH 70 nav mobile + logos rápidos */


/* ═══════════════════════════════════════════════════════════════════════
   PATCH 71 · Logos AÚN más rápidos en mobile + banner reubicado
   ═══════════════════════════════════════════════════════════════════════ */

/* Logos · velocidad final */
html body section.trust-marquee .tm-track,
html body .trust-marquee .tm-track,
html body .tm-viewport .tm-track {
  animation-duration: 16s !important;
}
@media (max-width: 720px) {
  html body section.trust-marquee .tm-track,
  html body .trust-marquee .tm-track,
  html body .tm-viewport .tm-track {
    animation-duration: 6s !important;
  }
}

/* Banner plazas cerradas · ahora debajo del video · margen superior */
html body section.hv2-section .el-closed-banner {
  margin-top: clamp(28px, 4vw, 48px) !important;
  margin-bottom: clamp(8px, 2vw, 16px) !important;
}

/* Hero title restaurado arriba · tamaño correcto */
html body section.hv2-section .hv2-title {
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}

/* END · PATCH 71 logos rápidos + banner reubicado */
