body[data-theme=cinema].is-events{background:#0e0e0e;--bg:#0e0e0e;padding-bottom:0}
body[data-theme=cinema].is-events:before{background:#0e0e0e;background-image:none}body[data-theme=cinema].is-events:after{display:none}
body.is-events main{max-width:none;padding-top:0!important}body.is-events footer{display:none}
body.is-events .texture-layer{display:block;position:fixed;inset:0;z-index:0;pointer-events:none}
.de-page{position:relative;z-index:1;padding:90px 0 160px;color:#fff;overflow:hidden;--de-green:#00ff18}.de-page *{box-sizing:border-box}
body.is-events .de-page :is(h1,h2,h3,h4,p,span,button,time){color:#fff!important}.de-page :is(h1,h2,h3,h4,p){margin:0}
.de-page button{font:inherit;cursor:pointer;color:inherit;background:none}.de-page button:is(:hover,:focus-visible){color:var(--de-green)!important}.de-page button:focus-visible{outline:2px solid var(--de-green);outline-offset:4px}
.de-opening{position:relative}.de-opening h1{font-family:'DM Sans',sans-serif;font-size:12vw;font-weight:700;line-height:.78;letter-spacing:-.055em;position:relative;z-index:2;margin:0 0 -.055em 2.8%;white-space:nowrap}
body.is-events .de-opening h1,body.is-events .de-opening h1>span{color:var(--de-green)!important}
.de-djs{display:grid;grid-template-columns:1fr 1fr;gap:0;width:86%;margin:0 14% 0 0;align-items:start;position:relative;z-index:1}.de-dj{margin:0;min-width:0;position:relative}
.de-portrait{position:relative;overflow:hidden;background:#151515;height:clamp(300px,49vh,690px)}.de-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:none}.de-troubl3p img{object-position:center 35%}.de-aflyt img{object-position:center 28%}
.de-dj figcaption{position:relative;margin-top:-3px;padding:4px 10px 0 2.8vw;z-index:2}.de-dj h2{font-family:'DM Sans','Noto Sans TC',sans-serif;font-size:4.6vw;font-weight:700;letter-spacing:-.055em;line-height:.94;text-align:left;white-space:nowrap}body.is-events .de-dj h2{color:var(--de-green)!important}

.de-archive{margin:135px 6% 0 2.8%;scroll-margin-top:115px;outline:none}.de-archive-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.de-archive-head h2{font-size:clamp(50px,8vw,130px);font-weight:700;line-height:.85;letter-spacing:-.04em}body.is-events .de-archive-head h2{color:var(--de-green)!important}
.de-year-filter{display:flex;gap:20px;align-items:center}.de-year-filter button{border:0;border-bottom:1px solid transparent;font-size:12px;padding:12px 0}body.is-events .de-page button[aria-pressed=true]{color:var(--de-green)!important;border-color:var(--de-green)}
.de-records{margin-top:48px}.de-year-group{display:grid;grid-template-columns:12% 1fr;gap:3vw;margin-bottom:65px}.de-year-group[hidden]{display:none!important}
.de-year-group>h3{font-size:clamp(25px,4vw,65px);font-weight:500;letter-spacing:-.04em;line-height:1;align-self:start;position:sticky;top:110px}body.is-events .de-year-group>h3{color:var(--de-green)!important}.de-year-group ol{list-style:none;margin:0;padding:0}
.de-event{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(110px,19%) 70px;gap:22px;align-items:center;padding:30px 0;border-top:1px solid #fff5;min-height:100px}.de-event time{font-size:11px;font-variant-numeric:tabular-nums;align-self:start;padding-top:5px;white-space:nowrap}.de-event h4{font-size:clamp(20px,2.3vw,36px);font-weight:600;line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}.de-event-name p{font-size:11px;line-height:1.5;margin-top:10px;opacity:.75}.de-event-place{font-size:11px;line-height:1.7}.de-curated{font-size:10px;border:1px solid #00ff1870;padding:5px 7px;white-space:nowrap;text-align:center}body.is-events .de-curated{color:var(--de-green)!important}
@media(max-width:900px){.de-event{grid-template-columns:60px minmax(0,1fr) 95px;gap:16px}.de-curated{grid-column:2;justify-self:start}.de-event>span:empty{display:none}.de-year-group{grid-template-columns:14% 1fr}.de-year-filter{gap:15px}}
@media(max-width:650px){.de-page{padding-top:105px;padding-bottom:140px}.de-opening h1{font-size:13.4vw;margin-left:4%;letter-spacing:-.055em}.de-djs{width:96%;margin-right:4%}.de-portrait{height:43vh;min-height:260px;max-height:490px;aspect-ratio:auto}.de-dj figcaption{padding:5px 8px 0 4vw;margin-top:0}.de-dj h2{font-size:6.3vw;line-height:1.1;letter-spacing:-.045em}.de-archive{margin:85px 6% 0 4%}.de-archive-head{display:block}.de-archive-head h2{font-size:15vw}.de-year-filter{margin-top:28px;gap:26px}.de-year-group{display:block;margin-bottom:45px}.de-year-group>h3{position:static;font-size:34px;margin-bottom:22px}.de-event{grid-template-columns:56px minmax(0,1fr);gap:8px 12px;padding:23px 0;min-height:0}.de-event h4{font-size:24px}.de-event-place{grid-column:2}.de-event-place:empty{display:none}.de-curated{grid-column:2}.de-event time{font-size:10px}}

.de-roles{position:absolute;top:48%;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}body.is-events .de-roles span{color:var(--de-green)!important;font-size:clamp(11px,1.3vw,26px);font-weight:400;white-space:nowrap;letter-spacing:-.03em}body.is-events .de-dj .de-bio{color:var(--de-green)!important;font-size:clamp(12px,1.216vw,20px);line-height:1.15;letter-spacing:-.03em;text-align:left;margin-top:8px;max-width:42em}
@media(max-width:650px){.de-opening h1{font-size:12.5vw}.de-roles{left:7%;right:7%;top:43%;display:grid;grid-template-columns:auto auto;row-gap:8px;gap:8px}.de-roles span{font-size:10px!important}body.is-events .de-dj .de-bio{font-size:11px;line-height:1.2;margin-top:6px}.de-records{margin-top:32px}}

/* Names and biographies share the same tight rhythm as the Artist menu. */
body.is-events .de-dj .de-bio{margin-top:-1.05vw;position:relative;z-index:2}
@media(min-width:1100px){.de-archive-head h2{white-space:nowrap;font-size:7.3vw}.de-archive-head h2 br{display:none}}

/* Gapless montage: videos span two photo columns, with alternating placement. */
.de-montage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;gap:0;width:100%;max-width:1440px;margin:100px auto 0;padding:0;align-items:stretch}
.de-montage .de-media{display:block;position:relative;min-width:0;margin:0;padding:0;grid-column:auto;grid-row:auto;aspect-ratio:16/9;overflow:hidden;background:#0e0e0e}
.de-montage .de-media img{display:block;width:100%;height:100%;object-fit:cover}
.de-montage .de-video .site-video{width:100%;height:100%;aspect-ratio:16/9}
.de-montage .de-shot-night{grid-row:span 2;aspect-ratio:auto;height:100%}
body.is-events .de-dj .de-bio{margin-top:-1.05vw;position:relative;z-index:2}
.de-dj figcaption{margin-top:0}.de-opening h1{margin-bottom:0}
@media(max-width:650px){.de-montage{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:65px}.de-montage .de-video{grid-column:1/-1;aspect-ratio:16/9}.de-montage .de-shot-night{grid-row:auto;aspect-ratio:16/9;height:auto}body.is-events .de-dj .de-bio{margin-top:-1.5px}}

@media(min-width:651px){
 .de-montage .de-media{min-height:0}
 .de-montage .de-film-one{grid-column:1/3;grid-row:1/3}
 .de-montage .de-boiler-still:nth-child(2){grid-column:3;grid-row:1}
 .de-montage .de-boiler-still:nth-child(3){grid-column:3;grid-row:2}
 .de-montage .de-shot-cover{grid-column:1;grid-row:3}
 .de-montage .de-shot-night{grid-column:1;grid-row:4/6;aspect-ratio:auto}
 .de-montage .de-film-two{grid-column:2/4;grid-row:3/5}
 .de-montage .de-shot-mc{grid-column:1;grid-row:6}
 .de-montage .de-boiler-still:nth-child(8){grid-column:1;grid-row:7}
 .de-montage .de-shot-dj{grid-column:2;grid-row:7}
 .de-montage .de-film-three{grid-column:2/4;grid-row:5/7}
 .de-montage .de-shot-boiler{grid-column:3;grid-row:7}
 .de-shot-cover img{object-position:48% 46%}.de-shot-night img{object-position:55% 45%}.de-shot-mc img{object-position:54% 40%}.de-shot-dj img{object-position:62% 50%}
}

@media(min-width:651px){.de-montage{aspect-ratio:16/21;grid-template-rows:repeat(7,minmax(0,1fr))}.de-montage .de-media{width:100%;height:100%;max-width:100%;aspect-ratio:auto}.de-montage .de-video .site-video{aspect-ratio:auto}}

/* Match the Artist menu's typography and rhythm, anchored to the left. */
body[data-theme=cinema].is-events{--artist-bio-size:1.216vw;--artist-bio-leading:.84}
.de-page{padding-top:60px}
.de-heading{display:flow-root;position:relative;z-index:3}
.de-opening .de-heading h1{font-size:15.3vw;line-height:.78;letter-spacing:-.065em;margin:0 2.8% 0 2.8%;text-align:left;transform-origin:left center}
body.is-events .de-subtitle{margin:-1.2vw 43.4% 0 2.8%;padding:0;font-size:1.4592vw;font-weight:700;line-height:.84;letter-spacing:-.036em;text-align:left;color:var(--de-green)!important}
body.is-events .de-subtitle span{display:block;white-space:nowrap;color:var(--de-green)!important}
.de-dj figcaption{margin-top:0;padding:0 20px 0 2.8vw}
.de-dj h2{margin:-3px 0 0;padding:4px 0 0;font-size:4.6vw;line-height:.94;letter-spacing:-.055em}
body.is-events .de-dj .de-bio{font-size:var(--artist-bio-size);line-height:var(--artist-bio-leading);letter-spacing:-.036em;font-weight:400;margin-top:-1.05vw;max-width:none}
@media(max-width:650px){body[data-theme=cinema].is-events{--artist-bio-size:8.8px;--artist-bio-leading:.96}.de-page{padding-top:105px}.de-opening .de-heading h1{font-size:20vw;margin:0 4%;letter-spacing:-.065em}.de-djs{width:96%;margin:0 4% 0 0}.de-dj figcaption{padding:0 12px 0 4vw}.de-dj h2{font-size:5.3vw;line-height:1.1;letter-spacing:-.045em;margin:0;padding-top:5px}body.is-events .de-dj .de-bio{margin-top:-1.5px}body.is-events .de-subtitle{margin:-4px 24% 0 4%;font-size:10.56px;line-height:.96}}

/* Intrinsic padding keeps mobile video rows open in iOS WebKit. */
@media(max-width:650px){
 .de-montage .de-video{grid-column:1/-1;display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;align-self:start}
 .de-montage .de-video .site-video{position:relative;display:block;box-sizing:content-box;width:100%;height:0;min-height:0;padding-top:56.25%;aspect-ratio:auto}
}

/* Five dot rows: 5 × 13.2px = 66px less space above the archive. */
.de-archive{margin-top:69px}
@media(max-width:650px){.de-archive{margin-top:19px}}
.de-djs{margin-left:14%;margin-right:0}
.de-opening .de-heading h1{text-align:right;transform-origin:right center}
body.is-events .de-subtitle{margin-left:43.4%;margin-right:2.8%;text-align:right}
.de-dj figcaption{padding-left:20px;padding-right:2.8vw}
.de-dj h2,body.is-events .de-dj .de-bio{text-align:right}
@media(max-width:650px){.de-djs{margin-left:4%;margin-right:0}body.is-events .de-subtitle{margin-left:24%;margin-right:4%}.de-dj figcaption{padding-left:12px;padding-right:4vw}}

body.is-events .de-subtitle{margin-left:2.8%;margin-right:2.8%;font-size:clamp(10px,.98vw,20px);line-height:1.15;white-space:nowrap;overflow:hidden;text-align:right}
@media(max-width:650px){body.is-events .de-subtitle{margin-left:4%;margin-right:4%;text-align:left}}

/* Free-flowing montage accommodates additional mixed photographs. */
body.is-events .de-montage{aspect-ratio:auto;grid-template-rows:none;grid-auto-rows:calc(min(100vw,1440px) * .1875)}
body.is-events .de-montage .de-media{grid-column:auto;grid-row:auto;aspect-ratio:auto;height:100%;min-height:0}
body.is-events .de-montage .de-video{grid-column:span 2;grid-row:span 2}
@media(max-width:650px){body.is-events .de-montage{grid-auto-rows:28.125vw}body.is-events .de-montage .de-video{grid-column:1/-1;grid-row:span 2}}

/* Continue the original edge-to-edge collage, with tall slots for portraits. */
body.is-events .de-montage .de-portrait-shot{grid-row:span 2}
/* Fill each tile so the visible photo edges share the grid's 2px gutters. */
body.is-events .de-montage .de-media img{object-fit:cover}
body.is-events .de-montage .de-wide-shot{grid-column:span 2;grid-row:span 2}
@media(max-width:650px){body.is-events .de-montage .de-portrait-shot{grid-row:span 3}}

body.is-events .de-montage{gap:2px}
