:root{--paper:#f8f8f5;--ink:#111;--line:#1113;--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.2em}a:focus-visible{outline:2px solid currentColor;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;padding:14px;background:var(--paper);z-index:10}.skip-link:focus{top:20px}
.masthead{padding:24px var(--pad);min-height:78svh;display:grid;grid-template-rows:auto auto 1fr auto}.topbar{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;font-size:13px;align-items:center}.topbar a{padding:12px 0}.wordmark-small{font-weight:600;letter-spacing:.04em}.tagline-top{text-align:center}.nav-rsvp{justify-self:end}.hero-location{font:11px/1.6 ui-monospace,monospace;letter-spacing:.06em;margin-top:32px;text-align:center}.hero-brand{margin:0;align-self:center;width:100%}.hero-brand img{width:100%;mix-blend-mode:multiply}.section-marker{display:flex;justify-content:space-between;align-items:center;font:14px ui-monospace,monospace}.section-marker a{font-size:44px;padding:10px}
section{padding:clamp(64px,8vw,120px) var(--pad)}.section-kicker{font:12px/1.5 ui-monospace,monospace;letter-spacing:.06em;margin-bottom:48px}.screening{background:var(--ink);color:var(--paper)}.screening-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px);align-items:center}.screening-copy h2{font:normal clamp(68px,8vw,128px)/.95 Georgia,serif;letter-spacing:-.06em;margin:20px 0}.eyebrow,.film-meta,.event-details{font:12px/1.65 ui-monospace,monospace;letter-spacing:.02em}.film-meta{font-size:15px}.film-description{font:20px/1.5 Georgia,serif;max-width:29em;margin:28px 0}.event-details{margin:36px 0 24px}.event-details p{margin:0}.button{display:inline-block;padding:16px 22px;font-size:13px;letter-spacing:.04em;min-height:48px;border:1px solid var(--paper)}.button-light{color:var(--ink);background:var(--paper)}.button:hover{background:var(--ink);color:var(--paper);text-decoration:none}.rsvp-note{font-size:13px;line-height:1.5;max-width:28em;margin:16px 0}.email-rsvp{display:inline-block;font-size:13px;padding:10px 0;text-decoration:underline}.film-art{margin:0}.film-art img{width:100%}.film-art figcaption{display:flex;justify-content:space-between;gap:16px;font-size:10px;line-height:1.5;margin-top:12px;color:#ccc}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,120px)}.about-lead{font:normal clamp(30px,4.3vw,64px)/1.04 Georgia,serif;letter-spacing:-.045em;margin:0}.about-badge{width:124px;margin-top:40px;mix-blend-mode:multiply}.about-copy{font-size:clamp(18px,1.5vw,23px);line-height:1.55;align-self:center}.about-copy p:first-child{margin-top:0}.manifesto{margin:0 var(--pad);padding:32px 0 56px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:32px;align-items:baseline}.manifesto h2,.manifesto .manifesto-line{font:normal clamp(26px,3vw,42px)/1.2 Georgia,serif;margin:0}.archive{border-top:1px solid var(--line)}.archive-heading{display:flex;justify-content:space-between;gap:24px}.archive-heading p{margin:0;font:18px/1.4 Georgia,serif}.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.poster img{width:100%}.poster h2{font:normal 32px/1.1 Georgia,serif;margin:12px 0}.poster p,.poster-num{font:11px/1.6 ui-monospace,monospace;margin:0}.poster-num{display:block;margin-top:18px}
.contact{background:var(--ink);color:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-lead{font:normal clamp(42px,5.5vw,80px)/1.08 Georgia,serif;letter-spacing:-.04em;margin:0}.contact-support{font-size:18px;line-height:1.5;max-width:30em;margin-top:28px}.contact-links{display:flex;flex-direction:column;align-items:flex-end;justify-content:end;gap:10px}.contact-links a{font-size:clamp(16px,1.6vw,23px);padding:10px 0;overflow-wrap:anywhere}.contact-brand{width:310px;filter:invert(1);mix-blend-mode:screen;margin-bottom:24px}.footer{padding:28px var(--pad) 24px}.footer-brand{margin-bottom:24px}.footer-wordmark{width:180px;mix-blend-mode:multiply}.footer-meta{border-top:1px solid var(--line);padding-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;font-size:10px;line-height:1.5}.footer-meta>span:last-child{text-align:right}
@media(min-width:1700px){.screening-grid,.about-grid,.contact-grid,.poster-grid,.archive-heading{max-width:1600px;margin-inline:auto}.hero-brand{max-width:1700px;justify-self:center}}
@media(max-width:850px){.masthead{min-height:60svh}.screening-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.film-art{margin-top:12px}.about-badge{width:100px}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-links{align-items:flex-start}.contact-brand{width:240px;align-self:flex-end}.manifesto{display:block}.manifesto .manifesto-line{margin-top:20px}}
@media(max-width:520px){.topbar{grid-template-columns:1fr auto;font-size:12px}.tagline-top{grid-row:2;grid-column:1/-1}.hero-location{font-size:10px;margin-top:20px}.masthead{min-height:52svh}.hero-brand{margin:20px -8px;width:calc(100% + 16px)}.section-kicker{margin-bottom:32px}.archive-heading{display:block}.archive-heading p{margin-bottom:28px}.poster-grid{grid-template-columns:1fr}.poster{max-width:330px}.film-art figcaption{display:block}.film-art figcaption a{display:block;margin-top:4px}.footer-meta{grid-template-columns:1fr 1fr}.footer-meta>span:last-child{text-align:left}.event-details{font-size:11px}.contact-links{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Artwork scale and placement revision. */
.masthead{min-height:90svh}
.hero-brand{width:min(100%,740px);justify-self:center;margin:-24px 0}
.hero-brand img{width:100%}
.about-badge{width:min(100%,620px);margin-top:56px}
.poster-grid{grid-template-columns:minmax(0, min(72%, 920px));justify-content:start}
.poster{max-width:none}
.contact-brand{width:min(100%,640px);align-self:flex-start;margin:0 0 24px;filter:invert(1);mix-blend-mode:screen}
.footer-brand{margin-left:calc(-1 * var(--pad));overflow:hidden;margin-bottom:32px}
.footer-brand>a{display:block;width:clamp(380px,62vw,900px);margin-left:calc(clamp(380px,62vw,900px) * -.1812)}
.footer-peeking{width:100%;mix-blend-mode:multiply}
@media(max-width:850px){
 .hero-brand{width:min(100%,600px);margin:0}
 .masthead{min-height:70svh}
 .about-badge{width:min(100%,580px)}
 .poster-grid{grid-template-columns:minmax(0,1fr)}
 .contact-brand{width:min(100%,580px);align-self:flex-start}
}
@media(max-width:520px){
 .hero-brand{width:100%;margin:0}
 .masthead{min-height:64svh}
 .about-badge{width:100%;margin-top:36px}
 .poster{max-width:none}
 .contact-brand{width:100%}
}

/* Desktop balance; retain the approved mobile proportions. */
@media(min-width:851px){
 .about-badge{width:min(75%,465px)}
 .poster-grid{grid-template-columns:minmax(0,min(54%,690px))}
 .contact-brand{width:min(125%,800px);max-width:125%;align-self:flex-end}
 .footer-brand>a{width:clamp(285px,46.5vw,675px);margin-left:calc(clamp(285px,46.5vw,675px) * -.1812)}
}

/* Shared editorial measure and a shorter, screening-led opening. */
:root{--content:1200px;--gutter:clamp(20px,4vw,64px);--pad:max(var(--gutter),calc((100vw - var(--content))/2))}
.masthead{min-height:0;grid-template-rows:auto auto auto auto auto;padding-top:16px;padding-bottom:16px}
.hero-brand{width:min(100%,540px);margin:-24px 0 -30px;justify-self:center}
.hero-next{justify-self:center;text-align:center;font:12px/1.6 ui-monospace,monospace;padding:14px 0}
.hero-location{margin-top:18px}
.section-marker{margin-top:4px}
.section-marker a{font-size:30px;padding:6px}
.screening-grid,.about-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,72px);align-items:start}
.about-copy{align-self:start}
.about-copy p:first-child{font-family:Georgia,serif;font-size:clamp(24px,2.15vw,34px);line-height:1.25}
.about-copy .about-emphasis{font-family:Georgia,serif;font-size:clamp(21px,1.8vw,29px);line-height:1.3}
.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.poster{width:100%;max-width:none}
.contact-links{align-self:end;align-items:flex-start}
.contact-support{margin-bottom:0}
@media(max-width:850px){
 .screening-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
 .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-brand{width:min(100%,480px);margin:-12px 0 -20px}
 .masthead{min-height:0}
}
@media(max-width:520px){
 .hero-brand{width:100%;margin:0}
 .hero-next{font-size:11px}
 .poster-grid{grid-template-columns:1fr}
 .poster{max-width:330px}
}
.history-title{font:normal clamp(38px,5vw,66px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:12px 0 20px}
.history-intro{font-size:18px;line-height:1.5;max-width:40em;margin-bottom:40px}
.history-year{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.history-year summary{cursor:pointer;padding:22px 0;font:26px Georgia,serif}
.history-year summary span{font:12px/1.5 ui-monospace,monospace;float:right;padding-top:8px}
.history-year summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px;padding:12px 0 36px}
.history-month h3{font:11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;margin:0 0 18px}
.history-month ul{list-style:none;padding:0;margin:0}
.history-month li{font:20px/1.35 Georgia,serif;margin-bottom:12px}
@media(max-width:850px){.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.history-grid{grid-template-columns:1fr;gap:24px}.history-year summary span{font-size:10px}.history-month li{font-size:21px}}
.history-series{font:10px/1.5 ui-monospace,monospace;color:#555;margin:20px 0 10px}
.history-month h3+.history-series{margin-top:0}
.gummo-cover-feature{width:min(100%,690px);margin:0 0 clamp(64px,8vw,110px)}
.gummo-cover-feature img{width:100%;height:auto}
.gummo-cover-feature figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:16px;font:11px/1.6 ui-monospace,monospace}
@media(max-width:520px){.gummo-cover-feature figcaption{flex-direction:column;gap:6px}}

/* Larger opening artwork without adding another tall hero. */
@media(min-width:851px){
 .hero-brand{width:min(100%,700px);margin:-48px 0 -62px}
 .hero-location{margin-top:10px;margin-bottom:0}
 .hero-next{padding:10px 0}
 .masthead{padding-top:12px;padding-bottom:8px}
}
@media(min-width:851px) and (max-height:750px){
 .hero-brand{width:min(100%,620px);margin:-42px 0 -54px}
}

/* Archive selections */

/* A quieter invitation on Page 03. */
.about-lead{font-size:clamp(26px,3.4vw,52px)}

/* Videodrome screening card: hold the event’s place until licensed film art is supplied. */
.film-art-type{border:1px solid currentColor;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,44px);aspect-ratio:1/1;color:var(--paper)}
.film-art-type-inner{display:flex;min-height:100%;flex:1;flex-direction:column;justify-content:space-between;gap:32px}
.film-art-type span,.film-art-type small{font:11px/1.5 ui-monospace,monospace;letter-spacing:.06em}
.film-art-type strong{font:normal clamp(52px,8vw,118px)/.8 Georgia,serif;letter-spacing:-.07em;overflow-wrap:anywhere}
.film-art-type figcaption{margin-top:36px}
.venue-link{display:block;width:max-content;max-width:100%;text-decoration:underline;text-underline-offset:.22em}

/* Keep the Videodrome cover title intact at every viewport. */
.film-art-type strong{font-size:clamp(38px,5vw,78px)}
.film-title-long{font-size:clamp(45px,5.25vw,78px)!important;letter-spacing:-.065em!important}

/* Long screening titles must not create horizontal scrolling on phones. */
.film-title-long{font-size:clamp(40px,4.4vw,68px)!important;line-height:.92!important;overflow-wrap:anywhere}
.film-description{overflow-wrap:break-word}
.venue-link{width:auto;overflow-wrap:anywhere}
@media(max-width:520px){
 .film-title-long{font-size:clamp(38px,10.4vw,48px)!important;letter-spacing:-.06em!important}
 .screening-copy h2{max-width:100%}
}

/* Compact treatment for long film titles. */
.film-title-long{font-size:clamp(32px,3vw,48px)!important;line-height:.94!important}
@media(max-width:520px){.film-title-long{font-size:clamp(30px,7.8vw,36px)!important;letter-spacing:-.04em!important}}
