/* How It Works page — requires index-styles.css */

/* ── PAGE HERO ── */
.page-hero {
  background: linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 60%, var(--navy-lt) 100%);
  padding: 96px 0 80px;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(255,255,255,0.025) 80px),
    repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(255,255,255,0.025) 80px);
}
.page-hero .container { position: relative; }
.page-hero h1 { color: var(--white); margin-bottom: 20px; max-width: none; }
.page-hero > .container > p { color: rgba(255,255,255,0.75); font-size: 1.15rem; margin: 0 auto 36px; max-width: 52ch; }

/* ── PROCESS OVERVIEW ── */
.process-overview { background: var(--navy-mid); padding: 40px 0; }

.process-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.process-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  padding: 0 8px;
  transition: opacity 0.2s;
}
.process-step:hover { opacity: 0.8; }

.process-step-num {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--orange);
  line-height: 1;
}

.process-step-label {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
}

.process-connector {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--orange), rgba(232,98,10,0.3));
  max-width: 120px;
  margin-bottom: 20px;
}

/* ── STEP SECTIONS ── */
.works-step { background: var(--white); }
.works-step.alt-bg { background: var(--off-white); }

.works-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.works-split-reverse { direction: rtl; }
.works-split-reverse > * { direction: ltr; }

/* Step badge */
.works-step-badge {
  display: inline-block;
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--white);
  background: var(--orange);
  border-radius: 999px;
  padding: 3px 12px;
  margin-bottom: 12px;
}

.works-split-content h2 { margin-bottom: 20px; }
.works-split-content > p { color: var(--muted); margin-bottom: 28px; max-width: none; line-height: 1.75; }
.works-split-content .check-list { margin-bottom: 32px; }
.works-split-content .check-list li { font-size: 0.95rem; }
.works-split-content .check-list li::before {
  background: #166534;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 10l4 4L15 7' stroke='%2386efac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.works-split-img {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 12px 48px rgba(13,31,60,0.14);
  border: 1px solid var(--border);
  line-height: 0;
}
.works-split-img img { width: 100%; height: auto; display: block; }

/* ── CTA ── */
.works-cta {
  background: var(--navy);
  position: relative;
  overflow: hidden;
}
.works-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(255,255,255,0.02) 80px),
    repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(255,255,255,0.02) 80px);
}
.works-cta .container { position: relative; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .works-split { grid-template-columns: 1fr; gap: 36px; }
  .works-split-reverse { direction: ltr; }
  .process-steps { flex-wrap: wrap; gap: 16px; }
  .process-connector { display: none; }
}
