/* Film stills become complete poster compositions; book artwork stays intact. */
.film-poster{position:relative;isolation:isolate;aspect-ratio:4/5;overflow:hidden;background:#15101e;color:#fff}
.composed-poster>.cap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;margin:-1px}
.caro .film-poster .poster-ambient{position:absolute;inset:-10%;width:120%!important;height:120%!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;object-fit:cover!important;filter:blur(24px) brightness(.45);opacity:.75}
.film-poster::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07040a66,transparent 40%,#08060dd9 80%,#08060d);pointer-events:none}
.caro .film-poster .poster-art{position:absolute;inset:21% 0 auto;width:100%!important;height:49%!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important;background:transparent!important}
.caro .film-poster.portrait .poster-art{inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 45%}
.poster-type{position:absolute;z-index:2;top:7%;left:8%;right:8%;font:9px/1.5 'Offside',sans-serif;text-transform:uppercase;letter-spacing:.16em}
.poster-heading{position:absolute;z-index:2;bottom:7%;left:8%;right:8%}
.poster-heading strong{display:block;font:clamp(17px,1.5vw,24px)/1.2 'Offside',sans-serif;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere}
.poster-heading>span{display:block;border-top:1px solid #ffffff45;margin-top:13px;padding-top:10px;font:7px/1.4 'Offside',sans-serif;letter-spacing:.2em;color:#d5c9df}
#booksCaro .book-card{background:#0c0a10}
#booksCaro .book-card>img{width:100%;height:auto;aspect-ratio:2/3;min-height:0;max-height:none;object-fit:contain;background:#0c0a10}
.book-author{display:block;margin-top:7px;font-size:.78em;line-height:1.4;color:#bfb4cb}
#booksCaro,#tvCaro{justify-content:flex-start;scrollbar-width:none}
#booksCaro::-webkit-scrollbar,#tvCaro::-webkit-scrollbar{display:none}
@media(max-width:800px){.poster-heading strong{font-size:clamp(14px,4vw,21px)}.poster-type{font-size:8px}.poster-heading>span{font-size:6px;margin-top:9px;padding-top:7px}#booksCaro .book-card>img{height:min(44vh,calc(var(--phone-height) - 350px - var(--phone-top) - var(--phone-bottom)));min-height:100px;aspect-ratio:auto}}
@media(max-height:500px) and (pointer:coarse){.poster-type{font-size:7px}.poster-heading strong{font-size:12px}.poster-heading>span{display:none}}
