
/* Character design: native source sheets, un-cropped */
.film-characters {position:relative;margin:76px 0 88px;scroll-margin-top:120px;color:#25343d}
.film-characters-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:end;margin:0 0 26px}
.film-characters-eyebrow{font:700 11px/1.4 'DM Sans',sans-serif;letter-spacing:.14em;color:#69818b;display:inline-flex;align-items:center;gap:9px}
.film-characters-eyebrow-mark{display:inline-block;width:20px;height:2px;background:#87aeb4;border-radius:2px}
.film-characters-heading h2{font-size:clamp(30px,3.5vw,51px);font-weight:700;line-height:1.23;letter-spacing:-.06em;margin:14px 0 0}
.film-characters-heading h2 em{font-style:normal;color:#829daa}
.film-characters-heading p{max-width:450px;font-size:13px;line-height:1.95;color:#687981;margin:0 0 4px}
.film-characters-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.film-character-card{overflow:hidden;min-width:0;background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.88);border-radius:23px;box-shadow:0 16px 43px rgba(43,67,74,.065);transition:border-color .2s,box-shadow .2s}
.film-character-card:hover{border-color:#c5d6d8;box-shadow:0 20px 48px rgba(43,67,74,.105)}
.film-character-image-link{position:relative;display:grid;place-items:center;min-height:170px;aspect-ratio:1.53 / 1;background:#fff;overflow:hidden;border-radius:19px 19px 0 0;cursor:zoom-in}
.film-character-image-link img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important;transition:none!important}
.film-character-zoom{position:absolute;bottom:13px;right:13px;padding:9px 13px;font-size:11px;font-weight:600;letter-spacing:.02em;border-radius:40px;background:rgba(33,47,55,.87);color:white;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s;pointer-events:none}
.film-character-image-link:hover .film-character-zoom,.film-character-image-link:focus-visible .film-character-zoom{opacity:1;transform:translateY(0)}
.film-character-image-link:focus-visible{outline:3px solid #91bbc2;outline-offset:-4px}
.film-character-info{padding:18px 21px 22px}
.film-character-title{display:flex;align-items:center;gap:12px;min-width:0}
.film-character-number{font:600 12px 'DM Sans',sans-serif;color:#9aaab1}
.film-character-title h3{font-size:23px;letter-spacing:-.05em;margin:0;line-height:1.35}
.film-character-tag{margin-left:auto;font-size:10px;color:#64818a;background:#edf3f3;border:1px solid #dee8ea;padding:6px 9px;border-radius:100px;white-space:nowrap}
.film-character-role{display:block;margin:8px 0 6px;color:#536f78;font-size:12px;font-weight:600;letter-spacing:.025em}
.film-character-info p{font-size:12px;color:#73828a;line-height:1.8;margin:0;max-width:90%}
.film-characters-footnote{display:flex;justify-content:space-between;gap:14px;margin:19px 2px 0;font-size:10px;letter-spacing:.1em;color:#87979f}
.film-characters-footnote span{letter-spacing:0}
.project-hero .film-character-jump{display:inline-block;margin-left:18px;color:#4f737e;font-size:12px;font-weight:600;border-bottom:1px solid #95b4ba;padding-bottom:5px}
.film-character-dialog{position:fixed;inset:0;width:min(95vw,1500px);max-width:none;max-height:95vh;height:auto;margin:auto;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:18px;background:#fff;color:#29383f;box-shadow:0 28px 90px rgba(0,0,0,.35);overflow:hidden}
.film-character-dialog::backdrop{background:rgba(12,24,29,.84);backdrop-filter:blur(8px)}
.film-character-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7f8f8;padding:11px 17px;color:#607680;font-size:12px;font-weight:600}
.film-character-dialog-close{border:0;background:#e5ebed;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;color:#26343c;font-size:25px;cursor:pointer}
.film-character-dialog-stage{display:grid;grid-template-columns:43px minmax(0,1fr) 43px;align-items:center;gap:9px;padding:10px;background:#fff}
.film-character-dialog-stage img{display:block;max-width:100%;max-height:calc(95vh - 145px);height:auto;object-fit:contain;margin:0 auto}
.film-character-dialog-nav{width:40px;height:40px;border-radius:50%;border:1px solid #d4e1e3;background:rgba(244,247,248,.92);color:#40545c;font-size:30px;cursor:pointer}
.film-character-dialog-nav:hover,.film-character-dialog-close:hover{background:#d9e5e9}
.film-character-dialog-bottom{display:flex;justify-content:space-between;gap:10px;background:#f7f8f8;padding:12px 18px;font-size:11px;color:#8c9ca3}
.film-character-dialog-label{font-weight:700;color:#506b76}
@media(max-width:780px){.film-characters{margin:54px 0 65px}.film-characters-heading{grid-template-columns:1fr;gap:11px}.film-characters-gallery{gap:13px}.film-character-info{padding:15px}.film-character-image-link{min-height:140px}.project-hero .film-character-jump{margin:13px 0 0 0}}
@media(max-width:640px){.film-characters-gallery{grid-template-columns:1fr}.film-character-image-link{aspect-ratio:1.52 / 1}.film-character-info p{max-width:100%}.film-characters-footnote{display:block;line-height:1.75}.film-characters-footnote span{display:block}.film-character-dialog{width:98vw;max-height:95dvh;border-radius:12px}.film-character-dialog-stage{grid-template-columns:27px minmax(0,1fr) 27px;gap:3px;padding:5px}.film-character-dialog-nav{width:28px;height:32px;font-size:24px}.film-character-dialog-stage img{max-height:calc(95dvh - 130px)}.film-character-dialog-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.film-character-card,.film-character-zoom{transition:none}}
