/* ============================================================
   Component: Climb Section (climb.css)
   BEM Notation: block_element--modifier
   Matched to Figma Node 0:5238
   "Self organisation is a climb, not a leap."
   Right column stepped ladder with ascending climbing animation
   ============================================================ */

/* Section Shell */
.climb {
  width: 100%;
  padding-block: 72px 88px;
  background-color: var(--color-surface, #ffffff);
  position: relative;
  overflow: hidden;
}

@media (min-width: 992px) {
  .climb {
    padding-block: 104px 120px;
  }
}

/* Centered 1280px Container */
.climb_container {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 16px;
}

@media (min-width: 768px) {
  .climb_container {
    padding-inline: 40px;
  }
}

@media (min-width: 1200px) {
  .climb_container {
    padding-inline: 80px;
  }
}

/* 2-Column Responsive Layout Grid (Figma Node 0:5240) */
.climb_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: flex-start;
}

@media (min-width: 1024px) {
  .climb_grid {
    grid-template-columns: minmax(0, 608px) minmax(0, 555px);
    justify-content: space-between;
    gap: 56px;
  }
}

/* Left Content Area (Figma Node 0:5241) */
.climb_content {
  max-width: 608px;
}

/* Eyebrow Tag */
.climb_eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  font-size: var(--font-size-eyebrow, 13px);
  font-weight: var(--font-weight-bold, 700);
  letter-spacing: var(--letter-spacing-eyebrow, 0.12em);
  text-transform: uppercase;
  color: var(--color-eyebrow, #7339D4);
}

/* Main Heading H2 */
.climb_title {
  margin: 0 0 24px 0;
  font-size: clamp(2rem, 3.8vw, 48px);
  font-weight: var(--font-weight-extrabold, 700);
  line-height: 1.15;
  letter-spacing: var(--letter-spacing-tighter, -0.02em);
  color: var(--color-text-primary, #0F0D15);
}

@media (max-width: 767px) {
  .climb_title {
    font-size: 40px;
    font-weight: var(--font-weight-medium, 500);
  }
}

/* Copy Paragraphs Group */
.climb_copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.climb_desc {
  margin: 0;
  font-size: clamp(1rem, 1.2vw, 17px);
  font-weight: var(--font-weight-regular, 400);
  line-height: 1.55;
  color: var(--color-text-primary, #0F0D15);
}

/* Right Stepped Ladder Column (Figma Node 0:5250) */
.climb_ladder-wrapper {
  width: 100%;
  max-width: 555px;
  display: flex;
  flex-direction: column;
}

/* Stepped Cards List */
.climb_ladder {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

/* Step Card Component (Figma: 82px height, 20px radius) */
.climb_step {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 22px 16px 16px;
  min-height: 82px;
  background-color: #F5EFFF;
  border: 1px solid rgba(115, 57, 212, 0.12);
  border-radius: 20px;
  box-sizing: border-box;
  transition: transform var(--duration-fast, 0.2s) var(--ease-out-smooth),
              background-color var(--duration-fast, 0.2s) var(--ease-out-smooth),
              box-shadow var(--duration-fast, 0.2s) var(--ease-out-smooth);
}

.climb_step:hover {
  transform: translateY(-2px);
  background-color: #EFE6FF;
  box-shadow: 0 8px 24px rgba(115, 57, 212, 0.14);
}

/* Stepped Indentation (Ascending staircase effect on desktop) */
@media (min-width: 768px) and (max-width: 1023px) {
  .climb_step--5 { margin-left: 80px; }
  .climb_step--4 { margin-left: 60px; }
  .climb_step--3 { margin-left: 40px; }
  .climb_step--2 { margin-left: 20px; }
  .climb_step--1 { margin-left: 0; }
}

@media (min-width: 1024px) {
  .climb_step--5 { margin-left: 120px; }
  .climb_step--4 { margin-left: 90px; }
  .climb_step--3 { margin-left: 60px; }
  .climb_step--2 { margin-left: 30px; }
  .climb_step--1 { margin-left: 0; }
}

/* Step Number Badge */
.climb_step-badge {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 50%;
  background-color: var(--color-primary, #7339D4);
  color: var(--color-surface, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: var(--font-weight-bold, 700);
  line-height: 1;
}

/* Step Text */
.climb_step-text {
  margin: 0;
  font-size: 16px;
  font-weight: var(--font-weight-medium, 500);
  line-height: 1.35;
  color: var(--color-text-primary, #0F0D15);
}

/* Bottom Callout Quote Box (Figma Node 0:5272) */
.climb_callout {
  margin-top: 36px;
  border-left: 4px solid var(--color-primary, #7339D4);
  padding: 4px 0 4px 16px;
  max-width: 555px;
}

@media (min-width: 992px) {
  .climb_callout {
    padding-left: 24px;
  }
}

.climb_callout-text {
  margin: 0;
  font-size: clamp(1rem, 1.2vw, 17px);
  font-weight: var(--font-weight-regular, 400);
  line-height: 1.45;
  color: var(--color-text-primary, #0F0D15);
}

.climb_callout-highlight {
  font-weight: var(--font-weight-bold, 700);
}

/* ============================================================
   Ascending Staggered Animation (Step 1 -> 5 climbing up)
   ============================================================ */
.climb_content.climb_animate {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 0.65s var(--ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
              transform 0.65s var(--ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
  will-change: opacity, transform;
}

.climb_step.climb_animate,
.climb_callout.climb_animate {
  opacity: 0;
  transform: translate3d(24px, 0, 0);
  transition: opacity 0.65s var(--ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
              transform 0.65s var(--ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
  will-change: opacity, transform;
}

/* Triggered State */
.climb.is-visible .climb_content.climb_animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: 0.08s;
}

.climb.is-visible .climb_step.climb_animate,
.climb.is-visible .climb_callout.climb_animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Ascending Sequence: Step 1 (bottom) reveals first, climbing to Step 5 (top) */
.climb.is-visible .climb_step--1 {
  transition-delay: 0.12s;
}

.climb.is-visible .climb_step--2 {
  transition-delay: 0.24s;
}

.climb.is-visible .climb_step--3 {
  transition-delay: 0.36s;
}

.climb.is-visible .climb_step--4 {
  transition-delay: 0.48s;
}

.climb.is-visible .climb_step--5 {
  transition-delay: 0.60s;
}

.climb.is-visible .climb_callout {
  transition-delay: 0.72s;
}

/* ============================================================
   Accessibility: Prefers-reduced-motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .climb_content.climb_animate,
  .climb_step.climb_animate,
  .climb_callout.climb_animate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .climb_step {
    transition: none;
  }
}
