.themes-main{overflow:visible;max-width:1800px;margin:0 auto;padding:44px 24px 80px}.themes-main h1{font-size:32px;line-height:1.2;letter-spacing:-.035em;font-weight:500;margin:0 auto 36px;max-width:1472px}.themes-grid{display:grid;grid-template-columns:repeat(auto-fit,350px);justify-content:center;align-items:start;gap:32px 24px;list-style:none;margin:0;padding:0}.theme{width:350px;max-width:100%;margin:0;break-inside:avoid}.theme img{display:block;width:100%;height:auto;object-fit:contain}.theme figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding-top:9px;font-size:13px;color:#555;line-height:1.5}.theme-year{color:#181818}.themes-page footer{max-width:none}.themes-page .brand{white-space:nowrap}@media(max-width:398px){.themes-main{padding:30px 16px 60px}.themes-grid{grid-template-columns:minmax(0,350px);gap:26px}.theme{width:100%}.themes-main h1{font-size:28px;margin-bottom:28px}}

/* Public-operation links on themes with documented poster associations */
.theme-image-stage{position:relative;aspect-ratio:7/10;overflow:hidden;background:#fff}
.theme-image-stage>img{width:100%;height:100%;object-fit:contain;transition:opacity .22s ease}
.theme-operation-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;background:#fff;opacity:0;pointer-events:none;transition:opacity .22s ease}
.theme-operation-overlay a{font-size:15px;line-height:1.4;text-decoration:none;color:#181818}
.theme-operation-overlay a:hover,.theme-operation-overlay a:focus-visible{color:#e83224}
.theme-linked:hover .theme-image-stage>img,.theme-linked:focus-within .theme-image-stage>img{opacity:0}
.theme-linked:hover .theme-operation-overlay,.theme-linked:focus-within .theme-operation-overlay{opacity:1;pointer-events:auto}
@media(hover:none){.theme-image-stage{aspect-ratio:auto;height:auto;overflow:visible}.theme-image-stage>img{height:auto}.theme-operation-overlay{position:static;opacity:1;pointer-events:auto;padding:17px 0 4px;gap:12px}.theme-operation-overlay a{font-size:14px}}
@media(max-width:750px){.theme-operation-overlay{gap:12px;padding:16px}.theme-operation-overlay a{font-size:14px}}
