.results-hero { max-width: 1200px; margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-8); }

.results-heading { font: 700 var(--text-4xl)/1.1 var(--font-heading); margin: var(--space-3) 0 var(--space-2); }

.results-intro { color: var(--muted); margin: 0 0 var(--space-7); }

.results-empty {
  background: #fff;
  border: 1px dashed rgba(14, 42, 82, 0.2);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  text-align: center;
}

.results-empty-heading { font: 600 var(--text-xl) var(--font-heading); margin-bottom: var(--space-2); }
.results-empty-body { color: var(--muted); margin-bottom: var(--space-5); }

.results-section { margin-bottom: var(--space-7); }

.results-section-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-4);
  margin-bottom: var(--space-2);
  flex-wrap: wrap;
}

.results-section-heading { font: 600 var(--text-2xl) var(--font-heading); margin: 0; }

.results-section-badge { font: 600 var(--text-xs) var(--font-body); color: var(--faint); }

.results-section-intro { color: var(--muted); font-size: var(--text-sm); margin: 0 0 var(--space-5); }

.results-shortlist-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-4);
}

.results-shortlist-card {
  background: #fff;
  border: 1px solid rgba(14, 42, 82, 0.10);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  text-align: center;
}

.results-shortlist-code { font: 600 var(--text-md) var(--font-mono); color: var(--primary-hover); }
.results-shortlist-site { font-size: var(--text-xs); color: var(--faint); margin-top: var(--space-1); }

.results-top5-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-4);
}

.results-finalist-card { padding: 0; overflow: hidden; }

.results-finalist-image { aspect-ratio: 4 / 3; border-radius: 0; border: none; }

.results-finalist-body { padding: var(--space-4); }

.results-finalist-name { font: 600 var(--text-sm) var(--font-heading); }
.results-finalist-meta { font: 600 0.6875rem var(--font-body); color: var(--faint); margin: 3px 0 var(--space-2); }
.results-finalist-citation { font-size: 0.7813rem; color: var(--muted); font-style: italic; }

.results-winner {
  background: linear-gradient(135deg, var(--navy), var(--grad4));
  border-radius: var(--radius-lg);
  padding: var(--space-7);
  color: #fff;
}

.results-winner-label {
  font: 600 var(--text-xs) var(--font-heading);
  letter-spacing: var(--tracking-eyebrow);
  color: var(--gold2);
  margin-bottom: var(--space-4);
}

.results-winner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-7);
  align-items: center;
}

.results-winner-heading { font: 700 var(--text-3xl)/1.15 var(--font-heading); margin: 0 0 var(--space-3); }

.results-winner-meta {
  font: 500 var(--text-xs) var(--font-mono);
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: var(--space-4);
}

.results-winner-citation { color: rgba(255, 255, 255, 0.8); font-style: italic; margin: 0 0 var(--space-5); }

.results-winner-followup { font-size: var(--text-sm); color: rgba(255, 255, 255, 0.65); }

.results-winner-gallery {
  aspect-ratio: 16 / 10;
  border-color: rgba(255, 255, 255, 0.3);
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.06) 0 10px, transparent 10px 20px);
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 900px) {
  .results-shortlist-grid,
  .results-top5-grid { grid-template-columns: repeat(2, 1fr); }
  .results-winner-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .results-shortlist-grid,
  .results-top5-grid { grid-template-columns: 1fr; }
}
