/* ==========================================================================
   THRIVE WITH JUHI PARMAR - VERSION 2 (CONVERSION & MOBILE-OPTIMIZED)
   Inherits design tokens from style.css without altering original styles.
   Optimized specifically for 95% mobile traffic & CRO best practices.
   ========================================================================== */

/* (style.css is linked in parallel via HTML <head> for fast HTTP/2 parallel loading) */

/* ==========================================================================
   ELEGANT EDITORIAL SPACING & BREATHING ROOM
   Replaces cramped spacing with balanced, premium whitespace.
   ========================================================================== */
section,
.hero-v2,
.credibility-v2,
.pain-points,
.mindset-shift,
.comparison-v2,
.pillars,
.curriculum,
.live-only,
.social-proof-v2,
.offer,
.juhi-bio,
.who-for,
.faq {
  padding-top: clamp(84px, 8.5vw, 112px) !important;
  padding-bottom: clamp(84px, 8.5vw, 112px) !important;
}

@media (max-width: 768px) {
  section,
  .hero-v2,
  .credibility-v2,
  .pain-points,
  .mindset-shift,
  .comparison-v2,
  .pillars,
  .curriculum,
  .live-only,
  .social-proof-v2,
  .offer,
  .juhi-bio,
  .who-for,
  .faq {
    padding-top: clamp(56px, 7vw, 76px) !important;
    padding-bottom: clamp(56px, 7vw, 76px) !important;
  }

  body {
    padding-bottom: 84px; /* Safe space for permanent bottom sticky dock */
  }
}

/* Headings: Editorial, bold, well-proportioned with relaxed breathing room */
h1,
h2,
.pillars h2,
.curriculum h2,
.who-for h2,
.faq h2,
.offer h2,
.comparison-v2 h2,
.pain-points h2,
.mindset-shift h2 {
  font-size: clamp(2rem, 3.8vw, 3rem) !important;
  line-height: 1.18 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(18px, 2.5vw, 24px) !important;
  text-wrap: balance !important;
}

/* Subtitles: Generous breathing room before cards/content */
.pain-points__subtitle,
.pillars__subtitle,
.curriculum__subtitle,
.comparison__subtitle,
.offer__subtitle,
.social-proof-v2 .text-secondary {
  font-size: clamp(1rem, 1.6vw, 1.125rem) !important;
  line-height: 1.65 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(34px, 4.5vw, 48px) !important;
  text-wrap: balance !important;
}

@media (max-width: 768px) {
  .pain-points__subtitle,
  .pillars__subtitle,
  .curriculum__subtitle,
  .comparison__subtitle,
  .offer__subtitle,
  .social-proof-v2 .text-secondary {
    margin-bottom: 26px !important;
  }
}

/* Hero Tagline: +2px font size on mobile and balanced wrapping */
.hero__tagline {
  font-size: clamp(1.125rem, 1.8vw, 1.375rem) !important; /* +2px (18px baseline) */
  line-height: 1.45 !important;
  text-wrap: balance !important;
  margin-bottom: var(--space-md) !important;
}

@media (max-width: 768px) {
  .hero__tagline {
    font-size: 1.125rem !important; /* 18px */
    line-height: 1.45 !important;
    text-wrap: balance !important;
    max-width: 330px !important;
  }
}

/* Price Strikeout Polish across CTA buttons & text */
.price-strike {
  text-decoration: line-through;
  opacity: 0.65;
  margin-right: 5px;
  font-weight: 400;
}

.btn-strike {
  text-decoration: line-through;
  opacity: 0.7;
  margin-right: 6px;
  font-weight: 400;
  font-size: 0.9em;
  display: inline-block;
}

/* Faster, Snappier Scroll Reveals for Thumb Scrollers */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 350ms var(--ease-out), transform 350ms var(--ease-out);
  will-change: opacity, transform;
}

.animate-on-scroll.in-view {
  opacity: 1;
  transform: translateY(0);
}

.stagger-children > * {
  transition-duration: 300ms;
}

