/* === RESET === */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background: #0a0f23;
  color: #fff;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; }

/* === SHARED TOKENS === */
:root {
  --pink: #ff0080;
  --pink-light: #ff5ca0;
  --orange: #ff8a3c;
  --teal: #5eead4;
  --violet: #c4b5fd;
  --bg: #0a0f23;
  --bg-deep: #050816;
  --text-muted: rgba(255,255,255,0.65);
  --text-dim: rgba(255,255,255,0.45);
  --border: rgba(255,255,255,0.08);
}

.eyebrow {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: var(--pink-light);
  font-weight: 700;
  margin-bottom: 20px;
}

h2.section-title {
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -2px;
  line-height: 1.05;
  margin-bottom: 20px;
}

h2.section-title .accent {
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.section-sub {
  font-size: 18px;
  color: var(--text-muted);
  line-height: 1.55;
  max-width: 640px;
  margin: 0 auto;
}

.section-head {
  text-align: center;
  margin-bottom: 80px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
}

.cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  color: #fff;
  padding: 16px 32px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.3px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 24px rgba(255, 0, 128, 0.25);
}

.cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(255, 0, 128, 0.4);
}

.cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  padding: 14px 28px;
  border-radius: 14px;
  font-weight: 600;
  font-size: 15px;
  transition: all 0.3s ease;
}

.cta-secondary:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
}

/* === BANNER MOCKUP === */
.mockup-meta {
  background: linear-gradient(90deg, #1a1f3a, #2a1f4a);
  border-bottom: 1px solid var(--border);
  padding: 14px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  position: sticky;
  top: 0;
  z-index: 100;
}
.mockup-meta strong { color: #fff; font-weight: 600; }
.mockup-meta .tag {
  background: rgba(255,0,128,0.15);
  color: var(--pink-light);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 700;
}

/* === STICKY HEADER === */
.site-header {
  position: sticky;
  top: 48px;
  z-index: 50;
  background: rgba(10, 15, 35, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 16px 32px;
}

.site-header .inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.logo-mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.logo-text {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.3px;
  line-height: 1;
}

.logo-text small {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: var(--text-dim);
  margin-top: 2px;
  letter-spacing: 0.5px;
}

.nav-main {
  display: flex;
  gap: 28px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
}

.nav-main > a, .nav-main > .nav-dropdown > a { color: rgba(255,255,255,0.85); transition: color 0.2s ease; }
.nav-main > a:hover, .nav-main > .nav-dropdown:hover > a { color: var(--pink-light); }

.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav-dropdown > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.nav-dropdown > a::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  margin-left: 4px;
  opacity: 0.65;
  transition: transform 0.2s ease;
}

.nav-dropdown:hover > a::after { transform: rotate(180deg); }

.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
  background: rgba(15, 20, 45, 0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  min-width: 220px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 60;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

.nav-dropdown:hover > .nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.nav-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
}

.nav-dropdown-menu a {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  transition: background 0.2s ease, color 0.2s ease;
}

.nav-dropdown-menu a small {
  font-size: 11px;
  font-weight: 400;
  color: var(--text-dim);
  letter-spacing: 0.2px;
}

.nav-dropdown-menu a:hover {
  background: rgba(255, 0, 128, 0.1);
  color: var(--pink-light);
}

.nav-dropdown-menu a:hover small { color: rgba(255, 92, 160, 0.7); }

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.countdown-mini {
  font-size: 12px;
  color: var(--text-muted);
  padding: 8px 14px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--border);
  border-radius: 10px;
  white-space: nowrap;
}

.countdown-mini strong {
  color: var(--pink-light);
  font-weight: 700;
}

/* === HERO === */
.hero {
  position: relative;
  padding: 100px 32px 80px;
  background:
    radial-gradient(ellipse at top right, rgba(255, 0, 128, 0.15), transparent 50%),
    radial-gradient(ellipse at bottom left, rgba(121, 40, 202, 0.18), transparent 60%),
    var(--bg);
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.hero-text .eyebrow {
  margin-bottom: 16px;
}

.hero-text h1 {
  font-size: 72px;
  font-weight: 800;
  letter-spacing: -3px;
  line-height: 1;
  margin-bottom: 24px;
}

.hero-text h1 .accent {
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-sub {
  font-size: 22px;
  color: rgba(255,255,255,0.9);
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 16px;
}

.hero-body {
  font-size: 16px;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 32px;
  max-width: 540px;
}

.hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
}

.pill {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 8px 16px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}

.pill.highlight {
  background: rgba(255, 0, 128, 0.12);
  border-color: rgba(255, 0, 128, 0.3);
  color: var(--pink-light);
}

.hero-cta-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
}

.hero-countdown-explicit {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
}

.hero-countdown-explicit strong {
  color: #fff;
  font-weight: 600;
}

.hero-photo {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 0, 128, 0.4), transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(121, 40, 202, 0.5), transparent 50%),
    #1a1233;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.1);
}

.hero-photo-placeholder {
  text-align: center;
  color: rgba(255,255,255,0.4);
  font-size: 12px;
  padding: 20px;
}

.hero-photo-placeholder svg {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  opacity: 0.5;
}

.hero-photo-caption {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  padding: 16px 20px;
  background: rgba(10, 15, 35, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.1);
}

.hero-photo-caption strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
}

.hero-photo-caption span {
  font-size: 13px;
  color: var(--text-muted);
}

.oracle-ribbon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 600;
}

.oracle-ribbon-logo {
  font-size: 14px;
  font-weight: 800;
  color: #ff0000;
  letter-spacing: 2px;
}

/* === TRUST STRIP === */
.trust-strip {
  background: #050816;
  padding: 48px 32px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.trust-strip-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.trust-strip-label {
  font-size: 12px;
  color: var(--text-dim);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
  flex-shrink: 0;
}

.trust-strip-logos {
  display: flex;
  align-items: center;
  gap: 48px;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1;
}

.trust-logo {
  height: 32px;
  display: flex;
  align-items: center;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.5px;
  color: rgba(255,255,255,0.7);
}

.trust-logo.oracle { color: #ff4444; }
.trust-logo.corfo { color: #4a9eff; }
.trust-logo.qv { color: #aaffaa; }

.trust-strip-more {
  font-size: 13px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.trust-strip-more a:hover { color: var(--pink-light); }

/* === LIVE PROOF BAR === */
.proof-bar {
  background:
    radial-gradient(ellipse at center, rgba(255, 0, 128, 0.08), transparent 60%),
    var(--bg);
  padding: 80px 32px;
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.proof-item .proof-value {
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -2px;
  background: linear-gradient(135deg, #fff, var(--pink-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin-bottom: 8px;
}

.proof-item .proof-label {
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.3px;
}

.proof-bar-foot {
  text-align: center;
  margin-top: 40px;
  font-size: 12px;
  color: var(--text-dim);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
}

/* === DOLOR === */
.dolor {
  background: var(--bg);
  padding: 120px 32px;
}

.dolor-head {
  max-width: 900px;
  margin: 0 auto 64px;
  text-align: center;
}

.dolor-head h2 {
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -1.5px;
  line-height: 1.15;
}

.dolor-head h2 .strike {
  text-decoration: line-through;
  color: var(--text-dim);
  text-decoration-color: rgba(255, 0, 128, 0.5);
}

.dolor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}

.dolor-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.dolor-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 0, 128, 0.15);
  color: var(--pink-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dolor-icon svg { width: 16px; height: 16px; }

.dolor-text {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255,255,255,0.85);
}

/* === OUTCOMES TIMELINE (de v1.1) === */
.section-outcomes {
  background:
    radial-gradient(ellipse at top, rgba(121, 40, 202, 0.18), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(255, 0, 128, 0.12), transparent 60%),
    var(--bg);
  padding: 140px 32px;
  position: relative;
  border-top: 1px solid var(--border);
}

.timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.timeline::before {
  content: '';
  position: absolute;
  top: 56px;
  left: calc(12.5% + 56px);
  right: calc(12.5% + 56px);
  height: 2px;
  background: linear-gradient(90deg,
    rgba(255,0,128,0.1),
    rgba(255,0,128,0.5) 30%,
    rgba(255,138,60,0.5) 70%,
    rgba(255,138,60,0.1)
  );
  z-index: 0;
}

.stage {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 8px;
}

.stage-number {
  width: 112px;
  height: 112px;
  margin: 0 auto 36px;
  border-radius: 50%;
  background: var(--bg);
  border: 2px solid var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 800;
  color: var(--pink);
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.stage-number::before {
  content: '';
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,0,128,0.35), transparent 70%);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.stage:hover .stage-number {
  transform: scale(1.08);
  border-color: var(--orange);
  color: var(--orange);
}

.stage:hover .stage-number::before { opacity: 1; }

.stage h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 14px;
  line-height: 1.3;
}

.stage p {
  font-size: 15px;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 24px;
}

.mission-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--pink-light);
  background: rgba(255,0,128,0.1);
  border: 1px solid rgba(255,0,128,0.25);
  padding: 8px 14px;
  border-radius: 20px;
}

.mission-badge svg { width: 12px; height: 12px; }

/* === QUOTE TRANSITION === */
.section-quote {
  background:
    radial-gradient(ellipse at center, rgba(121, 40, 202, 0.25), transparent 65%),
    var(--bg-deep);
  padding: 120px 32px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.quote-large {
  max-width: 820px;
  margin: 0 auto;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.5px;
}

.quote-large .highlight {
  background: linear-gradient(120deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}

.quote-byline {
  margin-top: 28px;
  font-size: 12px;
  color: var(--text-dim);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
}

/* === PILLARS (de v1.1 + disclaimer DD) === */
.section-pillars {
  background:
    radial-gradient(ellipse at top left, rgba(0, 191, 255, 0.1), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(255, 0, 128, 0.1), transparent 55%),
    var(--bg);
  padding: 140px 32px 160px;
}

.pillars-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
}

.pillar {
  position: relative;
  border-radius: 24px;
  padding: 32px 32px 28px;
  overflow: hidden;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.4s ease;
  cursor: pointer;
  border: 1px solid var(--border);
}

.pillar:hover {
  transform: translateY(-6px);
  border-color: rgba(255,255,255,0.18);
}

.pillar-bg-1 { background: radial-gradient(circle at 20% 30%, rgba(255, 0, 128, 0.55), transparent 50%), radial-gradient(circle at 80% 70%, rgba(121, 40, 202, 0.4), transparent 50%), #1a1233; }
.pillar-bg-2 { background: radial-gradient(circle at 70% 30%, rgba(0, 191, 165, 0.45), transparent 50%), radial-gradient(circle at 20% 80%, rgba(0, 102, 255, 0.45), transparent 50%), #0a1f33; }
.pillar-bg-3 { background: radial-gradient(circle at 50% 30%, rgba(255, 107, 0, 0.4), transparent 50%), radial-gradient(circle at 80% 80%, rgba(255, 0, 128, 0.4), transparent 50%), #2a1018; }
.pillar-bg-4 { background: radial-gradient(circle at 30% 70%, rgba(121, 40, 202, 0.5), transparent 50%), radial-gradient(circle at 80% 20%, rgba(0, 102, 255, 0.4), transparent 50%), #160f33; }

.pillar-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.pillar-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.18);
  flex-shrink: 0;
}

.pillar-icon svg { width: 22px; height: 22px; }

.pillar h3 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.4px;
  line-height: 1.2;
}

.pillar p {
  font-size: 14.5px;
  color: rgba(255,255,255,0.85);
  line-height: 1.55;
}

.pillar p .contrast {
  color: rgba(255,255,255,0.55);
  font-style: italic;
}

.pillar-disclaimer {
  font-size: 11px;
  color: rgba(255,255,255,0.5);
  margin-top: 10px;
  font-style: italic;
}

.pillar-meta {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.18);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.pillar-meta-label {
  font-size: 11px;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-weight: 600;
}

.pillar-meta-value {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
}

/* === INSTRUCTORES === */
.instructors {
  background:
    radial-gradient(ellipse at top, rgba(255, 138, 60, 0.08), transparent 50%),
    var(--bg-deep);
  padding: 120px 32px;
  border-top: 1px solid var(--border);
}

.instructors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
}

.instructor-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 32px;
  text-align: center;
  transition: all 0.4s ease;
}

.instructor-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  transform: translateY(-4px);
}

.instructor-photo {
  width: 140px;
  height: 140px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 0, 128, 0.3), rgba(121, 40, 202, 0.4));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 800;
  color: #fff;
  border: 3px solid rgba(255,255,255,0.15);
}

