
.ev-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--s-m); margin-bottom: var(--s-l); }
.tl-item .soon { display: inline-flex; align-items: center; gap: .9em; color: var(--gold-800); }
.tl-item .meta { display: flex; flex-wrap: wrap; gap: .3em 1.4em; color: var(--muted); }
.tl-item .meta span { display: inline-flex; align-items: center; gap: .45em; }
.tl-item .meta svg { width: 1.15em; height: 1.15em; color: var(--gold-600); }
.tl-item .art.dark { background: transparent; padding: 0; }
.tl-item .art .bp-art { aspect-ratio: 16 / 10; border-radius: 0; }
.pastlist details.qa summary { font-size: var(--t-s); }
.pastlist .row { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 5fr); gap: var(--gap); padding-block: var(--s-s); border-top: 1px solid var(--rule); color: var(--grey-300); }
.pastlist .row:last-child { border-bottom: 1px solid var(--rule); }
.pastlist .row b { color: var(--white); font-weight: 500; }
@media (max-width: 1024px) { .pastlist .row { grid-template-columns: 1fr; gap: .2em; } }
/* 18 Oct round 2: the hero is short films cut together as tiles; past events carry their photographs */
.phead .media.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; background: #1A1F25; }
.phead .media.tiles .tile { overflow: hidden; }
.phead .media.tiles video, .phead .media.tiles img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) { .phead .media.tiles { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; } }
.pastcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.pcard { position: relative; aspect-ratio: 3 / 4; border-radius: var(--r-panel); overflow: hidden; isolation: isolate; color: var(--white); }
.pcard figure { position: absolute; inset: 0; margin: 0; z-index: -2; }
.pcard figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1400ms var(--ease); }
.pcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14, 16, 19, 0) 22%, rgba(14, 16, 19, .72) 52%, rgba(14, 16, 19, .96)); }
.pcard .pc { position: absolute; inset: auto 0 0; padding: var(--s-m) var(--s-s); display: grid; gap: .4em; }
.pcard .when { font-size: var(--t-small); font-weight: 500; color: var(--white); text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.pcard h3 { font-size: clamp(24px, 2vw, 38px); font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; line-height: .98; }
.pcard .d { font-size: var(--t-small); color: rgba(255, 255, 255, .92); }
.pcard:hover figure img { transform: scale(1.06); }
@media (max-width: 1024px) { .pastcards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pastcards { grid-template-columns: 1fr; } .pcard { aspect-ratio: 4 / 3; } }
/* the date is a figure, its line beneath is readable, not a whisper */
.tl-item .when .d { font-size: clamp(52px, 5vw, 112px) !important; }
.tl-item .when .m { font-size: var(--t-s) !important; font-weight: 500 !important; letter-spacing: -.01em !important; text-transform: none !important; color: var(--ink) !important; }
/* words over bright film tiles need a deeper foot */
.phead:has(.tiles)::after { background: linear-gradient(180deg, rgba(10, 12, 15, .5) 0%, rgba(10, 12, 15, .1) 22%, rgba(14, 17, 20, .55) 45%, rgba(22, 26, 31, .9) 66%, #1A1F25 88%); }
.phead:has(.tiles) .t-subtitle { font-weight: 400; }
