:root{--ink:#142128;--paper:var(--bg);--gold:#cab474}.study-gallery{background:var(--paper);color:var(--ink)}.gallery-cover{position:relative;isolation:isolate;height:min(650px,70svh);min-height:430px;background:#10121c;overflow:hidden;color:#fff}.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:stage-light 1800ms ease-out both}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,25,.84),rgba(8,16,25,.12) 75%),linear-gradient(0deg,#07101baa,transparent 50%)}.cover-copy{position:relative;padding:65px 7vw;max-width:760px}.small-label{font-size:10px;letter-spacing:.2em;line-height:1.8}.cover-copy>.small-label{color:var(--gold)}.cover-copy h1{font-size:clamp(35px,4.4vw,65px);font-weight:400;letter-spacing:.08em;line-height:1.55;margin:35px 0 23px}.cover-description{font-size:13px;letter-spacing:.08em;line-height:1.9}.cover-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff75;width:210px;padding:15px 0;margin-top:30px;font-size:12px}.cover-link span{font-size:20px;color:var(--gold)}.cover-credit{position:absolute;right:6vw;bottom:32px;text-align:right;font-size:12px}.cover-credit span{font-size:9px;letter-spacing:.15em;color:var(--gold)}.cover-credit p{margin:8px 0}.prototype-mark{position:absolute;right:25px;top:24px;font-size:8px;letter-spacing:.14em;color:#fff9}.collection{max-width:1160px;width:86%;margin:auto;padding:65px 0 35px}.collection-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.collection-heading h2{font-size:29px;font-weight:400;margin:14px 0 0;letter-spacing:.08em}.collection-heading h2 span{font-family:Georgia,serif;font-style:italic;font-size:20px;margin-left:25px;color:#858377}.collection-lead{font-size:12px;line-height:2;margin:0}.collection-toolbar{border-top:1px solid #c0bdb3;border-bottom:1px solid #c0bdb3;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;margin-bottom:30px}.year-filters{display:flex;gap:8px;flex-wrap:wrap}.year-filters button{border:0;background:transparent;color:#6c706d;font:inherit;font-size:12px;padding:8px 15px;cursor:pointer}.year-filters button[aria-pressed=true]{background:var(--ink);color:#fff}.result-count{white-space:nowrap;font-size:10px;letter-spacing:.08em}.scene-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 30px}.scene-card{border:0;padding:0;background:transparent;text-align:left;color:inherit;cursor:pointer;min-width:0}.card-photo{display:block;position:relative;aspect-ratio:16/9;background:#101514;overflow:hidden}.card-photo img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important;transition:none!important;filter:none!important}.card-action{position:absolute;bottom:12px;right:12px;padding:9px 12px;font-size:10px;color:#fff;background:#132128e8;border:1px solid #ffffff50;opacity:1;transition:opacity .18s}.scene-card:hover .card-action,.scene-card:focus-visible .card-action{opacity:1}.card-count{position:absolute;left:12px;bottom:12px;background:#101514c9;color:#fff;padding:5px 8px;font-size:9px;letter-spacing:.08em}.card-meta{display:flex;justify-content:space-between;gap:15px;margin:14px 0 7px;font-size:10px;letter-spacing:.08em;color:#71766e}.card-title{display:block;font-weight:400;font-size:17px;line-height:1.65;letter-spacing:.03em}.card-venue{display:block;font-size:10px;color:#777e78;margin-top:7px}.collection-pages{display:flex;align-items:center;justify-content:center;gap:12px;margin:44px 0 35px}.collection-pages button{border:1px solid #b8b9af;background:transparent;padding:10px 14px;color:var(--ink);cursor:pointer;font:inherit;font-size:12px}.collection-pages button[aria-current=page]{background:var(--ink);color:#fff}.study-back{display:flex;justify-content:space-between;border-top:1px solid #b8b9af;padding:24px 0;font-size:11px}.scene-dialog{padding:0;border:0;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#0b1419;color:#f1eee7;overflow:auto}.scene-dialog::backdrop{background:#0b1419}.scene-dialog[open]{display:flex;flex-direction:column}.scene-dialog-top{display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;flex-shrink:0}.dialog-label{font-size:9px;letter-spacing:.2em;color:var(--gold)}.scene-dialog button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}.dialog-close{font-size:12px!important;padding:8px}.dialog-photo{position:relative;flex:1;min-height:150px;margin:0 5vw;display:flex;align-items:center;justify-content:center}.dialog-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.photo-back,.photo-forward{position:absolute;top:50%;background:#0b1419bb!important;width:40px;height:44px;font-size:22px!important}.photo-back{left:-4vw}.photo-forward{right:-4vw}.photo-position{position:absolute;bottom:6px;background:#0b1419bb;padding:5px 12px;font-size:10px;letter-spacing:.15em}.dialog-information{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 5vw 16px;flex-shrink:0}.dialog-date{font-size:10px;letter-spacing:.1em;color:var(--gold);margin:0 0 8px}.dialog-information h2{font-size:20px;font-weight:400;line-height:1.6;margin:0}.dialog-venue{font-size:11px;color:#a9b3b5;margin:7px 0}.dialog-thumbs{display:flex;gap:8px;max-width:42%;overflow:auto}.dialog-thumbs button{padding:0;width:80px;flex-shrink:0;aspect-ratio:16/9;opacity:.45;border:1px solid transparent}.dialog-thumbs button[aria-pressed=true]{opacity:1;border-color:var(--gold)}.dialog-thumbs img{width:100%;height:100%;object-fit:contain}.dialog-bottom{margin:0 5vw;padding:12px 0 18px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;font-size:11px;flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@keyframes stage-light{from{filter:brightness(.25)}to{filter:brightness(1)}}@keyframes still-fade{from{opacity:.2}to{opacity:1}}.switching{animation:still-fade .22s ease-out}.scene-dialog[open]{animation:still-fade .25s ease-out}@media(hover:none){.card-action{opacity:1}}@media(max-width:700px){.gallery-cover{height:62svh;min-height:410px}.cover-copy{padding:48px 7vw}.cover-copy h1{font-size:35px;margin-top:24px}.cover-description{font-size:11px;max-width:230px}.cover-credit{bottom:15px;font-size:9px}.cover-credit span{font-size:7px}.cover-link{margin-top:15px;width:175px}.collection{padding-top:38px;width:88%}.collection-heading{display:block;margin-bottom:24px}.collection-heading h2{font-size:25px}.collection-lead{margin-top:18px}.collection-toolbar{align-items:start}.year-filters{gap:3px}.year-filters button{padding:7px 9px;font-size:11px}.result-count{padding-top:8px}.scene-cards{grid-template-columns:1fr;gap:28px}.card-action{opacity:1}.card-title{font-size:16px}.dialog-information{display:block;padding-top:16px}.dialog-information h2{font-size:17px}.dialog-thumbs{max-width:100%;margin-top:12px}.dialog-thumbs button{width:64px}.dialog-photo{min-height:30svh}.study-back{gap:20px;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep each pair on shared horizontal levels, regardless of title length. */
.scene-cards{align-items:stretch}
.scene-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:100%;align-self:stretch;transform:none!important}
.scene-card .card-photo{flex:0 0 auto;width:100%}
.scene-card .card-meta{flex:0 0 auto}
.scene-card .card-title{min-height:3.3em}
.scene-card .card-venue{margin-top:auto;padding-top:7px}
@media(max-width:700px){.scene-card .card-title{min-height:0}.scene-card .card-venue{margin-top:0}}

/* Fill the Summer 2020 thumbnail edge to edge; full photo stays available in viewer. */
.card-photo img.fill-frame{object-fit:cover;object-position:center 43%}

.card-title{line-break:strict;overflow-wrap:normal;text-wrap:pretty}.card-title-main,.card-subtitle{display:block}.card-subtitle{font-size:.8em;line-height:1.8}.card-revival{display:inline-block;white-space:nowrap;font-size:.8em}

/* Give the desktop cover enough height to show the stage scenery. */
@media(min-width:701px){.gallery-cover{height:calc(100svh - 140px);min-height:650px;max-height:960px}.cover-photo{object-position:center 50%}}