/* High-Contrast Primary CTA Button Enhancements & Non-Distributed Layout */
.btn,
.btn--primary,
.btn--large {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 8px 12px !important;
  flex-wrap: wrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.35 !important;
  background: linear-gradient(135deg, #C59664 0%, #B07F4E 100%);
  color: #FFFFFF;
  box-shadow: 0 4px 18px rgba(176, 127, 78, 0.35);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.btn__text {
  display: inline !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}

.btn__price-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important; /* CRITICAL: Never break price numbers */
  flex-shrink: 0 !important;
}

.btn-strike {
  white-space: nowrap !important;
  text-decoration: line-through !important;
  opacity: 0.75 !important;
  font-size: 0.9em !important;
  display: inline-block !important;
}

.btn__current-price {
  white-space: nowrap !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
  display: inline-block !important;
}

/* Mobile CTA Button Layout: Centered Stack, Never Distributed */
@media (max-width: 480px) {
  .hero-v2__cta-btn,
  .btn--large {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 13px 18px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .hero-v2__cta-btn .btn__text,
  .btn--large .btn__text {
    font-size: 0.9375rem !important;
    text-align: center !important;
    line-height: 1.3 !important;
  }

  .hero-v2__cta-btn .btn__price-pill,
  .btn--large .btn__price-pill {
    font-size: 1.0625rem !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
}

.btn--pulse {
  animation: subtlePulse 3s ease-in-out infinite;
}

@keyframes subtlePulse {
  0%, 100% {
    box-shadow: 0 4px 18px rgba(176, 127, 78, 0.35);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 8px 28px rgba(176, 127, 78, 0.55), 0 0 0 4px rgba(197, 150, 100, 0.18);
    transform: translateY(-1px);
  }
}

.btn:active {
  transform: scale(0.97) translateY(1px);
}

/* ==========================================================================
   SECTION 1: HERO (Natural Image Aspect Ratio & Mobile Layout)
   ========================================================================== */
.hero-v2 {
  padding: clamp(70px, 9vh, 100px) 0 clamp(40px, 6vh, 60px) !important;
  background: radial-gradient(ellipse at 80% 15%, rgba(244, 230, 212, 0.8) 0%, rgba(250, 248, 245, 0.98) 60%, #FAF8F5 100%);
  position: relative;
  overflow: hidden;
}

.hero-v2__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(188, 145, 100, 0.12);
  border: 1px solid rgba(188, 145, 100, 0.28);
  border-radius: 100px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #6A4423;
  margin-bottom: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hero-v2__badge-dot {
  width: 8px;
  height: 8px;
  background: #5F7A51;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(95, 122, 81, 0.25);
  animation: pulseDot 2s infinite;
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(0.85); }
}

.hero-v2 .hero__title {
  margin-bottom: 18px;
}

.hero-v2__details-pill {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--color-rule-light);
  border-radius: 8px;
  font-size: 0.84375rem;
  color: var(--color-text-secondary);
  margin-bottom: 22px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.hero-v2__details-pill span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* ==========================================================================
   HERO SCHEDULE SECTION (Live Timings Component)
   ========================================================================== */
.hero-v2__schedule-box {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(188, 145, 100, 0.28);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 22px;
  box-shadow: 0 4px 20px rgba(81, 68, 52, 0.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.hero-v2__schedule-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-rule-light);
}

.hero-v2__schedule-header-left {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hero-v2__schedule-live-dot {
  width: 8px;
  height: 8px;
  background: #5F7A51;
  border-radius: 50%;
  box-shadow: 0 0 0 2.5px rgba(95, 122, 81, 0.25);
  animation: pulseDot 2s infinite;
  flex-shrink: 0;
}

.hero-v2__schedule-header-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6A4423;
}

.hero-v2__schedule-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #513E2F;
  background: rgba(188, 145, 100, 0.12);
  padding: 3px 9px;
  border-radius: 100px;
  border: 1px solid rgba(188, 145, 100, 0.22);
  white-space: nowrap;
}

.hero-v2__schedule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.hero-v2__schedule-card {
  background: #FAF8F5;
  border: 1px solid rgba(188, 145, 100, 0.22);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.hero-v2__schedule-card:hover {
  border-color: var(--color-accent);
  box-shadow: 0 4px 12px rgba(188, 145, 100, 0.12);
  transform: translateY(-1px);
}

.hero-v2__schedule-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.hero-v2__day-tag {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 7px;
  border-radius: 4px;
  background: #EFE7DC;
  color: #4A3525;
}

.hero-v2__day-tag--accent {
  background: rgba(95, 122, 81, 0.16);
  color: #2F4822;
}

.hero-v2__day-date {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.hero-v2__schedule-time {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.25;
  margin-top: 3px;
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
}

.hero-v2__schedule-tz {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--color-accent);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.hero-v2__schedule-desc {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  line-height: 1.35;
  margin-top: 2px;
}

.hero-v2__schedule-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed var(--color-rule-light);
}

.hero-v2__schedule-footer span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.hero-v2__cta-group {
  margin-bottom: 10px;
}

.hero-v2__micro-urgency {
  font-size: 0.8125rem;
  color: #7A532E;
  margin-top: 8px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Juhi's Portrait: Clean, Natural Aspect Ratio without Cropping */
.hero-v2__portrait-box {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(81, 68, 52, 0.12);
  background: transparent;
}

.hero-v2__portrait-box img,
.hero__portrait {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  display: block;
  border-radius: 16px;
}

.hero-v2__floating-card {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 12px;
  padding: 14px 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.hero-v2__floating-name {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.2;
}

.hero-v2__floating-title {
  font-size: 0.8125rem;
  color: var(--color-accent);
  font-weight: 500;
  margin-top: 2px;
}

.hero-v2__floating-sub {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  line-height: 1.35;
  margin-top: 3px;
}

/* Mobile Hero Reordering: Portrait FIRST without cropping */
@media (max-width: 768px) {
  .hero-v2 .hero__grid {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }

  .hero-v2__portrait-wrapper {
    order: -1;
    width: 100%;
  }

  .hero-v2__portrait-box img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .hero-v2__floating-card {
    bottom: 12px;
    left: 12px;
    right: 12px;
    padding: 12px 14px;
  }

  .hero-v2__floating-name {
    font-size: 1.15rem;
  }

  .hero-v2__floating-sub {
    display: none;
  }

  .hero-v2 .hero__title {
    font-size: 2.25rem;
    line-height: 1.15;
    margin-bottom: 14px;
  }

  .hero-v2 .btn--large {
    width: 100%;
    padding: 18px 22px;
    font-size: 1rem;
  }

  .hero-v2__details-pill {
    width: 100%;
    justify-content: flex-start;
    padding: 8px 12px;
    font-size: 0.8125rem;
    margin-bottom: 16px;
  }

  .hero-v2__schedule-box {
    padding: 12px 14px;
    margin-bottom: 18px;
  }

  .hero-v2__schedule-header {
    gap: 6px;
  }

  .hero-v2__schedule-badge {
    font-size: 0.6875rem;
    padding: 2px 7px;
  }

  .hero-v2__schedule-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .hero-v2__schedule-card {
    padding: 9px 11px;
  }

  .hero-v2__schedule-time {
    font-size: 0.875rem;
  }

  .hero-v2__schedule-footer {
    gap: 4px 8px;
    font-size: 0.71875rem;
  }
}

/* ==========================================================================
   CREDIBILITY BAR WITH AVATAR ANCHOR
   ========================================================================== */
.credibility-v2 {
  background: var(--color-bg-dark);
  color: #F8F5F1;
  text-align: center;
  position: relative;
}

.credibility-v2__avatar-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.credibility-v2__avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--color-accent);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.credibility-v2__quote {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 4.2vw, 2.1rem);
  font-style: italic;
  line-height: 1.35;
  color: #FFF7ED;
  margin-bottom: 18px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.credibility-v2__text {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #D8CEC4;
  max-width: 680px;
  margin: 0 auto 14px;
}

.credibility-v2__author {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-transform: uppercase;
  color: var(--color-accent);
}

.credibility-v2__name {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--color-accent);
}

.credibility-v2__title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-accent);
  opacity: 0.9;
}

/* ==========================================================================
   SECTION 3: PAIN POINTS (Generous Cards & Smooth Toggle)
   ========================================================================== */
.pain-points-v2__toggle-wrap {
  text-align: center;
  margin: 24px 0 28px;
}

.pain-points-v2__toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  background: rgba(188, 145, 100, 0.12);
  border: 1px solid rgba(188, 145, 100, 0.35);
  border-radius: 100px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #6F4522;
  cursor: pointer;
  transition: all var(--transition-base);
}

