/* Project composition only. Shared shell, media model and display-frame stay intact. */
.cpt-page {
  --cpt-paper: var(--project-bg, #fffbeb);
  --cpt-ink: var(--project-text, #19292f);
  --cpt-night: #162b35;
  --cpt-line: #c8c7bb;
  display: block;
  margin: 0;
  background: var(--cpt-paper);
  color: var(--cpt-ink);
  font-family: var(--project-body-font);
  font-size: 18px;
  line-height: 1.5;
}
.cpt-page *, .cpt-page *::before, .cpt-page *::after { box-sizing: border-box; }
.cpt-page :is(h1, h2, h3, h4, p, figure, dl, dd) { margin: 0; }
.cpt-page :is(h1, h2, h3, h4) {
  font-family: var(--project-display-font);
  font-weight: 400;
  text-transform: none;
  letter-spacing: -.045em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.cpt-page p { text-wrap: pretty; }
.cpt-page img { display: block; width: 100%; height: auto; }
.cpt-page button, .cpt-page a { -webkit-tap-highlight-color: transparent; }
.cpt-page button { font: inherit; color: inherit; cursor: pointer; border-radius: 0; }
.cpt-page a { color: inherit; }
.cpt-page :is(button, a):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.cpt-page [hidden] { display: none !important; }
.cpt-page :is(section[id], #cpt-screening) { scroll-margin-top: 98px; }
.cpt-inset { padding-inline: clamp(24px, 5.4vw, 100px); }
.cpt-page .cpt-label {
  display: block;
  font: 12px/1.4 var(--project-label-font);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.cpt-page .wny-display-title { font-size: clamp(2rem, 12.5cqi, 5.5rem); line-height: 1.02; }
.cpt-page .wny-display-frame > .cpt-label { margin-bottom: 24px; }
.cpt-page .wny-display-frame > p { margin-top: 28px; max-width: 48ch; }
.cpt-text-link {
  display: inline-flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 28px;
  padding: 0 0 8px;
  margin-top: 30px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  text-decoration: none;
  font-size: 15px !important;
  line-height: 1.45;
  text-align: left;
}
.cpt-text-link > span { transition: transform 250ms ease; }
.cpt-text-link:hover > span { transform: translate(2px, -2px); }

.cpt-opening { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.7fr); min-height: min(760px, calc(100svh - 80px)); }
.cpt-opening__copy { display: flex; flex-direction: column; align-items: flex-start; padding: 28px clamp(24px, 4.5vw, 80px) 48px; }
.cpt-opening__copy > .cpt-back { text-decoration: none; margin-bottom: auto; padding-bottom: 50px; }
.cpt-opening__copy > .cpt-label:not(.cpt-back) { margin-bottom: 28px; }
.cpt-opening h1 { font-size: clamp(56px, 6.25vw, 106px); line-height: .94; margin-left: -.045em; }
.cpt-opening__copy > p { margin-top: 34px; max-width: 24ch; font-size: 19px; }
.cpt-opening__images { position: relative; min-width: 0; min-height: 650px; overflow: hidden; background: #254c61; }
.cpt-opening__city { position: absolute; inset: 0; }
.cpt-opening__city img { height: 100%; object-fit: cover; object-position: 49% 50%; }
.cpt-opening__city::after { content: ''; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent, #06151dcc); }
.cpt-opening__city figcaption { position: absolute; left: 28px; bottom: 30px; z-index: 1; color: #fff; }
.cpt-opening__life { position: absolute; right: 30px; bottom: 80px; width: 51%; padding: 7px; background: var(--cpt-paper); box-shadow: 0 10px 50px #071d3655; }
.cpt-opening__life img { aspect-ratio: 16/9; object-fit: contain; }
.cpt-opening__life figcaption { padding: 11px 7px 5px; }
.cpt-nav { display: flex; border-block: 1px solid var(--cpt-ink); }
.cpt-nav a { flex: 1; padding: 17px 12px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; text-align: center; text-decoration: none; white-space: nowrap; }
.cpt-nav a + a { border-left: 1px solid var(--cpt-line); }
.cpt-nav a:hover { background: #eae6d8; }

.cpt-intro { padding-block: 115px 125px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 9vw; align-items: center; }
.cpt-prose > p { max-width: 49ch; font-size: 20px; }
.cpt-scope { border-top: 1px solid var(--cpt-line); margin-top: 34px !important; }
.cpt-scope > div { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; padding-top: 12px; font-size: 14px; }
.cpt-scope dt { text-transform: uppercase; font-size: 11px; padding-top: 3px; letter-spacing: .09em; }

.cpt-strategy { padding-block: 0 100px; }
.cpt-pivot { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 9vw; align-items: center; border-top: 1px solid var(--cpt-line); padding-block: 65px 85px; }
.cpt-pivot__word { container-type: inline-size; min-width: 0; }
.cpt-pivot__word > p { font: 400 clamp(120px, 45cqi, 320px)/1 var(--project-display-font); letter-spacing: -.085em; margin: 32px 0 0 -.06em; color: #3e6770; }
.cpt-pivot__category { border-bottom: 1px solid var(--cpt-line); padding-bottom: 28px; margin-bottom: 30px; }
.cpt-pivot__category p { font: 25px/1.3 var(--project-display-font); margin-top: 12px; letter-spacing: -.025em; }
.cpt-pivot__argument .wny-display-title { font-size: clamp(2rem, 10cqi, 4rem); }
.cpt-language { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.25fr); gap: 9vw; border-top: 1px solid var(--cpt-line); padding-top: 45px; }
.cpt-language .wny-display-title { font-size: clamp(1.8rem, 9cqi, 2.65rem); line-height: 1.12; }
.cpt-language .wny-display-frame > p { font-size: 17px; margin-top: 20px; }
.cpt-language ol { list-style: none; padding: 0; margin: 0; }
.cpt-language li + li { margin-top: 27px; padding-top: 27px; border-top: 1px solid var(--cpt-line); }
.cpt-language li > p { margin-top: 12px; font: 32px/1.15 var(--project-display-font); letter-spacing: -.035em; text-wrap: balance; }

.cpt-living { background: var(--cpt-night); color: var(--cpt-paper); }
.cpt-living .cpt-label { color: #c5d8d8; }
.cpt-campaign { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); background: #c5d8d8; color: var(--cpt-ink); }
.cpt-campaign .cpt-label { color: #39535a; }
.cpt-campaign > figure { position: relative; min-height: 540px; }
.cpt-campaign > figure > img { height: 100%; object-fit: cover; object-position: 38% center; }
.cpt-campaign figcaption { position: absolute; inset: auto 0 0; padding: 65px 26px 20px; background: linear-gradient(transparent, #06131ada); font-size: 13px; color: #fff; }
.cpt-campaign__copy { padding: 65px clamp(28px, 5vw, 90px); align-self: center; }
.cpt-campaign__copy .wny-display-title { font-size: clamp(2rem, 11.4cqi, 5rem); }
.cpt-campaign__copy > p { font-size: 18px; }
.cpt-ritual { padding-block: 110px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 8vw; align-items: center; }
.cpt-ritual .wny-display-title { font-size: clamp(2rem, 12cqi, 4.1rem); }
.cpt-ritual figure { padding-top: 32px; }
.cpt-living figcaption { font-size: 13px; }
.cpt-ritual figcaption { margin-top: 15px; color: #d1dedc; }
.cpt-afternoon { padding-bottom: 95px; }
.cpt-afternoon > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: end; gap: 8vw; padding-top: 65px; border-top: 1px solid #a8bfbd66; }
.cpt-afternoon .wny-display-title { font-size: clamp(2rem, 12cqi, 4.5rem); }
.cpt-afternoon > header p { max-width: 50ch; }
.cpt-selector { display: flex; border: 1px solid currentColor; }
.cpt-selector button { display: flex; align-items: baseline; gap: 18px; flex: 1; min-width: 0; min-height: 62px; padding: 17px 20px; border: 0; background: transparent; text-align: left; font-size: 16px; transition: background 250ms, color 250ms; }
.cpt-selector button + button { border-left: 1px solid currentColor; }
.cpt-selector .cpt-label { font-size: 10px; color: inherit; }
.cpt-selector button:hover { background: #829b9d22; }
.cpt-club { padding-block: 0 110px; }
.cpt-club > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: end; gap: 8vw; padding-top: 65px; border-top: 1px solid #a8bfbd66; }
.cpt-club > header > p { max-width: 50ch; }
.cpt-club .wny-display-title { font-size: clamp(2rem, 12cqi, 4.5rem); }
.cpt-occasion { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 48px; }
.cpt-occasion img { aspect-ratio: 16/9; object-fit: contain; }
.cpt-occasion figcaption { margin-top: 20px; }
.cpt-occasion figcaption strong { display: block; font: 30px/1.2 var(--project-display-font); margin-top: 7px; letter-spacing: -.025em; }
.cpt-club > .cpt-text-link { margin-top: 40px; }

.cpt-advertising { padding-block: 100px; }
.cpt-advertising > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; align-items: end; }
.cpt-advertising > header p { max-width: 50ch; }
.cpt-advertising__pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(24px, 4vw, 64px); max-width: 1160px; margin: 60px auto 0; }
.cpt-advertising__pair > figure { display: grid; grid-template-rows: 175px auto 1fr; border-top: 1px solid var(--cpt-line); padding-top: 25px; }
.cpt-advertising__pair .wny-display-title { font-size: clamp(28px, 8.5cqi, 49px); line-height: 1.08; max-width: 22ch; }
.cpt-advertising__pair .wny-display-frame > .cpt-label { margin-bottom: 17px; }
.cpt-advertising__pair img { aspect-ratio: 1600/1648; object-fit: contain; }
.cpt-advertising__pair figcaption { padding-top: 20px; font-size: 16px; max-width: 49ch; }
.cpt-advertising__variation { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; align-items: center; border-top: 1px solid var(--cpt-line); padding-top: 35px; margin-top: 55px; }
.cpt-advertising__variation .wny-display-frame > p { font: 32px/1.15 var(--project-display-font); letter-spacing: -.035em; margin-top: 15px; max-width: 27ch; }
.cpt-advertising__variation > p { font-size: 16px; max-width: 51ch; }

.cpt-programme { background: #0b171e; color: var(--cpt-paper); padding-block: 95px 100px; }
.cpt-programme__head { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 8vw; margin-bottom: 50px; }
.cpt-programme__head > div > h2:not(.wny-display-title) { font-size: clamp(90px, 12vw, 180px); line-height: .95; margin-top: 24px; letter-spacing: -.07em; }
.cpt-programme__head > div > h2 > span { color: #87b4ba; }
.cpt-programme__head .wny-display-title { font-size: clamp(2rem, 9.5cqi, 3.5rem); }
.cpt-programme__head .wny-display-frame p { margin-top: 20px; }
.cpt-programme .cpt-label { color: #bfd1d3; }
.cpt-serial { border-block: 1px solid #c5d7d466; padding-block: 35px 45px; margin-bottom: 50px; }
.cpt-serial__copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; }
.cpt-serial__copy h3 { font-size: clamp(27px, 3vw, 40px); max-width: 22ch; line-height: 1.1; }
.cpt-serial__copy p { font-size: 17px; max-width: 53ch; }
.cpt-bookends { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr); margin-top: 45px; }
.cpt-bookends__part { padding: 8px 28px; border-inline: 1px solid #c5d7d499; text-align: center; }
.cpt-bookends__part--subject { align-self: center; border: 0; padding-inline: 40px; }
.cpt-bookends__part p { font: 28px/1.18 var(--project-display-font); letter-spacing: -.025em; margin-top: 15px; text-wrap: balance; }
.cpt-bookends__part--subject p { font: 18px/1.5 var(--project-body-font); letter-spacing: 0; }
.cpt-programme__selection { margin-bottom: 20px !important; }
.cpt-screening { display: grid; grid-template-columns: minmax(0,1fr) minmax(225px, .37fr); border: 1px solid #c5d7d466; }
.cpt-screening__picture { min-width: 0; }
.cpt-screening__topline { display: flex; justify-content: space-between; padding: 13px 20px; border-bottom: 1px solid #c5d7d433; }
.cpt-screen { position: relative; aspect-ratio: 16/9; background: #061018; }
.cpt-screen video { display: block; height: 100%; width: 100%; object-fit: contain; }
.cpt-play { position: absolute; inset: 0; display: flex; gap: 10px; flex-direction: column; justify-content: center; align-items: center; border: 0; background: linear-gradient(transparent 40%,#08141b55); color: #fff !important; font-size: 14px !important; text-shadow: 0 1px 8px #000; }
.cpt-play__circle { display: grid; place-items: center; width: 70px; height: 70px; padding-left: 4px; border: 1px solid #fffbebcc; border-radius: 50%; background: #0b171e88; font: 19px Arial,sans-serif; transition: transform 250ms, background 250ms; }
.cpt-play:hover .cpt-play__circle { transform: scale(1.06); background: #0b171edd; }
.cpt-film-bar { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding: 24px; min-height: 108px; border-top: 1px solid #c5d7d433; }
.cpt-film-bar h3 { font-size: clamp(22px, 2.5vw, 36px); margin-top: 8px; line-height: 1.08; }
.cpt-film-bar > .cpt-label { font-size: 10px; white-space: nowrap; }
.cpt-channel-list { display: flex; flex-direction: column; border-left: 1px solid #c5d7d466; }
.cpt-channel-list button { display: grid; grid-template-columns: 17px minmax(0,1fr) 30px; gap: 11px; align-items: center; flex: 1; min-height: 76px; padding: 16px; border: 0; border-bottom: 1px solid #c5d7d433; background: transparent; text-align: left; transition: background 250ms, color 250ms; }
.cpt-channel-list button:last-child { border-bottom: 0; }
.cpt-channel-list button:hover { background: #263b44; }
.cpt-channel-list button[aria-pressed="true"] { background: var(--cpt-paper); color: #19292f; }
.cpt-channel-list__number, .cpt-channel-list__time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: .82; }
.cpt-channel-list small { display: block; font-size: 9px; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 5px; }
.cpt-channel-list strong { font-weight: 400; font-size: 15px; line-height: 1.25; display: block; }
.cpt-film-note { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) minmax(0,.9fr); align-items: start; gap: 40px; padding: 32px; border-top: 1px solid #c5d7d466; }
.cpt-film-note .wny-display-title { font-size: clamp(1.7rem, 11cqi, 2.4rem); line-height: 1.12; }
.cpt-film-note .wny-display-frame > .cpt-label { margin-bottom: 14px; }
.cpt-film-note p { font-size: 16px; }
.cpt-moments > div { margin-top: 12px; }
.cpt-moments button { padding: 9px 0; width: 100%; display: flex; gap: 20px; border: 0; border-bottom: 1px solid #c5d7d433; background: transparent; text-align: left; font-size: 14px; }
.cpt-moments button:hover { color: #abd8de; }
.cpt-moments button > span { font-size: 12px; min-width: 29px; color: #bfd1d3; font-variant-numeric: tabular-nums; }
.cpt-media-status { grid-column: 1/-1; padding: 10px 24px; border-top: 1px solid #c5d7d466; font-size: 14px; }
.cpt-media-status:empty { display: none; }

.cpt-perspectives { padding-block: 115px 100px; }
.cpt-perspectives > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; align-items: end; }
.cpt-perspectives > header p { max-width: 50ch; }
.cpt-homes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 55px; }
.cpt-homes img { aspect-ratio: 16/9; object-fit: contain; }
.cpt-homes article > div { padding: 24px 14px 0 0; }
.cpt-homes h3 { margin: 14px 0 17px; font-size: clamp(25px, 2.7vw, 39px); line-height: 1.12; }
.cpt-homes p { max-width: 35ch; font-size: 16px; }
.cpt-homes .cpt-text-link { font-size: 14px !important; gap: 16px; }
.cpt-digital { padding-block: 25px 100px; }
.cpt-digital > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; align-items: end; }
.cpt-digital > header > p { max-width: 51ch; }
.cpt-web-study { margin-top: 50px; border: 1px solid var(--cpt-ink); }
.cpt-web-study > .cpt-selector { border: 0; border-bottom: 1px solid var(--cpt-ink); }
.cpt-web-study > .cpt-selector button[aria-pressed="true"] { background: var(--cpt-ink); color: var(--cpt-paper); }
.cpt-web-study__panel { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(0,1fr); align-items: center; }
.cpt-web-study__picture { min-width: 0; background: #f0ebdb; border-right: 1px solid var(--cpt-ink); }
.cpt-web-study__picture figure { padding: 20px; }
.cpt-web-study__picture img { aspect-ratio: 1920/1177; object-fit: contain; background: var(--cpt-paper); }
.cpt-web-study__copy { padding: clamp(22px, 3vw, 48px); min-width: 0; }
.cpt-web-study__copy .wny-display-title { font-size: clamp(1.6rem, 12cqi, 2.8rem); line-height: 1.08; }
.cpt-web-study__copy > p { font-size: 16px; line-height: 1.5; margin-top: 22px !important; }
.cpt-web-study__copy > .cpt-label { font-size: 10px; margin-bottom: 20px; }
.cpt-web-study__versions { display: flex; padding: 18px 20px 0; gap: 18px; }
.cpt-web-study__versions button { background: none; padding: 0 0 8px; border: 0; border-bottom: 1px solid transparent; font-size: 13px; }
.cpt-web-study__versions button > .cpt-label { display: none; }
.cpt-web-study__versions button[aria-pressed="true"] { border-bottom-color: currentColor; }
.cpt-page .cpt-web-study__caption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; padding: 0 20px 20px; font-size: 10px; }
.cpt-web-study__caption a { font-size: 12px; padding-block: 8px; text-underline-offset: 4px; white-space: nowrap; }
.cpt-signature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 7vw; padding-top: 95px; align-items: center; }
.cpt-signature__copy .wny-display-title { font-size: clamp(2rem, 12cqi, 4.3rem); }
.cpt-signature__frame { padding: 8px; background: #152730; }
.cpt-signature__frame img { aspect-ratio: 16/9; object-fit: contain; }
.cpt-signature__frame figcaption { padding: 17px 14px 11px; color: var(--cpt-paper); font-size: 10px; }
.cpt-close { border-top: 1px solid var(--cpt-ink); padding-block: 65px 38px; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); column-gap: 8vw; }
.cpt-close__mark { align-self: center; }
.cpt-close__mark img { max-width: 290px; }
.cpt-close__mark .cpt-text-link { margin-left: 20px; }
.cpt-credits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 40px; align-self: center; }
.cpt-credits dt { margin-bottom: 10px; }
.cpt-credits dd { font-size: 17px; max-width: 27ch; }
.cpt-close > .cpt-back { grid-column: 1/-1; margin-top: 60px; text-decoration: none; }

@media (min-width: 1800px) {
  .cpt-page { max-width: 1920px; margin-inline: auto; }
}
@media (max-width: 1120px) {
  .cpt-page :is(section[id], #cpt-screening) { scroll-margin-top: 148px; }
}
@media (max-width: 1080px) {
  .cpt-opening__copy { padding-inline: 28px; }
  .cpt-opening__images { min-height: 610px; }
  .cpt-opening h1 { font-size: 70px; }
  .cpt-campaign__copy { padding-inline: 34px; }
  .cpt-screening { grid-template-columns: minmax(0,1fr) 240px; }
  .cpt-channel-list button { min-height: 66px; padding: 12px; gap: 8px; }
  .cpt-channel-list strong { font-size: 14px; }
  .cpt-film-bar > .cpt-label { display: none; }
  .cpt-film-note { gap: 24px; padding: 26px; }
  .cpt-film-note { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); }
  .cpt-moments { grid-column: 1/-1; }
  .cpt-moments > div { display: flex; gap: 25px; }
  .cpt-advertising__pair > figure { grid-template-rows: 155px auto 1fr; }
  .cpt-web-study__panel { grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); }
  .cpt-web-study__copy { padding: 25px; }
  .cpt-selector button { padding-inline: 14px; gap: 12px; }
}
@media (max-width: 780px) {
  .cpt-opening { grid-template-columns: minmax(0,1fr); }
  .cpt-opening__copy { padding: 24px 28px 38px; }
  .cpt-opening__copy > .cpt-back { padding-bottom: 30px; }
  .cpt-opening__copy > .cpt-label:not(.cpt-back) { margin-bottom: 22px; }
  .cpt-opening h1 { font-size: clamp(65px, 10vw, 88px); }
  .cpt-opening h1 br { display: none; }
  .cpt-opening h1 { max-width: 7ch; }
  .cpt-opening__copy > p { max-width: 32ch; }
  .cpt-opening__images { min-height: 0; height: 530px; }
  .cpt-opening__life { width: 52%; bottom: 64px; }
  .cpt-nav { overflow-x: auto; }
  .cpt-nav a { flex: 1 0 auto; padding-inline: 19px; }
  .cpt-intro { padding-block: 70px; gap: 32px; grid-template-columns: 1fr; }
  .cpt-intro .wny-display-frame { max-width: 500px; }
  .cpt-prose > p { font-size: 19px; }
  .cpt-strategy { padding-bottom: 65px; }
  .cpt-pivot { grid-template-columns: 1fr; gap: 35px; padding-block: 35px 45px; }
  .cpt-pivot__word > p { margin-top: 10px; font-size: clamp(140px, 42cqi, 240px); }
  .cpt-pivot__category { margin-bottom: 25px; padding-bottom: 25px; }
  .cpt-language { grid-template-columns: 1fr; gap: 32px; padding-top: 35px; }
  .cpt-language ol p { font-size: 30px; }
  .cpt-page .wny-display-title { font-size: clamp(2rem, 11.5cqi, 4.5rem); }
  .cpt-campaign { grid-template-columns: 1fr; }
  .cpt-campaign > figure { min-height: 0; }
  .cpt-campaign > figure > img { height: auto; aspect-ratio: 16/9; object-fit: contain; }
  .cpt-campaign__copy { padding: 50px 28px 0; }
  .cpt-campaign__copy .wny-display-title { font-size: clamp(2rem, 10.7cqi, 4.5rem); }
  .cpt-ritual { grid-template-columns: 1fr; padding-block: 64px; gap: 30px; }
  .cpt-ritual__copy { max-width: 550px; }
  .cpt-ritual figure { padding-top: 0; }
  .cpt-afternoon { padding-bottom: 64px; }
  .cpt-afternoon > header { grid-template-columns: 1fr; gap: 25px; padding-top: 45px; }
  .cpt-selector { flex-wrap: wrap; }
  .cpt-selector button { flex: 1 1 50%; padding: 15px; min-height: 58px; font-size: 15px; }
  .cpt-club { padding-bottom: 70px; }
  .cpt-club > header { grid-template-columns: 1fr; gap: 25px; padding-top: 45px; }
  .cpt-advertising { padding-block: 65px; }
  .cpt-advertising > header { grid-template-columns: 1fr; gap: 25px; }
  .cpt-advertising__pair { grid-template-columns: 1fr; gap: 48px; margin-top: 38px; }
  .cpt-advertising__pair > figure { display: block; }
  .cpt-advertising__pair .wny-display-frame { margin-bottom: 25px; }
  .cpt-advertising__pair .wny-display-title { font-size: clamp(32px, 9cqi, 48px); }
  .cpt-advertising__variation { grid-template-columns: 1fr; gap: 22px; margin-top: 40px; }
  .cpt-advertising__variation .wny-display-frame > p { font-size: 29px; }
  .cpt-occasion { gap: 16px; grid-template-columns: 1fr; }
  .cpt-occasion figure { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); align-items: center; gap: 20px; }
  .cpt-occasion figcaption { margin-top: 0; }
  .cpt-occasion figcaption strong { font-size: 27px; }
  .cpt-occasion figcaption .cpt-label { font-size: 10px; }
  .cpt-programme { padding-block: 65px; }
  .cpt-programme__head { grid-template-columns: 1fr; gap: 35px; }
  .cpt-programme__head > div > h2:not(.wny-display-title) { font-size: 104px; margin-top: 15px; }
  .cpt-programme__head .wny-display-title { font-size: clamp(2rem, 10cqi, 3rem); }
  .cpt-serial { padding-block: 30px; margin-bottom: 35px; }
  .cpt-serial__copy { grid-template-columns: 1fr; gap: 22px; }
  .cpt-serial__copy h3 { font-size: 32px; }
  .cpt-bookends { grid-template-columns: 1fr; gap: 25px; margin-top: 32px; }
  .cpt-bookends__part { padding: 8px 22px; }
  .cpt-bookends__part p { font-size: 27px; margin-top: 10px; }
  .cpt-bookends__part--subject p { font-size: 17px; }
  .cpt-screening { display: flex; flex-direction: column; }
  .cpt-screening__picture { order: 1; }
  .cpt-channel-list { order: 0; flex-direction: row; overflow-x: auto; border: 0; border-bottom: 1px solid #c5d7d466; }
  .cpt-channel-list button { flex: 0 0 210px; padding: 15px; min-height: 88px; border: 0; border-right: 1px solid #c5d7d433; }
  .cpt-film-note { order: 2; display: flex; flex-direction: column; gap: 22px; padding: 24px; }
  .cpt-film-note .wny-display-frame { width: 100%; }
  .cpt-film-note .wny-display-title { font-size: 29px; }
  .cpt-moments { width: 100%; }
  .cpt-moments > div { display: block; }
  .cpt-media-status { order: 3; }
  .cpt-film-bar { padding: 22px; min-height: 94px; }
  .cpt-film-bar h3 { font-size: 29px; }
  .cpt-perspectives { padding-block: 70px; }
  .cpt-perspectives > header { grid-template-columns: 1fr; gap: 30px; }
  .cpt-homes { grid-template-columns: 1fr; gap: 42px; margin-top: 40px; }
  .cpt-homes article > div { padding-top: 22px; }
  .cpt-homes h3 { font-size: 36px; }
  .cpt-homes p { max-width: 46ch; font-size: 18px; }
  .cpt-homes .cpt-text-link { margin-top: 22px; }
  .cpt-digital { padding-block: 0 65px; }
  .cpt-digital > header { grid-template-columns: 1fr; gap: 25px; }
  .cpt-web-study { margin-top: 35px; }
  .cpt-web-study > .cpt-selector { flex-wrap: nowrap; }
  .cpt-web-study > .cpt-selector button { flex: 1; display: block; padding: 13px 10px; }
  .cpt-web-study > .cpt-selector .cpt-label { margin-bottom: 5px; }
  .cpt-web-study__panel { grid-template-columns: 1fr; }
  .cpt-web-study__picture { border-right: 0; border-bottom: 1px solid var(--cpt-ink); }
  .cpt-web-study__picture figure { padding: 12px; }
  .cpt-web-study__versions { padding: 15px 12px 0; }
  .cpt-web-study__caption { padding-inline: 12px; }
  .cpt-web-study__copy { padding: 25px; }
  .cpt-web-study__copy .wny-display-title { font-size: clamp(28px, 11cqi, 38px); }
  .cpt-signature { grid-template-columns: 1fr; gap: 38px; padding-top: 60px; }
  .cpt-close { grid-template-columns: 1fr; gap: 50px; padding-top: 45px; }
  .cpt-close__mark img { max-width: 260px; }
  .cpt-credits { gap: 30px 24px; }
  .cpt-credits dd { font-size: 16px; }
  .cpt-close > .cpt-back { margin-top: 0; }
}
@media (max-width: 430px) {
  .cpt-opening__images { height: 400px; }
  .cpt-opening__life { width: 66%; bottom: 58px; right: 18px; }
  .cpt-opening__city figcaption { left: 20px; bottom: 22px; font-size: 9px; }
  .cpt-opening__life figcaption { font-size: 10px; }
  .cpt-inset { padding-inline: 24px; }
  .cpt-occasion figure { display: block; }
  .cpt-occasion figcaption { margin: 15px 0 25px; }
  .cpt-screening__topline { padding-inline: 16px; }
  .cpt-screening__topline .cpt-label { font-size: 10px; }
  .cpt-play__circle { width: 54px; height: 54px; }
  .cpt-film-note { padding: 20px; }
  .cpt-credits { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .cpt-page *, .cpt-page *::before, .cpt-page *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Source-derived pool stage, selected from the local exhibit studies. */
.cpt-pool-stage { margin-top:60px; border:1px solid #f6edda55; scroll-margin-top:110px; }
.cpt-pool-stage button { border:0; background:transparent; }
.cpt-page .cpt-pool-stage__gallery .cpt-label { color:#435b5c; }
.cpt-pool-stage .cpt-pool-stage__moments { display:flex; border-top:1px solid currentColor; }
.cpt-pool-stage__moments button { flex:1; min-width:0; text-align:left; padding:20px 10px 16px; display:flex; gap:12px; flex-direction:column; font-size:14px; border-bottom:2px solid transparent; opacity:.6; }
.cpt-pool-stage__moments button .cpt-label { font-size:10px; letter-spacing:.08em; }
.cpt-pool-stage__moments button[aria-pressed=true] { opacity:1; border-bottom-color:#b6954c; }
.cpt-pool-stage__moments button:hover { opacity:1; }
.cpt-pool-stage__copy { min-width:0; }
.cpt-pool-stage__copy .cpt-label { font-size:10px; letter-spacing:.13em; }
.cpt-page .cpt-pool-stage__copy h3 { font-size:clamp(25px,2.5vw,40px); line-height:1.12; margin:14px 0 20px; max-width:24ch; }
.cpt-pool-stage__copy p { font-size:16px; line-height:1.6; max-width:50ch; }
.cpt-pool-stage { background:#e8dfcb; color:var(--cpt-night); }
.cpt-pool-stage__gallery { position:relative; }
.cpt-pool-stage__reveal { position:absolute; right:4%; top:6%; z-index:3; font-size:13px!important; padding:8px 0; border-bottom:1px solid currentColor!important; }
.cpt-pool-stage__finished { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity 1.1s cubic-bezier(.22,.61,.36,1); }
.cpt-pool-stage__finished img { width:100%; height:100%; object-fit:cover; }
.cpt-pool-stage__finished figcaption { position:absolute; bottom:5%; left:4%; color:#fffbeb; font-size:11px; }
.cpt-pool-stage__finished::after { content:''; position:absolute; inset:0; background:linear-gradient(#07192199,transparent 35%,transparent 80%,#07192166); }
.cpt-pool-stage__finished figcaption { z-index:1; }
.cpt-pool-stage__gallery.is-film .cpt-pool-stage__finished { opacity:1; }
.cpt-pool-stage__gallery.is-film .cpt-pool-stage__title,.cpt-pool-stage__gallery.is-film .cpt-pool-stage__key { opacity:0; }
.cpt-pool-stage__gallery.is-film .cpt-pool-stage__reveal { color:#fffbeb; }
.cpt-pool-stage__title { position:absolute; left:4%; top:6%; z-index:1; }
.cpt-pool-stage__title .cpt-label { font-size:10px; }
.cpt-page .cpt-pool-stage__title h3 { font-size:clamp(34px,4.1vw,66px); line-height:1.04; margin-top:18px; }
.cpt-pool-stage__model img { display:block; width:100%; height:auto; }
.cpt-pool-stage__object { position:relative; }
.cpt-pool-stage .cpt-pool-stage__point { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-140%); width:29px; height:29px; border-radius:50%; border:1px solid #536467; background:#fffbeb; font-size:10px; color:#162b35; }
.cpt-pool-stage__point::after { content:''; position:absolute; width:1px; height:12px; background:#536467; top:100%; left:50%; }
.cpt-pool-stage .cpt-pool-stage__point[aria-pressed=true] { background:#162b35; color:#fffbeb; }
.cpt-pool-stage__gallery.is-film .cpt-pool-stage__point { visibility:hidden; }
.cpt-pool-stage__model figcaption { position:absolute; left:4%; bottom:5%; font-size:11px; }
.cpt-pool-stage__key { display:flex; gap:25px; position:absolute; right:4%; bottom:5%; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.cpt-pool-stage__key span { display:flex; align-items:center; gap:8px; }
.cpt-pool-stage__key i { width:7px; height:7px; border-radius:50%; background:#ae8128; }
.cpt-pool-stage__key span+span i { background:#295970; }
.cpt-pool-stage__edit { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); background:var(--cpt-night); color:var(--cpt-paper); }
.cpt-pool-stage__edit>div:first-child { position:relative; align-self:center; padding:32px; }
.cpt-pool-stage__edit figure img { aspect-ratio:16/9; object-fit:contain; }
.cpt-pool-stage__edit figcaption { font-size:10px!important; padding-top:15px; }
.cpt-pool-stage__edit>div:last-child { padding:40px 40px 32px 16px; }
.cpt-pool-stage__edit .cpt-pool-stage__moments { margin-top:28px; }

@media(max-width:700px) {
 .cpt-pool-stage { margin-top:30px; scroll-margin-top:150px; }
 .cpt-pool-stage__moments button { padding:14px 5px; font-size:12px; }
 .cpt-pool-stage__copy p { font-size:14px; }
 .cpt-pool-stage__title { position:relative; padding:24px 22px 0; top:auto; left:auto; }
 .cpt-pool-stage__reveal { position:relative; top:auto; right:auto; margin:20px 22px 0; font-size:12px!important; }
 .cpt-page .cpt-pool-stage__title h3 { font-size:38px; }
 .cpt-pool-stage__model figcaption { position:static; padding:0 22px 20px; max-width:25ch; font-size:10px; }
 .cpt-pool-stage__key { right:22px; bottom:24px; flex-direction:column; gap:6px; font-size:9px; }
 .cpt-pool-stage__edit { grid-template-columns:1fr; }
 .cpt-pool-stage__edit>div:first-child { padding:20px 20px 0; }
 .cpt-pool-stage__edit>div:last-child { padding:28px 20px; }
}
@media(prefers-reduced-motion:reduce) { .cpt-pool-stage__finished { transition:none; } }
