/* Shared reading boundaries; section surfaces and intentional visual breakouts stay full bleed. */
:root {
  --content-width: 1400px;
  --content-gutter: clamp(20px, 6vw, 86px);
  --content-inset: max(var(--content-gutter), calc((100vw - var(--content-width)) / 2));
}
.header > .nav,
.header > .mega,
main > :is(section, nav, .articlelayout, .cinema-ticker),
.footer.art-footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: var(--content-inset);
}
/* The large location photograph is an intentional visual breakout. Its caption
   follows the same reading boundary as the surrounding biography. */
main > .location-spread figcaption {
  padding-inline: max(10px, calc(var(--content-inset) - 6vw - 12px));
}
/* Separate the supplied dated record from the following complete biography. */
main > #practice + #supplied-record { background: #e4dac8; }
main > #supplied-record + #complete-record { background: var(--paper); }
/* Independent editorial blocks need a visible surface break in either language.
   Existing dark, photographic and explicitly alternating notes surfaces remain. */
main > #original-records,
main > .pagetop + .section + #portrait-collection,
main > .career-link,
main > .journal-feature + .journal-records { background: #e4dac8; }
main > .pagetop + .journal-feature { background: var(--paper); }
/* Preserve comfortable prose lengths without constraining galleries or media. */
.articlebody > :is(p, ul, ol) { max-width: 75ch; }
/* Keep Arabic letterforms clear across the portrait feature's line breaks. */
.client-feature .eyebrow { margin-block-end: 20px; }
.client-feature h2 { margin-block: 0 28px; line-height: 1.4; }
.rtl .client-feature h2 { line-height: 1.65; }
.client-feature .client-actions { margin-block-start: 28px; }
/* Restore authored prose rhythm and keep each recording label with its action. */
.film-record .articlebody { line-height: 1.95; }
.rtl .film-record .articlebody { line-height: 2.1; }
.film-record .articlebody > p { margin-block: 0 28px; }
.film-record .articlebody > .galleryitem { display: table; margin: 48px auto; max-width: 100%; }
.film-record .articlebody > .galleryitem > .archiveimage { margin: 0; }
.film-record .articlebody > h2,
.film-record .articlebody > h2:first-of-type { margin-block: 56px 28px; padding: 0; border: 0; }
.film-record .film-video-group { padding-block: 24px 28px; }
.film-record .film-video-group h2,
.film-record .film-video-group h2:first-of-type { margin: 0 0 14px; padding: 0; border: 0; }
.film-record .film-video-group .video-link {
  display: inline-flex; align-items: center; gap: 14px;
  margin: 0; padding: 12px 0; min-height: 48px;
  border: 0; background: transparent; text-decoration: underline; text-underline-offset: 5px;
}
.film-record .film-video-group .video-link:before { margin: 0; }
.film-credits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px clamp(28px, 4vw, 64px);
  align-items: start;
  margin-block: 40px 56px;
}
.film-record .film-credits > p { margin: 0; min-width: 0; max-width: none; }
.inline-video { width: 100%; min-width: 0; }
.inline-video .video-screen { min-height: 200px; }
.inline-video .video-placeholder { align-items: flex-start; padding-block: 22px 110px; }
.inline-video .video-fallback-note { margin: 8px 0 0; font-size: 12px; line-height: 1.8; }
.film-video-group > .video-fallback-note { display: block; margin-block-start: 8px; font-size: 12px; line-height: 1.8; }
.inline-video .video-source { text-decoration: underline; text-underline-offset: 4px; }
.inline-video .video-source svg { width: 20px; height: 20px; vertical-align: middle; margin-inline-end: 8px; }
.notes-episode-grid > .inline-video { margin: 0; }
.notes-episode-grid > .inline-video figcaption { padding: 0 16px 16px; }
@media (max-width: 650px) {
  .film-credits { grid-template-columns: minmax(0, 1fr); }
}
/* Keep column spacing bounded as the viewport grows beyond the content width. */
@media (min-width: 1101px) {
  .opening, .biography-hero, .portrait-story, .honour-story,
  .articlelayout, .film-dossier, .complete-biography {
    column-gap: min(6vw, 84px);
  }
  .opening { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); }
  .films { column-gap: min(5vw, 70px); }
  /* The homepage biography photograph may break out; its copy remains aligned. */
  .portrait-story .portrait-stage {
    width: calc(100% + clamp(24px, 3vw, 72px));
    margin-inline-start: calc(-1 * clamp(24px, 3vw, 72px));
  }
}