.instructor-card h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 6px;
  letter-spacing: -0.3px;
}

.instructor-role {
  font-size: 13px;
  color: var(--pink-light);
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 0.3px;
}

.instructor-bio {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.55;
}

/* === COMO FUNCIONA - TIMELINE 3 MESES === */
.como-funciona {
  background: var(--bg);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.months-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
}

.month-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 40px 32px;
  position: relative;
  overflow: hidden;
}

.month-card.month-1 { background: rgba(255,255,255,0.03); border-color: rgba(255, 0, 128, 0.2); }
.month-card.month-2 { background: rgba(255,255,255,0.03); border-color: rgba(255, 107, 0, 0.2); }
.month-card.month-3 { background: rgba(255,255,255,0.05); border-color: rgba(94, 234, 212, 0.3); }

.month-label {
  font-size: 13px;
  color: var(--pink-light);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 8px;
}

.month-card.month-2 .month-label { color: var(--orange); }
.month-card.month-3 .month-label { color: var(--teal); }

.month-card h3 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 24px;
  letter-spacing: -0.5px;
}

.month-activities {
  list-style: none;
  margin-bottom: 24px;
}

.month-activities li {
  font-size: 14px;
  color: var(--text-muted);
  padding: 8px 0;
  border-top: 1px solid var(--border);
  display: flex;
  gap: 8px;
  align-items: center;
}

.month-activities li::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--pink-light);
  flex-shrink: 0;
}

.month-highlight {
  background: linear-gradient(135deg, rgba(94, 234, 212, 0.15), rgba(255, 138, 60, 0.1));
  border: 1px solid rgba(94, 234, 212, 0.3);
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
}

.como-funciona-cta {
  text-align: center;
  margin-top: 56px;
}

/* === ROCKSTARS === */
.rockstars {
  background:
    radial-gradient(ellipse at top, rgba(121, 40, 202, 0.12), transparent 50%),
    var(--bg);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.featured-rockstar {
  max-width: 800px;
  margin: 0 auto 56px;
  background: linear-gradient(135deg, rgba(255, 0, 128, 0.12), rgba(121, 40, 202, 0.18));
  border: 1px solid rgba(255, 0, 128, 0.3);
  border-radius: 24px;
  padding: 32px;
  display: flex;
  align-items: center;
  gap: 32px;
}

.featured-rockstar-photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 0, 128, 0.4), rgba(121, 40, 202, 0.5));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 800;
  flex-shrink: 0;
  border: 3px solid rgba(255,255,255,0.2);
}

.featured-rockstar-label {
  font-size: 11px;
  color: var(--pink-light);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 8px;
}

.featured-rockstar h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 4px;
}

.featured-rockstar p {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.5;
}

.rockstars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto;
}

.rockstar-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 20px;
  text-align: center;
  transition: all 0.3s ease;
}

.rockstar-card:hover {
  background: rgba(255,255,255,0.06);
  transform: translateY(-3px);
}

.rockstar-card .photo {
  width: 64px;
  height: 64px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4a3a8a, #6a4a9a);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
}

.rockstar-card h4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}

.rockstar-card .role {
  font-size: 11px;
  color: var(--text-muted);
}

.rockstars-cta {
  text-align: center;
  margin-top: 48px;
}

/* === CASOS DE EXITO === */
.casos {
  background: var(--bg-deep);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.casos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
}

.caso-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 32px;
  transition: all 0.3s ease;
}

.caso-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
  transform: translateY(-4px);
}

.caso-logo {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: rgba(255,255,255,0.1);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 22px;
  margin-bottom: 20px;
  color: var(--text-dim);
}

.caso-amount {
  font-size: 32px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -1px;
  margin-bottom: 6px;
}

.caso-name {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.caso-investors {
  font-size: 12px;
  padding: 6px 12px;
  background: rgba(255,255,255,0.05);
  border-radius: 8px;
  display: inline-block;
  color: rgba(255,255,255,0.7);
  margin-bottom: 20px;
}

.caso-quote {
  font-size: 14px;
  color: rgba(255,255,255,0.85);
  line-height: 1.55;
  font-style: italic;
  border-left: 2px solid var(--pink);
  padding-left: 14px;
}

.placeholder-flag {
  background: rgba(255, 200, 0, 0.1);
  border: 1px dashed rgba(255, 200, 0, 0.4);
  color: #ffcc00;
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 8px;
  display: inline-block;
  margin-top: 12px;
  letter-spacing: 0.5px;
}

/* === TESTIMONIOS === */
.testimonios {
  background: var(--bg);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.testimonio-card {
  max-width: 800px;
  margin: 0 auto;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 48px;
  display: flex;
  gap: 32px;
  align-items: center;
}

.testimonio-photo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 800;
  flex-shrink: 0;
}

.testimonio-quote {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 16px;
  color: rgba(255,255,255,0.95);
}

.testimonio-author {
  font-size: 14px;
  color: var(--text-muted);
}

.testimonio-author strong {
  color: #fff;
  font-weight: 700;
}

/* === PRICING === */
.pricing {
  background:
    radial-gradient(ellipse at center, rgba(255, 0, 128, 0.1), transparent 60%),
    var(--bg-deep);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.pricing-card {
  max-width: 640px;
  margin: 0 auto;
  background: linear-gradient(135deg, rgba(255, 0, 128, 0.08), rgba(121, 40, 202, 0.12));
  border: 1px solid rgba(255, 0, 128, 0.25);
  border-radius: 32px;
  padding: 48px;
  text-align: center;
  position: relative;
}

.pricing-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 32px;
  padding: 1px;
  background: linear-gradient(135deg, var(--pink), var(--orange), var(--violet));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.pricing-tag {
  display: inline-block;
  font-size: 11px;
  background: rgba(255, 0, 128, 0.2);
  color: var(--pink-light);
  padding: 6px 14px;
  border-radius: 100px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.pricing-amount {
  font-size: 72px;
  font-weight: 800;
  background: linear-gradient(135deg, #fff, var(--pink-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -3px;
  line-height: 1;
  margin-bottom: 8px;
}

.pricing-amount-suffix {
  font-size: 20px;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 32px;
}

.pricing-features {
  list-style: none;
  text-align: left;
  margin-bottom: 32px;
}

.pricing-features li {
  font-size: 14.5px;
  padding: 10px 0;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-bottom: 1px solid var(--border);
}

.pricing-features li:last-child { border-bottom: none; }

.pricing-features li svg {
  width: 18px;
  height: 18px;
  color: var(--teal);
  flex-shrink: 0;
  margin-top: 2px;
}

.pricing-roi {
  background: rgba(94, 234, 212, 0.08);
  border: 1px solid rgba(94, 234, 212, 0.25);
  border-radius: 16px;
  padding: 16px 20px;
  margin-bottom: 24px;
  font-size: 14px;
  color: rgba(255,255,255,0.95);
  line-height: 1.5;
}

.pricing-roi strong {
  color: var(--teal);
  font-weight: 700;
}

.pricing-anchor {
  margin-top: 20px;
  font-size: 12px;
  color: var(--text-dim);
  font-style: italic;
}

.pricing-annual {
  margin-top: 16px;
  font-size: 13px;
  color: var(--text-muted);
}

.pricing-annual a {
  color: var(--pink-light);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(255, 0, 128, 0.3);
}

/* === ADVISORY === */
.advisory {
  background: var(--bg);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.advisory-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.advisor-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 28px;
  text-align: center;
  transition: all 0.3s ease;
}

.advisor-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.18);
}

.advisor-photo {
  width: 80px;
  height: 80px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 0, 128, 0.3), rgba(121, 40, 202, 0.5));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 800;
  border: 2px solid rgba(255,255,255,0.15);
}

.advisor-card h4 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 4px;
}

.advisor-card .advisor-org {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.advisor-card .advisor-price {
  font-size: 18px;
  font-weight: 700;
  color: var(--pink-light);
  letter-spacing: -0.3px;
}

.advisor-card .advisor-price-label {
  font-size: 11px;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 2px;
}

.advisory-cta {
  text-align: center;
  margin-top: 48px;
}

/* === FAQ === */
.faq {
  background: var(--bg-deep);
  padding: 140px 32px;
  border-top: 1px solid var(--border);
}

.faq-list {
  max-width: 760px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid var(--border);
}

.faq-question {
  width: 100%;
  text-align: left;
  background: none;
  padding: 24px 0;
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  transition: color 0.2s ease;
}

.faq-question:hover { color: var(--pink-light); }

.faq-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.3s ease, background 0.3s ease;
}

.faq-item.open .faq-icon {
  transform: rotate(45deg);
  background: rgba(255, 0, 128, 0.2);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.65;
}

.faq-item.open .faq-answer {
  max-height: 400px;
  padding-bottom: 24px;
}

.faq-cta {
  text-align: center;
  margin-top: 56px;
}

