/* KWCS programs styles — extracted from _assets/kwcs-homepage-v4.html */

/* ─── PROGRAMS ─── */
  .programs-section {
    background: var(--cream);
    padding: 100px 80px;
    position: relative;
    overflow: hidden;
  }

.programs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;
    margin-top: 48px;
  }

.program-card {
    background: white;
    border-radius: 24px;
    padding: 36px 32px;
    border: 2px solid var(--gold-pale);
    box-shadow: 0 2px 0 rgba(30,75,143,0.08);
    display: block;
    color: inherit;
    position: relative;
  }

.program-icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    background: var(--gold-tint);
    border: 2px solid var(--gold-pale);
  }

.program-icon-wrap--blue { background: var(--navy-tint); border-color: #C9D7EE; }

.program-icon-wrap svg { width: 30px; height: 30px; }

.program-title {
    font-size: 26px;
    color: var(--navy-deep);
    margin-bottom: 10px;
    line-height: 1.05;
  }

.program-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--muted);
    margin-bottom: 0;
    font-weight: 500;
  }

@media (max-width: 1024px) {
  .programs-section { padding: 72px 32px; }
  .programs-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .programs-section, .community-events-section { padding: 56px 20px; }
  .programs-grid { grid-template-columns: 1fr; }
}
