/* Leisureville — site-specific rules on top of da-web.css tokens. */
header { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.logo-word { font-weight: 600; }
main { max-width: 960px; }
.lede { color: var(--text-dim); max-width: 64ch; font-size: 1.1rem; }
ul.plain { list-style: none; padding: 0; margin: 0; }
ul.plain li { padding: var(--sp-1) 0; }
dl.facts { display: grid; grid-template-columns: max-content 1fr; gap: var(--sp-1) var(--sp-4); margin: 0; }
dl.facts dt { color: var(--text-dim); }
dl.facts dd { margin: 0; overflow-wrap: anywhere; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--sp-3); margin: var(--sp-4) 0; }
.card-grid .card h2 { margin-top: 0; font-size: 1.15rem; }
.site-footer { display: flex; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap;
  max-width: 960px; margin: var(--sp-5) auto; padding: 0 var(--sp-5); color: var(--text-muted); font-size: 0.85rem; }
.card { overflow-x: auto; }
pre.config { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 768px) {
  main { padding: var(--sp-4); }
  .site-footer { padding: 0 var(--sp-4); }
}
