/* ═══════════════════════════════════════════════════════════════════════════
   WakaStart — Project Timeline Comparison
   Scroll-triggered animation. All sizes in rem.
   ═══════════════════════════════════════════════════════════════════════════ */

.wk-timeline {
  position: relative;
  background: #000000;
  color: #ded0bd;
  padding: 2.5rem 2rem;
  border-radius: 1rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  max-width: 100%;
  overflow: visible;
  box-sizing: border-box;
}

.wk-timeline *,
.wk-timeline *::before,
.wk-timeline *::after {
  box-sizing: border-box;
}

/* ─── Header — hidden until visible ──────────────────────────────────────── */

.wk-timeline__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.75rem;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.wk-timeline--visible .wk-timeline__header {
  opacity: 1;
  transform: translateY(0);
}

.wk-timeline__title {
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin: 0;
  line-height: 1.2;
}

.wk-timeline__savings {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.wk-timeline__savings-label {
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #a79780;
}

.wk-timeline__savings-value {
  font-size: 1.375rem;
  font-weight: 700;
  color: #d1bda1;
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
}

/* ─── Legend — hidden until visible ───────────────────────────────────────── */

.wk-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-bottom: 2rem;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.6s ease 0.15s, transform 0.6s ease 0.15s;
}

.wk-timeline--visible .wk-legend {
  opacity: 1;
  transform: translateY(0);
}

.wk-legend__item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.wk-legend__dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 0.125rem;
  flex-shrink: 0;
}

.wk-legend__text {
  font-size: 0.6875rem;
  color: #a79780;
  letter-spacing: 0.02em;
}

/* ─── Timelines wrapper ───────────────────────────────────────────────────── */

.wk-timelines {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* ─── Row ─────────────────────────────────────────────────────────────────── */

.wk-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.wk-row__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  opacity: 0;
  transform: translateX(-1rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.wk-timeline--visible .wk-row:nth-child(1) .wk-row__header {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s;
}

.wk-timeline--visible .wk-row:nth-child(2) .wk-row__header {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.9s;
}

.wk-row__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #ded0bd;
  letter-spacing: 0.01em;
}

.wk-row--accent .wk-row__label {
  color: #ffffff;
}

.wk-row__total {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.wk-row__total-days {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #a79780;
  letter-spacing: 0.02em;
}

.wk-row--accent .wk-row__total-days {
  color: #d1bda1;
}

.wk-row__total-human {
  font-size: 0.6875rem;
  color: #706556;
}

.wk-row--accent .wk-row__total-human {
  color: #a79780;
}

/* ─── Track ───────────────────────────────────────────────────────────────── */

.wk-row__track-wrapper {
  width: 100%;
}

.wk-row__track {
  display: flex;
  height: 3.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ─── Segment — scroll-triggered animation ────────────────────────────────── */

.wk-segment {
  position: relative;
  height: 100%;
  cursor: pointer;
  outline: none;
  border: none;
  border-radius: 0;
  flex-shrink: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.2s ease;
}

.wk-timeline--visible .wk-segment {
  transform: scaleX(1);
}

.wk-segment:hover,
.wk-segment:focus-visible {
  filter: brightness(1.3);
  z-index: 3;
}

/* ─── Tooltip ─────────────────────────────────────────────────────────────── */

.wk-tooltip {
  position: absolute;
  z-index: 100;
  transform: translate(-50%, -100%);
  margin-top: -0.625rem;
  padding: 0.625rem 0.875rem;
  background: #1a1714;
  border: 0.0625rem solid rgba(167, 151, 128, 0.2);
  border-radius: 0.5rem;
  display: none;
  flex-direction: column;
  gap: 0.125rem;
  pointer-events: none;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.6);
  animation: wk-tip-in 0.15s ease;
}

.wk-tooltip--visible {
  display: flex;
}

.wk-tooltip__label {
  font-size: 0.5625rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #a79780;
}

.wk-tooltip__role {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #ffffff;
}

.wk-tooltip__days {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #d1bda1;
}

.wk-tooltip__human {
  font-size: 0.6875rem;
  color: #a79780;
  margin-top: 0.0625rem;
}

@keyframes wk-tip-in {
  from {
    opacity: 0;
    transform: translate(-50%, -92%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -100%);
  }
}

/* ─── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 48rem) {
  .wk-timeline {
    padding: 1.5rem 1rem;
  }

  .wk-timeline__title {
    font-size: 1.25rem;
  }

  .wk-timeline__savings-value {
    font-size: 1.125rem;
  }

  .wk-row__track {
    height: 2.75rem;
  }
}

@media (max-width: 30rem) {
  .wk-timeline__header {
    flex-direction: column;
    gap: 0.5rem;
  }

  .wk-row__track {
    height: 2.25rem;
  }

  .wk-timeline__title {
    font-size: 1.0625rem;
  }
}

