/* general layout */
body {
  background: #0b0e14;
  color: #e5f2ff;
  font-family: system-ui, -apple-system, sans-serif;
}

.container {
  max-width: 1300px;
  height: auto;       /* grows with content */
  min-height: 600px;  /* optional minimum height */
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}


.page-title {
  font-family: "Space Grotesk", Inter, system-ui, sans-serif !important;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -0.8px;
  text-transform: uppercase;
  color: var(--text-main);
  text-align: center;
  margin: 0 auto 5px auto;
  padding-top: 0;
}

.current-phase {
  text-align: center;
  margin-bottom: 30px;
  color: #9fb7d1;
}

/* roadmap frame */
.roadmap-frame {
  display: flex;
  align-items: center;
  gap: 14px;
}

.roadmap-viewport {
  overflow: hidden;
  width: 100%;
}

.roadmap-track {
  display: flex;
  gap: 16px;
  padding-left: 20px;
  transition: transform 0.6s ease;
}

/* phase card */
.phase-frame {
  flex: 0 0 45%;
  min-width: 280px;
  padding: 26px;
  margin-bottom: 20px;
  margin-top: 20px;
  box-sizing: border-box;
  border-radius: 18px;
  background: #0f1320;
  border: 1px solid rgba(56,189,248,0.3);
  transition: all 0.35s ease;
}

.phase-frame:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 28px rgba(56,189,248,0.45);
}

.phase-frame.current {
  border-color: #38bdf8;
  box-shadow: 0 0 25px rgba(56,189,248,0.4);
}

.phase-frame.locked {
  opacity: 0.45;
  filter: grayscale(40%);
}

/* phase header layout */
.phase-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.phase-title-left {
  flex: 1;
}

.phase-meta-right {
  text-align: right;
}

/* text styling */
.phase-number {
  font-size: 14px;
  font-weight: 600;
  color: #38bdf8;
  background: rgba(56,189,248,0.1);
  padding: 2px 8px;
  border-radius: 12px;
  display: inline-block;
  margin-bottom: 4px;
}

.phase-title {
  font-size: 26px;
  font-weight: 700;
  background: linear-gradient(90deg, #38bdf8, #0ea5e9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 6px 0;
}

.phase-nature {
  font-size: 14px;
  font-weight: 500;
  color: #38bdf8;
}

.phase-timeline {
  font-size: 13px;
  color: #9fb7d1;
  font-style: italic;
}

/* description */
.phase-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #b9cbe2;
}

/* nav buttons */
.nav-btn {
  font-size: 30px;
  background: none;
  color: #38bdf8;
  border: 1px solid #38bdf8;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
}

.nav-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* progress dots */
.roadmap-dots {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.dot {
  width: 10px;
  height: 10px;
  margin: 0 6px;
  border-radius: 50%;
  background: #2a3b55;
  cursor: pointer;
}

.dot.active {
  background: #38bdf8;
  box-shadow: 0 0 10px rgba(56,189,248,0.7);
}

/* responsive for tablets and mobiles */
@media (max-width: 768px) {
  .phase-frame {
    flex: 0 0 100%;
  }
  .page-title {
      font-size: 30px !important; 
  }
}

@media (max-width: 480px) {
  .phase-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .phase-meta-right {
    text-align: left;
    margin-top: 6px;
  }
}

.phase-desc {
  list-style: none; /* remove default bullets */
  padding-left: 10;
  margin: 12px 0 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #ffffff;
}

.phase-desc li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

/* simple modern dot */
.phase-desc li::before {
  content: '•';       /* simple dot character */
  position: absolute;
  left: 0;
  top: 0;
  color: #ffffff;     /* your accent color */
  font-size: 20px;
  line-height: 1;
}

/* optional: slightly bold text for clarity */
.phase-desc li {
  font-weight: 500;
}


/* =========================
   MOBILE & TABLET ADAPTATIONS
========================= */
@media (max-width: 768px) {
  .phase-frame {
    flex: 0 0 100%;
    padding: 20px;
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .phase-title {
    font-size: 22px;
  }

  .phase-number {
    font-size: 12px;
    padding: 2px 6px;
  }

  .phase-nature {
    font-size: 12px;
  }

  .phase-timeline {
    font-size: 12px;
  }

  .phase-desc {
    font-size: 13px;
    line-height: 1.4;
    padding-left: 8px;
  }

  .phase-desc li::before {
    font-size: 16px;
  }

  .nav-btn {
    width: 38px;
    height: 38px;
    font-size: 26px;
  }

  .roadmap-track {
    gap: 12px;
    padding-left: 12px;
  }

  .roadmap-frame {
    gap: 10px;
  }

  .dot {
    width: 8px;
    height: 8px;
    margin: 0 4px;
  }
}

@media (max-width: 480px) {
  .phase-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .phase-meta-right {
    text-align: left;
    margin-top: 6px;
  }

  .phase-title {
    font-size: 20px;
  }

  .phase-number {
    font-size: 11px;
    padding: 1px 5px;
  }

  .phase-nature {
    font-size: 11px;
  }

  .phase-timeline {
    font-size: 11px;
  }

  .phase-desc {
    font-size: 12px;
    line-height: 1.35;
    padding-left: 6px;
  }

  .phase-desc li::before {
    font-size: 14px;
  }

  .nav-btn {
    width: 34px;
    height: 34px;
    font-size: 22px;
  }

  .roadmap-track {
    gap: 10px;
    padding-left: 10px;
  }

  .roadmap-frame {
    gap: 8px;
  }

  .dot {
    width: 6px;
    height: 6px;
    margin: 0 3px;
  }
    }









