* { box-sizing: border-box; }
body { margin: 0; color: #333; font: 15px/1.7 system-ui, sans-serif; }
main { max-width: 1140px; margin: 40px auto; padding: 0 24px; }
h1 { font-size: 28px; }
.credits { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 32px; }
article { min-width: 0; border-top: 1px solid #ddd; padding-top: 20px; overflow-wrap: anywhere; }
img { width: 100%; height: auto; aspect-ratio: 8/5; object-fit: contain; background: #f3f4f5; }
h2 { font-size: 16px; }
p { margin: 8px 0; }
a { color: #245cb9; }
