/* Poster programme strip, limited to the former introduction section. */
.poster-section{padding:58px 0;background:var(--bg)}
.poster-layout{display:grid;grid-template-columns:100px minmax(0,1fr);gap:32px}
.poster-sidebar h2{font-size:14px;font-weight:600;color:var(--muted);margin:0 0 16px}
.poster-filters{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.poster-filter{position:relative;border:0;background:none;text-align:left;min-height:40px;padding:0 0 0 18px;font:inherit;font-size:20px;font-weight:700;color:var(--muted);cursor:pointer}
.poster-filter[aria-pressed=true]{color:var(--navy)}
.poster-filter[aria-pressed=true]::before{content:'';position:absolute;left:0;top:50%;width:10px;height:3px;background:var(--teal)}
.poster-more{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--navy);padding:7px 10px;margin-top:24px;min-height:40px;color:var(--navy);font-size:14px;text-decoration:none}
.poster-content{min-width:0}.poster-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0;padding:0;list-style:none}.poster-track::-webkit-scrollbar{display:none}
.poster-item{flex:0 0 calc((100% - 84px)/4);min-width:0;scroll-snap-align:start}
.poster-link{display:block;color:var(--text);text-decoration:none}.poster-image{position:relative;display:block;aspect-ratio:5/7;background:#fff;overflow:hidden}
.poster-image img{display:block;width:100%;height:100%;object-fit:contain}
.poster-state{position:absolute;left:0;top:0;padding:3px 7px;background:var(--navy);color:#fff;font-size:12px;font-weight:600}
.poster-kind{display:block;margin-top:14px;color:var(--blue);font-size:14px}
.poster-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:6px 0 18px;min-height:3em;font-size:17px;font-weight:700;line-height:1.5;color:var(--text);word-break:keep-all}
.poster-link:hover .poster-name{text-decoration:underline;text-underline-offset:4px}.poster-date{display:block;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.poster-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.poster-controls button{width:40px;height:40px;border:1px solid var(--border);background:#fff;color:var(--navy);font-size:20px;cursor:pointer;border-radius:4px}.poster-controls button:disabled{opacity:.35;cursor:default}.poster-count{font-size:13px;color:var(--muted);margin-right:8px}.poster-empty{width:100%;padding:50px 0;color:var(--muted);font-size:15px}
@media(max-width:1100px){.poster-item{flex-basis:calc((100% - 48px)/3)}.poster-track{gap:24px}.poster-layout{gap:24px;grid-template-columns:92px minmax(0,1fr)}}
@media(max-width:760px){.poster-section{padding:34px 0}.poster-layout{display:block}.poster-sidebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.poster-sidebar h2{width:100%;margin:0;font-size:16px;color:var(--navy)}.poster-filters{flex-direction:row;gap:16px}.poster-filter{font-size:16px;padding:0;min-height:40px;border-bottom:2px solid transparent}.poster-filter[aria-pressed=true]{border-bottom-color:var(--teal)}.poster-filter[aria-pressed=true]::before{display:none}.poster-more{margin:0;font-size:12px;min-height:36px;padding:4px 8px;gap:8px}.poster-track{gap:18px}.poster-item{flex-basis:calc((100% - 18px)/2)}.poster-name{font-size:15px}.poster-kind,.poster-date{font-size:12px}}
@media(max-width:420px){.poster-filters{gap:13px}.poster-item{flex-basis:72%}.poster-more{margin-left:auto}.poster-track{scroll-padding-right:20px}}
@media(prefers-reduced-motion:reduce){.poster-track{scroll-behavior:auto}}
