/* Hosts */
@media (max-width: 640px) { .prog-hosts { grid-template-columns: 1fr; } }
/* Pricing */
.prog-pricing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 0.5px solid var(--rule); margin-top: var(--sp-5); }
.prog-tier .tier-amount { font-family: var(--serif); font-style: italic; font-size: clamp(28px, 3vw, 38px); color: var(--ink); }
.prog-tier p { font-family: var(--serif); font-size: 17.5px; line-height: 1.55; color: var(--ink); margin: 0; font-weight: 500; }
/* CTA */
.prog-cta .cta-fine a { color: rgba(255,255,255,0.8); text-decoration: underline; }
.prog-cta .cta-fine a:hover { color: #fff; }
/* Page-level overrides – three threads (3-col) and two pricing tiers (2-col),
     scoped above the shared collapse breakpoints so the grids still stack on phones. */
@media (min-width: 881px) { .prog-paths { grid-template-columns: repeat(3, 1fr); } }
/* People: four across on wider screens, using the shared prog-hosts collapse to 1 column on phones (an inline 4-col grid would force horizontal scroll at phone width). */
@media (min-width: 641px) { .prog-hosts-4 { max-width: none; grid-template-columns: repeat(4, 1fr); } }
