.methodology-section {
  position: relative;
  width: 100%;
  min-height: auto;
  background: transparent;
  overflow: visible;
  padding: 70px 0 90px;
  box-sizing: border-box;
  font-family: "Inter", "Noto Sans", sans-serif;
}

.methodology-stage-wrapper {
  position: relative;
  width: 100%;
  height: calc(100vh - 7rem);
}

#methodologySvgHost {
  width: 100%;
  height: 100%;
}

#methodologySvgHost svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Lightbox κειμένου πάνω στο active stage */
.stage-html-text {
  position: absolute;
  z-index: 50;
  width: 280px;
  max-width: 32vw;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 18px;
  padding: 1.2rem 1.25rem;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
  opacity: 0;
  pointer-events: none;
}

.stage-html-text.is-visible {
  pointer-events: auto;
}

.stage-html-text h3 {
  display: block;
  margin: 0 0 1rem 0;
  padding: 0 0 0.6rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  text-align: left;
}

.stage-html-text h3 strong {
  display: block;
  font-size: 1.35rem;
  line-height: 1.2;
  color: #111;
  font-weight: 800;
}

.stage-html-text h3 span {
  display: block;
  margin-top: 0.25rem;
  font-size: 1rem;
  line-height: 1.35;
  color: #333;
  font-weight: 400;
}

.stage-html-text ul {
  display: block;
  margin: 0;
  padding-left: 1.25rem;
}

.stage-html-text li {
  display: list-item;
  margin-bottom: 0.5rem;
  font-size: 0.98rem;
  line-height: 1.45;
  color: #333;
}

.stage-html-text li:last-child {
  margin-bottom: 0;
}

.methodology-section {
  position: relative;
}

#nextBtn {
  position: absolute;
  z-index: 120;

  left: 50%;
  top: 50%;
  transform: translateY(-50%, -50%);

  margin: 0;
  padding: 0.65rem 1.15rem;

  border: 0;
  border-radius: 999px;

  background: var(--pulse-art-blue, #B12079);
  color: #fff;

  font-family: "Inter", "Noto Sans", sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;

  cursor: pointer;
  box-shadow: 0 10px 26px rgba(177, 32, 121, 0.28);
}

#nextBtn:hover {
  transform: translateY(-50%, -50%) scale(1.04);
  box-shadow: 0 14px 34px rgba(177, 32, 121, 0.36);
}

@keyframes pulseStartBtn {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.04);
  }
}


@media (max-width: 991px) {
  .stage-html-text {
    width: min(320px, 86vw);
    max-width: 86vw;
  }
}
.stage-html-text {
  position: absolute;
  z-index: 50;
  width: 300px;
  max-width: 32vw;
  background: rgba(255, 255, 255, 0.98);
  border-radius: 16px;
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
  opacity: 0;
  pointer-events: none;
  font-family: "Inter", "Noto Sans", sans-serif;
}
.stage-click-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.stage-click-list li {
  margin: 0 0 0.45rem 0;
  padding: 0;
}

.stage-click-item {
  width: 100%;
  display: block;
  text-align: left;
  padding: 0.35rem 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: #111;
  border-radius: 0;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
}

.stage-click-item:hover,
.stage-click-item.is-active {
  color: #00a0c0;
  background: transparent;
}

.stage-detail-box {
  display: none;
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.stage-detail-box.is-visible {
  display: block;
}

.stage-detail-box h4 {
  margin: 0 0 0.45rem 0;
  font-size: 1rem;
  font-weight: 800;
  color: #111;
}

.stage-detail-box p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #333;
}



.methodology-stage-wrapper {
  position: relative;
  width: 100%;
  max-width: 1180px;
  height: 720px;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.10);
}

#methodologySvgHost {
  width: 100%;
  height: 100%;
  background: #ffffff;
}

#methodologySvgHost svg {
  width: 100%;
  height: 100%;
  display: block;
}

#methodologySvgHost svg,
#methodologySvgHost svg text,
#methodologySvgHost svg tspan {
  font-family: "Inter", "Noto Sans", sans-serif !important;
}

.methodology-section,
.methodology-stage-wrapper,
#methodologySvgHost,
#methodologySvgHost svg {
  background: #ffffff !important;
}