.characters{padding:100px var(--gutter) 70px;overflow:hidden}
.character-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;position:relative;z-index:2}
.character-heading h2{font-size:clamp(74px,10.8vw,160px);max-width:9ch}
.character-heading p{font-size:16px;line-height:1.6;max-width:29ch;padding-bottom:10px}
.cast-lineup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;margin:20px -15px 0;position:relative}
.cast-piece{margin:0;position:relative;min-width:0}
.cast-piece:nth-child(2){padding-bottom:44px}
.cast-piece:nth-child(3){padding-bottom:14px}
.cast-piece:nth-child(4){padding-bottom:34px}
.cast-image{height:clamp(330px,34vw,500px);position:relative;isolation:isolate;transform:translateY(0);transition:transform .6s var(--ease)}
.cast-image img{width:116%;max-width:none;height:100%;margin-left:-8%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 89%,transparent 100%)}
.cast-piece:first-child .cast-image img{width:120%;margin-left:-10%;mask-image:none}
.cast-piece figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 15px 0;padding-top:14px;border-top:1px solid #17122044;font:500 11px var(--mono);line-height:1.5;text-transform:uppercase;letter-spacing:.025em}
.cast-piece figcaption span{color:var(--purple)}
.character-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #17122044;padding-top:28px;margin-top:40px}
.character-bottom p{font-size:13px;max-width:45ch}
.character-bottom .text-link{white-space:nowrap}
@media(hover:hover) and (pointer:fine){.cast-piece:hover .cast-image{transform:translateY(-13px)}}
@media(max-width:1000px){.characters{padding-top:75px}.character-heading{align-items:start;gap:25px}.character-heading h2{font-size:11.5vw}.character-heading p{max-width:24ch;font-size:14px}.cast-piece figcaption{font-size:9px;gap:6px}.cast-image{height:350px}}
@media(max-width:700px){.characters{padding:65px 24px 48px}.character-heading{display:block}.character-heading h2{font-size:20vw;max-width:9ch;line-height:.9}.character-heading p{margin-top:25px;max-width:31ch;font-size:15px}.cast-lineup{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;margin:35px -7px 0}.cast-image{height:280px}.cast-piece:nth-child(2),.cast-piece:nth-child(3),.cast-piece:nth-child(4){padding-bottom:0}.cast-piece:nth-child(even){transform:translateY(25px)}.cast-piece figcaption{font-size:9px;line-height:1.5;margin:12px 7px 0;gap:6px;align-items:start}.cast-piece figcaption span{white-space:nowrap}.character-bottom{margin-top:65px;display:block;padding-top:24px}.character-bottom p{font-size:13px}.character-bottom .text-link{margin-top:20px;font-size:13px}}
@media(max-width:350px){.cast-image{height:235px}.cast-piece figcaption{font-size:8px;gap:3px}.character-heading h2{font-size:20vw}}
@media(prefers-reduced-motion:reduce){.cast-image{transition:none}.cast-piece:hover .cast-image{transform:none}}