.pain-points-v2__toggle-btn:hover {
  background: rgba(188, 145, 100, 0.22);
  transform: translateY(-2px);
}

.pain-point-v2 {
  display: flex;
  gap: 16px;
  padding: 18px 22px;
  border-radius: 12px;
  background: var(--color-white);
  border: 1px solid var(--color-rule-light);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.pain-point-v2:nth-child(even) {
  background: #FCF8F4;
}

.pain-point-v2:nth-child(odd) {
  background: #FFFFFF;
}

.pain-point-v2__num {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--color-accent);
  line-height: 1;
  flex-shrink: 0;
  width: 28px;
  margin-top: 2px;
}

.pain-point-v2__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 4px;
}

.pain-point-v2__desc {
  font-size: 0.9375rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.pain-points-v2__collapsible {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}

.pain-points-v2__hidden {
  display: none;
}

.pain-points-v2__hidden.is-expanded {
  display: grid;
  animation: fadeIn 300ms ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .pain-points-v2__collapsible {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pain-point-v2 {
    padding: 14px 16px;
    gap: 12px;
  }
}

.pain-points__reveal {
  margin-top: 32px;
  padding: clamp(28px, 4vw, 42px) clamp(18px, 3.5vw, 36px) !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.pain-points__reveal-answer em {
  font-size: clamp(1.35rem, 5.5vw, 2.2rem) !important;
  white-space: nowrap !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 480px) {
  .pain-points__reveal {
    padding: 26px 16px !important;
  }

  .pain-points__reveal-name {
    font-size: clamp(1.4rem, 6vw, 1.85rem) !important;
    white-space: nowrap !important;
  }

  .pain-points__reveal-answer em {
    font-size: clamp(1.22rem, 5.4vw, 1.7rem) !important;
  }
}

/* ==========================================================================
   SECTION 4: MINDSET SHIFT (Strikethrough & Discovery)
   ========================================================================== */
.tried-list-v2 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 22px 0;
}

.tried-list-v2__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--color-rule-light);
  border-radius: 8px;
  font-size: 1rem;
  color: var(--color-text-secondary);
  position: relative;
  transition: all 350ms ease;
}

