/* Same Demand. Different Capacity to Grow.
   Pair with section.html and journey-comparison.js.
   Token fallbacks cover a build that does not define --gutter, --ink, --ink-muted, --font-display, or --ease.
   Dark styles apply when an ancestor has data-theme="dark". */

.journey-comparison .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.journey-comparison {
  --jc-ink: #3c3948;
  --jc-soft: #6e6a78;
  --jc-wash: #ebe7f4;
  --jc-card: #f3f1f7;
  --jc-hot: #a9a4b4;
  --jc-line: #ddd8e6;
  --jc-ring: #d4d0de;
  --jc-rail: 35px;
  --jc-icon: 48px;
  --jc-gap: 8px;
  --jc-card-pad: 12px;
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-top: 0;
  padding: 56px 0 36px;
}

.journey-comparison__atmosphere {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: #f4f1fb;
  transition: background 1200ms cubic-bezier(0.45, 0.05, 0.2, 1);
}

.journey-comparison.is-inview .journey-comparison__atmosphere {
  background: #24222b;
}

.journey-comparison.is-inview[data-state="connected"] .journey-comparison__atmosphere {
  background: #1b102c;
}

.journey-comparison__glow {
  position: absolute;
  border-radius: 50%;
}

.journey-comparison__glow--pink,
.journey-comparison__glow--violet {
  opacity: 0;
  transition: opacity 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), background 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison__glow--pink {
  width: 58%;
  height: 28%;
  right: -8%;
  top: 6%;
  background: radial-gradient(circle, rgba(210, 60, 120, 0.36), transparent 68%);
}

.journey-comparison[data-state="connected"] .journey-comparison__glow--pink {
  top: 22%;
  width: 42%;
  height: 20%;
  opacity: 1;
  background: radial-gradient(circle, rgba(176, 148, 255, 0.16), transparent 72%);
}

.journey-comparison__glow--violet {
  width: 70%;
  height: 34%;
  left: -16%;
  bottom: 0;
  background: radial-gradient(circle, rgba(120, 70, 200, 0.34), transparent 70%);
}

.journey-comparison[data-state="connected"] .journey-comparison__glow--violet {
  opacity: 1;
}

.journey-comparison__curve {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -36px;
  width: 100%;
  height: 120px;
  overflow: visible;
}

.journey-comparison__curve path:first-child {
  stroke: rgba(255, 255, 255, 0.16);
}

.journey-comparison__curve path:last-child {
  stroke: rgba(232, 228, 240, 0.11);
}

.journey-comparison[data-state="connected"] .journey-comparison__curve path:first-child {
  stroke: rgba(186, 148, 255, 0.55);
}

.journey-comparison[data-state="connected"] .journey-comparison__curve path:last-child {
  stroke: rgba(230, 176, 245, 0.4);
}

.journey-comparison__frame {
  position: relative;
  z-index: 1;
  width: min(100% - (var(--gutter) * 2), 440px);
  margin-inline: auto;
}

.journey-comparison__intro {
  margin: 0 auto 22px;
  text-align: center;
}

