/* Cinema's surfaces use a wider gray range; Verbena keeps its discipline colors. */
.cinema-page .hero{position:relative;isolation:isolate;width:min(1440px,100%);padding:clamp(24px,3vw,44px) max(24px,5vw) clamp(34px,4vw,54px);overflow:hidden;background:repeating-linear-gradient(0deg,#00000008 0 1px,transparent 1px 8px),linear-gradient(145deg,#f2f2ef 0 58%,#d2d2d2 58.2% 100%);color:#101010;border-bottom:1px solid #111}
.cinema-page .hero::before{content:"";position:absolute;inset:18px;z-index:-1;border:1px solid #1116;pointer-events:none}
.cinema-page .hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);gap:clamp(36px,5vw,78px);align-items:center;padding:0}
.cinema-page .cinema-cover-logo{width:min(100%,720px);margin:0}
.cinema-page .cinema-cover-logo img{display:block;width:100%;height:auto;filter:none;mix-blend-mode:multiply}
.cinema-page .cinema-cover-meta{display:inline-flex;align-items:baseline;gap:13px;margin:26px 0 22px;padding:12px 17px;background:#111;color:#fff;border:2px solid #111;box-shadow:5px 5px 0 #8d8d8d;transform:rotate(-1deg);line-height:1.25}
.cinema-page .cinema-cover-meta strong{font-size:clamp(1.15rem,2vw,1.55rem)}
.cinema-page .cinema-cover-meta span{font-size:.92rem;font-weight:700}
.cinema-page .hero-copy .cinema-cover-statement{max-width:34ch;margin:0 0 13px;color:#111;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:850;line-height:1.25}
.cinema-page .hero-copy .cinema-cover-description{max-width:42ch;margin:0 0 28px;color:#292929;font-size:1.06rem;line-height:1.6}
.cinema-page .hero-copy h1 .outline{color:#626262;-webkit-text-stroke:0}
.cinema-page .hero-copy p{color:#252525}
.cinema-page .hero-topline{border-color:#777}
.cinema-page .hero-visual{background:#111;box-shadow:7px 8px 0 #888}
.cinema-page .hero-logo-clean{background:#fff;border:0}
.cinema-page .hero .button{background:#fff;color:#111;border-color:#111;box-shadow:3px 3px 0 #888}
.cinema-page .hero .button.primary,.cinema-page .hero .button:hover{background:#111;color:#fff}
.cinema-page .quick-dates{gap:12px}
.cinema-page .quick-date{padding:14px 12px}
.cinema-page .quick-date:not(.quick-date--25n){background:#292929;border:1px solid #777;color:#fff}
.cinema-page .quick-date:not(.quick-date--25n) small{color:#e5e5e5}
.cinema-page .quick-date:not(.quick-date--25n):hover{background:#eee;color:#111}
.cinema-page .quick-date:not(.quick-date--25n):hover small{color:#333}
.cinema-page .program-tabs{border-color:#888}
.cinema-page .program-tabs .tab{background:#303030;border-color:#aaa;color:#fff;box-shadow:3px 3px 0 #555}
.cinema-page .program-tabs .tab[aria-pressed=true]{background:#fff;border-color:#fff;color:#111}
.cinema-page .result-count{color:#eee}
.cinema-page .filter-disclosure{background:#242424;border:1px solid #777;padding:0 20px}
.cinema-page .filter-disclosure summary{color:#fff;font-size:1rem}
.cinema-page .field select{background:#101010;border-color:#aaa}
.cinema-page .event:not(.event--verbena){--film-bg:#fff;--film-fg:#111;--film-head:#fff;--film-line:#111;background:var(--film-bg);color:var(--film-fg);border:2px solid var(--film-line);box-shadow:5px 5px 0 #777}
.cinema-page .event:not(.event--verbena).event--25n{--film-line:#f36b21}
.cinema-page .event:not(.event--verbena)::before,.cinema-page .event:not(.event--verbena)::after{display:none}
.cinema-page .event:not(.event--verbena) .event-header{background:var(--film-head);color:var(--film-fg);border-bottom:2px solid var(--film-line)}
.cinema-page .event:not(.event--verbena) .event-date{gap:4px 8px;flex-wrap:wrap;min-width:0;max-width:50%}
.cinema-page .event:not(.event--verbena) .program-number{padding:5px 9px;border:1px solid currentColor;width:fit-content;max-width:100%}
.cinema-page .event:not(.event--verbena) .event-footer{border-top:1px solid var(--film-line);background:var(--film-head)}
.cinema-page .event:not(.event--verbena) .favorite{background:var(--film-fg);color:var(--film-bg);border-color:var(--film-line)}
.cinema-page .event:not(.event--verbena) .favorite[aria-pressed=true]{background:var(--film-bg);color:var(--film-fg);text-decoration:underline;text-underline-offset:5px}
.cinema-page .route-section{background:#d6d6d6}
.cinema-page .route-summary{background:#fff;box-shadow:6px 6px 0 #888}
.cinema-page .detail:not(.detail--verbena) .detail-card{background:#fff;color:#111}
.cinema-page .detail:not(.detail--verbena) .detail-header{background:#fff;color:#111;border-bottom:2px solid #111}
.cinema-page .detail:not(.detail--verbena) .detail-date{background:#fff;color:#111;border-color:#fff;box-shadow:4px 4px 0 #777}
.cinema-page .detail.detail--25n .detail-date{background:#f36b21;color:#111;border-color:#f36b21}
.cinema-page .detail:not(.detail--verbena) .button.primary{background:#111;color:#fff;border-color:#111}
@media(max-width:760px){.cinema-page .quick-dates{gap:10px}.cinema-page .quick-date{padding:12px 10px}.cinema-page .filter-disclosure{padding:0 14px}.cinema-page .hero-visual{box-shadow:4px 5px 0 #888}}

.cinema-page .film-posters{position:relative;isolation:isolate;min-width:0;width:100%;padding:32px 16px 28px;background:#080808;border:3px solid #111;outline:1px solid #fff;outline-offset:-9px;box-shadow:8px 9px 0 #777;transform:none}
.cinema-page .film-posters::before,.cinema-page .film-posters::after{content:"";position:absolute;left:16px;right:16px;z-index:3;height:18px;background:radial-gradient(circle,#fff 0 3px,#777 3.5px 4.5px,transparent 5px) left center/24px 18px repeat-x;pointer-events:none}
.cinema-page .film-posters::before{top:8px}
.cinema-page .film-posters::after{bottom:8px}
.cinema-page .film-marquee-title{position:relative;z-index:1;display:grid;place-items:center;min-height:60px;margin:0 0 13px;padding:12px 16px;background:#f4f4f0;color:#111;border:2px solid #fff;outline:1px solid #111;outline-offset:-6px;font-family:'Archivo Black',Arial,sans-serif;font-size:clamp(1.1rem,2vw,1.55rem);font-weight:900;letter-spacing:.11em;text-align:center}
.cinema-page .film-poster-viewport{touch-action:pan-y;background:#171717;border:1px solid #8b8b8b}
.cinema-page .film-poster-slide{margin:0;min-width:0;animation:film-poster-appear .3s ease}
.cinema-page .film-poster-slide img{display:block;width:100%;height:clamp(330px,34vw,440px);object-fit:contain;background:#171717;filter:none;mix-blend-mode:normal}
.cinema-page .film-poster-slide figcaption{display:flex;align-items:center;justify-content:center;min-height:66px;padding:14px 16px;background:#f1f1ed;color:#111;font-size:1rem;font-weight:850;line-height:1.4;letter-spacing:.06em;text-align:center;text-transform:uppercase}
.cinema-page .film-poster-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 4px 0;border-top:1px solid #555;color:#fff}
.cinema-page .film-poster-count{font-size:1rem;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:4px}
.cinema-page .film-poster-buttons{display:flex;align-items:center;gap:8px}
.cinema-page .film-poster-buttons button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #999;background:#333;color:#fff;font-size:1rem;font-weight:700;line-height:1.4}
.cinema-page .film-poster-buttons button:hover,.cinema-page .film-poster-buttons button:focus-visible{background:#fff;color:#111}
@keyframes film-poster-appear{from{opacity:.25}to{opacity:1}}
@media(max-width:900px){.cinema-page .hero-grid{grid-template-columns:1fr}.cinema-page .cinema-cover-logo{max-width:700px}.cinema-page .film-posters{max-width:560px;margin-inline:auto}}
@media(max-width:760px){.cinema-page .hero{padding:30px 18px 40px}.cinema-page .hero::before{inset:10px}.cinema-page .cinema-cover-logo{width:100%}.cinema-page .cinema-cover-meta{flex-wrap:wrap;gap:4px 10px;margin:20px 0;padding:10px 13px}.cinema-page .hero-copy .cinema-cover-statement{font-size:clamp(1.25rem,6vw,1.7rem)}.cinema-page .hero-copy .cinema-cover-description{font-size:1rem}.cinema-page .film-posters{padding:29px 10px 27px;box-shadow:4px 5px 0 #777}.cinema-page .film-posters::before,.cinema-page .film-posters::after{left:10px;right:10px;height:16px;background-size:20px 16px}.cinema-page .film-posters::before{top:7px}.cinema-page .film-posters::after{bottom:7px}.cinema-page .film-marquee-title{min-height:52px;margin-bottom:9px;padding:10px;font-size:1rem}.cinema-page .film-poster-slide img{height:clamp(310px,100vw,430px)}.cinema-page .film-poster-slide figcaption{min-height:62px;padding:12px;font-size:.92rem}.cinema-page .film-poster-controls{gap:6px;padding-inline:0}.cinema-page .film-poster-buttons{gap:6px}}
@media(prefers-reduced-motion:reduce){.cinema-page .film-poster-slide{animation:none}}

.cinema-page .cinema-ribbon{display:grid;place-items:center;min-height:68px;padding:14px 24px;overflow:hidden;background:#111;color:#fff;border-block:1px solid #fff;text-align:center}
.cinema-page .cinema-ribbon span{font-family:'Archivo Black',Arial,sans-serif;font-size:clamp(1.35rem,3.2vw,3rem);font-weight:900;line-height:1.1;letter-spacing:.015em;overflow-wrap:anywhere}

/* The November 20 card overrides Cinema's alternating gray surfaces. */
.cinema-page .event.event--rainbow:not(.event--verbena)[data-event="act-009"]{--film-bg:#fff;--film-fg:#111;--film-head:#fff;--film-line:#111;background:#fff;color:#111}
.cinema-page .event.event--rainbow:not(.event--verbena) .event-header,.cinema-page .detail.detail--rainbow:not(.detail--verbena) .detail-header{background-color:#fff;background-image:var(--inclusive-pride-stripe);background-size:100% 16px;background-position:top;background-repeat:no-repeat;padding-top:34px;color:#111}
.cinema-page .detail.detail--rainbow:not(.detail--verbena) .detail-card,.cinema-page .detail.detail--rainbow .detail-topline{background:#fff;color:#111}
.cinema-page .event.event--rainbow :is(.event-open,.event-footer,.event-description,.event-venue,.event-time,.event-category),.cinema-page .detail.detail--rainbow :is(.detail-content,.detail-date){background:#fff;color:#111}

/* Cinema program cards and their details always use white surfaces. */
.cinema-page .detail:not(.detail--verbena) .detail-topline{background:#fff;color:#111}
.cinema-page .detail:not(.detail--verbena) .detail-topline .activity-identity--cinema img,.cinema-page .event:not(.event--verbena) .activity-identity--cinema img{filter:grayscale(1);mix-blend-mode:multiply}
.cinema-page .event:not(.event--verbena) :is(.event-open,.event-description,.event-venue,.event-time){color:#111}

/* Cinema's producer and music controls belong to the same monochrome system. */
.cinema-page .festival-music-top{min-height:74px;padding:5px max(24px,calc((100vw - 1280px)/2));background:#fff;color:#0a0a0a;border-bottom:1px solid #0a0a0a}
.cinema-page .festival-producer-logo{height:62px;filter:brightness(0);mix-blend-mode:normal}
.cinema-page .festival-music-top .festival-music-button{background:#0a0a0a;color:#fff;border-color:#0a0a0a;box-shadow:none}
.cinema-page .festival-music-top .festival-music-button:hover{background:#fff;color:#0a0a0a}
.cinema-page .festival-music-top .festival-music-button:focus-visible{outline-color:#0a0a0a}

/* Who we are: two distinct projects, one shared production house. */
.cinema-page .about-section{scroll-margin-top:120px;padding:76px 0;background:#f4f4f0;color:#0a0a0a;border-block:1px solid #0a0a0a}
.cinema-page .about-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(34px,6vw,92px);padding-bottom:44px;border-bottom:2px solid #0a0a0a}
.cinema-page .about-intro h2{margin:12px 0 0;font-size:clamp(3.2rem,8vw,7.4rem);font-weight:900;line-height:.82;letter-spacing:-.07em}
.cinema-page .about-story{align-self:end;max-width:760px}
.cinema-page .about-story p{margin:0;font-size:clamp(1.08rem,1.7vw,1.4rem);line-height:1.55}
.cinema-page .about-story p+p{margin-top:18px}
.cinema-page .about-directors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:2px solid #0a0a0a}
.cinema-page .about-card{padding:40px 36px 44px 0}
.cinema-page .about-card+.about-card{padding-left:36px;border-left:1px solid #0a0a0a}
.cinema-page .about-role{display:block;margin-bottom:22px;font-size:.84rem;font-weight:850;line-height:1.35;letter-spacing:.09em;text-transform:uppercase}
.cinema-page .about-card h3{margin:0 0 16px;font-size:clamp(2rem,4.4vw,4.4rem);line-height:.92;letter-spacing:-.055em}
.cinema-page .about-card p{max-width:620px;margin:0;font-size:1.05rem;line-height:1.65}
.cinema-page .about-production{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:28px;padding-top:34px}
.cinema-page .about-production img{display:block;width:100%;height:92px;object-fit:contain;object-position:left center;filter:brightness(0);mix-blend-mode:multiply}
.cinema-page .about-production p{margin:0;font-size:1.05rem;line-height:1.5}
.cinema-page .about-production strong,.cinema-page .about-production span{display:block}
.cinema-page .about-production strong{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.1}
.cinema-page .about-production span{margin-top:7px}
@media(max-width:960px){.cinema-page .masthead-inner{flex-wrap:wrap;gap:12px;padding-block:14px}.cinema-page .nav{width:100%;order:2;justify-content:flex-start;gap:18px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.cinema-page .nav a{flex:0 0 auto;white-space:nowrap}}
@media(max-width:760px){.cinema-page .festival-music-top{min-height:66px;padding:4px 16px}.cinema-page .festival-producer-logo{height:54px}.cinema-page .about-section{padding:54px 0;scroll-margin-top:96px}.cinema-page .about-intro{grid-template-columns:1fr;gap:28px;padding-bottom:34px}.cinema-page .about-intro h2{font-size:clamp(3.15rem,19vw,5.2rem)}.cinema-page .about-directors{grid-template-columns:1fr}.cinema-page .about-card{padding:32px 0}.cinema-page .about-card+.about-card{padding-left:0;border-top:1px solid #0a0a0a;border-left:0}.cinema-page .about-card h3{font-size:clamp(2.5rem,13vw,4rem)}.cinema-page .about-production{grid-template-columns:86px minmax(0,1fr);gap:18px;padding-top:30px}.cinema-page .about-production img{height:72px}}
