body {
  margin:0;
  font-family: system-ui, sans-serif;
  background: #184e61;
  color:white;
}

header { text-align:center; padding:60px 20px 40px; }
h1 { font-size: 38px; margin:0 0 10px; }
p { opacity: 0.9; }

section { max-width: 90%; margin:auto; padding:40px 20px; }
.section-title { font-size:28px; margin-bottom:25px; }

.glass {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(14px);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:18px;
  padding:20px;
}


  .tracker{
  max-width:900px;
  margin:auto;
}

/* STEP ROW */

.steps{
  display:flex;
  justify-content:space-between;
  position:relative;
}

/* horizontal progress line */

.steps::before{
  content:"";
  position:absolute;
  top:18px;              /* center of circle */
  left:0;
  width:100%;
  height:6px;
  background:#e2e6ef;
  border-radius:4px;
  z-index:0;
}

.progress{
  position:absolute;
  top:18px;
  left:0;
  height:6px;
  background:#184e61;
  border-radius:4px;
  width:0%;
  transition:.4s;
  z-index:1;
}

/* STEP */

.step{
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  z-index:2;
}

.circle{
  width:36px;
  height:36px;
  border-radius:50%;
  color: black;
  background:#b8b8b8;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
}

.label{
  margin-top:10px;
  font-size:14px;
  color:#ffffff;
  text-align:center;
}

/* states */

.step.completed .circle{
  background:#4f8cff;
  color:white;
}

.step.active .circle{
  background:#6bd3ff;
  color:white;
  box-shadow:0 0 0 6px rgba(107,211,255,.2);
}

/* ---------------- MOBILE ---------------- */

@media (max-width:640px){

.steps{
  flex-direction:column;
}

.steps::before,
.progress{
  display:none;
}

.step{
  flex-direction:row;
  align-items:flex-start;
  padding-bottom:28px;
}

.circle{
  flex-shrink:0;
}

.label{
  margin-left:14px;
  margin-top:6px;
  text-align:left;
}

/* vertical connector */

.step::after{
  content:"";
  position:absolute;
  left:18px;
  top:36px;
  width:4px;
  height:100%;
  background:#e2e6ef;
}

.step:last-child::after{
  display:none;
}

.step.completed::after{
  background:#4f8cff;
}

}


.button-link {
  display: inline-block;
  padding: 10px 20px;
  margin: 1rem;
  background-color: #007bff;
  color: white;
  text-decoration: none;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.button-link:hover {
  background-color: #0056b3;
}
