.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}
.film-posters::before,.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}
.film-posters::before{top:8px}
.film-posters::after{bottom:8px}
.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}
.film-poster-viewport{touch-action:pan-y;background:#171717;border:1px solid #8b8b8b}
.film-poster-slide{margin:0;min-width:0;animation:film-poster-appear .3s ease}
.film-poster-slide img{display:block;width:100%;height:clamp(330px,34vw,440px);object-fit:contain;background:#171717;filter:none;mix-blend-mode:normal}
.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}
.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}
.film-poster-count{font-size:1rem;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:4px}
.film-poster-buttons{display:flex;align-items:center;gap:8px}
.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}
.film-poster-buttons button:hover,.film-poster-buttons button:focus-visible{background:#fff;color:#111}
@keyframes film-poster-appear{from{opacity:.25}to{opacity:1}}

.film-poster-slide[hidden]{display:none!important}.artist-carousel,.talent-carousel{max-width:560px;margin-inline:auto}.artist-carousel figcaption,.talent-carousel figcaption{flex-direction:column;gap:8px}.artist-carousel figcaption a,.talent-carousel figcaption a{font-size:14px;color:inherit}.artist-carousel figcaption small{font-size:12px;letter-spacing:normal;text-transform:none}.artist-carousel figcaption strong{font:inherit}.artist-carousel .film-marquee-title{background:#91d548}.artist-carousel .film-poster-slide figcaption{background:#ef69b0}.artist-carousel{box-shadow:8px 9px 0 #91d548}
@media(max-width:760px){.film-posters{padding:29px 10px 27px;box-shadow:4px 5px 0 #777}.film-posters::before,.film-posters::after{left:10px;right:10px;height:16px;background-size:20px 16px}.film-posters::before{top:7px}.film-posters::after{bottom:7px}.film-marquee-title{min-height:52px;margin-bottom:9px;padding:10px;font-size:1rem}.film-poster-slide img{height:clamp(310px,100vw,430px)}.film-poster-slide figcaption{min-height:62px;padding:12px;font-size:.92rem}.film-poster-controls{gap:6px;padding-inline:0}.film-poster-buttons{gap:6px}.artist-carousel{box-shadow:4px 5px 0 #91d548}}
@media(prefers-reduced-motion:reduce){.film-poster-slide{animation:none}}

/* Compact shared marquee, placed within each top hero. */
section#vs-route-app .vs-hero,.cinema-page .hero-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(280px,360px);gap:clamp(24px,4vw,58px);align-items:center}
section#vs-route-app .vs-hero{min-height:0;padding:30px 5vw;overflow:visible}
section#vs-route-app .vs-hero-editorial{min-width:0}
section#vs-route-app .vs-hero-editorial .vs-logo{max-width:640px}
section#vs-route-app .vs-hero-editorial .vs-cinema-sublink{max-width:470px;margin-block:14px}
section#vs-route-app .vs-hero-editorial .vs-hero-copy{margin-top:18px;text-align:left}
section#vs-route-app .vs-hero-editorial .vs-hero-copy>p{max-width:48ch;margin:12px 0;font-size:1rem}
section#vs-route-app .vs-hero-editorial .vs-edition{padding:10px 14px;transform:none}
section#vs-route-app .vs-hero-editorial .vs-edition-number{font-size:1.4rem;line-height:1.1}
section#vs-route-app .vs-hero-editorial .vs-edition strong{font-size:1.15rem}
:is(.cinema-page,section#vs-route-app) .film-posters{max-width:360px;width:100%;padding:19px 9px 17px;margin-inline:auto;border-width:2px;outline-offset:-5px;box-shadow:4px 5px 0 #777;scroll-margin-top:20px}
:is(.cinema-page,section#vs-route-app) .film-posters::before,:is(.cinema-page,section#vs-route-app) .film-posters::after{left:9px;right:9px;height:9px;background:radial-gradient(circle,#fff7be 0 2px,#827c56 2.5px,transparent 3px) left center/16px 9px repeat-x}
:is(.cinema-page,section#vs-route-app) .film-posters::before{top:5px}
:is(.cinema-page,section#vs-route-app) .film-posters::after{bottom:4px}
:is(.cinema-page,section#vs-route-app) .film-marquee-title{min-height:34px;margin-bottom:6px;padding:6px 9px;font-family:'Archivo Black',Impact,sans-serif;font-size:.95rem;letter-spacing:.13em;outline-offset:-4px}
:is(.cinema-page,section#vs-route-app) .film-poster-slide img{height:300px;object-fit:contain;background:#111}
:is(.cinema-page,section#vs-route-app) .film-poster-slide figcaption{min-height:43px;padding:8px 9px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:1.15rem;font-weight:700;line-height:1.15;letter-spacing:0;text-transform:none;gap:4px}
:is(.cinema-page,section#vs-route-app) .film-poster-slide figcaption strong{font:inherit}
:is(.cinema-page,section#vs-route-app) .film-poster-slide figcaption a{font:600 11px/1.2 Arial,sans-serif}
:is(.cinema-page,section#vs-route-app) .film-poster-slide figcaption small{font:10px/1.2 Arial,sans-serif}
:is(.cinema-page,section#vs-route-app) .film-poster-controls{margin-top:7px;padding:6px 0 0;gap:6px}
:is(.cinema-page,section#vs-route-app) .film-poster-count{font-size:.8rem}
:is(.cinema-page,section#vs-route-app) .film-poster-buttons{gap:5px}
:is(.cinema-page,section#vs-route-app) .film-poster-buttons button{min-height:36px;min-width:36px;padding:5px 9px;font-size:.8rem}
section#vs-route-app .artist-carousel{box-shadow:4px 5px 0 #91d548}
@media(max-width:900px){section#vs-route-app .vs-hero,.cinema-page .hero-grid{grid-template-columns:1fr;gap:22px}section#vs-route-app .vs-hero{padding:24px 20px}section#vs-route-app .vs-hero-editorial .vs-hero-copy{text-align:center}section#vs-route-app .vs-hero-editorial .vs-hero-copy>p{margin-inline:auto}:is(.cinema-page,section#vs-route-app) .film-posters{max-width:320px}:is(.cinema-page,section#vs-route-app) .film-poster-slide img{height:280px}}

/* Direct crops of the user's approved posters, without redrawing artwork. */
section#vs-route-app .vs-hero{background:#2c1b53}
section#vs-route-app .vs-hero::before{inset:0;z-index:-1;opacity:.23;background-image:url('/identidad-2026/verbena-textura-original.png');background-size:146px 313px;background-repeat:repeat}
section#vs-route-app .vs-hero-editorial .vs-logo{width:min(100%,320px);margin:0 auto 14px;transform:none}
section#vs-route-app .vs-hero-editorial .vs-logo img{filter:none}
section#vs-route-app .vs-main{background-image:linear-gradient(#29134be8,#29134be8),url('/identidad-2026/verbena-textura-original.png');background-size:auto,146px 313px}
.cinema-page .hero{isolation:isolate;background:#dedede}
.cinema-page .hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.20;background:url('/identidad-2026/cinema-textura-original.png') repeat;background-size:340px 235px;pointer-events:none;border:0}
.cinema-page .program-section{background-image:linear-gradient(#f4f4f4ed,#f4f4f4ed),url('/identidad-2026/cinema-textura-original.png');background-size:auto,340px 235px}
@media(max-width:900px){section#vs-route-app .vs-hero-editorial .vs-logo{width:min(100%,260px)}}