/* === LAST CALL === */
.last-call {
  background:
    radial-gradient(ellipse at center, rgba(255, 0, 128, 0.2), transparent 50%),
    radial-gradient(ellipse at bottom, rgba(121, 40, 202, 0.3), transparent 60%),
    var(--bg);
  padding: 140px 32px;
  text-align: center;
  border-top: 1px solid var(--border);
}

.last-call h2 {
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -2px;
  line-height: 1.05;
  margin-bottom: 48px;
}

.countdown-xl {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-bottom: 32px;
}

.countdown-unit {
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px 28px;
  min-width: 110px;
}

.countdown-value {
  font-size: 56px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -2px;
  line-height: 1;
  margin-bottom: 8px;
}

.countdown-label {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 600;
}

.scarcity {
  font-size: 15px;
  color: var(--text-muted);
  margin-bottom: 32px;
}

.scarcity strong { color: #fff; font-weight: 700; }

/* === WAITLIST === */
.waitlist {
  background: var(--bg-deep);
  padding: 80px 32px;
  border-top: 1px solid var(--border);
}

.waitlist-inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.waitlist h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}

.waitlist p {
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 24px;
}

.waitlist-form {
  display: flex;
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
}

.waitlist-form input {
  flex: 1;
  padding: 14px 18px;
  font-size: 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: #fff;
  font-family: inherit;
  outline: none;
}

.waitlist-form input::placeholder { color: var(--text-dim); }

.waitlist-form input:focus { border-color: rgba(255, 0, 128, 0.4); }

.waitlist-form button {
  background: linear-gradient(135deg, var(--pink), var(--orange));
  color: #fff;
  padding: 14px 24px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14px;
}

/* === FOOTER === */
.site-footer {
  background: var(--bg-deep);
  padding: 64px 32px 32px;
  border-top: 1px solid var(--border);
}

.footer-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--border);
}

.footer-brand .logo { margin-bottom: 16px; }

.footer-brand p {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.55;
  margin-bottom: 16px;
}

.footer-col h5 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--text-dim);
  font-weight: 700;
  margin-bottom: 16px;
}

.footer-col ul { list-style: none; }
.footer-col li {
  padding: 6px 0;
  font-size: 14px;
  color: rgba(255,255,255,0.75);
}
.footer-col a:hover { color: var(--pink-light); }

.footer-sponsors {
  max-width: 1180px;
  margin: 32px auto;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.footer-sponsors-label {
  font-size: 11px;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 600;
}

.footer-bottom {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--text-dim);
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

/* WhatsApp floating */
.wa-floating {
  position: sticky;
  bottom: 24px;
  margin: 0 0 0 auto;
  right: 24px;
  width: 56px;
  height: 56px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
  z-index: 40;
  margin-right: 24px;
}

/* === ANIMATIONS === */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.stage, .pillar, .month-card, .instructor-card, .caso-card, .advisor-card {
  animation: fadeUp 0.8s ease-out backwards;
}
.stage:nth-child(1), .pillar:nth-child(1), .month-card:nth-child(1), .instructor-card:nth-child(1), .caso-card:nth-child(1), .advisor-card:nth-child(1) { animation-delay: 0.1s; }
.stage:nth-child(2), .pillar:nth-child(2), .month-card:nth-child(2), .instructor-card:nth-child(2), .caso-card:nth-child(2), .advisor-card:nth-child(2) { animation-delay: 0.2s; }
.stage:nth-child(3), .pillar:nth-child(3), .month-card:nth-child(3), .instructor-card:nth-child(3), .caso-card:nth-child(3), .advisor-card:nth-child(3) { animation-delay: 0.3s; }
.stage:nth-child(4), .pillar:nth-child(4) { animation-delay: 0.4s; }

/* === RESPONSIVE === */
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-text h1 { font-size: 48px; }
  .timeline { grid-template-columns: 1fr 1fr; gap: 48px; }
  .timeline::before { display: none; }
  .pillars-grid, .months-grid, .instructors-grid, .casos-grid, .advisory-grid { grid-template-columns: 1fr; }
  .rockstars-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .nav-main { display: none; }
  .featured-rockstar { flex-direction: column; text-align: center; }
  .testimonio-card { flex-direction: column; padding: 32px; }
  h2.section-title { font-size: 40px; }
  .quote-large { font-size: 22px; }
}

