/* Preserve the original overlapping typography; only photographs absorb viewport changes. */
body[data-theme=cinema]:is(.is-artist-menu,.is-events){--menu-subtitle-size:20px;--menu-top:60px;--menu-bottom:130px;padding-bottom:0}
body[data-theme=cinema]:is(.is-artist-menu,.is-events) main{padding:0!important;margin:0!important;max-width:none;min-height:0!important}
body[data-theme=cinema].is-artist-menu .artist-selection,body.is-events .de-opening{box-sizing:border-box;height:var(--artist-viewport-height,100dvh);min-height:0;padding:var(--menu-top) 0 var(--menu-bottom);display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;overflow:visible}
body.is-events .de-page{padding-top:0}
body[data-theme=cinema].is-artist-menu .artist-poster-subtitle,body.is-events .de-subtitle{font-size:var(--menu-subtitle-size);line-height:.84}
body[data-theme=cinema].is-artist-menu .artist-pair,body.is-events .de-djs{height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;align-items:stretch}
body[data-theme=cinema].is-artist-menu .artist-choice,body.is-events .de-dj{display:grid;grid-template-rows:subgrid;grid-row:span 2;min-height:0;min-width:0;gap:0}
body[data-theme=cinema].is-artist-menu .artist-portrait,body.is-events .de-portrait{height:100%;min-height:0;max-height:none;aspect-ratio:auto;overflow:hidden}
body[data-theme=cinema].is-artist-menu .artist-photo{width:100%;height:100%;object-fit:cover}
@media(max-width:650px){body[data-theme=cinema]:is(.is-artist-menu,.is-events){--menu-subtitle-size:10.56px;--menu-top:105px;--menu-bottom:110px}body[data-theme=cinema].is-artist-menu .artist-poster-subtitle,body.is-events .de-subtitle{line-height:.96}}

/* Prevent the single-line heading from imposing its intrinsic width on the photo grid. */
body[data-theme=cinema].is-artist-menu .artist-selection,body.is-events .de-opening{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
.artist-poster-heading,.de-heading{min-width:0;max-width:100%}
body[data-theme=cinema].is-artist-menu .artist-pair,body.is-events .de-djs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}
body.is-events .de-dj,body.is-events .de-portrait,body.is-events .de-dj figcaption{min-width:0;max-width:100%}
body.is-events .de-subtitle{margin-top:-.55vw}
@media(max-width:650px){body.is-events .de-subtitle{margin-top:0}}

/* Smaller biographies free vertical space for the paired portraits. */
body[data-theme=cinema]:is(.is-artist-menu,.is-events){--menu-top:72px;--menu-bottom:118px}
body[data-theme=cinema].is-artist-menu .artist-micro p,body.is-events .de-dj .de-bio{font-size:calc(var(--artist-bio-size) * .8)}
body[data-theme=cinema].is-artist-menu .artist-a-flyt .artist-photo{object-position:center 15%}
body.is-events .de-subtitle{margin-top:-1.05vw}
@media(max-width:650px){body[data-theme=cinema]:is(.is-artist-menu,.is-events){--menu-top:113px;--menu-bottom:102px}body.is-events .de-subtitle{margin-top:-3px}}

/* Three equal, edge-to-edge DJ portraits. */
body.is-events .de-djs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;margin-left:0;margin-right:0}
body.is-events .de-sasababy img{object-position:center 35%;transform:scale(1.1);transform-origin:center 35%}
body.is-events .de-roles{gap:6px}
body.is-events .de-roles span{font-size:clamp(9px,1.05vw,20px)}
@media(max-width:650px){body.is-events .de-dj figcaption{padding-left:6px;padding-right:6px}body.is-events .de-roles{left:6%;right:6%;grid-template-columns:1fr;gap:5px}body.is-events .de-roles span{font-size:9px!important}}