.journey-comparison__intro h2 {
  max-width: none;
  margin: 0 auto;
  color: var(--ink, #14121a);
  font-size: clamp(1.7rem, 6.2vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.08;
  text-wrap: balance;
}

.journey-title__accent {
  display: block;
  background: linear-gradient(100deg, #d7ccff 0%, #b9a6ff 52%, #9b8cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.journey-comparison__leads {
  display: grid;
  max-width: 28em;
  margin: 14px auto 0;
}

.journey-comparison__leads p {
  grid-area: 1 / 1;
  margin: 0;
  color: var(--ink-muted, #5c5668);
  font-size: 1.02rem;
  line-height: 1.45;
  transition: opacity 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison:not([data-state="connected"]) .journey-comparison__leads p[data-lead="connected"],
.journey-comparison[data-state="connected"] .journey-comparison__leads p[data-lead="before"] {
  opacity: 0;
  visibility: hidden;
}

.journey-comparison__hook {
  margin-top: 12px;
  max-width: 22em;
  color: var(--ink, #14121a);
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.35;
}

.journey-comparison__lead {
  display: none;
}

.journey-comparison__intro p:last-child {
  margin-top: 8px;
  max-width: 36em;
  color: var(--ink-muted, #5c5668);
  font-size: 1.02rem;
  line-height: 1.45;
}

.journey-comparison.is-inview .journey-comparison__intro h2 {
  color: #f7f4fb;
}

.journey-comparison.is-inview .journey-comparison__hook {
  color: #f7f4fb;
}

.competition-hook {
  margin: -6px auto 22px;
  max-width: 40rem;
  color: var(--ink-muted, #5c5668);
  font-size: 1.02rem;
  line-height: 1.5;
  text-align: center;
}

.competition-hook strong {
  color: var(--ink, #14121a);
  font-weight: 700;
}

@media (prefers-reduced-motion: no-preference) {
  .journey-focus {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 1vh;
    padding-bottom: 18vh;
  }
}

.journey-comparison.is-inview .competition-hook,
.journey-comparison.is-inview .competition-hook strong {
  color: rgba(244, 240, 250, 0.9);
}

[data-theme="dark"] .competition-hook {
  color: #c5bdd4;
}

[data-theme="dark"] .competition-hook strong {
  color: #f7f4fb;
}

.journey-comparison.is-inview .journey-comparison__leads p,
.journey-comparison.is-inview .journey-comparison__lead {
  color: rgba(244, 240, 250, 0.78);
}

.journey-comparison.is-inview .journey-comparison__switch {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.journey-comparison.is-inview .journey-comparison__tab {
  color: rgba(244, 240, 250, 0.72);
}

.journey-comparison.is-inview .journey-comparison__tab-sub {
  color: rgba(244, 240, 250, 0.48);
}

.journey-comparison.is-inview .journey-comparison__thumb {
  background: linear-gradient(180deg, #f4f2f7 0%, #d5d1dc 100%);
  box-shadow: 0 6px 14px rgba(20, 16, 32, 0.28);
}

.journey-comparison.is-inview[data-state="connected"] .journey-comparison__thumb {
  background: linear-gradient(180deg, #8d5cff 0%, #6a28d9 100%);
  box-shadow: 0 8px 18px rgba(80, 30, 180, 0.45);
}

.journey-comparison.is-inview .journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-title {
  color: #2c2836;
}

.journey-comparison.is-inview .journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-sub {
  color: #5c5670;
}

.journey-comparison.is-inview[data-state="connected"] .journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-title {
  color: #fff;
}

.journey-comparison.is-inview[data-state="connected"] .journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-sub {
  color: #7a62b8;
}

.journey-comparison.is-inview .journey-comparison__panel--before .journey-comparison__card {
  border-color: rgba(232, 168, 74, 0.62);
  background: rgba(18, 12, 24, 0.72);
  color: #f7f4fb;
  box-shadow: 0 0 0 1px rgba(232, 168, 74, 0.08), 0 16px 32px rgba(6, 2, 16, 0.32), inset 0 0 28px rgba(232, 168, 74, 0.05);
  backdrop-filter: blur(16px);
}

.journey-comparison.is-inview .journey-comparison__panel--connected .journey-comparison__card {
  border-color: rgba(62, 224, 197, 0.55);
  background: rgba(10, 18, 24, 0.72);
  color: #f7f4fb;
  box-shadow: 0 0 0 1px rgba(62, 224, 197, 0.08), 0 16px 32px rgba(6, 2, 16, 0.32), inset 0 0 28px rgba(62, 224, 197, 0.05);
  backdrop-filter: blur(16px);
}

.journey-comparison.is-inview .journey-comparison__panel--before .journey-comparison__card--independence {
  border-color: rgba(232, 168, 74, 0.92);
  box-shadow: 0 0 0 1px rgba(232, 168, 74, 0.28), 0 18px 36px rgba(6, 2, 16, 0.38), inset 0 0 36px rgba(232, 168, 74, 0.12);
}

.journey-comparison.is-inview .journey-comparison__panel--before .journey-comparison__card:not(.is-open) {
  opacity: 0.46;
  border-color: rgba(232, 168, 74, 0.22);
  background: rgba(18, 12, 24, 0.42);
  box-shadow: none;
}

.journey-comparison.is-inview .journey-comparison__panel--before .journey-comparison__card.is-open {
  opacity: 1;
}

.journey-comparison.is-inview .journey-comparison__panel--connected .journey-comparison__card--independence {
  border-color: rgba(62, 224, 197, 0.9);
  box-shadow: 0 0 0 1px rgba(62, 224, 197, 0.28), 0 18px 36px rgba(6, 2, 16, 0.38), inset 0 0 36px rgba(62, 224, 197, 0.12);
}

.journey-comparison.is-inview .journey-comparison__copy h3,
.journey-comparison.is-inview .journey-comparison__name {
  color: #f7f4fb;
}

.journey-comparison.is-inview .journey-comparison__copy p {
  color: rgba(232, 226, 242, 0.74);
}

.journey-comparison__switch {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75), 0 8px 16px rgba(12, 6, 24, 0.28);
  transition: background 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), box-shadow 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison[data-state="connected"] .journey-comparison__switch {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75), 0 8px 16px rgba(12, 6, 24, 0.28);
}

.journey-comparison.is-inview[data-state="connected"] .journey-comparison__switch {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.journey-comparison__thumb {
  position: absolute;
  z-index: 0;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: calc(50% - 4px);
  border-radius: 999px;
  background: var(--jc-wash);
  box-shadow: 0 0 0 1px var(--jc-line);
  transition: transform 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), background 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), box-shadow 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison[data-state="connected"] .journey-comparison__thumb {
  transform: translateX(100%);
}

.journey-comparison__tab {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 1px;
  min-height: 52px;
  padding: 8px 8px;
  border-radius: 999px;
  color: #8d869c;
}

.journey-comparison__tab-title {
  font-family: var(--font-display, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: clamp(0.86rem, 3.5vw, 1rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-align: center;
  text-wrap: balance;
}

.journey-comparison__tab-sub {
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.2;
  color: #a39cb2;
}

.journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-title {
  font-weight: 700;
  color: var(--jc-ink);
}

.journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-sub {
  color: var(--jc-soft);
}

.journey-comparison[data-state="connected"] .journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-title {
  color: var(--jc-ink, #14121a);
}

.journey-comparison[data-state="connected"] .journey-comparison__tab[aria-selected="true"] .journey-comparison__tab-sub {
  color: #8d74c4;
}

.journey-comparison__tab:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}

.journey-comparison__stage {
  display: grid;
  margin-top: 16px;
  touch-action: pan-y;
}

.journey-comparison__panel {
  grid-area: 1 / 1;
}

.journey-comparison__panel[hidden] {
  display: none !important;
}

.journey-comparison__panel.is-entering {
  z-index: 1;
  animation: journey-in 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison__panel--connected.is-entering {
  animation: none;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__step,
.journey-comparison__panel--connected.is-entering .journey-comparison__pager,
.journey-comparison__panel--connected.is-entering .journey-comparison__signal,
.journey-comparison__panel--connected.is-entering .journey-comparison__footer {
  animation: journey-step 460ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__step:nth-child(1) {
  animation-delay: 40ms;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__step:nth-child(2) {
  animation-delay: 280ms;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__step:nth-child(3) {
  animation-delay: 520ms;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__step:nth-child(4) {
  animation-delay: 760ms;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__step:nth-child(5) {
  animation-delay: 1000ms;
}

.journey-comparison__panel--connected.is-entering .journey-comparison__pager,
.journey-comparison__panel--connected.is-entering .journey-comparison__footer {
  animation-delay: 1240ms;
}

.journey-comparison__panel.is-leaving {
  z-index: 0;
  pointer-events: none;
  animation: journey-out 240ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)) forwards;
}

.journey-comparison__steps {
  display: grid;
  gap: 0;
}

.journey-comparison__card {
  display: block;
  padding: 11px 12px;
  border: 1px solid rgba(232, 168, 74, 0.45);
  border-radius: 22px;
  background: rgba(22, 16, 32, 0.72);
  box-shadow: 0 14px 28px rgba(6, 2, 16, 0.22);
  transition: border-color 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), box-shadow 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), opacity 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), background 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison__card.is-open {
  padding: 14px 14px 16px;
}

.journey-comparison__heading {
  margin: 0;
}

.journey-comparison__toggle {
  display: grid;
  grid-template-columns: var(--jc-icon) minmax(0, 1fr) 16px;
  column-gap: 12px;
  align-items: center;
  width: 100%;
  color: inherit;
  text-align: left;
}

.journey-comparison__toggle:focus-visible {
  outline: none;
  border-radius: 14px;
  box-shadow: var(--focus);
}

.journey-comparison__chevron {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  color: rgba(244, 240, 250, 0.72);
}

.journey-comparison__chevron svg {
  width: 16px;
  height: 16px;
  transition: transform 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison__card.is-open .journey-comparison__chevron svg {
  transform: rotate(180deg);
}

.journey-comparison__detail {
  display: grid;
  grid-template-rows: 0fr;
  margin-left: calc(var(--jc-icon) + 12px);
  margin-right: 16px;
  transition: grid-template-rows 320ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.journey-comparison__card.is-open .journey-comparison__detail {
  grid-template-rows: 1fr;
}

.journey-comparison__detail-inner {
  min-height: 0;
  overflow: hidden;
}

.journey-comparison__card--independence {
  border-width: 1.5px;
}

.journey-comparison__card--independence .journey-comparison__name {
  font-size: 1.14rem;
}

.journey-comparison__card--independence .journey-comparison__status {
  padding: 6px 12px;
  font-size: 0.82rem;
}

.journey-comparison__panel--connected .journey-comparison__card {
  border-color: rgba(62, 224, 197, 0.5);
}

.journey-comparison__panel--connected .journey-comparison__icon {
  color: #3ee0c5;
  background: rgba(62, 224, 197, 0.08);
  box-shadow: inset 0 0 0 1px rgba(62, 224, 197, 0.55), 0 0 16px rgba(62, 224, 197, 0.16);
}

.journey-comparison__panel--connected .journey-comparison__status {
  background: rgba(62, 224, 197, 0.14);
  color: #3ee0c5;
}

.journey-comparison__card--risk {
  align-items: start;
  background: var(--jc-card);
  border-color: var(--jc-line);
}

.journey-comparison__icon {
  display: grid;
  place-items: center;
  width: var(--jc-icon);
  height: var(--jc-icon);
  border-radius: 14px;
  color: #e8b15a;
  background: rgba(232, 168, 74, 0.08);
  box-shadow: inset 0 0 0 1px rgba(232, 168, 74, 0.55), 0 0 16px rgba(232, 168, 74, 0.16);
}

.journey-comparison__icon svg {
  width: 28px;
  height: 28px;
}

.journey-comparison__icon--neutral,
.journey-comparison__icon--received {
  background: rgba(176, 92, 210, 0.22);
  color: #e7a4e8;
}

.journey-comparison__icon--warning,
.journey-comparison__icon--stalled {
  background: rgba(196, 122, 64, 0.24);
  color: #e8b07a;
}

.journey-comparison__icon--lost {
  background: rgba(200, 80, 140, 0.24);
  color: #f0a0c8;
}

.journey-comparison__icon--connected {
  background: rgba(130, 90, 240, 0.24);
  color: #d7c8ff;
}

.journey-comparison__copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.journey-comparison__headline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
}

.journey-comparison__copy h3,
.journey-comparison__name {
  flex: 1 1 8rem;
  min-width: 0;
  margin: 0;
  color: #f7f4fb;
  font-family: var(--font-display, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.journey-comparison__copy p {
  min-width: 0;
  margin: 0;
  color: rgba(232, 226, 242, 0.74);
  font-size: 0.95rem;
  line-height: 1.4;
}

.journey-comparison__card--risk .journey-comparison__status {
  margin-top: 2px;
}

.journey-comparison__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(232, 168, 74, 0.14);
  color: #f0b45a;
  font-family: var(--font-display, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.journey-comparison__status svg {
  width: 16px;
  height: 16px;
}

.journey-comparison__mark {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.journey-comparison__status--received,
.journey-comparison__status--risk,
.journey-comparison__status--lost {
  padding: 6px 10px;
  border-radius: 999px;
  font-family: var(--font-display, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.journey-comparison__status--received {
  background: rgba(46, 184, 122, 0.18);
  color: #7dcea0;
}

.journey-comparison__status--ok {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: transparent;
  color: #7dcea0;
  box-shadow: inset 0 0 0 1.5px rgba(110, 214, 160, 0.85), 0 0 12px rgba(80, 210, 150, 0.28);
}

.journey-comparison__status--lost {
  background: rgba(214, 90, 150, 0.2);
  color: #f0a0c8;
}

.journey-comparison__status--risk {
  background: rgba(214, 140, 70, 0.2);
  color: #e8b07a;
  animation: journey-risk-pulse 2.8s ease-in-out infinite;
}

@keyframes journey-risk-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(217, 119, 53, 0.22);
  }

  50% {
    box-shadow: 0 0 0 5px rgba(217, 119, 53, 0);
  }
}

.journey-comparison__panel--before.is-entering .journey-comparison__status {
  animation: journey-pop 280ms var(--ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.journey-comparison__panel--before.is-entering .journey-comparison__step:nth-child(2) .journey-comparison__status {
  animation-delay: 50ms;
}

.journey-comparison__panel--before.is-entering .journey-comparison__step:nth-child(3) .journey-comparison__status {
  animation-delay: 100ms;
}

.journey-comparison__panel--before.is-entering .journey-comparison__step:nth-child(4) .journey-comparison__status {
  animation-delay: 150ms;
}

.journey-comparison__panel--before.is-entering .journey-comparison__step:nth-child(5) .journey-comparison__status {
  animation-delay: 200ms;
}

.journey-comparison__bridge {
  position: relative;
  display: block;
  min-height: 20px;
}

.journey-comparison__rail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
}

.journey-comparison__panel--before .journey-comparison__rail {
  background: repeating-linear-gradient(
    to bottom,
    #e8a84a 0 3px,
    transparent 3px 7px
  );
}

.journey-comparison__panel--connected .journey-comparison__rail {
  background: repeating-linear-gradient(
    to bottom,
    #3ee0c5 0 3px,
    transparent 3px 7px
  );
}

.journey-comparison__node {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.journey-comparison__panel--before .journey-comparison__node {
  background: #f0b45a;
  box-shadow: 0 0 0 4px rgba(18, 12, 24, 0.9), 0 0 12px rgba(240, 180, 90, 0.85);
}

.journey-comparison__panel--connected .journey-comparison__node {
  width: 8px;
  height: 8px;
  background: #3ee0c5;
  box-shadow: 0 0 0 4px rgba(10, 16, 22, 0.9), 0 0 12px rgba(62, 224, 197, 0.85);
}

.journey-comparison__note {
  margin: 0;
}

.journey-comparison__panel--before .journey-comparison__note {
  flex: 1;
  margin-left: 58px;
  margin-right: 8px;
  color: #e4e0ea;
  font-size: 0.86rem;
  line-height: 1.35;
  text-align: center;
}

.journey-comparison__panel--before .journey-comparison__note--cold {
  color: #c65b78;
  font-weight: 600;
}

.journey-comparison__panel--connected .journey-comparison__bridge:has(.journey-comparison__note) {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.journey-comparison__panel--connected .journey-comparison__note {
  position: relative;
  margin-left: 62px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f3e9ff;
  color: #6d35d4;
  font-family: var(--font-display, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
}

.journey-comparison__panel--connected .journey-comparison__note::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: #cbb6f6;
  transform: translateY(-50%);
}

.journey-comparison__pager {
  display: none;
}

.journey-comparison__dot {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
}

.journey-comparison__dot::before {
  content: "";
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border: 1.5px solid var(--jc-ring);
  border-radius: 50%;
  background: transparent;
}

.journey-comparison__dot[aria-current="true"]::before {
  border-color: var(--jc-hot);
  background: var(--jc-hot);
  box-shadow: 0 0 0 3px #24222b;
}

.journey-comparison[data-state="connected"] .journey-comparison__dot::before {
  border-color: rgba(255, 255, 255, 0.45);
}

.journey-comparison[data-state="connected"] .journey-comparison__dot[aria-current="true"]::before {
  border-color: #7a45e0;
  background: #7a45e0;
  box-shadow: 0 0 0 3px #321848;
}

.journey-comparison__dot:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}

.journey-comparison__signal {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: 22px auto 0;
  border-radius: 50%;
  color: #ddd4ff;
  background: rgba(16, 10, 28, 0.82);
  box-shadow: 0 0 0 1px rgba(176, 148, 255, 0.55), 0 0 22px rgba(124, 92, 255, 0.45);
}

.journey-comparison__signal svg {
  width: 18px;
  height: 18px;
}

.journey-comparison__footer {
  position: relative;
  z-index: 1;
  max-width: 28em;
  margin: 18px auto 0;
  color: #f7f4fb;
  font-family: var(--font-display, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: clamp(1.2rem, 5vw, 1.55rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  text-align: center;
}

.journey-comparison__footer-accent {
  display: block;
  margin-top: 2px;
  background: linear-gradient(100deg, #d7ccff 0%, #b9a6ff 55%, #9b8cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.journey-comparison__panel--connected .journey-comparison__footer-accent {
  background: linear-gradient(100deg, #d7ccff 0%, #b9a6ff 55%, #9b8cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.journey-comparison__panel--before .journey-comparison__footer {
  color: #ece8f2;
}

.journey-comparison__panel--connected .journey-comparison__footer {
  color: #f4e8f6;
}

@keyframes journey-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes journey-out {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(-6px);
  }
}

@keyframes journey-step {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes journey-pop {
  from {
    opacity: 0;
    transform: scale(0.84);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 639px) {
  .journey-comparison__headline {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .journey-comparison__copy h3,
  .journey-comparison__name {
    flex: none;
    width: 100%;
  }
}

@media (max-width: 374px) {
  .journey-comparison {
    --jc-icon: 40px;
    --jc-gap: 8px;
    --jc-card-pad: 10px;
    padding: 48px 10px 18px;
  }

  .journey-comparison__intro {
    margin-bottom: 24px;
  }

  .journey-comparison__intro h2 {
    font-size: 1.75rem;
  }

  .journey-comparison__hook,
  .journey-comparison__intro p:last-child {
    font-size: 0.98rem;
  }

  .journey-comparison__copy h3,
  .journey-comparison__name {
    font-size: 1rem;
  }

  .journey-comparison__card--independence .journey-comparison__name {
    font-size: 1.06rem;
  }

  .journey-comparison__copy p,
  .journey-comparison__footer {
    font-size: 0.92rem;
  }

  .journey-comparison__status--risk {
    padding: 5px 8px;
  }
}

.journey-comparison__lanes {
  display: none;
}

@media (min-width: 768px) {
  .journey-comparison__frame {
    width: min(100% - (var(--gutter, 20px) * 2), 640px);
  }

  .journey-comparison__intro h2 {
    font-size: clamp(2.15rem, 4vw, 2.55rem);
  }
}

@media (min-width: 1024px) {
  .journey-comparison__frame {
    width: min(100% - (var(--gutter) * 2), 720px);
  }

  .journey-comparison__intro {
    max-width: 40rem;
    margin-bottom: 36px;
  }

  .journey-comparison__switch,
  .journey-comparison__stage {
    display: grid;
  }

  .journey-comparison__lanes {
    display: none;
  }

  .journey-lane {
    min-width: 0;
    padding: 22px 18px 26px;
    border: 1px solid var(--jc-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.03);
  }

  .journey-comparison.is-inview .journey-lane {
    border-color: rgba(255, 255, 255, 0.14);
  }

  .journey-lane--connected {
    border-color: rgba(183, 148, 246, 0.32);
    background: rgba(109, 53, 212, 0.08);
  }

  .journey-lane__head {
    margin-bottom: 18px;
    text-align: center;
  }

  .journey-lane__title {
    margin: 0;
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
  }

  .journey-lane__sub {
    margin: 2px 0 0;
    color: var(--ink-muted);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .journey-comparison.is-inview .journey-lane__title {
    color: #f7f4fb;
  }

  .journey-comparison.is-inview .journey-lane__sub {
    color: rgba(244, 240, 250, 0.72);
  }

  .journey-comparison.is-inview .journey-lane--connected .journey-lane__sub {
    color: #d7c6ff;
  }

  .journey-lane .journey-comparison__step:nth-child(1) .journey-comparison__card {
    min-height: 108px;
  }

  .journey-lane .journey-comparison__step:nth-child(2) .journey-comparison__card {
    min-height: 124px;
  }

  .journey-lane .journey-comparison__bridge {
    min-height: 72px;
  }

  .journey-lane--before .journey-comparison__rail {
    background: repeating-linear-gradient(
      to bottom,
      var(--jc-hot) 0 4px,
      transparent 4px 8px
    );
  }

  .journey-lane--before .journey-comparison__node {
    background: var(--jc-hot);
    box-shadow: 0 0 0 3px #1b102c;
  }

  .journey-lane--before .journey-comparison__note {
    flex: 1;
    margin-left: 58px;
    margin-right: 8px;
    color: #e4e0ea;
    font-size: 0.86rem;
    line-height: 1.35;
    text-align: center;
  }

  .journey-lane--before .journey-comparison__note--cold {
    color: #c65b78;
    font-weight: 600;
  }

  .journey-lane--connected .journey-comparison__rail {
    background: repeating-linear-gradient(
      to bottom,
      #b794f6 0 4px,
      transparent 4px 8px
    );
  }

  .journey-lane--connected .journey-comparison__node {
    width: 10px;
    height: 10px;
    background: #fff;
    box-shadow: 0 0 0 3px #b794f6, 0 0 0 6px rgba(183, 148, 246, 0.18);
  }

  .journey-lane--connected .journey-comparison__note {
    position: relative;
    margin-left: 62px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #f3e9ff;
    color: #6d35d4;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .journey-lane--connected .journey-comparison__note::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #cbb6f6;
    transform: translateY(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .journey-comparison,
  .journey-comparison__thumb,
  .journey-comparison__panel,
  .journey-comparison__status,
  .journey-comparison__status--risk,
  .journey-comparison__detail,
  .journey-comparison__chevron svg,
  .journey-comparison__atmosphere,
  .journey-comparison__glow--pink,
  .journey-comparison__panel--connected.is-entering .journey-comparison__step,
  .journey-comparison__panel--connected.is-entering .journey-comparison__pager,
  .journey-comparison__panel--connected.is-entering .journey-comparison__signal,
  .journey-comparison__panel--connected.is-entering .journey-comparison__footer,
  .journey-comparison__leads p {
    transition: none;
    animation: none;
  }
}

[data-theme="dark"] .journey-comparison__atmosphere {
  background: #1a1424;
}

[data-theme="dark"] .journey-comparison[data-state="connected"] .journey-comparison__atmosphere {
  background: #100c18;
}

[data-theme="dark"] .journey-comparison__panel--before .journey-comparison__node {
  box-shadow: 0 0 0 3px #1a1424;
}

[data-theme="dark"] .journey-comparison__dot[aria-current="true"]::before {
  box-shadow: 0 0 0 3px #1a1424;
}

[data-theme="dark"] .journey-comparison[data-state="connected"] .journey-comparison__dot[aria-current="true"]::before {
  box-shadow: 0 0 0 3px #140e22;
}

[data-theme="dark"] .journey-comparison__curve path:first-child {
  stroke: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .journey-comparison__curve path:last-child {
  stroke: rgba(210, 196, 236, 0.08);
}

[data-theme="dark"] .journey-comparison[data-state="connected"] .journey-comparison__curve path:first-child {
  stroke: rgba(186, 148, 255, 0.42);
}

[data-theme="dark"] .journey-comparison[data-state="connected"] .journey-comparison__curve path:last-child {
  stroke: rgba(220, 170, 245, 0.3);
}

@media (min-width: 1024px) {
  [data-theme="dark"] .journey-lane--before .journey-comparison__node {
    box-shadow: 0 0 0 3px #100c18;
  }
}

[data-theme="dark"] .journey-comparison__switch {
  background: rgba(255, 255, 255, 0.04);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .journey-comparison__tab {
  color: #b7adc8;
}

[data-theme="dark"] .journey-comparison__tab-sub {
  color: #9b92ad;
}

[data-theme="dark"] .journey-comparison__card {
  background: rgba(36, 28, 52, 0.88);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .journey-comparison {
  --jc-ink: #e6e1f0;
  --jc-soft: #c8c2d4;
  --jc-wash: rgba(214, 206, 236, 0.12);
  --jc-card: rgba(214, 206, 236, 0.16);
  --jc-hot: #b7b0c8;
  --jc-line: rgba(214, 206, 236, 0.28);
  --jc-ring: rgba(214, 206, 236, 0.4);
}

[data-theme="dark"] .journey-comparison__card--risk {
  background: linear-gradient(180deg, var(--jc-card), rgba(18, 14, 24, 0.9));
  border-color: var(--jc-line);
}

[data-theme="dark"] .journey-comparison__card--risk .journey-comparison__copy p {
  color: #d8d3e4;
}

[data-theme="dark"] .journey-comparison__copy p,
[data-theme="dark"] .journey-comparison__panel--before .journey-comparison__note {
  color: rgba(232, 226, 242, 0.74);
}

[data-theme="dark"] .journey-comparison__copy h3,
[data-theme="dark"] .journey-comparison__name,
[data-theme="dark"] .journey-comparison__footer {
  color: #f7f4fb;
}

[data-theme="dark"] .journey-comparison__panel--before .journey-comparison__note--cold,
[data-theme="dark"] .journey-lane--before .journey-comparison__note--cold {
  color: #c65b78;
}

[data-theme="dark"] .journey-lane--before .journey-comparison__node {
  box-shadow: 0 0 0 3px #100c18;
}

[data-theme="dark"] .journey-lane--before .journey-comparison__note {
  color: #c5bdd4;
}

[data-theme="dark"] .journey-comparison__icon--neutral {
  background: rgba(16, 185, 129, 0.16);
  color: #6ee7b7;
}

[data-theme="dark"] .journey-comparison__icon--warning {
  background: rgba(217, 119, 53, 0.24);
  color: #f0b27a;
}

[data-theme="dark"] .journey-comparison__icon--lost {
  background: rgba(200, 77, 123, 0.24);
  color: #f0a8c4;
}

[data-theme="dark"] .journey-comparison__icon--connected {
  background: rgba(104, 69, 232, 0.24);
  color: #d2c6ff;
}

[data-theme="dark"] .journey-comparison__panel--connected .journey-comparison__note,
[data-theme="dark"] .journey-lane--connected .journey-comparison__note {
  background: rgba(167, 139, 250, 0.16);
  color: #ddd6fe;
}

[data-theme="dark"] .journey-comparison__status--risk {
  background: rgba(217, 119, 53, 0.24);
  color: #f0b27a;
  animation-name: journey-risk-pulse-dark;
}

@keyframes journey-risk-pulse-dark {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(240, 178, 122, 0.28);
  }

  50% {
    box-shadow: 0 0 0 5px rgba(240, 178, 122, 0);
  }
}

[data-theme="dark"] .journey-comparison__status--ok {
  background: rgba(16, 185, 129, 0.16);
  color: #6ee7b7;
}

[data-theme="dark"] .journey-comparison__status--lost {
  background: rgba(244, 90, 160, 0.32);
  color: #ff7eb4;
}

[data-theme="dark"] .journey-comparison__dot::before {
  border-color: var(--jc-ring);
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="dark"] .journey-comparison__status--risk {
    animation: none;
  }
}