@media (max-width: 600px) {
  .hero, .section-outcomes, .section-pillars, .como-funciona, .rockstars, .casos, .testimonios, .pricing, .advisory, .faq, .last-call { padding: 70px 20px; }
  .hero-text h1 { font-size: 36px; letter-spacing: -1.5px; }
  .timeline { grid-template-columns: 1fr; }
  .countdown-xl { flex-wrap: wrap; }
  .countdown-unit { min-width: 80px; padding: 16px; }
  .countdown-value { font-size: 36px; }
  .pricing-amount { font-size: 48px; }
  .trust-strip-inner { flex-direction: column; }
  .last-call h2 { font-size: 32px; }
  .waitlist-form { flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* === SCROLL OFFSET PARA ANCHORS === */
[id] { scroll-margin-top: 120px; }

/* === DEMARCATOR DE PÁGINAS === */
.pages-demarcator {
  background: linear-gradient(180deg, var(--bg-deep), #0f0820);
  padding: 64px 32px;
  text-align: center;
  border-top: 2px solid rgba(255,0,128,0.2);
  border-bottom: 2px solid rgba(255,0,128,0.2);
}
.pages-demarcator-label {
  font-size: 12px;
  color: var(--pink-light);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 700;
  margin-bottom: 12px;
}
.pages-demarcator h2 {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.5px;
}

/* === PAGE SECTION SHELL === */
.page-section { padding: 120px 32px; border-top: 1px solid var(--border); }
.page-section-head { text-align: center; margin-bottom: 64px; max-width: 900px; margin-left: auto; margin-right: auto; }
.page-section-head .eyebrow {
  font-family: 'Courier New', monospace;
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--text-dim);
  text-transform: lowercase;
  background: rgba(255,255,255,0.04);
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 16px;
}

/* === PARTNERS === */
.page-partners { background: radial-gradient(ellipse at top, rgba(255,107,0,0.1), transparent 50%), var(--bg); }
.tier-block { max-width: 1100px; margin: 0 auto 32px; padding: 40px; border: 1px solid var(--border); border-radius: 24px; background: rgba(255,255,255,0.03); }
.tier-label { font-size: 11px; color: var(--pink-light); text-transform: uppercase; letter-spacing: 2px; font-weight: 700; margin-bottom: 24px; }
.tier-logo-big { font-size: 64px; font-weight: 900; letter-spacing: 6px; text-align: center; color: #ff4444; padding: 32px 0; margin-bottom: 16px; }
.tier-logos-row { display: flex; justify-content: center; gap: 80px; padding: 24px 0; margin-bottom: 16px; flex-wrap: wrap; }
.tier-logo-med { font-size: 32px; font-weight: 800; letter-spacing: 2px; }
.tier-2 .tier-logo-med:nth-child(1) { color: #4a9eff; }
.tier-2 .tier-logo-med:nth-child(2) { color: #aaffaa; }
.tier-logos-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; padding: 16px 0; margin-bottom: 16px; }
.tier-logo-sm { background: rgba(255,255,255,0.05); border: 1px solid var(--border); border-radius: 10px; padding: 24px 12px; text-align: center; font-size: 12px; color: var(--text-muted); font-weight: 600; }
.tier-description { font-size: 14px; color: var(--text-muted); text-align: center; line-height: 1.5; }

/* === CRONOGRAMA === */
.page-cronograma { background: radial-gradient(ellipse at top right, rgba(94,234,212,0.08), transparent 50%), var(--bg); }
.cronograma-tabs { display: flex; gap: 8px; justify-content: center; margin-bottom: 48px; flex-wrap: wrap; }
.cronograma-tabs .tab { padding: 10px 20px; background: rgba(255,255,255,0.04); border: 1px solid var(--border); border-radius: 100px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.75); transition: all 0.2s ease; }
.cronograma-tabs .tab:hover { background: rgba(255,255,255,0.08); }
.cronograma-tabs .tab.active { background: rgba(255,0,128,0.15); border-color: rgba(255,0,128,0.3); color: var(--pink-light); }
.cronograma-list { max-width: 900px; margin: 0 auto; }
.cronograma-week, .cronograma-week-collapsed { border: 1px solid var(--border); border-radius: 16px; padding: 24px; margin-bottom: 12px; background: rgba(255,255,255,0.02); }
.cronograma-week-collapsed { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; cursor: pointer; transition: background 0.2s ease; }
.cronograma-week-collapsed:hover { background: rgba(255,255,255,0.05); }
.cronograma-week-highlight { border-color: rgba(94,234,212,0.4); background: rgba(94,234,212,0.05); }
.week-label { font-size: 13px; color: var(--pink-light); text-transform: uppercase; letter-spacing: 1px; font-weight: 700; margin-bottom: 16px; }
.cronograma-week-highlight .week-label { color: var(--teal); }
.week-sub { font-size: 13px; color: var(--text-muted); margin: 0; }
.activity { display: grid; grid-template-columns: 140px 1fr 110px; gap: 20px; padding: 16px 0; border-top: 1px solid var(--border); align-items: center; }
.activity:first-of-type { margin-top: 8px; }
.activity-time { font-size: 11px; color: var(--text-dim); letter-spacing: 0.5px; font-weight: 600; text-transform: uppercase; }
.activity-content h4 { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.activity-content p { font-size: 12px; color: var(--text-muted); margin: 0; }
.activity-tag { display: inline-block; background: rgba(255,255,255,0.08); padding: 3px 8px; border-radius: 6px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
.activity-class .activity-tag { background: rgba(255,0,128,0.15); color: var(--pink-light); }
.activity-masterclass .activity-tag { background: rgba(255,107,0,0.15); color: var(--orange); }
.activity-mission .activity-tag { background: rgba(94,234,212,0.15); color: var(--teal); }
.activity-tag-special { background: linear-gradient(135deg, var(--pink), var(--orange)) !important; color: white !important; }
.activity-status { font-size: 10px; padding: 5px 10px; border-radius: 100px; text-align: center; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.status-upcoming { background: rgba(94,234,212,0.1); color: var(--teal); }
.status-deadline { background: rgba(255,107,0,0.15); color: var(--orange); }
.status-flagship { background: linear-gradient(135deg, var(--pink), var(--orange)); color: white; }
.cronograma-cta { text-align: center; margin-top: 48px; }

/* === ADVISORY === */
.page-advisory { background: radial-gradient(ellipse at center, rgba(196,181,253,0.1), transparent 50%), var(--bg); }
.advisory-detailed-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1180px; margin: 0 auto; }
.advisor-detail-card { background: rgba(255,255,255,0.04); border: 1px solid var(--border); border-radius: 24px; padding: 32px; text-align: center; }
.advisor-detail-photo { width: 100px; height: 100px; margin: 0 auto 20px; border-radius: 50%; background: linear-gradient(135deg, rgba(255,0,128,0.4), rgba(121,40,202,0.5)); display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 800; border: 2px solid rgba(255,255,255,0.15); }
.advisor-detail-card h3 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.advisor-detail-role { font-size: 12px; color: var(--pink-light); text-transform: uppercase; letter-spacing: 1px; font-weight: 700; margin-bottom: 16px; }
.advisor-detail-bio { font-size: 14px; color: rgba(255,255,255,0.85); line-height: 1.55; margin-bottom: 20px; }
.advisor-detail-meta { text-align: left; background: rgba(0,0,0,0.2); border-radius: 12px; padding: 16px; margin-bottom: 20px; }
.advisor-meta-row { font-size: 12px; color: var(--text-muted); padding: 4px 0; line-height: 1.5; }
.advisor-meta-row strong { color: #fff; font-weight: 600; }
.advisor-detail-price { font-size: 14px; color: var(--text-muted); margin-bottom: 16px; }
.advisor-detail-price strong { font-size: 22px; color: var(--pink-light); font-weight: 800; letter-spacing: -0.5px; }
.cta-block { display: flex; justify-content: center; width: 100%; }
.advisory-disclaimer { max-width: 900px; margin: 32px auto 0; text-align: center; font-size: 12px; color: var(--text-dim); font-style: italic; }

/* === MASTERCLASSES + LIVE INTERVIEWS === */
.page-masterclasses, .page-live { background: radial-gradient(ellipse at top, rgba(255,107,0,0.08), transparent 50%), var(--bg); }
.masterclass-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1180px; margin: 0 auto; }
.masterclass-card { background: rgba(255,255,255,0.03); border: 1px solid var(--border); border-radius: 16px; padding: 0; overflow: hidden; transition: transform 0.3s ease; }
.masterclass-card:hover { transform: translateY(-4px); }
.masterclass-thumb { height: 160px; background: linear-gradient(135deg, rgba(255,0,128,0.3), rgba(121,40,202,0.4)); position: relative; display: flex; align-items: center; justify-content: center; }
.masterclass-card.locked .masterclass-thumb { background: linear-gradient(135deg, rgba(0,0,0,0.5), rgba(0,0,0,0.75)), linear-gradient(135deg, rgba(255,0,128,0.3), rgba(121,40,202,0.4)); }
.masterclass-tag { position: absolute; top: 12px; left: 12px; background: rgba(94,234,212,0.2); color: var(--teal); padding: 4px 10px; border-radius: 100px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.tag-locked { background: rgba(255,0,128,0.2); color: var(--pink-light); }
.masterclass-play-icon, .masterclass-lock-icon { width: 56px; height: 56px; background: rgba(0,0,0,0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; }
.masterclass-play-icon svg, .masterclass-lock-icon svg { width: 24px; height: 24px; }
.masterclass-card h4 { font-size: 16px; font-weight: 600; margin: 16px 20px 12px; letter-spacing: -0.2px; line-height: 1.3; }
.masterclass-meta { display: flex; justify-content: space-between; padding: 0 20px 12px; font-size: 12px; color: var(--text-muted); gap: 12px; }
.masterclass-speaker { font-weight: 600; color: rgba(255,255,255,0.85); }
.masterclass-insight { padding: 12px 20px; background: rgba(255,255,255,0.04); border-top: 1px solid var(--border); font-size: 12.5px; color: rgba(255,255,255,0.75); font-style: italic; line-height: 1.5; }
.masterclass-card.locked .masterclass-insight { color: var(--pink-light); font-style: normal; font-weight: 600; }

/* === ROCKSTARS PAGE === */
.page-rockstars { background: radial-gradient(ellipse at bottom, rgba(121,40,202,0.15), transparent 60%), var(--bg); }
.rockstars-page-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; max-width: 1180px; margin: 0 auto; }

/* === HOUSE RULES === */
.page-house-rules { background: radial-gradient(ellipse at center, rgba(255,138,60,0.08), transparent 50%), var(--bg); }
.rules-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1180px; margin: 0 auto; }
.rule-card { background: rgba(255,255,255,0.04); border: 1px solid var(--border); border-radius: 20px; padding: 28px; text-align: left; transition: all 0.3s ease; }
.rule-card:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.18); transform: translateY(-4px); }
.rule-number { font-size: 14px; color: var(--pink-light); font-weight: 800; letter-spacing: 1px; margin-bottom: 12px; }
.rule-card h4 { font-size: 17px; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.3px; }
.rule-card p { font-size: 13.5px; color: var(--text-muted); line-height: 1.55; }

/* === Q&A FULL === */
.page-qa { background: var(--bg-deep); }
.qa-search { max-width: 600px; margin: 0 auto 32px; position: relative; }
.qa-search input { width: 100%; padding: 16px 20px 16px 48px; font-size: 14px; background: rgba(255,255,255,0.05); border: 1px solid var(--border); border-radius: 100px; color: #fff; outline: none; font-family: inherit; }
.qa-search input::placeholder { color: var(--text-dim); }
.qa-search input:focus { border-color: rgba(255,0,128,0.4); }
.qa-search svg { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--text-dim); }
.qa-page-list { max-width: 760px; margin: 0 auto; }

/* === RESPONSIVE NEW SECTIONS === */
@media (max-width: 980px) {
  .advisory-detailed-grid, .masterclass-grid { grid-template-columns: 1fr 1fr; }
  .rockstars-page-grid { grid-template-columns: repeat(3, 1fr); }
  .rules-grid { grid-template-columns: 1fr 1fr; }
  .tier-logos-grid { grid-template-columns: repeat(4, 1fr); }
  .activity { grid-template-columns: 1fr; gap: 8px; padding: 16px; background: rgba(255,255,255,0.02); border-radius: 10px; margin-bottom: 8px; border-top: none; }
}
@media (max-width: 600px) {
  .advisory-detailed-grid, .masterclass-grid { grid-template-columns: 1fr; }
  .rockstars-page-grid { grid-template-columns: repeat(2, 1fr); }
  .rules-grid { grid-template-columns: 1fr; }
  .tier-logos-grid { grid-template-columns: repeat(3, 1fr); }
  .tier-logo-big { font-size: 40px; }
  .page-section { padding: 80px 20px; }
}

/* === v2 PATCH: nuevas clases por feedback David === */
.dolor-sub { max-width: 760px; margin: 16px auto 0; font-size: 16.5px; line-height: 1.65; color: var(--text-muted); text-align: center; }

.stage-phase-label { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px; color: var(--pink-light); text-transform: uppercase; margin-bottom: 6px; padding: 3px 9px; background: rgba(255,0,128,0.12); border-radius: 100px; }

.pillars-track-record { max-width: 880px; margin: 36px auto 0; padding: 22px 28px; background: linear-gradient(135deg, rgba(94,234,212,0.08), rgba(255,0,128,0.06)); border: 1px solid rgba(94,234,212,0.25); border-radius: 14px; text-align: center; }
.pillars-track-record p { font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0; }

.instructors-grid-anchored { grid-template-columns: 1.4fr 1fr 1fr; align-items: stretch; }
.instructor-card-main { background: linear-gradient(135deg, rgba(255,0,128,0.1), rgba(121,40,202,0.08)); border-color: rgba(255,92,160,0.35); position: relative; }
.instructor-card-main::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--pink), var(--orange)); border-radius: 16px 16px 0 0; }
.instructor-card-guest { opacity: 0.92; }
.instructor-badge { position: absolute; top: 14px; right: 14px; font-size: 9.5px; font-weight: 700; letter-spacing: 0.8px; padding: 4px 9px; background: linear-gradient(135deg, var(--pink), var(--orange)); color: #fff; border-radius: 100px; text-transform: uppercase; }
.instructor-badge-guest { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.75); }
.instructor-photo-main { width: 96px; height: 96px; font-size: 32px; border: 2px solid var(--pink-light); }
.instructor-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.instructor-tag { font-size: 11px; padding: 4px 10px; background: rgba(94,234,212,0.12); color: var(--teal); border-radius: 100px; font-weight: 600; }
@media (max-width: 900px) { .instructors-grid-anchored { grid-template-columns: 1fr; } }

.rockstars-section-divider { text-align: center; margin: 36px 0 20px; position: relative; }
.rockstars-section-divider span { display: inline-block; padding: 0 18px; background: var(--bg); position: relative; z-index: 1; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.rockstars-section-divider::before { content: ''; position: absolute; top: 50%; left: 10%; right: 10%; height: 1px; background: var(--border); }
.rockstar-card-mf26 { background: linear-gradient(135deg, rgba(255,0,128,0.12), rgba(121,40,202,0.08)); border-color: rgba(255,92,160,0.35); }
.rockstar-card-mf26 .role { color: var(--pink-light); font-weight: 600; }

.advisory-elevated { background: radial-gradient(ellipse at top, rgba(94,234,212,0.06), transparent 50%), var(--bg); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.advisor-card-flagship { background: linear-gradient(135deg, rgba(255,107,0,0.1), rgba(255,0,128,0.08)); border-color: rgba(255,107,0,0.4); position: relative; transform: translateY(-8px); }
.advisor-card-recommended { background: linear-gradient(135deg, rgba(94,234,212,0.08), rgba(121,40,202,0.05)); border-color: rgba(94,234,212,0.35); position: relative; }
.advisor-badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); font-size: 10px; font-weight: 700; letter-spacing: 1px; padding: 5px 12px; background: linear-gradient(135deg, var(--orange), var(--pink)); color: #fff; border-radius: 100px; text-transform: uppercase; white-space: nowrap; }
.advisor-badge-rec { background: linear-gradient(135deg, var(--teal), var(--purple)); }
.advisor-pitch { font-size: 13px; line-height: 1.55; color: rgba(255,255,255,0.75); margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.advisory-meta-note { text-align: center; margin-top: 24px; font-size: 13px; color: var(--text-muted); }
@media (max-width: 900px) { .advisor-card-flagship { transform: none; } }

.testimonios-carousel { position: relative; max-width: 880px; margin: 0 auto; padding: 0 60px; }
.testimonios-track { position: relative; min-height: 240px; }
.testimonio-slide { position: absolute; top: 0; left: 0; right: 0; opacity: 0; transition: opacity 0.4s ease; pointer-events: none; }
.testimonio-slide.active { opacity: 1; pointer-events: auto; position: relative; }
.carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: rgba(255,255,255,0.06); border: 1px solid var(--border); border-radius: 50%; color: #fff; font-size: 24px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease; }
.carousel-arrow:hover { background: rgba(255,0,128,0.18); }
.carousel-arrow-prev { left: 0; }
.carousel-arrow-next { right: 0; }
.carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.carousel-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.18); border: none; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; padding: 0; }
.carousel-dot.active { background: var(--pink); transform: scale(1.3); }
@media (max-width: 600px) { .testimonios-carousel { padding: 0 16px; } .carousel-arrow { display: none; } }

