/* Page-scoped refinements leave shared navigation and media behavior intact. */
.music-category-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: center;
  margin-bottom: 12px;
}

.music-category-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.music-category-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.music-page #music-categories.section { padding-top: 16px; }

.music-category-links .category-count {
  color: var(--muted);
  font-size: 12px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}

.music-category-links a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.music-collections > section { scroll-margin-top: 88px; }

.film-page .section { padding-block: 24px; }
.film-page .section-head.compact { margin-bottom: 14px; }
.film-page .section-head.compact h2,
.improv-page .section-head.compact h2 { font-size: 20px; line-height: 1.2; }
.film-page .video-grid { gap: 18px; align-items: stretch; }
.film-page #shorts-effects .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.film-page #voice-mouth .video-grid { grid-template-columns: minmax(0, 1fr); }
.film-page .video-card > div:not(.video-frame) { padding: 16px; min-width: 0; }
.film-page .video-card h3 { font-size: 20px; line-height: 1.3; }
.film-page .video-card b,
.film-page .feature-card > b { display: block; font-size: 11px; line-height: 1.5; }
.film-page .video-card .actions { padding: 0; }
.film-page #feature .grid-2 { align-items: start; gap: 24px; }
.film-page #feature .feature-poster { width: 100%; max-width: 340px; justify-self: center; }
.film-page #feature .feature-card { align-content: start; gap: 14px; }
.film-page #feature .feature-card > strong { margin: 0; }
.film-page #feature .feature-card .text-list { gap: 0; }
.film-page #feature .feature-card .actions { margin-top: 4px; }
@media(min-width:900px) {
  .film-page #feature .grid-2 { grid-template-columns: minmax(220px,340px) minmax(0,1fr); }
}

/* Inline metadata labels must not inherit the shared display-title styling. */
.film-page .feature-card strong,
.improv-page .feature-card strong {
  display: inline;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
}

.film-page .feature-card > strong,
.improv-page .feature-card > strong {
  display: block;
  margin: 12px 0 8px;
  font-size: 20px;
  line-height: 1.3;
}

.improv-page .archive-heading {
  margin: 0 0 16px;
  color: var(--accent);
  font-size: 18px;
  line-height: 1.35;
}

.photography-page .page-hero { padding-bottom: 0; }
.photography-page .page-hero h1 { margin-bottom: 0; }
.photography-page .page-main > .section { padding-top: 16px; }
.photography-page .photo-grid.ranked-grid { gap: 18px 24px; }
.photography-page .photo-card { margin-bottom: 0; }
.photography-page .photo-card > div { padding: 8px 0 4px; }
/* Preserve each photograph's intrinsic proportions; never crop to equal rows. */
.photography-page .photo-card figure { background: none; box-shadow: none; }
.photography-page .photo-card img { height: auto; object-fit: contain; }

@media (min-width: 760px) {
  .film-page #voice-mouth .video-card {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
  }
  .film-page #voice-mouth .video-frame { border-bottom: 0; border-right: 1px solid var(--line); }
  .film-page #voice-mouth .video-card > div { padding: 24px; }
}

@media (min-width: 1100px) {
  .film-page #video-television .video-grid,
  .film-page #animation .video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 681px) and (max-width: 1099px) {
  .film-page #video-television .video-grid,
  .film-page #animation .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .music-collections > section { scroll-margin-top: 24px; }
  .film-page .video-grid,
  .film-page #shorts-effects .video-grid { grid-template-columns: minmax(0, 1fr); }
  .film-page .section { padding-block: 20px; }
  .photography-page .photo-grid.ranked-grid { row-gap: 16px; }
}
