@font-face{font-family:Basier;src:url('assets/basier.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--paper:#e8e8e3;--muted:#90908c;--line:#303030;--gutter:clamp(24px,4.2vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:35px}body{margin:0;background:#000;color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:1px solid white;outline-offset:7px}a:hover{color:#fff}::selection{background:var(--paper);color:#000}.skip{position:fixed;top:-80px;left:20px;z-index:10;background:white;color:black;padding:16px}.skip:focus{top:16px}.header{position:absolute;top:0;left:0;width:100%;padding:36px var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:3}.brand{display:inline-flex}.brand img{display:block;width:118px;height:auto}.header nav{display:flex;gap:36px;font-family:Basier,monospace;font-size:12px}.header nav a{padding:9px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:7px}
.hero{position:relative;min-height:720px;height:100svh;max-height:1100px;overflow:clip;background:#000}.portrait{position:absolute;width:min(70vw,1000px);height:min(70vw,1000px);right:-4vw;top:46%;transform:translateY(-50%);pointer-events:none}.portrait video{width:100%;height:100%;object-fit:contain}.hero-copy{position:absolute;top:41%;left:var(--gutter);z-index:1}.eyebrow{font-family:Basier,monospace;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.045em;text-transform:uppercase;margin:0}.hero-copy .eyebrow{margin:0 0 15px 7px}.hero h1{font-family:Basier,monospace;font-weight:400;letter-spacing:-.035em;font-size:clamp(110px,14.25vw,240px);line-height:.95;margin:0 0 24px -7px}.subtitle{font-size:19px;letter-spacing:-.03em;margin:0 0 0 7px}.hero-bottom{position:absolute;bottom:37px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between}.next{display:flex;flex-direction:column;gap:11px}.next>.eyebrow{color:var(--muted)}.next>span:last-child{font-size:15px}.divider{color:#62625e;margin:0 15px}.arrow{display:inline-block;margin-left:30px;font-size:23px;transition:transform .2s}.next:hover .arrow{transform:translate(3px,3px)}#motion{border:0;background:none;color:var(--muted);font-family:Basier,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:12px 0 12px 12px;cursor:pointer}#motion:hover{color:#fff}.motion-icon{margin-right:10px;font-size:10px}
.section{padding-left:var(--gutter);padding-right:var(--gutter)}.screenings{border-top:1px solid var(--line);padding-top:35px;padding-bottom:80px}.section-top{display:flex;justify-content:space-between}.section-top .eyebrow:last-child{color:var(--muted)}.screening-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:65px 0 65px;gap:50px}h2{font-size:clamp(44px,5.5vw,84px);line-height:.98;letter-spacing:-.06em;font-weight:400;margin:0}.film-copy{padding-left:16%;font-size:18px;line-height:1.5;letter-spacing:-.025em}.film-copy p{margin:0 0 22px}.film-copy p:last-child{margin-bottom:0}.muted{color:var(--muted)}.event{display:grid;grid-template-columns:.75fr 1fr 1.65fr .4fr .75fr;gap:30px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.event-date{display:flex;flex-direction:column;gap:9px;font-family:Basier,monospace;font-size:15px}.event-date .muted{font-size:10px}.event-detail h3{font-size:24px;font-weight:400;letter-spacing:-.035em;margin:0 0 9px}.event-detail p{font-size:12px;color:var(--muted);margin:0}.event-time{font-family:Basier,monospace;font-size:13px}.event-link{display:flex;justify-content:space-between;align-items:center;border:1px solid #555;padding:15px 18px;font-family:Basier,monospace;font-size:11px;transition:background .2s,color .2s}.event-link:hover{background:var(--paper);color:#000}.event-link span{font-size:18px}.event-note{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:Basier,monospace;color:var(--muted);font-size:10px;line-height:1.6;padding-top:15px}.event-note p{margin:0}.music{background:#e4e4df;color:#151515;padding-top:34px;padding-bottom:70px}.music-main{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start;margin-top:65px}.music h2{font-size:clamp(40px,5vw,76px)}.music-links{display:flex;flex-direction:column;margin-top:-12px}.music-links a{display:flex;justify-content:space-between;border-bottom:1px solid #a6a6a1;padding:15px 0;font-family:Basier,monospace;font-size:13px}.music-links a:hover{color:#000;border-color:#000}.music-links span{font-family:Arial,sans-serif;font-size:20px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding:58px 0 65px}.contact-links{display:flex;gap:35px;font-family:Basier,monospace;font-size:11px}.footer-bottom{border-top:1px solid var(--line);padding:20px 0 27px;display:flex;justify-content:space-between;font-family:Basier,monospace;font-size:10px;color:var(--muted)}
@media(min-width:1800px){.portrait{right:3vw}.hero-copy{top:42%}}
@media(max-width:760px){.header{padding-top:25px}.brand img{width:92px}.header nav{gap:20px;font-size:10px}.hero{height:91svh;min-height:660px;max-height:940px}.portrait{width:110vw;height:110vw;right:-14vw;top:37%;max-width:650px;max-height:650px}.hero-copy{top:auto;bottom:155px}.hero-copy .eyebrow{font-size:10px;margin-left:2px;margin-bottom:14px}.hero h1{font-size:22vw;margin-left:-4px;margin-bottom:20px}.subtitle{font-size:16px;margin-left:2px}.hero-bottom{bottom:27px}.next>span:last-child{font-size:12px}.next .eyebrow{font-size:9px}.divider{margin:0 8px}.arrow{margin-left:12px;font-size:18px}#motion{font-size:9px}.motion-label{display:none}#motion[aria-pressed="false"] .motion-label{display:inline;margin-left:8px}.motion-icon{margin:0}.screenings{padding-top:24px;padding-bottom:45px}.section-top .eyebrow{font-size:9px;letter-spacing:0}.screening-intro{grid-template-columns:1fr;gap:28px;padding:40px 0}.screening-intro h2 br{display:none}h2{font-size:44px}.film-copy{padding:0;font-size:16px}.film-copy p{margin-bottom:15px}.desktop-break{display:none}.event{grid-template-columns:90px 1fr;column-gap:10px;row-gap:22px;padding:25px 0}.event-detail h3{font-size:20px}.event-detail p{font-size:11px;line-height:1.5}.event-date{font-size:13px}.event-time{grid-column:1;grid-row:auto}.event-link{grid-column:2;padding:11px 14px}.event-note{display:block;font-size:9px}.event-note p+p{margin-top:6px}.music{padding-top:25px;padding-bottom:40px}.music-main{grid-template-columns:1fr;gap:30px;margin-top:35px}.music h2{font-size:44px}.music-links a{font-size:12px}.footer-top{padding:35px 0 40px;gap:20px}.contact-links{flex-direction:column;gap:18px;font-size:10px}.footer-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* ASCII shares the exact video bounds and fades over its black background. */
.portrait canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}

@media(any-hover:hover){.portrait{pointer-events:auto}}

/* Drawn icons cannot be substituted with colour emoji on iOS. */
.icon{display:inline-block;width:1.2em;height:1.2em;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}
.arrow-down{rotate:90deg}.event-link .icon,.music-links .icon{width:19px;height:19px}
.motion-icon{width:12px;height:12px}.play-shape{fill:currentColor;stroke:none}.pause-shape{display:none;stroke-width:3}
#motion[aria-pressed="true"] .play-shape{display:none}#motion[aria-pressed="true"] .pause-shape{display:block}
#motion{min-width:44px;min-height:44px}
.portrait canvas{transition:opacity .3s ease}

/* Fade with a separate layer; avoid masking the video compositor on Safari. */
.portrait::after{content:"";position:absolute;inset:86% 0 0;background:linear-gradient(transparent,#000);pointer-events:none}

/* The short mobile page needs only the mark at the top. */
@media(max-width:760px){.header nav{display:none}}

/* MailerLite updates form, styled to match the footer. */
.updates{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:55px 0;border-bottom:1px solid var(--line)}.updates h2{font-size:36px;letter-spacing:-.045em}.updates p{font-size:13px;color:var(--muted);line-height:1.6;margin:15px 0 0}.updates-form label{display:block;font-family:Basier,monospace;font-size:10px;margin-bottom:12px}.updates-fields{display:flex;border-bottom:1px solid #777}.updates-fields input{min-width:0;flex:1;width:100%;border:0;background:none;color:var(--paper);font:16px Arial,sans-serif;padding:12px 0;outline-offset:3px}.updates-fields button{display:flex;gap:22px;align-items:center;background:none;border:0;color:var(--paper);font:11px Basier,monospace;padding:12px 0 12px 20px;white-space:nowrap}.updates-form p{font-family:Basier,monospace;font-size:9px;line-height:1.7}@media(max-width:760px){.updates{grid-template-columns:1fr;gap:30px;padding:38px 0}.updates h2{font-size:32px}.updates-fields button{gap:12px}}
.updates-fields .ml-form-fieldRow{flex:1;min-width:0}.updates-fields .ml-form-embedSubmit{flex-shrink:0}.updates-fields button{min-height:44px;cursor:pointer}.updates-fields button:disabled{cursor:wait;color:var(--muted)}.updates-fields:focus-within{border-color:var(--paper)}.updates .ml-error input{outline:1px solid #da9696}.updates .row-success h3{font-size:24px;font-weight:400;letter-spacing:-.035em;margin:0}.updates .row-success{outline:none;padding:8px 0}.updates-form input::placeholder{color:#888}

/* Footer links and quiet, readable policy pages. */
.legal-links{display:flex;gap:26px}.legal-links a,.updates-form p a{text-decoration:underline;text-underline-offset:3px}.legal-links a{text-decoration:none}.legal-links a:hover{text-decoration:underline}.legal-header{padding:36px var(--gutter);display:flex;justify-content:space-between;align-items:center}.legal-back{font:11px Basier,monospace}.legal-content{max-width:800px;margin:50px auto 100px;padding:0 28px}.legal-content h1{font-size:clamp(44px,7vw,80px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:24px 0 40px}.legal-content h2{font-size:23px;letter-spacing:-.025em;line-height:1.25;margin:36px 0 12px}.legal-content p{font-size:16px;line-height:1.75;color:#b7b7b2;margin:0 0 16px}.legal-content .legal-lead{font-size:18px;color:var(--paper)}.legal-content a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-content .eyebrow{font:10px Basier,monospace;color:var(--muted)}@media(max-width:760px){.legal-header{padding-top:25px}.legal-content{margin:28px auto 60px;padding:0 var(--gutter)}.legal-links{gap:20px}.footer-bottom{gap:20px;align-items:center}}

/* Open location column: date, city, event, time, registration. */
.event-detail .event-venue{line-height:1.55}
.event-location{display:flex;flex-direction:column;gap:9px;font-family:Basier,monospace;font-size:13px}
.event-location .muted{font-size:10px}
@media(min-width:761px) and (max-width:1050px){.event{gap:18px;grid-template-columns:.7fr 1fr 1.6fr .4fr .8fr}.event-detail h3{font-size:21px}.event-link{padding:13px 12px}}
@media(max-width:760px){.event{grid-template-columns:90px minmax(0,1fr);row-gap:20px;align-items:start}.event-date{grid-column:1;grid-row:1}.event-location{grid-column:2;grid-row:1;font-size:13px}.event-detail{grid-column:2;grid-row:2}.event-time{grid-column:1;grid-row:2;padding-top:4px}.event-link{grid-column:2;grid-row:3}}

