/* ============================================================
   PROGRAMME STEPS — one level/group of numbered step cards
   Accent colour is applied inline per instance; layout here.
   Scoped under .build-2026 to beat the theme's universal reset.
   ============================================================ */

.build-2026 .programme-steps-block { padding: 80px 0; }

.build-2026 .programme-steps-block .ps-badge-row {
    display: flex; align-items: center; gap: 20px; margin-bottom: 40px;
}
.build-2026 .programme-steps-block .ps-badge {
    font-family: 'Arial', sans-serif; font-size: 0.75rem; font-weight: 800;
    letter-spacing: 0.1em; text-transform: uppercase;
    padding: 8px 20px; border-radius: 20px; white-space: nowrap;
}
.build-2026 .programme-steps-block .ps-badge-line { flex: 1; height: 2px; opacity: 0.3; }

.build-2026 .ps-grid { display: grid; gap: 24px; }
.build-2026 .ps-grid--1 { grid-template-columns: 1fr; }
.build-2026 .ps-grid--2 { grid-template-columns: repeat(2, 1fr); }
.build-2026 .ps-grid--3 { grid-template-columns: repeat(3, 1fr); }
.build-2026 .ps-grid--4 { grid-template-columns: repeat(4, 1fr); }

.build-2026 .ps-card {
    background: var(--white); border: 1.5px solid var(--border);
    border-radius: var(--radius-lg); padding: 28px 24px;
    box-shadow: 0 2px 12px rgba(15, 31, 61, 0.05);
}
.build-2026 .ps-card .ps-step {
    font-family: 'Arial', sans-serif; font-size: 0.72rem; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px;
}
.build-2026 .ps-card h3 { margin-bottom: 6px; }
.build-2026 .ps-card .ps-subtitle {
    font-style: italic; color: var(--text-light); font-size: 0.93rem; margin-bottom: 16px;
}
.build-2026 .ps-card .ps-checklist {
    list-style: none; display: flex; flex-direction: column; gap: 10px;
}
.build-2026 .ps-card .ps-checklist li {
    display: flex; gap: 10px; align-items: flex-start; font-size: 0.9rem; color: var(--text-mid);
}
.build-2026 .ps-card .ps-checklist li span { font-weight: 700; flex-shrink: 0; }
.build-2026 .ps-card .ps-note {
    margin-top: 20px; padding: 14px; background: rgba(201, 168, 76, 0.1);
    border-radius: var(--radius); border: 1px solid rgba(201, 168, 76, 0.25);
    font-size: 0.85rem; color: var(--navy); font-style: italic;
}

@media (max-width: 900px) {
    .build-2026 .ps-grid--3, .build-2026 .ps-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .build-2026 .programme-steps-block { padding: 60px 0; }
    .build-2026 .ps-grid--2, .build-2026 .ps-grid--3, .build-2026 .ps-grid--4 { grid-template-columns: 1fr; }
}
