/* ============================================================
   programs/index.html (프로그램 개요) 전용 스타일
   ============================================================ */
.programs-intro { max-width: var(--container-max); margin: 0 auto; padding: 32px var(--container-pad); }
@media (min-width: 768px) { .programs-intro { padding: 64px var(--container-pad); } }
.programs-intro__grid { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; }
@media (min-width: 1080px) { .programs-intro__grid { grid-template-columns: 1.2fr 1fr; gap: 48px; } }
.programs-intro__text { display: flex; flex-direction: column; gap: 16px; }
.programs-intro__heading { font-size: 22px; font-weight: 800; color: var(--ink); line-height: 1.4; }
@media (min-width: 768px) { .programs-intro__heading { font-size: 28px; } }
.programs-intro__text p { font-size: 14.5px; line-height: 1.8; color: var(--ink-soft); }
@media (min-width: 768px) { .programs-intro__text p { font-size: 15.5px; } }
.programs-intro__photo { width: 100%; aspect-ratio: 4/3; }

.process-section { background: var(--surface-soft); padding: 32px var(--container-pad); }
@media (min-width: 768px) { .process-section { padding: 64px var(--container-pad); } }
.process-section__heading {
  max-width: var(--container-max); margin: 0 auto 8px; font-size: 22px; font-weight: 800;
  color: var(--ink); text-align: center;
}
@media (min-width: 768px) { .process-section__heading { font-size: 28px; } }
.process-section__intro { max-width: 720px; margin: 0 auto 36px; font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); text-align: center; }

.process-group-row {
  max-width: var(--container-max); margin: 28px auto 0; display: grid; grid-template-columns: 1fr; gap: 10px;
}
@media (min-width: 640px) { .process-group-row { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 1080px) { .process-group-row { grid-template-columns: 2fr 1fr 3fr; } }
.process-group-bar {
  text-align: center; font-weight: 800; font-size: 13.5px; letter-spacing: 0.02em;
  padding: 10px 12px; border-radius: 6px;
}
.process-group-bar--understand { background: oklch(90% 0.05 175); color: oklch(32% 0.06 175); }
.process-group-bar--idea { background: oklch(90% 0.045 235); color: oklch(34% 0.07 235); }
.process-group-bar--action { background: oklch(90% 0.045 300); color: oklch(34% 0.07 300); }

.division-section { max-width: var(--container-max); margin: 0 auto; padding: 32px var(--container-pad); }
@media (min-width: 768px) { .division-section { padding: 64px var(--container-pad); } }
.division-section__heading { font-size: 22px; font-weight: 800; color: var(--ink); margin: 0 0 28px; text-align: center; }
@media (min-width: 768px) { .division-section__heading { font-size: 28px; } }
.division-table { border: 1px solid var(--hair); border-radius: 6px; overflow: hidden; }
.division-row {
  display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--hair); background: var(--paper);
}
@media (min-width: 768px) { .division-row { grid-template-columns: 0.8fr 1fr 2fr; } }
.division-row:first-child { border-top: none; }
.division-row--head { background: var(--blue); color: var(--paper); border-top: none; }
.division-row > span { padding: 10px 12px; font-size: 13px; }
@media (min-width: 768px) { .division-row > span { padding: 14px 20px; font-size: 14.5px; } }
.division-row--head > span { font-weight: 700; }
.division-name { font-weight: 800; color: var(--ink); }
.division-age, .division-programs { color: var(--ink-soft); font-size: 12px; }
@media (min-width: 768px) { .division-age, .division-programs { font-size: 13.5px; } }

.programs-list-section { max-width: var(--container-max); margin: 0 auto; padding: 32px var(--container-pad) 56px; }
@media (min-width: 768px) { .programs-list-section { padding: 64px var(--container-pad) 96px; } }
.programs-list-section__heading { font-size: 22px; font-weight: 800; color: var(--ink); margin: 0 0 28px; text-align: center; }
@media (min-width: 768px) { .programs-list-section__heading { font-size: 28px; } }