.tried-list-v2__item.is-struck {
  background: rgba(245, 237, 227, 0.6);
  color: #8C786A;
}

.tried-list-v2__item.is-struck .tried-list-v2__text {
  text-decoration: line-through;
  text-decoration-color: var(--color-rose);
  text-decoration-thickness: 2px;
}

.tried-list-v2__tag {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-rose-dark);
  background: var(--color-rose-light);
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
}

.mindset-shift__reframe {
  margin: 24px 0;
  line-height: 1.7;
}

.discovery-list-v2 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 22px 0;
}

.discovery-list-v2__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  background: #FFFFFF;
  border: 1px solid var(--color-sage-border);
  border-left: 4px solid var(--color-sage);
  border-radius: 8px;
  font-size: 1rem;
  color: var(--color-text);
  box-shadow: 0 2px 8px rgba(95, 122, 81, 0.04);
}

.discovery-list-v2__icon {
  color: var(--color-sage);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}

.mindset-shift__closing {
  margin: 24px 0;
  line-height: 1.7;
}

/* ==========================================================================
   SECTION 5: COMPARISON (Mobile Vertical Transformation Stack)
   ========================================================================== */
.comparison-v2 {
  background: var(--color-bg-soft);
}

.comparison-v2__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}

.comparison-v2__col {
  border-radius: 16px;
  padding: clamp(24px, 3.5vw, 36px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  position: relative;
}

.comparison-v2__col--survive {
  background: #FCF4F2;
  border: 1px solid var(--color-rose-border);
  opacity: 0.92;
}

.comparison-v2__col--create {
  background: #F4F8F1;
  border: 2px solid var(--color-sage);
  box-shadow: 0 6px 24px rgba(95, 122, 81, 0.1);
}

.comparison-v2__col-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.comparison-v2__col--survive .comparison-v2__col-badge {
  background: var(--color-rose-light);
  color: var(--color-rose-dark);
}

.comparison-v2__col--create .comparison-v2__col-badge {
  background: var(--color-sage-light);
  color: var(--color-sage-dark);
}

.comparison-v2__col-title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 18px;
  color: var(--color-text);
}