.pricing-dual-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 24px; max-width: 980px; margin: 0 auto 36px; align-items: stretch; }
.pricing-card-discounted { border: 2px solid var(--pink); background: linear-gradient(135deg, rgba(255,0,128,0.06), rgba(255,107,0,0.04)); position: relative; }
.pricing-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); font-size: 11px; font-weight: 700; letter-spacing: 1px; padding: 6px 14px; background: linear-gradient(135deg, var(--pink), var(--orange)); color: #fff; border-radius: 100px; text-transform: uppercase; }
.pricing-roi-prominent { max-width: 880px; margin: 0 auto; padding: 28px 32px; display: flex; gap: 28px; align-items: center; background: rgba(255,255,255,0.03); border: 1px solid var(--border); border-radius: 16px; }
.pricing-roi-stat { display: flex; flex-direction: column; flex-shrink: 0; min-width: 160px; padding-right: 28px; border-right: 1px solid var(--border); }
.pricing-roi-value { font-size: 36px; font-weight: 800; background: linear-gradient(135deg, var(--pink), var(--orange)); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1; }
.pricing-roi-label { font-size: 11px; letter-spacing: 0.6px; text-transform: uppercase; color: var(--text-muted); margin-top: 8px; line-height: 1.4; }
.pricing-roi-prominent p { font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0; }
.pricing-chile-note { text-align: center; margin-top: 24px; font-size: 14px; color: var(--text-muted); }
.pricing-chile-note a { color: var(--pink-light); text-decoration: underline; }
@media (max-width: 900px) {
  .pricing-dual-grid { grid-template-columns: 1fr; }
  .pricing-roi-prominent { flex-direction: column; text-align: center; }
  .pricing-roi-stat { border-right: none; border-bottom: 1px solid var(--border); padding: 0 0 20px; }
}

/* === v3 PATCH: carrusel mini-cards casos de éxito (barra horizontal) === */
.casos-strip { padding: 36px 24px 32px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: rgba(255,255,255,0.015); overflow: hidden; }
.casos-strip-head { max-width: 1180px; margin: 0 auto 18px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.casos-strip-eyebrow { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.casos-strip-link { font-size: 13px; color: var(--pink-light); text-decoration: none; }
.casos-strip-link:hover { text-decoration: underline; }
.casos-strip-track-wrapper { max-width: 1180px; margin: 0 auto; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); }
.casos-strip-track { display: flex; gap: 16px; animation: casos-scroll 38s linear infinite; width: max-content; }
.casos-strip-track:hover { animation-play-state: paused; }
.casos-mini-card { flex: 0 0 auto; min-width: 240px; padding: 16px 18px; background: rgba(255,255,255,0.035); border: 1px solid var(--border); border-radius: 12px; display: flex; gap: 14px; align-items: center; transition: border-color 0.2s ease, transform 0.2s ease; }
.casos-mini-card:hover { border-color: rgba(255,92,160,0.35); transform: translateY(-2px); }
.casos-mini-logo { width: 44px; height: 44px; flex-shrink: 0; border-radius: 10px; background: linear-gradient(135deg, rgba(255,0,128,0.2), rgba(121,40,202,0.25)); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; color: #fff; letter-spacing: -0.3px; }
.casos-mini-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.casos-mini-amount { font-size: 17px; font-weight: 800; line-height: 1.1; background: linear-gradient(135deg, var(--pink), var(--orange)); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: -0.3px; }
.casos-mini-name { font-size: 12px; color: var(--text-muted); white-space: nowrap; }
@keyframes casos-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* === v3 PATCH: frase puente standalone === */
.frase-puente { padding: 90px 24px; text-align: center; background: radial-gradient(ellipse at center, rgba(255,0,128,0.06), transparent 60%); }
.frase-puente blockquote { max-width: 900px; margin: 0 auto; font-size: clamp(24px, 3.4vw, 38px); font-weight: 700; line-height: 1.3; letter-spacing: -0.6px; color: rgba(255,255,255,0.95); }
.frase-puente blockquote .accent { background: linear-gradient(135deg, var(--pink), var(--orange)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.frase-puente cite { display: block; margin-top: 22px; font-style: normal; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }

/* === v3 PATCH: rockstars teaser (versión landing, solo top) === */
.rockstars-teaser-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; max-width: 1180px; margin: 24px auto 0; }
@media (max-width: 900px) { .rockstars-teaser-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 500px) { .rockstars-teaser-grid { grid-template-columns: repeat(2, 1fr); } }

/* === v3 PATCH: last call dentro del footer === */
.footer-cta { padding: 70px 24px 48px; text-align: center; background: linear-gradient(180deg, transparent, rgba(255,0,128,0.04)); }
.footer-cta h3 { font-size: clamp(26px, 3.4vw, 36px); font-weight: 800; letter-spacing: -0.6px; line-height: 1.15; margin-bottom: 18px; }
.footer-cta .countdown-row { display: flex; justify-content: center; gap: 14px; margin: 22px 0 28px; flex-wrap: wrap; }

/* === v3 PATCH FIX: header layout — el index nuevo usa clases distintas al v2 === */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  /* el v2 tenía un banner de 48px arriba; el index nuevo no, así que el sticky va a 0 */
  top: 0;
}
.site-header > .logo,
.site-header > .main-nav,
.site-header > .header-cta { /* asegurar que sean hijos directos del flex container */ }
.hero { margin-top: 0; } /* anular gap heredado del banner viejo */

/* Logo bilingüe usa .logo-title + .logo-sub (no <small>) */
.logo { text-decoration: none; color: inherit; }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-title { font-size: 15px; font-weight: 700; letter-spacing: -0.3px; color: #fff; }
.logo-sub { font-size: 10.5px; font-weight: 500; color: var(--text-dim); margin-top: 2px; letter-spacing: 0.4px; }

/* .main-nav mismo styling que .nav-main */
.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 14px;
  font-weight: 500;
  flex: 1;
  justify-content: center;
}
.main-nav > a,
.main-nav > .nav-item > a { color: rgba(255,255,255,0.85); text-decoration: none; transition: color 0.2s ease; white-space: nowrap; }
.main-nav > a:hover,
.main-nav > .nav-item:hover > a { color: var(--pink-light); }

/* .nav-item wrapper de cada slot (dropdown o link simple) */
.nav-item { position: relative; display: inline-flex; align-items: center; }
.nav-item.nav-dropdown > a { display: inline-flex; align-items: center; gap: 4px; }

/* El index nuevo usa <span class="nav-caret">▾</span> dentro del <a>.
   El CSS viejo dibujaba un ::after triangle adicional → ocultar para no duplicar */
.nav-dropdown > a::after { display: none; }
.nav-caret { font-size: 11px; opacity: 0.7; transition: transform 0.2s ease; display: inline-block; }
.nav-item.nav-dropdown:hover .nav-caret { transform: rotate(180deg); }

/* Dropdown menu se posiciona desde .nav-item (no .nav-dropdown directo en v3) */
.nav-item.nav-dropdown:hover > .nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* .header-cta mismo styling que .header-right */
.header-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

/* .cd-mini-pill mismo styling que .countdown-mini */
.cd-mini-pill {
  font-size: 12px;
  color: var(--text-muted);
  padding: 8px 14px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--border);
  border-radius: 100px;
  white-space: nowrap;
}
.cd-mini-pill #cd-mini { color: var(--pink-light); font-weight: 700; }

/* Asegurar que el CTA del header sea compacto */
.header-cta .cta-primary { padding: 10px 18px; font-size: 13.5px; }

/* Responsive: en mobile colapsa nav (futuro: burger menu); por ahora oculta */
@media (max-width: 900px) {
  .site-header { padding: 14px 20px; gap: 16px; }
  .main-nav { display: none; }
  .cd-mini-pill { display: none; }
}

/* === v3 PATCH 2: PALETA VERDE IMPACTA (placeholder — confirmar hex con brandbook) ===
   El brandbook PDF tiene principales azul oscuro #1F223E + azul brillante #122FC5.
   Los secundarios no aparecen con hex en el texto. Usamos emerald + teal del sistema
   como placeholder hasta que David confirme el hex exacto del manual.
*/
:root {
  --impacta-green-deep: #047857;   /* emerald-700 */
  --impacta-green: #10b981;        /* emerald-500 — verde principal */
  --impacta-green-light: #5eead4;  /* teal-300, ya estaba como --teal */
  --impacta-green-glow: rgba(16, 185, 129, 0.15);
  --impacta-green-soft: rgba(16, 185, 129, 0.08);
}

/* === Advisory en verde — más destacado === */
.advisory-elevated.advisory-green {
  background:
    radial-gradient(ellipse at top left, rgba(4, 120, 87, 0.18), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(94, 234, 212, 0.12), transparent 60%),
    linear-gradient(135deg, rgba(16, 185, 129, 0.06), rgba(4, 120, 87, 0.03));
  border-top: 1px solid rgba(16, 185, 129, 0.35);
  border-bottom: 1px solid rgba(16, 185, 129, 0.35);
  position: relative;
}
.advisory-elevated.advisory-green::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--impacta-green-deep), var(--impacta-green), var(--impacta-green-light));
}
.advisory-elevated.advisory-green .eyebrow {
  color: var(--impacta-green-light);
}
.advisory-elevated.advisory-green .section-title .accent {
  background: linear-gradient(135deg, var(--impacta-green), var(--impacta-green-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.advisory-elevated.advisory-green .advisor-card-flagship {
  background: linear-gradient(135deg, rgba(4, 120, 87, 0.18), rgba(16, 185, 129, 0.1));
  border-color: rgba(16, 185, 129, 0.5);
}
.advisory-elevated.advisory-green .advisor-card-flagship .advisor-badge {
  background: linear-gradient(135deg, var(--impacta-green-deep), var(--impacta-green));
}
.advisory-elevated.advisory-green .advisor-card-recommended {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(94, 234, 212, 0.06));
  border-color: rgba(94, 234, 212, 0.4);
}
.advisory-elevated.advisory-green .advisor-card-recommended .advisor-badge-rec {
  background: linear-gradient(135deg, var(--impacta-green), var(--impacta-green-light));
  color: #062c1f;
}
.advisory-elevated.advisory-green .cta-secondary {
  border-color: rgba(16, 185, 129, 0.5);
  color: var(--impacta-green-light);
}
.advisory-elevated.advisory-green .cta-secondary:hover {
  background: var(--impacta-green-glow);
  border-color: var(--impacta-green);
  color: #fff;
}

/* === Link inline al Advisory dentro del Pricing (mismo verde) === */
.pricing-advisory-note {
  text-align: center;
  margin-top: 14px;
  font-size: 14px;
  color: var(--text-muted);
}
.advisory-link-inline {
  color: var(--impacta-green-light);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px dashed rgba(94, 234, 212, 0.5);
  padding-bottom: 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.advisory-link-inline:hover {
  color: var(--impacta-green);
  border-bottom-color: var(--impacta-green);
}

/* === Frase puente con stats integrados (#7 merge) === */
.frase-puente-traccion { padding: 110px 24px; position: relative; }
.frase-puente-traccion::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border), transparent);
}
.frase-puente-traccion::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border), transparent);
}
.frase-puente-eyebrow {
  text-align: center;
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 600;
  margin-bottom: 28px;
}
.frase-puente-traccion blockquote {
  max-width: 980px;
  margin: 0 auto;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.4px;
  text-align: center;
  color: rgba(255,255,255,0.95);
}
.frase-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 2px 12px;
  margin: 0 2px;
  background: rgba(255, 0, 128, 0.08);
  border-radius: 8px;
  border: 1px solid rgba(255, 92, 160, 0.25);
  white-space: nowrap;
}
.frase-stat-value {
  font-size: 1.15em;
  font-weight: 800;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.frase-stat-label,
.frase-stat-label-pre {
  font-size: 0.7em;
  font-weight: 600;
  color: rgba(255,255,255,0.75);
  letter-spacing: 0.4px;
}

/* === Barra fondos coinversores (carrusel logos) === */
.fondos-strip {
  padding: 50px 24px 56px;
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.02), transparent);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
.fondos-strip-head {
  max-width: 1180px;
  margin: 0 auto 22px;
  text-align: center;
}
.fondos-strip-eyebrow {
  display: block;
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--impacta-green-light);
  font-weight: 700;
  margin-bottom: 6px;
}
.fondos-strip-sub {
  display: block;
  font-size: 14px;
  color: var(--text-muted);
  max-width: 640px;
  margin: 0 auto;
}
.fondos-strip-track-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}
.fondos-strip-track {
  display: flex;
  gap: 18px;
  animation: fondos-scroll 42s linear infinite;
  width: max-content;
}
.fondos-strip-track:hover { animation-play-state: paused; }
.fondo-logo {
  flex: 0 0 auto;
  min-width: 160px;
  height: 72px;
  padding: 0 24px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.6);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.fondo-logo:hover {
  border-color: rgba(16, 185, 129, 0.45);
  color: rgba(255,255,255,0.9);
  transform: translateY(-2px);
}
.fondo-logo-plus {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(94, 234, 212, 0.1));
  border-color: rgba(16, 185, 129, 0.4);
  color: var(--impacta-green-light);
}
@keyframes fondos-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* === v3 PATCH 3: breadcrumb para páginas internas + advisory.html en verde === */
.page-breadcrumb {
  max-width: 1280px;
  margin: 24px auto 0;
  padding: 14px 24px;
  font-size: 13px;
  color: var(--text-muted);
}
.page-breadcrumb a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s ease;
}
.page-breadcrumb a:hover { color: var(--pink-light); }
.bc-sep { margin: 0 8px; opacity: 0.5; }
.bc-current { color: rgba(255,255,255,0.9); font-weight: 600; }

