.film-catalog{--catalog-line:#ffffff32;--catalog-soft:#ffffffb3;--catalog-accent:#d2c8ff;--poster-width:clamp(226px,24vw,270px);--poster-step:calc(var(--poster-width)*1.24);position:relative}
.film-catalog-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap;flex:0 1 auto;min-width:0;max-width:100%}
.film-catalog-hero-actions .film-catalog-hero-link{background:transparent;color:#fff!important;border:0;border-bottom:1px solid #ffffff80;white-space:normal;max-width:100%}
.film-catalog-hero-actions .film-catalog-hero-link:hover{background:transparent;color:#fff!important;border-bottom-color:#fff}
.film-catalog [hidden]{display:none!important}
.film-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:30px 0 16px}
.film-catalog-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.film-catalog-filters button{appearance:none;min-height:42px;padding:10px 15px;border:1px solid var(--catalog-line);border-radius:30px;background:transparent;color:#eeedf7;font:inherit;font-size:12px;line-height:1.4;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.film-catalog-filters button:hover{border-color:#fff;background:#ffffff12}
.film-catalog-filters button[aria-pressed=true]{background:#f5f2ff;color:#292545;border-color:#f5f2ff}
.film-catalog-search{display:flex;align-items:center;gap:12px;width:min(100%,280px);min-width:210px;border-bottom:1px solid #ffffff75;padding:9px 0}
.film-catalog-search>svg{width:19px;height:19px;flex:none;color:var(--catalog-soft)}
.film-catalog-search input{appearance:none;display:block;min-width:0;width:100%;min-height:28px;padding:0;border:0;border-radius:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:13px;line-height:1.5}
.film-catalog-search input::placeholder{color:#ffffffad}
.film-catalog-search:focus-within{border-color:var(--catalog-accent);box-shadow:0 1px 0 var(--catalog-accent)}
.film-catalog-window{position:relative;isolation:isolate;outline:0;border-block:1px solid var(--catalog-line)}
.film-catalog-window:focus-visible{outline:2px solid var(--catalog-accent);outline-offset:4px}
.film-catalog .film-catalog-grid,.dulce-site .film-catalog .film-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;align-items:start}
.film-catalog .poster-card{min-width:0}
.film-catalog .poster-art,.film-catalog .poster-card:nth-child(even) .poster-art{aspect-ratio:2/3;transform:none;border:1px solid #ffffff26;border-radius:0;background:#1e1c38;box-shadow:0 16px 32px #08072066;overflow:visible}
.film-catalog .poster-art>img,.film-catalog .poster-art.poster-preserve>img{display:block;width:100%;height:100%;object-fit:cover}
.film-catalog .poster-open{right:10px;bottom:10px;width:31px;height:31px;border:1px solid #ffffff7a;background:#17152ce8;font-size:18px;backdrop-filter:none}
.film-catalog .poster-caption{padding-top:17px;text-align:center}
.film-catalog .poster-caption>span{display:block;font-size:10px;line-height:1.5;letter-spacing:.08em;color:#dbd7ef}
.film-catalog .poster-caption h3,.dulce-site .film-catalog .poster-caption h3{font-size:21px;line-height:1.2;margin:7px 0 0;letter-spacing:-.035em;font-weight:500;color:#fff;text-wrap:pretty}
/* Progressive enhancement keeps the complete poster grid as the no-script fallback. */
.film-catalog.is-ready .film-catalog-window{height:calc(var(--poster-width)*1.5 + 148px);overflow:hidden;perspective:1200px;perspective-origin:50% 44%;background:radial-gradient(ellipse at 50% 22%,#b6a7ff17,transparent 58%),linear-gradient(180deg,#25275460,#141a3c5c)}
.film-catalog.is-ready .film-catalog-window:before{content:"";position:absolute;z-index:-1;inset:62% 0 0;background:radial-gradient(ellipse at 50% 100%,#a8a1f526,transparent 65%);pointer-events:none}
.film-catalog.is-ready .film-catalog-window:after{content:"";position:absolute;z-index:12;inset:0;background:linear-gradient(90deg,#24264a88,transparent 12%,transparent 88%,#24264a88);pointer-events:none}
.film-catalog.is-ready .film-catalog-grid,.dulce-site .film-catalog.is-ready .film-catalog-grid{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;transform-style:preserve-3d;perspective:1200px}
.film-catalog.is-ready .poster-card,.dulce-site .film-catalog.is-ready .poster-card{position:absolute;left:50%;top:30px;width:var(--poster-width);margin:0;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(-50%,0,-72px) scale(.88);transform-origin:50% 45%;transition:transform 3s cubic-bezier(.4,0,.2,1),opacity 1.5s ease,visibility 3s;will-change:transform,opacity}
.film-catalog.is-ready[data-film-catalog-motion="running"] .poster-card,.dulce-site .film-catalog.is-ready[data-film-catalog-motion="running"] .poster-card{transition:transform 3s cubic-bezier(.4,0,.2,1),opacity 1.5s ease,visibility 3s}
.film-catalog.is-ready .poster-card:is([data-film-position="-2"],[data-film-position="-1"],[data-film-position="0"],[data-film-position="1"],[data-film-position="2"]){visibility:visible;pointer-events:auto}
.film-catalog.is-ready .poster-card[data-film-position="0"]{opacity:1;transform:translate3d(-50%,0,0)}
.film-catalog.is-ready .poster-card[data-film-position="-1"]{opacity:.9;transform:translate3d(calc(-50% - var(--poster-step)),0,-24px) rotateY(12deg) scale(.96)}
.film-catalog.is-ready .poster-card[data-film-position="1"]{opacity:.9;transform:translate3d(calc(-50% + var(--poster-step)),0,-24px) rotateY(-12deg) scale(.96)}
.film-catalog.is-ready .poster-card[data-film-position="-2"]{opacity:.65;transform:translate3d(calc(-50% - var(--poster-step)*2),0,-48px) rotateY(18deg) scale(.92)}
.film-catalog.is-ready .poster-card[data-film-position="2"]{opacity:.65;transform:translate3d(calc(-50% + var(--poster-step)*2),0,-48px) rotateY(-18deg) scale(.92)}
.film-catalog.is-ready .poster-card[data-film-position="-3"]{transform:translate3d(calc(-50% - var(--poster-step)*3),0,-72px) rotateY(22deg) scale(.88)}
.film-catalog.is-ready .poster-card[data-film-position="3"]{transform:translate3d(calc(-50% + var(--poster-step)*3),0,-72px) rotateY(-22deg) scale(.88)}
.film-catalog.is-ready .poster-art,.dulce-site .film-catalog.is-ready .poster-art:hover{transform:none!important;box-shadow:0 14px 24px #08091b66;transition:none;-webkit-box-reflect:unset}
.film-catalog.is-ready .poster-card .poster-caption{display:none}
.film-catalog-featured-caption{position:absolute;z-index:9;bottom:23px;left:50%;width:min(430px,calc(100% - 28px));transform:translateX(-50%);text-align:center;pointer-events:none}
.film-catalog-featured-caption>span{display:block;font-size:10px;line-height:1.5;letter-spacing:.08em;color:#dbd7ef}
.film-catalog-featured-caption h3,.dulce-site .film-catalog-featured-caption h3{font-size:21px;line-height:1.2;margin:7px 0 0;letter-spacing:-.035em;font-weight:500;color:#fff;text-wrap:pretty}
.film-catalog.is-ready .poster-card:not([data-film-position="0"]) .poster-open{opacity:0}
/* The stage itself owns attention: the selected artwork keeps its natural color. */
html body #main .film-catalog.is-ready .poster-card .poster-art,
html body #main .film-catalog.is-ready .poster-card .poster-art[data-attention-layer]{filter:none!important}
html body #main .film-catalog.is-ready .poster-card .poster-art>img{filter:none!important;transition:none!important}
.film-catalog-navigation{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0 0}
.film-catalog-page-controls{display:flex;align-items:center;gap:13px;min-width:0;flex:1}
.film-catalog-arrow{display:grid;place-items:center;flex:none;width:45px;height:45px;border:1px solid #ffffff80;border-radius:50%;padding:0;background:transparent;color:#fff;font:inherit;font-size:24px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.film-catalog-arrow:hover:enabled{background:#ffffff15;border-color:#fff}
.film-catalog-arrow:disabled{opacity:.28;cursor:default}
.film-catalog-page-label{display:flex;align-items:center;position:relative;min-height:44px;min-width:0;width:min(340px,100%)}
.film-catalog-page-label select{appearance:none;min-height:44px;min-width:0;width:100%;padding:10px 28px 10px 10px;border:0;border-bottom:1px solid #ffffff50;border-radius:0;background:transparent;color:#fff;font:inherit;font-size:12px;line-height:1.4;cursor:pointer;text-overflow:ellipsis}
.film-catalog-page-label select option{color:#fff;background:#252349}
.film-catalog-page-label select:disabled{opacity:.6;cursor:default}
.film-catalog-page-label>svg{position:absolute;right:8px;width:11px;height:8px;pointer-events:none}
.film-catalog-meta{display:flex;align-items:center;gap:20px;flex:none}
.film-catalog-count{margin:0!important;color:#e6e0fa!important;font-size:11px;letter-spacing:.035em;line-height:1.5;font-variant-numeric:tabular-nums;white-space:nowrap}
.film-catalog-play{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid #ffffff70;border-radius:0;background:transparent;color:#f1eefb;font:inherit;font-size:11px;line-height:1.5;cursor:pointer;white-space:nowrap}
.film-catalog-play:disabled{opacity:.42;cursor:default}
.film-catalog-play>span:first-child{width:14px;text-align:center;font-size:14px}
.film-catalog button:focus-visible,.film-catalog select:focus-visible{outline:2px solid var(--catalog-accent);outline-offset:4px}
.film-catalog-hint{display:block;color:var(--catalog-soft);font-size:10px;line-height:1.5;text-align:center;margin:12px 0 0}
.film-catalog-hint-touch{display:none}
.film-catalog-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}
.film-catalog-empty h3{font-size:25px;line-height:1.3;color:#fff}
.film-catalog-empty p{font-size:14px;color:#ffffffb8;margin:12px 0 24px}
.film-catalog-empty button{min-height:44px;padding:12px 18px;border:1px solid #ffffff70;background:transparent;color:#fff;font:inherit;font-size:12px;cursor:pointer}
.film-catalog-dialog .portfolio-dialog-body>img{aspect-ratio:2/3;object-fit:cover}
/* Leave the fixed chapter rail its own space beside the interactive catalogue. */
@media(min-width:901px){.dulce-site .film-catalog-section>.wrap{padding-right:44px}}
@media(min-width:761px) and (max-width:1100px){
 .film-catalog-toolbar{align-items:stretch;flex-direction:column;gap:14px}
 .film-catalog-search{align-self:flex-end;width:280px}
 .film-catalog-meta{gap:14px}.film-catalog-page-label{width:240px}
}
@media(max-width:760px){
 .film-catalog-hero-actions{justify-content:flex-start;gap:16px;width:100%}
 .film-catalog-hero-actions .film-catalog-hero-link{gap:24px}
 .film-catalog{--poster-width:min(52vw,196px);--poster-step:calc(var(--poster-width)*1.24)}
 .film-catalog-section,.dulce-site .film-catalog-section{padding-block:42px 46px}
 .film-catalog-section .section-heading{margin-bottom:17px}
 .film-catalog-section .section-heading .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:11px}
 .film-catalog-section .section-heading h2{font-size:clamp(30px,8.2vw,32px);line-height:1.1;letter-spacing:-.04em}
 .film-catalog-section .section-heading h2 br{display:initial}
 .film-catalog-section .section-heading>p{font-size:14px;line-height:1.55;margin-top:13px;max-width:31ch}
 .film-catalog-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:17px 0 17px}
 .film-catalog-filters{flex-wrap:nowrap;overflow-x:auto;gap:6px;scrollbar-width:none;padding:3px 1px 7px;margin:0 -1px}
 .film-catalog-filters::-webkit-scrollbar{display:none}
 .film-catalog-filters button{flex:none;min-height:39px;font-size:11px;padding:9px 13px}
 .film-catalog-search{width:100%;min-width:0;padding:7px 0}
 .film-catalog .film-catalog-grid,.dulce-site .film-catalog .film-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
 .film-catalog.is-ready .film-catalog-window{height:calc(var(--poster-width)*1.5 + 112px);perspective:850px}
 .film-catalog.is-ready .poster-card,.dulce-site .film-catalog.is-ready .poster-card{top:14px}
 .film-catalog-featured-caption{bottom:15px;width:calc(100% - 28px)}
 .film-catalog-featured-caption>span{font-size:8px;line-height:1.45;letter-spacing:.065em}
 .film-catalog-featured-caption h3,.dulce-site .film-catalog-featured-caption h3{font-size:16px;line-height:1.2;margin-top:6px}
 .film-catalog .poster-caption>span{font-size:8px;line-height:1.45;letter-spacing:.065em}
 .film-catalog .poster-caption h3,.dulce-site .film-catalog .poster-caption h3{font-size:16px;line-height:1.2;margin-top:6px}
 .film-catalog .poster-open{width:27px;height:27px;font-size:16px;right:8px;bottom:8px}
 .film-catalog-navigation{display:block;padding-top:15px}
 .film-catalog-page-controls{gap:10px;width:100%;justify-content:space-between}
 .film-catalog-page-label{flex:1;width:auto}
 .film-catalog-arrow{width:42px;height:42px;font-size:22px}
 .film-catalog-page-label select{font-size:11px;padding-left:6px;padding-right:22px}
 .film-catalog-page-label>svg{right:4px}
 .film-catalog-meta{justify-content:space-between;gap:15px;margin-top:7px}
 .film-catalog-count{font-size:10px;letter-spacing:.015em}
 .film-catalog-play{font-size:10px;gap:6px}
 .film-catalog-hint-touch{display:inline}.film-catalog-hint-pointer{display:none}
 .film-catalog-hint{margin-top:9px;font-size:9px}
 .film-catalog-empty h3{font-size:22px}
 .film-catalog-dialog .portfolio-dialog-body>img{width:52%;max-height:280px}
}
@media(prefers-reduced-motion:reduce){
 .film-catalog.is-ready .film-catalog-window:before{animation:none}
 .film-catalog.is-ready .poster-card,.dulce-site .film-catalog.is-ready .poster-card,.film-catalog .poster-caption{transition:none!important}
}
