/* kg-cast · scoped component CSS. Every class is kg-*, every variable is --kg-*, no global rules. */
.kg{--kg-ink:#0b0b0b; --kg-ink-2:#111111; --kg-ink-3:#161616;
  --kg-bone:#ffffff; --kg-mute:#cfcfcf; --kg-faint:#7a7a7a; --kg-line:rgba(255,255,255,.12);
  --kg-red:#e50914; --kg-blood:#4a0207; --kg-red-tint:rgba(229,9,20,.22);
  --kg-display:'Switzer','TeX Gyre Heros',Helvetica,Arial,sans-serif;
  --kg-text:'TeX Gyre Heros','Switzer',Helvetica,Arial,sans-serif;
  --kg-label:'TeX Gyre Heros','Switzer',Helvetica,Arial,sans-serif;
  --kg-ease:cubic-bezier(.16,1,.3,1);
  --kg-maxw:1320px;color:var(--kg-bone);font-family:var(--kg-text);text-transform:uppercase;-webkit-font-smoothing:antialiased}.kg *,.kg *::before,.kg *::after{box-sizing:border-box}.kg img,.kg video{max-width:100%;display:block}.kg a{color:inherit;text-decoration:none}.kg button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-transform:inherit;letter-spacing:inherit}.kg :focus-visible{outline:2px solid var(--kg-red);outline-offset:3px}.kg h1,.kg h2,.kg h3,.kg p{margin:0}
.kg-wrap{max-width:var(--kg-maxw);margin:0 auto;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
.kg-num{font-family:var(--kg-text)!important;font-weight:700!important;font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.kg-eyebrow{font-family:var(--kg-label);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--kg-mute)}
.kg-eyebrow b{color:var(--kg-red);font-weight:700}
.kg-eyebrow .kg-num{font-size:1.08em;letter-spacing:-.02em}
.kg-title{font-family:var(--kg-display);font-weight:600;line-height:.98;letter-spacing:-.025em;margin:0;text-wrap:balance}
.kg-red{color:var(--kg-red)}
.kg-sr{position:absolute;left:-9999px}
.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 24px;font-family:var(--kg-display);font-size:12.8px;font-weight:600;letter-spacing:.06em;border:1px solid var(--kg-line);transition:background .18s var(--kg-ease),color .18s var(--kg-ease),border-color .18s var(--kg-ease),box-shadow .18s var(--kg-ease);white-space:nowrap}
.kg-btn .kg-num{letter-spacing:-.02em}
.kg-btn:hover{border-color:var(--kg-bone)}
.kg-btn-red{background:var(--kg-red-tint);border-color:var(--kg-red);color:#fff;box-shadow:0 0 28px -10px var(--kg-red),inset 0 0 18px -10px var(--kg-red)}
.kg-btn-red:hover{background:var(--kg-red);color:#fff;border-color:var(--kg-red);box-shadow:0 0 34px -8px var(--kg-red)}
.kg-btn-sm{height:38px;padding:0 16px;font-size:11px}
.kg-title{font-weight:600}
.kg-title .kg-red{color:var(--kg-red)}
.kg-band{padding-block:clamp(56px,6.5vw,96px)}
.kg-band + .kg-band{border-top:1px solid var(--kg-line)}
.kg-cm .kg-role{font-weight:700}
.kg-pic{position:relative;width:clamp(56px,4.8vw,72px);aspect-ratio:4/5;overflow:hidden;background:var(--kg-ink-3);clip-path:inset(calc((1 - var(--kg-r)) * 100%) 0 0 0)}
.kg-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(1) contrast(1.12);transform:scale(calc(1 + (1 - var(--kg-r)) * .25))}
.kg-pic.kg-blank{display:grid;place-items:center}
.kg-pic.kg-blank svg{width:52%;opacity:.35}
.kg-cast{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.kg-cm{border:1px solid var(--kg-line);background:var(--kg-ink-2);display:grid;grid-template-columns:110px 1fr;min-width:0}
.kg-cm .kg-pic{width:100%;clip-path:none}
.kg-cm .kg-tx{padding:16px;display:flex;flex-direction:column;gap:6px;justify-content:center;min-width:0}
.kg-cm .kg-role{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--kg-red)}
.kg-cm .kg-nm{font-family:var(--kg-display);font-size:26px;line-height:.92}
.kg-cm .kg-fr{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--kg-mute)}
.kg-cm.kg-tbr .kg-nm{color:var(--kg-mute)}
.kg-cm .kg-nm{font-weight:600}
.kg-cm .kg-role,.kg-cm .kg-fr{font-family:var(--kg-label);font-weight:400;letter-spacing:.14em}
.kg-cm .kg-role{font-weight:700}
.kg-pic.kg-blank::after{display:none}
@media (max-width:1100px){.kg-cast{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.kg-band{padding-block:64px}.kg-pic{width:64px}.kg-cast{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.kg-pic::after{transform:none}}