/* Página interna /advisory en verde igual que la sección del landing */
.page-section.page-advisory {
  background:
    radial-gradient(ellipse at top left, rgba(4, 120, 87, 0.18), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(94, 234, 212, 0.12), transparent 60%),
    var(--bg);
}
.page-section.page-advisory .eyebrow { color: var(--impacta-green-light); }
.page-section.page-advisory .section-title .accent {
  background: linear-gradient(135deg, var(--impacta-green), var(--impacta-green-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* === v4 PATCH: rotating word en H2 Recorrido === */
.rotating-word {
  display: inline-block;
  text-align: center;
  position: relative;
  /* min-width eliminado — causaba descentrado del H2 con palabras cortas (lograr?, vivir?, hacer?) */
}
.rotating-word.fade-out { opacity: 0; transform: translateY(-6px); transition: opacity 0.3s ease, transform 0.3s ease; }
.rotating-word.fade-in  { opacity: 1; transform: translateY(0);    transition: opacity 0.3s ease, transform 0.3s ease; }

/* === v5.2 PATCH: eyebrow rosado para "Impacta Advisory Sessions" === */
/* Sobreescribe el verde por defecto de advisory-green con tonos rosados para identidad propia */
.advisory-elevated.advisory-green .eyebrow.eyebrow-pink,
.eyebrow.eyebrow-pink {
  color: transparent;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 2px;
  margin-top: 12px;
  margin-bottom: 24px;
}

/* === v5.2 PATCH: reorden Advisory header — H2 arriba, eyebrow debajo === */
.advisory-elevated .section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.advisory-elevated .section-head .section-title {
  order: 1;
  margin-bottom: 4px;
}
.advisory-elevated .section-head .eyebrow {
  order: 2;
}
.advisory-elevated .section-head .section-sub {
  order: 3;
}

/* === v5.2 PATCH: centrar óvalos (advisor-photo) en cards === */
.advisor-card .advisor-photo {
  margin-left: auto;
  margin-right: auto;
}

/* === v4 PATCH: eyebrow del dropdown submenu === */
.nav-dropdown-eyebrow {
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-dim);
  font-weight: 700;
  padding: 4px 14px 8px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 6px;
}

/* === v4 PATCH: separador visual entre Recorrido y Frase puente === */
.frase-puente-separated {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.25), transparent 30%, transparent 70%, rgba(0,0,0,0.25)),
    radial-gradient(ellipse at center, rgba(255,0,128,0.06), transparent 60%);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* === v5.3 PATCH: testimonios — avatar mic 🎤 con fondo gradiente rosa (iter 7) === */
/* Mantiene el círculo y el fondo del .testimonio-photo pero centra y agranda el emoji mic. */
.testimonio-photo-mic {
  font-size: 56px !important;
  line-height: 1;
}

/* === v5.3 PATCH: house-rules — íconos en vez de números (iter 7) === */
.rule-card .rule-icon {
  font-size: 36px;
  line-height: 1;
  margin-bottom: 14px;
  display: inline-block;
}

/* === v5.3 PATCH (iter 8): hero single-column — sin foto David === */
/* David: la foto se veía desconectada en mobile. La sacamos hasta tener una versión definitiva. */
.hero.hero-single-column {
  padding-bottom: 80px;
}
.hero-grid.hero-grid-single {
  display: block;
  max-width: 880px;
  margin: 0 auto;
  text-align: left;
}
.hero-grid.hero-grid-single .hero-text {
  max-width: 100%;
}
@media (max-width: 768px) {
  .hero-grid.hero-grid-single {
    text-align: left;
  }
}

/* === v5.3 PATCH (iter 8): trust-strip loop carrusel — auspiciadores en movimiento === */
/* Maca: "los logos de los partners se vean en movimiento como un loop" — mismo patrón que fondos-strip. */
.trust-strip-loop .trust-strip-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.trust-strip-loop .trust-strip-track-wrapper {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.trust-strip-loop .trust-strip-track {
  display: flex;
  gap: 48px;
  align-items: center;
  width: max-content;
  animation: trust-loop 40s linear infinite;
  will-change: transform;
}
.trust-strip-loop:hover .trust-strip-track {
  animation-play-state: paused;
}
.trust-strip-loop .trust-logo {
  flex-shrink: 0;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.5px;
  opacity: 0.7;
  white-space: nowrap;
  padding: 8px 0;
  transition: opacity 0.2s ease;
}
.trust-strip-loop .trust-logo:hover {
  opacity: 1;
}
.trust-strip-loop .trust-logo.oracle { color: #C74634; }
.trust-strip-loop .trust-logo.corfo { color: #0066CC; }
.trust-strip-loop .trust-logo.qv { color: #4ADE80; }
@keyframes trust-loop {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* === v4 PATCH: advisory cards con CTA individual + cupos badges === */
.advisory-grid-centered {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  align-items: stretch;
}
@media (max-width: 900px) {
  .advisory-grid-centered { grid-template-columns: 1fr; }
}
.advisor-cupos { margin: 12px 0 14px; }
.cupos-badge {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 600;
  padding: 5px 11px;
  border-radius: 100px;
  letter-spacing: 0.2px;
}
.cupos-badge strong { font-weight: 800; font-size: 13px; margin-right: 2px; }
.cupos-available {
  background: rgba(16, 185, 129, 0.18);
  color: var(--impacta-green-light);
  border: 1px solid rgba(16, 185, 129, 0.4);
}
.cupos-scarce {
  background: rgba(255, 107, 0, 0.18);
  color: #ffb787;
  border: 1px solid rgba(255, 107, 0, 0.45);
}
.advisor-cta-individual {
  display: inline-flex;
  margin-top: 16px;
  width: 100%;
  justify-content: center;
}

/* === v4 PATCH: instructors con David al centro === */
.instructors-grid-david-center {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr;
  gap: 20px;
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .instructors-grid-david-center {
    grid-template-columns: 1fr;
    /* en mobile David queda primero pero el orden visual ya es izq-centro-der en desktop */
  }
  .instructors-grid-david-center .instructor-card-main { order: -1; }
}

/* === v4 PATCH: advisory CTA individual primary keeps shape === */
.advisor-card-flagship .advisor-cta-individual.cta-primary {
  padding: 12px 16px;
  font-size: 14px;
}

/* === v4 PATCH 4: divider entre Rockstars y Partners (página mergeada) === */
.page-section-divider {
  text-align: center;
  padding: 36px 24px 12px;
  position: relative;
}
.page-section-divider span {
  display: inline-block;
  padding: 0 22px;
  background: var(--bg);
  position: relative;
  z-index: 1;
  font-size: 13px;
  letter-spacing: 0.6px;
  color: var(--pink-light);
  font-weight: 600;
}
.page-section-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 18%;
  right: 18%;
  height: 1px;
  background: var(--border);
}

/* === v5 PATCH: casos mini-cards sin logo, con bandera === */
.casos-mini-card { min-width: 240px; padding: 14px 18px; }
.casos-mini-card .casos-mini-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.casos-mini-flag { font-size: 18px; line-height: 1; margin-bottom: 2px; }
.casos-mini-amount { font-size: 18px; font-weight: 800; line-height: 1.1; background: linear-gradient(135deg, var(--pink), var(--orange)); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: -0.3px; margin: 2px 0; }
.casos-mini-name { font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.9); }
.casos-mini-meta { font-size: 11px; color: var(--text-muted); }
.impacta-flag { color: var(--impacta-green-light); font-weight: 600; }
.casos-mini-card-plus { background: linear-gradient(135deg, rgba(255,0,128,0.15), rgba(255,107,0,0.1)); border-color: rgba(255,92,160,0.45); align-items: center; justify-content: center; text-align: center; }
.casos-mini-card-plus .casos-mini-amount { font-size: 26px; }

/* === v5 PATCH: advisor bios 3 partes + colores cruzados === */
.advisor-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 14px; }
.advisor-tag { font-size: 11.5px; padding: 4px 10px; border-radius: 100px; font-weight: 600; background: rgba(94,234,212,0.12); color: var(--impacta-green-light); border: 1px solid rgba(94,234,212,0.25); white-space: nowrap; }
.advisor-tags-flagship .advisor-tag { background: rgba(255,107,0,0.14); color: #ffb787; border-color: rgba(255,107,0,0.3); }
/* CROSS COLOR: el botón de Corinne/Victor (cards verdes) usa NARANJA flagship */
.cta-cross-cori { display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 14px; padding: 12px 18px; border-radius: 100px; font-size: 13.5px; font-weight: 700; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; background: linear-gradient(135deg, var(--orange), var(--pink)); color: #fff; box-shadow: 0 8px 20px rgba(255,107,0,0.25); }
.cta-cross-cori:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255,107,0,0.35); }
/* CROSS COLOR: el botón de David (card naranja) usa VERDE recomendado */
.cta-cross-david { display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 14px; padding: 12px 18px; border-radius: 100px; font-size: 13.5px; font-weight: 700; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; background: linear-gradient(135deg, var(--impacta-green-deep), var(--impacta-green)); color: #fff; box-shadow: 0 8px 20px rgba(16,185,129,0.25); }
.cta-cross-david:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(16,185,129,0.35); }

/* === v5 PATCH: pricing single card con toggle === */
.pricing-single-card { max-width: 720px; margin: 0 auto 36px; padding: 36px 32px; background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)); border: 1px solid var(--border); border-radius: 20px; position: relative; }
.pricing-toggle { display: flex; gap: 4px; padding: 4px; background: rgba(0,0,0,0.3); border: 1px solid var(--border); border-radius: 14px; margin-bottom: 28px; }
.pricing-toggle-option { flex: 1; background: transparent; border: none; padding: 12px 14px; border-radius: 10px; color: var(--text-muted); cursor: pointer; transition: background 0.25s ease, color 0.25s ease; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.pricing-toggle-option .toggle-label { font-size: 14px; font-weight: 700; }
.pricing-toggle-option .toggle-saving { font-size: 11px; font-weight: 500; opacity: 0.75; }
.pricing-toggle-option.active { background: linear-gradient(135deg, var(--pink), var(--orange)); color: #fff; box-shadow: 0 4px 14px rgba(255,0,128,0.25); }
.pricing-toggle-option.active .toggle-saving { opacity: 0.9; }
.pricing-display { text-align: center; margin-bottom: 24px; }
.pricing-display .pricing-amount { font-size: 58px; font-weight: 800; background: linear-gradient(135deg, var(--pink), var(--orange)); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: -1.5px; line-height: 1; }
.pricing-display .pricing-amount-suffix { font-size: 14px; color: var(--text-muted); margin-top: 8px; }
.pricing-fine-print { font-size: 13px; line-height: 1.55; color: var(--text-muted); margin: 16px 0; padding: 12px 14px; background: rgba(0,0,0,0.15); border-radius: 10px; border-left: 2px solid var(--impacta-green); }
.pricing-cta { width: 100%; justify-content: center; margin-top: 8px; }
.pricing-selection-note { text-align: center; margin-top: 12px; font-size: 12px; color: var(--text-dim); font-style: italic; }

/* === v5.1 PATCH: WhatsApp floating button (CSS faltaba — HTML usaba .whatsapp-float, CSS solo tenía .wa-floating) === */
.whatsapp-float {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 56px;
  height: 56px;
  background: #25D366; /* verde WhatsApp oficial */
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35), 0 2px 6px rgba(0,0,0,0.25);
  z-index: 100;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.whatsapp-float:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 14px 32px rgba(37, 211, 102, 0.45), 0 4px 10px rgba(0,0,0,0.3);
}
.whatsapp-float svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
}
@media (max-width: 600px) {
  .whatsapp-float { bottom: 16px; right: 16px; width: 50px; height: 50px; }
  .whatsapp-float svg { width: 24px; height: 24px; }
}

/* === v5.1 PATCH: David advisor button — transparente con borde verde (cross-color invertido) === */
.cta-cross-david-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 14px;
  padding: 12px 18px;
  border-radius: 100px;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  background: transparent;
  color: var(--impacta-green-light);
  border: 1.5px solid var(--impacta-green);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.cta-cross-david-outline:hover {
  background: rgba(16, 185, 129, 0.12);
  color: #fff;
  border-color: var(--impacta-green-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.2);
}

/* === v5.4 (iter 9): logo MF26 oficial en header (asset PNG transparente) === */
.logo.logo-with-asset {
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 4px 0;
}
.logo.logo-with-asset .logo-img {
  max-height: 38px;
  width: auto;
  display: block;
  object-fit: contain;
}
@media (max-width: 768px) {
  .logo.logo-with-asset .logo-img {
    max-height: 32px;
  }
}

/* === v5.7 (iter 11): badge "Regla 01" en house rules cards === */
.rule-card .rule-number-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--pink-light);
  background: rgba(255, 0, 128, 0.1);
  padding: 4px 10px;
  border-radius: 100px;
  margin: 8px 0 12px;
}

