.vf-poster-frame,
.vf-cinema-work-media { position:relative; }

.vf-production-laurel {
    --vf-laurel-gap:8px;
    position:absolute;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(var(--vf-laurel-columns,1),minmax(0,1fr));
    grid-auto-rows:minmax(0,1fr);
    gap:var(--vf-laurel-gap);
    pointer-events:none;
}
.vf-laurel-item { display:grid; align-items:end; min-width:0; min-height:0; }
.vf-production-card-body { position:relative; container-type:inline-size; }
.vf-screen-hero, .vf-upcoming-feature-link { container-type:inline-size; }
.vf-production-cover-link { position:absolute; inset:0; z-index:1; display:block; }
.vf-production-cover-link:focus-visible { outline:2px solid currentColor; outline-offset:-5px; }
.vf-production-laurel--white { color:#fff; }
.vf-production-laurel--black { color:#171717; }
.vf-production-laurel .vf-laurel-trigger {
    position:static;
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    color:inherit;
    background:transparent;
    font:inherit;
    text-align:left;
    text-transform:none;
    text-decoration:none;
    pointer-events:auto;
    cursor:pointer;
}
.vf-laurel-trigger:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
.vf-laurel-tooltip {
    position:absolute;
    right:0;
    bottom:calc(100% + 10px);
    z-index:5;
    display:block;
    width:min(230px,calc(100vw - 48px));
    width:min(230px,calc(100cqw - 48px));
    box-sizing:border-box;
    padding:16px 18px;
    border:1px solid #17171714;
    border-radius:3px;
    color:#252521;
    background:#faf9f4;
    box-shadow:0 8px 28px #0002;
    font-family:inherit;
    font-size:12px;
    font-weight:400;
    line-height:1.5;
    letter-spacing:0;
    white-space:normal;
    text-wrap:pretty;
    opacity:0;
    visibility:hidden;
    transform:translateY(4px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    pointer-events:none;
}
.vf-laurel-tooltip::after { content:""; position:absolute; inset:100% 0 auto; height:12px; }
.vf-laurel-tooltip strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; padding-right:12px; font-size:13px; font-weight:600; line-height:1.35; }
.vf-laurel-tooltip-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin-top:7px; color:#68685f; overflow-wrap:anywhere; }
.vf-laurel-tooltip .vf-laurel-tooltip-link { display:inline-flex; align-items:center; gap:8px; min-height:34px; margin-top:6px; color:#252521; font-size:11px; font-weight:500; letter-spacing:.025em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; }
.vf-laurel-tooltip .vf-laurel-tooltip-close { position:absolute; top:4px; right:4px; width:28px; height:28px; padding:0; border:0; color:#68685f; background:transparent; font:inherit; font-size:20px; cursor:pointer; }
.vf-laurel-tooltip :where(a,button):focus-visible { outline:2px solid #252521; outline-offset:2px; }
.vf-laurel-item[data-tooltip-open] .vf-laurel-tooltip { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.vf-laurel-item[data-tooltip-dismissed] .vf-laurel-tooltip { opacity:0; visibility:hidden; pointer-events:none; }
.vf-laurel-tooltip[popover] { position:fixed; right:auto; bottom:auto; width:min(250px,calc(100vw - 24px)); max-height:calc(100svh - 24px); margin:0; overflow:hidden; scrollbar-width:none; }
.vf-laurel-tooltip::-webkit-scrollbar { display:none; }
@media(max-height:280px) { .vf-laurel-tooltip { padding:10px 14px; } .vf-laurel-tooltip-description { -webkit-line-clamp:1; } }
.vf-laurel-tooltip[popover]:not(:popover-open) { display:none; }
.vf-laurel-tooltip:popover-open { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
@starting-style { .vf-laurel-tooltip:popover-open { opacity:0; transform:translateY(4px); } }
@media(prefers-reduced-motion:reduce) { .vf-laurel-tooltip { transition:none; } }
.vf-production-laurel--card {
    right:clamp(12px,1.6vw,24px);
    bottom:clamp(12px,1.6vw,24px);
    width:min(48%,calc(var(--vf-laurel-columns)*70px));
    height:min(32%,calc(var(--vf-laurel-rows)*48px));
}
.vf-production-laurel--hero {
    right:var(--vf-header-inset,24px);
    bottom:30px;
    width:min(25%,calc(var(--vf-laurel-columns)*95px));
    height:min(22svh,calc(var(--vf-laurel-rows)*65px));
}
.vf-films-page .vf-production-laurel .vf-laurel-image {
    display:block;
    position:static;
    width:100%;
    height:100%;
    min-height:0;
    max-height:100%;
    margin:0;
    padding:0;
    border:0;
    object-fit:contain;
    object-position:right bottom;
    aspect-ratio:auto;
    transform:none;
    transition:none;
}
.vf-films-page .vf-production-laurel--white .vf-laurel-image { filter:brightness(0) invert(1) drop-shadow(0 1px 2px #0007); }
.vf-films-page .vf-production-laurel--black .vf-laurel-image { filter:brightness(0); }

/* Keep the film button and title clear of the small awards in the opposite corner. */
.vf-screen-caption.vf-caption-with-laurels { padding-right:calc(min(25vw,285px) + 24px); }
.vf-screen-caption.vf-caption-with-laurels .vf-cinema-hero-link { position:static; margin-top:22px; }
.vf-upcoming-caption.vf-caption-with-laurels { padding-right:calc(min(25vw,285px) + 24px); }
.vf-upcoming-caption.vf-caption-with-laurels .vf-upcoming-arrow { display:none; }

@media(max-width:767px) {
    .vf-production-laurel { --vf-laurel-gap:6px; }
    .vf-production-laurel--card { width:min(45%,calc(var(--vf-laurel-columns)*60px)); height:min(30%,calc(var(--vf-laurel-rows)*42px)); }
    .vf-production-laurel--hero { bottom:30px; width:min(28%,calc(var(--vf-laurel-columns)*65px)); height:min(20svh,calc(var(--vf-laurel-rows)*45px)); }
    .vf-screen-caption.vf-caption-with-laurels, .vf-upcoming-caption.vf-caption-with-laurels { padding-right:calc(min(28vw,195px) + 14px); }
}

/* The caption groups the kicker, small awards and title; the action stays on the right. */
.vf-hero-footer { position:absolute; inset:auto var(--vf-header-inset,24px) 30px; z-index:3; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:clamp(24px,4vw,70px); }
.vf-hero-footer > .vf-screen-caption { position:static; min-width:0; padding:0; }
.vf-hero-footer .vf-screen-caption h1 { max-width:12ch; overflow-wrap:break-word; }
.vf-hero-actions { display:flex; flex-direction:column; align-items:flex-end; justify-self:end; gap:22px; min-width:0; }
.vf-hero-meta { display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-bottom:20px; }
.vf-hero-meta > .vf-cinema-kicker { flex:0 0 auto; margin:0; }
.vf-screen-caption .vf-production-laurel--hero { position:relative; inset:auto; display:flex; flex-wrap:wrap; align-items:center; gap:12px; width:fit-content; max-width:100%; height:auto; margin:0; }
.vf-screen-caption .vf-production-laurel--hero > .vf-laurel-item { flex:0 0 auto; width:auto; height:55px; }
.vf-screen-caption .vf-production-laurel--hero .vf-laurel-trigger { width:auto; }
.vf-films-page .vf-screen-caption .vf-production-laurel--hero .vf-laurel-image { width:auto; height:100%; max-width:none; }
.vf-screen-caption .vf-production-laurel .vf-laurel-image { object-position:left bottom; }
.vf-hero-actions > .vf-cinema-hero-link { position:static; right:auto; bottom:auto; margin:0; max-width:100%; }
@media(max-width:767px) {
    .vf-hero-footer { grid-template-columns:minmax(0,1fr); gap:24px; }
    .vf-hero-actions { gap:16px; max-width:100%; }
    .vf-hero-meta { gap:12px 18px; margin-bottom:18px; }
    .vf-screen-caption .vf-production-laurel--hero > .vf-laurel-item { height:40px; }
}

/* Match the visible ink height, compensating for transparent PNG padding without changing files. */
.vf-laurel-graphic { display:block; position:relative; flex:0 0 auto; overflow:hidden; padding:0; margin:0; height:var(--vf-laurel-display-height,42px); width:calc(var(--vf-laurel-display-height,42px)*var(--vf-laurel-ratio,1)); max-width:none; }
.vf-films-page .vf-production-laurel .vf-laurel-trigger .vf-laurel-graphic > .vf-laurel-image,
.vf-films-page .vf-production-awards .vf-laurel-graphic > .vf-laurel-image,
.vf-films-page .vf-profile .vf-laurel-graphic > .vf-laurel-image,
.vf-films-page .vf-recognitions .vf-laurel-graphic > .vf-laurel-image { display:block; position:absolute; inset:auto; left:var(--vf-laurel-image-x,0%); top:var(--vf-laurel-image-y,0%); width:var(--vf-laurel-image-width,100%); height:var(--vf-laurel-image-height,100%); max-width:none; max-height:none; min-width:0; margin:0; padding:0; object-fit:fill; transform:none; }
.vf-recognitions .vf-laurel-graphic > .vf-laurel-image { filter:brightness(0); }
.vf-laurel-tooltip-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin-top:7px; color:#c7c7bd; font-size:11px; line-height:1.4; }
.vf-production-laurel--hero { --vf-laurel-display-height:42px; display:flex; flex-wrap:wrap; justify-content:flex-end; width:max-content; max-width:50%; height:auto; }
.vf-screen-caption .vf-production-laurel--hero { justify-content:flex-start; }
.vf-screen-caption .vf-production-laurel--hero > .vf-laurel-item { height:var(--vf-laurel-display-height); }
.vf-production-laurel--card { --vf-laurel-display-height:clamp(16px,6cqw,34px); display:flex; flex-wrap:wrap; justify-content:flex-end; width:max-content; max-width:calc(100% - 24px); height:auto; gap:6px; }
.vf-production-laurel--card .vf-laurel-item { flex:0 0 auto; height:var(--vf-laurel-display-height); }
.vf-production-laurel--card .vf-laurel-trigger { width:auto; }
@media(max-width:767px) { .vf-production-laurel--hero { --vf-laurel-display-height:34px; } }
