/* ==========================================================================
   How the Platform Works page — unique styles
   ========================================================================== */

.hiw-hero-img {
  border-radius: var(--radius);
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  background: linear-gradient(135deg, #cdbff0, #a78bda);
  box-shadow: var(--shadow);
}

/* Steps stack */
.hiw-steps {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}

.hiw-num {
  display: block;
  font-size: 2.6rem;
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.hiw-step h3 {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 0.6rem;
}

.hiw-step p {
  font-size: 0.88rem;
  color: var(--text-muted);
  max-width: 460px;
}
.hiw-step.text-md-end p {
  margin-inline-start: auto;
}

.hiw-sub {
  font-weight: 600;
  color: var(--text);
  margin-bottom: 0.85rem;
}

/* Diamond (rotated square) image frame */
.hiw-diamond {
  width: 220px;
  max-width: 80%;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  transform: rotate(45deg);
  background: var(--bg-lavender);
  box-shadow: var(--shadow-card);
}
.hiw-diamond img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: rotate(-45deg) scale(1.45);
}

/* Check lists */
.hiw-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem 1.5rem;
  max-width: 460px;
  margin-top: 0.5rem;
}
.hiw-list-end {
  margin-inline-start: auto;
}
.hiw-list-cols {
  max-width: 520px;
}
.hiw-list li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ink);
}
.hiw-list li i {
  color: var(--primary);
  font-size: 0.95rem;
}

/* When step is text-end, keep lists/text aligned right on desktop */
@media (min-width: 768px) {
  .hiw-step.text-md-end .hiw-list-end {
    justify-items: end;
  }
}

@media (max-width: 767.98px) {
  .hiw-steps { gap: 2.5rem; }
  .hiw-step.text-md-end { text-align: left !important; }
  .hiw-step.text-md-end p { margin-inline-start: 0; }
  .hiw-list-end { margin-inline-start: 0; }
  .hiw-num { font-size: 2.1rem; }
  .hiw-diamond { width: 180px; }
}

@media (max-width: 575.98px) {
  .hiw-list { grid-template-columns: 1fr; }
}