/* === v5.8 (iter 12): "/mes" inline en el número grande del pricing === */
.pricing-amount .pricing-amount-unit {
  font-size: 0.4em;
  font-weight: 600;
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  margin-left: 4px;
  letter-spacing: 0;
  vertical-align: baseline;
}

/* === v5.9 (iter 12): caja blanca uniformada para logos de casos === */
/* David: "Los logos no se ven bien, algún skill que puedas usar para mejorar cómo se ven y que se vean armónicos" */
/* Solución estándar: cada logo vive en su caja blanca con padding consistente. Resultado: logos uniformes en altura y respiración, marca legible independiente de su color original (negros, azules, multi-color). */
.caso-card .caso-logo-wrap {
  background: #fff;
  border-radius: 14px;
  padding: 18px 24px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  width: 100%;
  max-width: 240px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15);
}
.caso-card .caso-logo-img {
  max-height: 60px;
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}
.caso-card .caso-logo-wrap-placeholder {
  background: linear-gradient(135deg, rgba(255,0,128,0.15), rgba(255,107,0,0.1));
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: none;
}
.caso-card .caso-logo-letter {
  font-size: 42px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--pink), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -1px;
}

/* === v5.9 (iter 13): casos detallados — nombre y banderas más grandes + nueva línea meta === */
/* David: "aumentar el tamaño de letra del nombre de la startup y las banderas" */
.casos .caso-name {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: -0.3px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.casos .caso-name .caso-flags {
  font-size: 26px;
  line-height: 1;
  letter-spacing: 2px;
}
/* Nueva línea: año cohort + rondas levantadas (mostradas en chip estilo "tag") */
.casos .caso-meta {
  font-size: 13px;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 4px;
  letter-spacing: 0.2px;
}

/* === v5.9c (iter 14): caja blanca uniformada para logos de VCs en fondos-strip === */
/* David: "Los logos de los VCs se ven mal, pareciera que también necesitan un fondo blanco" */
/* Mismo pattern que casos detallados: caja blanca + padding consistente. */
.fondo-logo:has(img) {
  background: #fff;
  border: 1px solid rgba(255,255,255,0.08);
  padding: 12px 22px;
  height: 72px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.fondo-logo:has(img):hover {
  background: #fff;
  border-color: rgba(16, 185, 129, 0.45);
  transform: translateY(-2px);
}
.fondo-logo img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  /* Quitamos cualquier filtro inline heredado, el fondo blanco hace innecesario el brightness/contrast */
  filter: none !important;
}

/* === v5.11 (iter 16): equipo operativo MF26 (Maca, Nico, Lola) === */
/* Tratamiento más sobrio que profesores (no gradiente, no badges grandes, fotos chicas), 
   para que no compita con la jerarquía de David / Yoel / Nathan arriba. */
.instructors-section-divider {
  text-align: center;
  margin: 64px auto 28px;
  position: relative;
  max-width: 900px;
}
.instructors-section-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border) 20%, var(--border) 80%, transparent);
}
.instructors-section-divider span {
  background: var(--bg);
  padding: 0 20px;
  position: relative;
  font-size: 13px;
  color: var(--text-dim);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}
