/* User-supplied crew artwork extends the existing website identity. */
.crew-section{background:var(--paper);border-bottom:1px solid var(--line)}
.crew-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}
.crew-heading h2{font:800 clamp(44px,5.4vw,74px)/.95 var(--heading);letter-spacing:-.025em;max-width:730px}
.crew-heading>p{font-size:14px;line-height:1.8;max-width:345px}
.crew-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.crew-card{border:1px solid var(--ink);min-width:0;display:flex;flex-direction:column;background:#fffaf0;scroll-margin-top:130px}
.crew-poster{display:block;position:relative;width:100%;border:0;border-bottom:1px solid var(--ink);padding:0;background:#111;color:#fff;overflow:hidden}
.crew-poster>img{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#111}
.crew-enlarge{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;min-height:44px;padding:10px 16px;border-top:1px solid #484848;text-align:left}
.crew-enlarge>span{font-size:20px;line-height:1}
.crew-poster:hover .crew-enlarge{background:var(--red)}
.crew-poster:focus-visible{outline:3px solid var(--blue);outline-offset:5px;z-index:1}
.crew-caption{padding:23px 19px 22px}
.crew-caption .eyebrow{font-size:9px;letter-spacing:.05em;color:var(--muted)}
.crew-caption h3{font:800 clamp(27px,2.6vw,37px)/1 var(--heading);letter-spacing:-.015em;margin-top:11px;overflow-wrap:anywhere}
.crew-program{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:5px;margin-top:10px}
.crew-dialog{border:1px solid var(--ink);padding:18px;background:#111;color:var(--paper);width:min(840px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto}
.crew-dialog::backdrop{background:#080b0cce;backdrop-filter:blur(4px)}
.crew-dialog-header{position:sticky;top:-18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#111;padding-block:8px 16px;z-index:1}
.crew-dialog-header h2{font:700 29px/1.1 var(--heading);letter-spacing:0;margin:0}
.crew-dialog-header button{flex:0 0 44px;width:44px;height:44px;border:1px solid #777;background:#111;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.crew-dialog-header button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.crew-dialog>img{display:block;width:100%;height:auto;object-fit:contain}
.crew-modal-open{overflow:hidden}
@media(max-width:1000px){.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.crew-heading{align-items:flex-start}.crew-heading h2{max-width:480px}.crew-heading>p{max-width:290px}.crew-caption h3{font-size:35px}}
@media(max-width:620px){.crew-heading{display:block;margin-bottom:27px}.crew-heading h2{font-size:49px}.crew-heading>p{max-width:100%;font-size:13px;margin-top:20px}.crew-grid{grid-template-columns:1fr;gap:24px}.crew-card{scroll-margin-top:105px}.crew-caption{padding:22px}.crew-caption h3{font-size:37px}.crew-caption .eyebrow{font-size:10px}.crew-enlarge{font-size:13px;padding-inline:18px}.crew-dialog{padding:12px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.crew-dialog-header{top:-12px;padding-top:4px}.crew-dialog-header h2{font-size:26px}}
