/* Race-guide hub. One card per race, generated from the race data. */
.rg-list { padding: 8px 0 64px; }
.rg-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px;
           grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.rg-item a { display: flex; flex-direction: column; gap: 6px; height: 100%;
             padding: 18px 20px; border: 1px solid var(--mist); border-radius: 10px;
             text-decoration: none; color: inherit; background: var(--white, #fff);
             transition: border-color .15s ease, transform .15s ease; }
.rg-item a:hover { border-color: var(--ink, #14181d); transform: translateY(-1px); }
.rg-when { font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
           color: var(--slate); font-weight: 600; }
.rg-name { font-size: 20px; line-height: 1.25; font-weight: 600; }
.rg-where { font-size: 13px; color: var(--slate); }
.rg-hook { font-size: 14px; line-height: 1.55; margin-top: 4px; }
.rg-undated .rg-when { opacity: .75; }
@media (max-width: 600px) { .rg-grid { grid-template-columns: 1fr; } }