.team-card {
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px 20px;
  text-align: center;
  transition: all 0.3s ease;
}
.team-card:hover {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.12);
  transform: translateY(-2px);
}
.team-photo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: -0.5px;
}
.team-card h4 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #fff;
}
.team-role {
  font-size: 12px;
  color: var(--pink-light);
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.team-bio {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.55;
}
@media (max-width: 768px) {
  .team-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* === v5.11 (iter 17): Advisory cards uniformes (sin diferencia gráfica entre los 3) === */
/* David: "Eliminar diferencia gráfica entre Corinne, Victor y yo. los 3 rectángulos deben ser igual de altos y anchos, mismos colores." */
.advisory-grid-uniform {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.advisor-card-uniform {
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.3s ease;
}
.advisor-card-uniform:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(16, 185, 129, 0.35);
  transform: translateY(-3px);
}
.advisor-card-uniform .advisor-photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.4), rgba(94, 234, 212, 0.25));
  border: 2px solid rgba(16, 185, 129, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
}
.advisor-card-uniform h4 {
  font-size: 22px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 6px;
  color: #fff;
}
.advisor-card-uniform .advisor-org {
  font-size: 13px;
  color: var(--impacta-green-light);
  text-align: center;
  margin-bottom: 18px;
  font-weight: 600;
  line-height: 1.4;
}
.advisor-card-uniform .advisor-pitch {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 18px;
  flex-grow: 1;
}
.advisor-card-uniform .advisor-pitch strong {
  color: #fff;
}
.advisor-card-uniform .advisor-pitch em {
  color: var(--impacta-green-light);
  font-style: normal;
  font-size: 13px;
}
.advisor-card-uniform .advisor-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  justify-content: center;
}
.advisor-card-uniform .advisor-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 100px;
  background: rgba(16, 185, 129, 0.12);
  color: var(--impacta-green-light);
  border: 1px solid rgba(16, 185, 129, 0.25);
  letter-spacing: 0.3px;
}
.advisor-card-uniform .advisor-price {
  font-size: 28px;
  font-weight: 800;
  text-align: center;
  background: linear-gradient(135deg, var(--impacta-green), var(--impacta-green-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.5px;
  margin-bottom: 4px;
}
.advisor-card-uniform .advisor-price-suffix {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  margin-left: 2px;
  letter-spacing: 0;
}
.advisor-card-uniform .advisor-cupos-line {
  font-size: 12px;
  color: var(--text-dim);
  text-align: center;
  margin-bottom: 18px;
  letter-spacing: 0.3px;
}
.advisor-card-uniform .advisor-cupos-line strong {
  color: var(--impacta-green-light);
  font-weight: 700;
}
.advisor-card-uniform .advisor-cta-individual {
  width: 100%;
  text-align: center;
  margin-top: auto;
}
@media (max-width: 900px) {
  .advisory-grid-uniform {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* === Clickable people cards (LinkedIn wrapping, added 2026-05-21) === */
.card-link {
  display: contents;
  color: inherit;
  text-decoration: none;
}
.card-link:hover .rockstar-card,
.card-link:hover .instructor-card,
.card-link:hover .team-card,
.card-link:hover .advisor-card {
  transform: translateY(-2px);
  cursor: pointer;
  transition: transform 0.18s ease;
}
.testimonio-author a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.18);
  transition: border-color 0.18s ease;
}
.testimonio-author a:hover {
  border-bottom-color: var(--pink-light, #ff5ca0);
}

/* v5.13 — Airbag logo: el wordmark es horizontal y se ve chico con max-height 60px */
.caso-card .caso-logo-img--airbag {
  max-height: 84px;
}

/* v5.14.1 — Fotos reales dentro de los placeholders circulares.
   Bullet-proof: contenedor con overflow:hidden + position:relative, img con position:absolute
   y inset:0 para que SIEMPRE llene el círculo sin importar el display mode del padre (flex,
   grid, etc). Esto evita el bug v5.14 donde img dentro de flex container se renderizaba
   en su tamaño intrinsic (480px) sin respetar las dimensiones del padre. */
.rockstar-card .photo,
.team-photo,
.advisor-photo,
.instructor-photo {
  overflow: hidden;
  position: relative;
}
.rockstar-card .photo img,
.team-photo img,
.advisor-photo img,
.instructor-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
/* Limpia el background gradiente cuando ya hay foto (la img la tapa toda, pero esto evita
   un flash de color durante la carga en conexiones lentas). */
.rockstar-card .photo:has(img),
.team-photo:has(img),
.advisor-photo:has(img),
.instructor-photo:has(img) {
  background: transparent;
}

/* === v5.15 — VOCES REALES wall (masonry grid de 9 testimonios, sin carrusel) ===
   Usa CSS columns para masonry natural sin JS. Las cards de altura variable se acomodan
   solas porque su altura depende del largo del quote. break-inside:avoid evita que una
   card se corte entre columnas. Orden visual: top-bottom por columna (column-fill: balance). */
.testimonios-wall {
  max-width: 1200px;
  margin: 0 auto;
  columns: 3;
  column-gap: 24px;
  column-fill: balance;
}
.testimonio-wall-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 22px 24px;
  margin: 0 0 24px 0;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  display: block;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.testimonio-wall-card:hover {
  border-color: rgba(255,0,128,0.4);
  background: rgba(255,255,255,0.05);
  transform: translateY(-2px);
}
.testimonio-wall-quote {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
  margin: 0 0 14px 0;
  font-weight: 500;
}
.testimonio-wall-author {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 10px;
}
.testimonio-wall-author strong {
  color: #fff;
  font-weight: 700;
}
.testimonio-wall-author a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  transition: color .15s ease, border-color .15s ease;
}
.testimonio-wall-author a:hover {
  color: var(--pink);
  border-bottom-color: var(--pink);
}
/* Bandera más grande y nítida — emojis nativos escalan bien si les das tamaño suficiente.
   Le damos line-height fijo para que no estire el row. */
.testimonio-flag {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  filter: saturate(1.15);
}
.testimonio-meta {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-block;
}
/* Negritas dentro de la cita — usar el mismo pink-rosa de los accents para destacar */
.testimonio-wall-quote strong {
  color: #fff;
  font-weight: 700;
  background: linear-gradient(180deg, transparent 60%, rgba(255,0,128,0.22) 60%);
  padding: 0 2px;
}
/* Cards ocultas por defecto (mostrar 3 + 6 escondidas con "ver 6 voces más") */
.testimonio-extra {
  display: none;
}
.testimonios-wall.show-all .testimonio-extra {
  display: block;
  animation: fadeInUp .35s ease both;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Botón "Ver 6 voces más" */
.testimonios-load-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
.testimonios-load-more {
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.testimonios-load-more:hover {
  background: rgba(255,0,128,0.12);
  border-color: rgba(255,0,128,0.4);
  transform: translateY(-1px);
}
.testimonios-load-more-arrow {
  display: inline-block;
  transition: transform .25s ease;
}
.testimonios-load-more[aria-expanded="true"] .testimonios-load-more-arrow {
  transform: rotate(180deg);
}
@media (max-width: 980px) {
  .testimonios-wall { columns: 2; column-gap: 20px; }
  .testimonio-wall-card { margin-bottom: 20px; }
}
@media (max-width: 620px) {
  .testimonios-wall { columns: 1; padding: 0 4px; }
  .testimonio-flag { font-size: 22px; }
}


/* === ROCKSTARS PAGE v6 (data real + filtros, 9-jun-2026) === */
.rs-controls{max-width:1180px;margin:0 auto 24px;display:flex;flex-direction:column;gap:14px;}
.rs-search{position:relative;max-width:520px;margin:0 auto;width:100%;}
.rs-search input{width:100%;padding:13px 18px 13px 44px;font-size:14px;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:100px;color:#fff;outline:none;font-family:inherit;}
.rs-search input::placeholder{color:var(--text-dim);}
.rs-search input:focus{border-color:rgba(255,0,128,0.4);}
.rs-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--text-dim);}
.rs-filter-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.rs-filter-row .tab{padding:9px 18px;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:100px;font-size:13px;font-weight:600;color:rgba(255,255,255,0.75);transition:all .2s ease;cursor:pointer;}
.rs-filter-row .tab:hover{background:rgba(255,255,255,0.08);}
.rs-filter-row .tab.active{background:rgba(255,0,128,0.15);border-color:rgba(255,0,128,0.3);color:var(--pink-light);}
.rs-count{text-align:center;font-size:13px;color:var(--text-muted);margin-bottom:18px;}
.page-rockstars .rockstars-page-grid{grid-template-columns:repeat(4,1fr);}
.page-rockstars .rockstar-card{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;}
.page-rockstars .rockstar-card .photo{width:84px;height:84px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#4a3a8a,#6a4a9a);flex:0 0 auto;}
.page-rockstars .rockstar-card .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.page-rockstars .rockstar-card h4{font-size:14px;font-weight:700;margin-bottom:3px;}
.page-rockstars .rockstar-card .role{font-size:11.5px;color:var(--text-muted);margin-bottom:8px;}
.rs-company{color:rgba(255,255,255,0.92);font-weight:600;}
.rs-type{font-weight:600;}
.rs-type-founder{color:#ff8a3c;}
.rs-type-investor{color:#5ad1a6;}
.rs-type-star{color:var(--pink-light);}
.rs-track{font-size:11.5px;line-height:1.5;color:var(--text-muted);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.rs-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:auto;}
.rs-badge{font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:3px 7px;border-radius:100px;background:rgba(121,40,202,0.18);color:#c9a8ff;border:1px solid rgba(121,40,202,0.35);}
.rockstar-card.rs-hidden{display:none;}
.rs-empty{text-align:center;color:var(--text-muted);padding:40px;display:none;}
.rs-empty.show{display:block;}
@media (max-width:1024px){.page-rockstars .rockstars-page-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:680px){.page-rockstars .rockstars-page-grid{grid-template-columns:repeat(2,1fr);}}


/* === ROCKSTARS tooltip (hover muestra bio completa, 9-jun-2026) === */
.page-rockstars .rockstar-card{position:relative;}
.page-rockstars .rockstar-card:hover{z-index:40;}
.rockstar-card .rs-tip{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);width:248px;max-width:82vw;background:#161222;border:1px solid rgba(255,255,255,0.16);border-radius:12px;padding:12px 15px;font-size:12px;line-height:1.5;color:rgba(255,255,255,0.92);box-shadow:0 14px 34px rgba(0,0,0,0.55);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease;z-index:50;text-align:center;}
.rockstar-card .rs-tip::before{content:"";position:absolute;left:50%;top:-6px;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:#161222;border-left:1px solid rgba(255,255,255,0.16);border-top:1px solid rgba(255,255,255,0.16);}
.rockstar-card:hover .rs-tip{opacity:1;visibility:visible;}
.rockstar-card.rs-open .rs-tip{opacity:1;visibility:visible;}


/* === Menú móvil hamburguesa (9-jun-2026) === */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:none;cursor:pointer;padding:0;flex:0 0 auto;}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease;margin:0 auto;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0b0f23;border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;padding:6px 20px 18px;z-index:200;box-shadow:0 24px 48px rgba(0,0,0,.55);}
.mobile-nav.open{display:flex;}
.mobile-nav a{padding:14px 4px;color:rgba(255,255,255,0.9);text-decoration:none;font-size:15px;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.07);}
.mobile-nav a:hover{color:var(--pink-light);}
.mobile-nav .mobile-cta{margin-top:14px;text-align:center;border-bottom:none;border-radius:100px;}
@media (max-width:900px){.nav-toggle{display:flex;} .site-header > .header-cta{margin-left:auto;}}
@media (min-width:901px){.mobile-nav{display:none !important;}}


/* === Página legal / Términos (9-jun-2026) === */
.legal-page{background:var(--bg-deep);}
.legal-content{max-width:820px;margin:0 auto;text-align:left;}
.legal-content h3{font-size:18px;font-weight:700;color:#fff;margin:30px 0 10px;letter-spacing:-0.2px;}
.legal-content p{font-size:14.5px;line-height:1.7;color:var(--text-muted);margin:0 0 12px;}
.legal-content ul{margin:0 0 14px;padding-left:22px;}
.legal-content li{font-size:14.5px;line-height:1.65;color:var(--text-muted);margin-bottom:6px;}
.legal-content strong{color:rgba(255,255,255,0.92);}
.legal-consent{font-size:12.5px;color:var(--text-dim);margin-top:12px;text-align:center;}
.legal-consent a{color:var(--pink-light);text-decoration:underline;}
