/* Design Week · City Guide — main.css */
:root {
  --paper: #F6F4EE;
  --ink: #161616;
  --signal: #C41E6A;
  --concrete: #8A8680;
  --lemon: #E6D35A;
}

body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.dw-kicker {
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Asymmetric mosaic (first screen wayfinding) */
.dw-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}
.dw-mosaic article { grid-column: span 6; }
.dw-mosaic article:first-child { grid-column: span 12; }
@media (min-width: 768px) {
  .dw-mosaic article:first-child { grid-column: span 7; grid-row: span 2; }
  .dw-mosaic article:nth-child(2),
  .dw-mosaic article:nth-child(3) { grid-column: span 5; }
  .dw-mosaic article { grid-column: span 4; }
}
.dw-tile-media { overflow: hidden; }
.dw-tile-img {
  width: 100%;
  height: 11rem;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.dw-mosaic article:first-child .dw-tile-img { height: 100%; min-height: 20rem; }
.dw-mosaic article:hover .dw-tile-img { transform: scale(1.03); }

/* Filter bar */
.dw-chip {
  display: inline-block;
  border: 1px solid rgba(246, 244, 238, 0.28);
  border-radius: 9999px;
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: #F6F4EE;
  background: transparent;
  cursor: pointer;
  line-height: 1.2;
}
.dw-chip:hover { border-color: #E6D35A; color: #E6D35A; }
.dw-chip.is-active { background: #C41E6A; border-color: #C41E6A; color: #fff; }
.dw-select {
  background: #161616;
  color: #F6F4EE;
  border: 1px solid rgba(246, 244, 238, 0.28);
  border-radius: 9999px;
  padding: 0.4rem 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}
.is-hidden { display: none !important; }
.tonight-pill { background: #E6D35A; color: #161616; }

.date-line { font-variant-numeric: tabular-nums; }

/* Programme agenda */
.dw-agenda-row {
  display: grid;
  grid-template-columns: 8rem 6rem 1fr auto;
  gap: 1rem;
  align-items: baseline;
  border-bottom: 1px solid rgba(22, 22, 22, 0.12);
  padding: 1rem 0;
}
@media (max-width: 640px) {
  .dw-agenda-row { grid-template-columns: 1fr auto; }
  .dw-agenda-row .agenda-time { display: none; }
}

/* Rich body text */
.dw-prose p { margin: 0.9rem 0; }
.dw-prose h2, .dw-prose h3 { margin-top: 1.4rem; font-weight: 800; }
.dw-prose ul { list-style: disc; padding-left: 1.25rem; margin: 0.9rem 0; }
.dw-prose a { color: #C41E6A; text-decoration: underline; }