.home-events-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.home-event-card { display: block; min-width: 0; overflow: hidden; background: #fff; color: #292929; text-decoration: none; border-radius: 1.25rem; box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1); }
.home-event-image { display: block; width: 100%; aspect-ratio: 1.85; object-fit: cover; }
.home-event-body { padding: 1rem 1.1rem 1.25rem; }
.home-event-title { font-size: 1rem; line-height: 1.4; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-event-meta { font-size: 0.8rem; color: #707070; margin-bottom: 0.25rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-event-card:hover .home-event-title { text-decoration: underline; }
.home-event-card:focus-visible { outline: 3px solid var(--bs-primary); outline-offset: 3px; }
.home-event-line { height: 0.9rem; margin-bottom: 0.75rem; border-radius: 0.25rem; }
.home-event-line-short { width: 65%; }
.home-event-shimmer { background: linear-gradient(100deg, #e9ecef 25%, #f7f8fa 45%, #e9ecef 65%); background-size: 200% 100%; animation: home-event-shimmer 1.5s linear infinite; }
@keyframes home-event-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (max-width: 991.98px) { .home-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .home-events-grid { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .home-event-shimmer { animation: none; } }
