/* /giveaway. Tokens from site.css. Card titles stay h3 so the pixel face is only the page headline. */
.gw { padding-bottom: 80px; display: grid; gap: 22px; }
.gw-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
.gw ol { margin: 0 0 18px; padding-left: 1.2em; display: grid; gap: 8px; color: var(--text-soft); }
.gw-count { font: 600 var(--fs-lg)/1.3 var(--font-body); color: var(--text); margin: 12px 0 0; }
.gw-when { margin: 0 0 6px; }
.gw-when b { color: var(--text); }
.gw-rules { color: var(--text-faint); font-size: var(--fs-sm); max-width: 72ch; margin: 0; }
.gw-phase { margin: 0; color: var(--text-dim); }
.gw-phase:empty { display: none; }
.gw-winner[hidden] { display: none; }
@media (max-width: 900px) { .gw-grid { grid-template-columns: 1fr; } }