.comparison-v2__items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.comparison-v2__item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1rem;
  line-height: 1.5;
}

.comparison-v2__item-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: bold;
  flex-shrink: 0;
}

.comparison-v2__col--survive .comparison-v2__item-icon {
  background: rgba(191, 125, 112, 0.2);
  color: var(--color-rose-dark);
}

.comparison-v2__col--create .comparison-v2__item-icon {
  background: var(--color-sage);
  color: #FFFFFF;
}

.comparison-v2__mobile-divider {
  display: none;
}

@media (max-width: 768px) {
  .comparison-v2__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .comparison-v2__mobile-divider {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 2px 0;
  }

  .comparison-v2__mobile-divider-pill {
    padding: 6px 16px;
    background: #514434;
    color: #FFF7EC;
    border-radius: 100px;
    font-size: 0.78125rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  }

  .comparison-v2__col {
    padding: 18px 16px;
  }

  .comparison-v2__col--survive {
    opacity: 0.88;
  }

  .comparison-v2__col--survive .comparison-v2__item {
    font-size: 0.9375rem;
    color: #634C40;
  }

  .comparison-v2__col--create .comparison-v2__item {
    font-size: 0.96875rem;
    font-weight: 500;
  }
}

/* ==========================================================================
   SECTION 6: THREE PILLARS (Clean Number Badges, Balanced Cards)
   ========================================================================== */
.pillars {
  background: var(--color-bg-white);
}

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

.pillar-v2 {
  padding: 26px 22px;
  border-radius: 14px;
  background: #FFFFFF;
  border: 1px solid var(--color-rule-light);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  position: relative;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.pillar-v2:active {
  transform: scale(0.98);
}

.pillar-v2--1 {
  border-top: 4px solid var(--color-sage);
}

.pillar-v2--2 {
  border-top: 4px solid var(--color-rose);
}

.pillar-v2--3 {
  border-top: 4px solid var(--color-accent);
}

.pillar-v2 .pillar__number {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  line-height: 1;
}

.pillar-v2--1 .pillar__number {
  background: var(--color-sage-light);
  color: var(--color-sage-dark);
}

.pillar-v2--2 .pillar__number {
  background: var(--color-rose-light);
  color: var(--color-rose-dark);
}

.pillar-v2--3 .pillar__number {
  background: var(--color-accent-light);
  color: var(--color-accent);
}

.pillar-v2 .pillar__title {
  font-family: var(--font-body);
  font-size: 0.84375rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text);
  margin-bottom: 10px;
}

.pillar-v2 .pillar__text {
  font-size: 0.9375rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.pillars__callout {
  text-align: center;
  font-size: 1rem;
  color: var(--color-text);
  max-width: 700px;
  margin: 0 auto;
  padding: 16px 22px;
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-lg);
  background: var(--color-accent-light);
  box-shadow: 0 4px 14px rgba(188, 145, 100, 0.06);
}

.pillars__callout-icon {
  font-size: 1.35rem;
  margin-bottom: 6px;
}

@media (max-width: 768px) {
  .pillars__grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 20px;
  }

  .pillar-v2 {
    padding: 18px 18px;
  }
}

/* ==========================================================================
   SECTION 7: CURRICULUM ACCORDION
   ========================================================================== */
.curriculum-v2__header-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(188, 145, 100, 0.12);
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #6E4624;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.curriculum__days {
  gap: 22px;
}

.curriculum__day-header {
  margin-bottom: 12px;
}

.curriculum__item {
  margin-bottom: 10px;
}

