.hero-program-card {
    width: 270px;
    min-width: 0;
    max-width: 100%;
    color: var(--ink);
    transition: transform .18s ease, box-shadow .18s ease;
}
.hero-program-card:hover {
    color: var(--navy);
    transform: translateY(-3px);
    box-shadow: 0 22px 50px rgba(16,42,67,.18);
}
.hero-program-card:focus-visible { outline: 3px solid var(--mint-dark); outline-offset: 4px; }
.hero-program-card .mini-icon { flex-shrink: 0; }
.hero-program-copy { min-width: 0; flex: 1; }
.hero-program-copy b, .hero-program-category {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.hero-program-copy small { display: flex; align-items: center; gap: 4px; }
.hero-program-category { min-width: 0; }
.hero-program-price { flex-shrink: 0; white-space: nowrap; }
.homepage-empty {
    padding: 42px 24px;
    border: 1px dashed var(--border);
    border-radius: 18px;
    background: var(--cream);
    text-align: center;
}
.homepage-empty > span { font-size: 38px; color: var(--mint-dark); }
.homepage-empty h3 { margin: 12px 0; color: var(--navy); font-size: 22px; font-weight: 800; }
.homepage-empty p { margin-bottom: 22px; color: var(--muted); }
@media (prefers-reduced-motion: reduce) {
    .hero-program-card { transition: none; }
    .hero-program-card:hover { transform: none; }
}
