/* Keep the directions compact until the visitor chooses to read them. */
#programs.section { padding-top: 64px; padding-bottom: 64px; }
.programs-disclosure { border: 1px solid #c6d7e5; border-radius: 10px; background: #f7fbff; }
.programs-toggle { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 25px; list-style: none; cursor: pointer; }
.programs-toggle::-webkit-details-marker { display: none; }
.programs-toggle-copy { display: grid; gap: 7px; }
.programs-toggle-title { display: flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 600; letter-spacing: -.4px; }
.programs-count { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 26px; padding: 0 7px; border-radius: 6px; background: #dfedf8; color: #176f9d; font-size: 14px; font-weight: 600; letter-spacing: 0; }
.programs-toggle-hint { color: #536b80; font-size: 12px; line-height: 1.5; }
.programs-toggle-action { display: inline-flex; align-items: center; gap: 13px; color: #176f9d; font-size: 13px; flex-shrink: 0; }
.programs-toggle-action svg { transition: transform .2s; }
.programs-hide, .programs-disclosure[open] > summary .programs-show { display: none; }
.programs-disclosure[open] > summary .programs-hide { display: inline; }
.programs-disclosure[open] > summary svg { transform: rotate(180deg); }
.programs-disclosure[open] > summary { border-bottom: 1px solid #d5e2ed; }
.programs-toggle:hover { background: #e8f2fa; border-radius: 10px; }
.programs-panel { padding: 0 25px 6px; }
#programs .filter-group { margin: 22px 0 20px; }
#programs .program-list { min-height: 0; }
#programs .program > summary { min-height: 65px; padding-top: 16px; padding-bottom: 16px; }
#programs .program-number { align-self: center; padding-top: 0; }
#programs .program-title { font-size: 18px; line-height: 1.35; letter-spacing: -.35px; }
#programs .program-body { padding-bottom: 22px; }
#programs .program-lead { font-weight: 600; color: #163b5b; margin-bottom: 10px; }
@media (max-width: 620px) {
  #programs.section { padding-top: 40px; padding-bottom: 40px; }
  .programs-toggle { gap: 12px; padding: 18px 16px; }
  .programs-toggle-title { flex-wrap: wrap; gap: 8px; font-size: 18px; }
  .programs-count { min-width: 28px; height: 24px; font-size: 12px; }
  .programs-toggle-hint { font-size: 11px; }
  .programs-toggle-action { gap: 0; }
  .programs-toggle-action > span { display: none !important; }
  .programs-panel { padding: 0 15px 5px; }
  #programs .filter-group { gap: 6px; margin: 17px 0; }
  #programs .filter { padding: 11px 10px; font-size: 10px; }
  #programs .program > summary { min-height: 59px; padding-top: 15px; padding-bottom: 15px; gap: 8px; grid-template-columns: 20px minmax(0, 1fr) 17px; }
  #programs .program-title { font-size: 16px; letter-spacing: -.2px; }
  #programs .program-body { padding-left: 28px; padding-right: 0; }
}

/* Blue-and-yellow hand points to the expandable list. */
.programs-toggle .programs-hand { width: 46px; height: 54px; overflow: visible; transition: transform .3s ease; }
.programs-hand-gesture { transform-box: fill-box; transform-origin: 50% 15%; animation: programs-point 2s ease-in-out infinite; }
@keyframes programs-point {
  0%, 100% { transform: translateY(-3px) rotate(-4deg) scale(.84); }
  22% { transform: translateY(2px) rotate(3deg) scale(1.12); }
  38% { transform: translateY(6px) rotate(0) scale(1.3); }
  54% { transform: translateY(1px) rotate(-3deg) scale(1.02); }
  72% { transform: translateY(5px) rotate(2deg) scale(1.23); }
  86% { transform: translateY(-1px) rotate(-2deg) scale(.94); }
}
.programs-toggle:focus-visible { outline: 3px solid #217DB1; outline-offset: 4px; }
.programs-disclosure[open] > summary .programs-hand { transform: rotate(180deg); }
@media (max-width: 620px) { .programs-toggle .programs-hand { width: 37px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .programs-hand-gesture { animation: none; } .programs-toggle .programs-hand { transition: none; } }