.curriculum__item-header {
  min-height: 50px;
  padding: 14px 18px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.curriculum__item.active .curriculum__item-toggle {
  transform: rotate(45deg);
  color: var(--color-accent);
}

.curriculum__item-toggle {
  transition: transform 250ms ease;
  font-size: 1.35rem;
  font-weight: 300;
  display: inline-block;
}

/* ==========================================================================
   SECTION 8: SOCIAL PROOF / VOICES OF TRANSFORMATION
   ========================================================================== */
.social-proof-v2 {
  background: #FAF6F0;
  border-top: 1px solid var(--color-rule-light);
  border-bottom: 1px solid var(--color-rule-light);
}

.social-proof-v2__metric-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3.5vw, 36px);
  flex-wrap: wrap;
  padding: 14px 22px;
  background: #FFFFFF;
  border-radius: 12px;
  border: 1px solid var(--color-rule-light);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02);
  margin-bottom: 24px;
  text-align: center;
}

.social-proof-v2__metric-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.social-proof-v2__metric-num {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.1;
}

.social-proof-v2__metric-label {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 2px;
}

.social-proof-v2__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 18px;
}

.testimonial-card-v2 {
  background: #FFFFFF;
  padding: 22px 20px;
  border-radius: 14px;
  border: 1px solid var(--color-rule-light);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonial-card-v2__stars {
  color: #D4A359;
  font-size: 0.9375rem;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.testimonial-card-v2__quote {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-style: italic;
  line-height: 1.45;
  color: var(--color-text);
  margin-bottom: 16px;
  flex-grow: 1;
}

.testimonial-card-v2__author {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--color-rule-light);
  padding-top: 12px;
}

.testimonial-card-v2__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-accent-light);
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.testimonial-card-v2__name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color-text);
}

.testimonial-card-v2__role {
  font-size: 0.78125rem;
  color: var(--color-text-secondary);
}

/* ==========================================================================
   SECTION 9: OFFER CARD CONVERSION ENGINE (Countdown & Value Anchor)
   ========================================================================== */
.offer {
  background: var(--color-bg);
}

.offer-v2__wrapper {
  background: #FFFFFF;
  border-radius: 20px;
  border: 2px solid var(--color-accent);
  box-shadow: 0 16px 48px rgba(188, 145, 100, 0.18);
  padding: clamp(24px, 4.5vw, 42px);
  position: relative;
  overflow: hidden;
}

.offer-v2__top-ribbon {
  background: linear-gradient(90deg, #514434 0%, #6E5F53 100%);
  color: #FFF7EC;
  text-align: center;
  padding: 8px 16px;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: calc(-1 * clamp(24px, 4.5vw, 42px)) calc(-1 * clamp(24px, 4.5vw, 42px)) 20px;
}

/* Live Urgency Countdown Timer */
.countdown-box-v2 {
  background: #FDF9F4;
  border: 1px solid rgba(188, 145, 100, 0.3);
  border-radius: 12px;
  padding: 14px 18px;
  text-align: center;
  margin-bottom: 20px;
}

.countdown-box-v2__label {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #8C5323;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.countdown-box-v2__timer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.countdown-box-v2__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #FFFFFF;
  border: 1px solid var(--color-rule-light);
  border-radius: 8px;
  padding: 8px 12px;
  min-width: 54px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.countdown-box-v2__number {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 600;
  color: #4A3C31;
  line-height: 1;
}

.countdown-box-v2__tag {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #8E7A6C;
  margin-top: 3px;
}

.countdown-box-v2__sep {
  font-size: 1.2rem;
  font-weight: 600;
  color: #BC9164;
  margin-top: -10px;
}

.offer__checklist {
  margin-bottom: 16px;
}

.offer__check-item {
  padding: 10px 0;
  font-size: 0.96875rem;
}

.offer__divider {
  margin: 16px 0;
}

.offer__meta-row {
  margin-bottom: 10px;
  font-size: 0.90625rem;
}

/* Value Anchor Pricing */
.offer-v2__price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  margin-bottom: 6px;
}

.offer-v2__strike-price {
  font-size: 1.25rem;
  color: #A08C7E;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.offer-v2__price {
  font-family: var(--font-heading);
  font-size: clamp(2.8rem, 6.5vw, 3.8rem);
  font-weight: 600;
  color: var(--color-text);
  line-height: 1;
}

.offer-v2__savings-badge {
  background: var(--color-sage-light);
  color: var(--color-sage-dark);
  border: 1px solid var(--color-sage-border);
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.offer-v2__trust-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 16px;
  font-size: 0.84375rem;
  color: var(--color-text-secondary);
}

.offer-v2__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ==========================================================================
   JUHI BIO SECTION (Clean Editorial Layout, Video Removed)
   ========================================================================== */
.juhi-bio {
  background: var(--color-bg-white);
}

.juhi-bio__portrait {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  display: block;
  border-radius: 16px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08);
}

