.listing-header { max-width: 780px; margin-block-end: 2.5rem; }
.listing-header h1 { font-size: clamp(2.4rem, 6vw, 5rem); overflow-wrap: anywhere; }
.listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.4rem; }
.listing-card { min-width: 0; border-block-end: 1px solid var(--line); padding-block-end: 1.4rem; }
.listing-card__media { display: block; overflow: hidden; }
.listing-card__media img, .listing-card__media .media-fallback { width: 100%; aspect-ratio: 3/2; object-fit: cover; transition: transform .3s ease; }
.listing-card:hover .listing-card__media img { transform: scale(1.025); }
.listing-card h2 { margin-block: .45rem; font-size: 1.35rem; overflow-wrap: anywhere; }
.listing-card h2 a { text-decoration: none; }
.listing-card__excerpt { color: var(--muted); font-size: .92rem; margin-block-start: .7rem; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-block-start: 3rem; }
.page-numbers { min-width: 42px; min-height: 42px; display: grid; place-items: center; border: 1px solid var(--line); padding-inline: .7rem; text-decoration: none; }
.page-numbers.current { background: var(--teal); color: var(--white); }
.content-none, .not-found { max-width: 760px; text-align: center; }
.not-found__code { display: block; color: var(--paper-deep); font-size: clamp(7rem, 25vw, 18rem); font-weight: 900; line-height: .8; }
.not-found__categories { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; list-style: none; padding: 0; margin-block-start: 2rem; }
.not-found__categories a { display: block; border: 1px solid var(--line); padding: .45rem .8rem; text-decoration: none; }
@media (max-width: 850px) { .listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .listing-grid { grid-template-columns: 1fr; } }
