/* Production credits: a short introduction and an editorial reading dialog. */
.vf-production-credits { min-width:0; align-self:start; }
.vf-credits-preview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 28px; }
.vf-credits-preview > div { min-width:0; }
.vf-credits-preview dd { overflow-wrap:anywhere; }
.vf-credits-open-button,.vf-credits-fallback > summary {
    display:inline-flex; align-items:center; justify-content:space-between; gap:32px;
    margin:28px 0 0; padding:12px 0; min-height:44px; border:0; border-bottom:1px solid #b7b7af;
    border-radius:0; background:transparent; color:#171717; font:500 14px/1.3 var(--vf-font-family);
    letter-spacing:0; text-transform:none; cursor:pointer; list-style:none;
}
.vf-credits-fallback > summary::-webkit-details-marker { display:none; }
.vf-credits-open-button svg { width:22px; height:22px; transition:transform .18s ease; }
.vf-credits-open-button:hover svg { transform:translateX(4px); }
.vf-credits-open-button[hidden],.vf-credits-fallback[hidden],.vf-credits-dialog:not([open]) { display:none; }
.vf-credits-fallback[open] > [data-vf-credits-content] { padding-top:28px; }
.vf-credits-dialog {
    box-sizing:border-box; position:fixed; inset:0; width:min(920px,calc(100vw - 48px));
    max-width:none; max-height:calc(100dvh - 64px); margin:auto; padding:0; border:1px solid #e0e0d8;
    border-radius:4px; color:#171717; background:#f8f8f3; overflow:hidden;
    box-shadow:0 25px 100px #0003; font-family:var(--vf-font-family);
}
.vf-credits-dialog[open] { display:block; animation:vf-credits-enter .18s ease-out; }
.vf-credits-dialog::backdrop { background:rgb(16 18 16 / .6); backdrop-filter:blur(7px); }
.vf-credits-dialog__panel { display:flex; flex-direction:column; max-height:calc(100dvh - 66px); }
.vf-credits-dialog__toolbar {
    display:flex; flex:none; align-items:center; justify-content:space-between; gap:20px;
    padding:20px 36px; border-bottom:1px solid #deded6;
}
.vf-credits-dialog__toolbar > span { color:#66665d; font-size:10px; line-height:1.4; text-transform:uppercase; letter-spacing:.12em; }
.vf-credits-close {
    display:inline-flex; align-items:center; justify-content:center; flex:none; gap:12px; min-height:44px;
    padding:4px 0 4px 12px; border:0; border-radius:0; background:transparent; color:inherit;
    font:400 12px/1.3 var(--vf-font-family); cursor:pointer;
}
.vf-credits-close svg { width:28px; height:28px; }
.vf-credits-dialog__body { min-height:0; padding:32px 36px 40px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.vf-credits-dialog__project { margin:0 0 12px; color:#66665d; font-size:12px; line-height:1.5; letter-spacing:.01em; }
.vf-credits-dialog .vf-credits-dialog__title,.vf-credits-fallback .vf-credits-dialog__title {
    margin:0 0 32px; color:#171717; font-size:clamp(30px,4vw,46px); font-weight:500; line-height:1.05;
    letter-spacing:-.04em; text-transform:none;
}
.vf-credits-complete { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.vf-credits-complete > div { min-width:0; padding:20px 0; border-top:1px solid #deded6; break-inside:avoid; }
.vf-credits-complete dt { margin:0 0 9px; color:#66665f; font-size:10px; font-weight:400; line-height:1.5; letter-spacing:.09em; }
.vf-credits-complete dd { margin:0; color:#171717; font-size:18px; line-height:1.45; overflow-wrap:anywhere; }
.vf-credits-dialog :is(button,a):focus-visible,.vf-credits-open-button:focus-visible,.vf-credits-fallback > summary:focus-visible {
    outline:2px solid #262a22; outline-offset:5px;
}
body.vf-credits-open { overflow:hidden; }
@keyframes vf-credits-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) {
    .vf-credits-preview { gap:20px; }
    .vf-credits-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:3px; }
    .vf-credits-dialog__panel { max-height:calc(100dvh - 26px); }
    .vf-credits-dialog__toolbar { padding:12px 20px; }
    .vf-credits-dialog__body { padding:24px 20px 28px; }
    .vf-credits-complete { grid-template-columns:minmax(0,1fr); }
    .vf-credits-complete > div { padding:17px 0; }
    .vf-credits-complete dd { font-size:17px; }
    .vf-credits-dialog .vf-credits-dialog__title { margin-bottom:26px; }
}
@media(prefers-reduced-motion:reduce) {
    .vf-credits-dialog[open] { animation:none; }
    .vf-credits-open-button svg { transition:none; }
}