.juhi-bio__personal-quote {
  margin: 32px 0 0 !important;
  padding: 18px 24px !important;
  font-size: 1.2rem !important;
}

/* ==========================================================================
   WHO THIS IS FOR: CHECKMARK CARDS (Balanced Padding & Spacing)
   ========================================================================== */
.who-for {
  background: linear-gradient(180deg, #F0F6EE 0%, #E6F1E4 100%);
  border-top: 1px solid var(--color-sage-border);
  border-bottom: 1px solid var(--color-sage-border);
}

.who-for__list {
  max-width: 640px;
  margin: 32px auto 24px !important;
}

.who-for-v2__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  background: #FFFFFF;
  border: 1px solid var(--color-rule-light);
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.03);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 14px;
}

.who-for-v2__check {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--color-sage-light);
  color: var(--color-sage);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: bold;
  flex-shrink: 0;
  margin-top: 2px;
}

.who-for__note {
  margin-top: 24px !important;
  font-size: 1rem !important;
  font-style: italic;
  color: var(--color-text-secondary);
}

/* ==========================================================================
   FAQ SECTION (Clean Alabaster Surface & Even Spacing)
   ========================================================================== */
.faq {
  background: #FAF7F2;
  border-top: 1px solid var(--color-rule-light);
  border-bottom: 1px solid var(--color-rule-light);
}

.faq__list {
  max-width: 820px;
  margin: 32px auto 0 !important;
}

/* ==========================================================================
   STICKY BOTTOM BAR (Permanent High-Converting Mobile Thumb Dock)
   ========================================================================== */
.sticky-bottom-bar-v2 {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: rgba(255, 248, 240, 0.98) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-top: 1px solid rgba(188, 145, 100, 0.35) !important;
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.12) !important;
  padding: 11px 16px calc(11px + env(safe-area-inset-bottom, 0px)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  transform: translateY(0) !important; /* ALWAYS present on mobile from fold 1 */
  visibility: visible !important;
  opacity: 1 !important;
  transition: transform 250ms var(--ease-out) !important;
}

.sticky-bottom-bar-v2__info {
  display: flex;
  flex-direction: column;
}

.sticky-bottom-bar-v2__price-wrap {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.sticky-bottom-bar-v2__strike {
  font-size: 0.9375rem;
  color: #8E7A6C;
  text-decoration: line-through;
  font-weight: 500;
}

.sticky-bottom-bar-v2__price {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
}

.sticky-bottom-bar-v2__badge {
  background: #E8F0E4;
  color: #385E38;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: 0.03em;
}

.sticky-bottom-bar-v2__urgency {
  font-size: 0.75rem;
  font-weight: 600;
  color: #A0522D;
  margin-top: 2px;
}

.sticky-bottom-bar-v2__btn {
  padding: 13px 22px !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 16px rgba(188, 145, 100, 0.45) !important;
  animation: pulseBtnSoft 2.5s infinite ease-in-out !important;
}

@keyframes pulseBtnSoft {
  0%, 100% {
    box-shadow: 0 4px 16px rgba(188, 145, 100, 0.45);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 6px 22px rgba(188, 145, 100, 0.7), 0 0 0 4px rgba(197, 150, 100, 0.2);
    transform: translateY(-1px);
  }
}

@media (min-width: 769px) {
  .sticky-bottom-bar-v2 {
    display: none !important;
  }
}
