/* Character dossiers — extends the selected Pittsburgh nightfall identity. */
.cast-site{--steel:#a9bec9;--edge:#ccd8dc29}
.cast-site h1,.cast-site h2,.cast-site h3{font-family:Inter,Arial,sans-serif;font-weight:600;font-style:normal;letter-spacing:-.045em}
.cast-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;height:94px;padding:0 6%;border-bottom:1px solid var(--edge)}
.cast-brand{font:560 27px/1 Picture,serif;letter-spacing:.055em}.cast-nav{display:flex;gap:32px;align-items:center;font-size:14px}.cast-nav a{padding:12px 0;color:#b7c1c4}.cast-nav a[aria-current=page]{color:var(--paper);border-bottom:1px solid var(--gold)}
.cast-menu{display:none}.cast-mobile-nav{padding:20px 6%;background:#121b20;border-bottom:1px solid var(--edge)}.cast-mobile-nav a{display:block;padding:12px 0;font-size:16px}
.cast-site .desktop-private{font-size:12px}
.cast-kicker{display:block;font-size:12px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:var(--steel)}
.cast-main{padding:58px 6% 92px;max-width:1800px;margin:auto}.cast-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.cast-intro h1{font-size:clamp(36px,4.3vw,64px);line-height:1.08;margin:14px 0 0}.cast-intro>p{font-size:16px;max-width:330px;line-height:1.7;color:#a8b5ba}
.cast-overview{position:relative}.cast-overview:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:760px;background:radial-gradient(circle at 76% 18%,#38596b20,transparent 42%),linear-gradient(180deg,#0e171d66,transparent);pointer-events:none}.cast-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.cast-card{position:relative;display:block;grid-column:span 4;min-width:0;aspect-ratio:4/3;overflow:hidden;background:#142027;border:1px solid #b8cad31a}.cast-card--lead{grid-column:span 6;aspect-ratio:16/9}.cast-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .65s}.cast-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#03090def 2%,#071016a8 34%,transparent 72%);transition:background .35s}.cast-card:hover img{transform:scale(1.025);filter:brightness(1.06)}.cast-card:hover:after{background:linear-gradient(0deg,#03090df5 2%,#07101696 38%,transparent 76%)}.cast-card-copy{position:absolute;z-index:1;left:clamp(20px,2.4vw,34px);right:clamp(20px,2.4vw,34px);bottom:clamp(19px,2.2vw,30px)}.cast-card-index{display:block;margin-bottom:9px;color:#d2b58f;font-size:11px;letter-spacing:.15em}.cast-card h2{font-size:clamp(22px,2vw,32px);line-height:1.08;margin-bottom:9px}.cast-card p{color:#d3dadd;font-size:14px;line-height:1.5}.cast-card small{display:block;color:#d2b58f;font-size:11px;margin-top:8px}.cast-card:nth-child(n+12){grid-column:span 3;aspect-ratio:4/5}.cast-card:nth-child(n+12) h2{font-size:clamp(20px,1.65vw,27px)}
.cast-footer{display:flex;justify-content:space-between;gap:32px;border-top:1px solid var(--edge);margin:0 6%;padding:30px 0 38px;font-size:13px;color:#8b9ca3}.cast-footer p{max-width:640px;font-size:13px;color:#8b9ca3}.cast-footer a{color:var(--paper);font-size:14px}.cast-footer .cast-brand{font-size:22px;align-self:start}
.character-breadcrumb{display:flex;flex-wrap:wrap;gap:13px;align-items:center;font-size:14px;color:#a5b3b9;margin-bottom:38px}.character-breadcrumb span[aria-hidden]{color:#55656f}.character-breadcrumb>span:last-child{color:var(--paper)}
.profile-opening{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:5%;align-items:center}.profile-opening h1{font-size:clamp(36px,4.5vw,67px);line-height:1.02;margin:22px 0 25px;max-width:620px}.profile-standfirst{font-size:19px;line-height:1.65;color:#c2cbd0;max-width:510px}.profile-shortcuts{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px;font-size:14px}.profile-shortcuts a{padding:9px 0;border-bottom:1px solid #71838d}.profile-portrait{width:100%;aspect-ratio:1.5;position:relative;background:#172027;overflow:hidden}.profile-portrait img{width:100%;height:100%;object-fit:cover}.profile-opening figure{margin:0}.profile-opening figcaption{display:flex;gap:13px;margin-top:13px;font-size:12px;color:#8d9fa8;letter-spacing:.04em;line-height:1.65}.profile-opening figcaption span:first-child{color:#d2b58f;letter-spacing:.12em}
.profile-body{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;padding:64px 0 68px;border-bottom:1px solid var(--edge)}.profile-body h2{font-size:29px;line-height:1.25;margin-bottom:20px}.profile-bio p{font-size:17px;line-height:1.9;margin-bottom:18px;max-width:740px}.profile-facts{border-top:1px solid var(--edge);margin:0}.profile-facts>div{padding:19px 0;border-bottom:1px solid var(--edge)}.profile-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--steel);margin-bottom:7px}.profile-facts dd{font-size:16px;line-height:1.65;margin:0;color:#d5dada}.profile-facts a{border-bottom:1px solid #657784}.profile-facts a:hover{color:#fff}
.profile-section{padding-top:65px;scroll-margin-top:110px}.profile-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:22px}.profile-section-head h2{font-size:32px;line-height:1.2;margin-top:12px}.profile-section-head p{max-width:420px;font-size:14px;line-height:1.7}#character-sheet{position:relative;margin-top:65px;padding:54px clamp(22px,4vw,70px) 24px;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);background:radial-gradient(ellipse at 50% 58%,#49677928,transparent 56%),linear-gradient(180deg,#0d171d8f,#080e12 80%)}#character-sheet:before{content:'CASTING / CONTINUITY';position:absolute;top:18px;right:clamp(22px,4vw,70px);font-size:10px;letter-spacing:.2em;color:#738994}.sheet-button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;width:100%;padding:0;cursor:zoom-in;box-shadow:none}.sheet-button img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 250px);margin:auto;filter:drop-shadow(0 18px 42px #0008)}.sheet-button--primary{position:relative;width:min(100%,calc((100svh - 370px)*var(--sheet-aspect)));aspect-ratio:var(--sheet-aspect);margin:auto;overflow:hidden;border:1px solid #a9bdc426;background:#121c22;box-shadow:0 24px 80px #0008}.sheet-button--primary:after{content:'OPEN FULL SHEET  ↗';position:absolute;right:13px;bottom:12px;padding:8px 10px;background:#081015db;border:1px solid #d6b98d66;color:#e2d1b7;font-size:9px;letter-spacing:.15em}.sheet-button--primary img{position:absolute;left:-1%;top:-5.5%;width:102%;max-width:none;max-height:none;height:auto;margin:0;filter:saturate(.92) contrast(1.03)}.sheet-meta{display:flex;justify-content:space-between;gap:20px;margin:14px auto 0;max-width:min(100%,calc((100svh - 370px)*var(--sheet-aspect)));font-size:13px;color:#9aacb5}.sheet-meta a{color:var(--paper);border-bottom:1px solid #526975}.extra-sheet{max-width:760px;margin:32px auto 0}.extra-sheet summary{font-size:15px;cursor:pointer;padding:14px 0;border-bottom:1px solid var(--edge)}.extra-sheet .sheet-button{margin-top:22px;background:transparent}.extra-sheet img{max-height:620px;width:auto;margin:auto;object-fit:contain}.extra-sheet a{display:inline-block;margin-top:15px;font-size:14px;border-bottom:1px solid #526975}
.scene-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:44px 24px}.scene-grid figure{grid-column:span 6;margin:0;min-width:0}.scene-grid figure:nth-child(3){grid-column:1/-1}.scene-button{display:block;aspect-ratio:16/9;background:#111a20;border:0;padding:0;width:100%;cursor:zoom-in;overflow:hidden}.scene-grid figure:not(:nth-child(3)) .scene-button{aspect-ratio:4/3}.scene-button img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.scene-button:hover img{transform:scale(1.018)}.scene-grid figcaption{padding-top:18px;display:grid;grid-template-columns:42px 1fr;gap:12px}.scene-grid figcaption>span{font:500 26px/1 Inter,Arial,sans-serif;color:#526873;letter-spacing:-.04em;padding-top:2px}.scene-grid h3{font-size:22px;line-height:1.25;margin-bottom:8px}.scene-grid p{font-size:15px;line-height:1.75;max-width:750px}.scene-note{font-size:12px;color:#82959f;margin-top:34px;line-height:1.7}
.profile-pagination{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--edge);padding-top:30px;margin-top:74px}.profile-pagination a{font-size:21px;line-height:1.3}.profile-pagination a:last-child{text-align:right}.profile-pagination small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#91a4af;margin-bottom:10px}
.cast-lightbox{width:min(1500px,96vw);max-height:96svh;background:#0a1015;border:1px solid #485963;color:var(--paper);padding:0}.cast-lightbox::backdrop{background:#000e;backdrop-filter:blur(7px)}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;border-bottom:1px solid var(--edge)}.lightbox-bar h2{font-size:17px;line-height:1.5;letter-spacing:0}.lightbox-bar button{border:1px solid #61717c;background:none;color:var(--paper);padding:9px 16px;font-size:14px;min-height:44px}.lightbox-stage{padding:18px;background:#060b0e}.lightbox-stage img{max-height:72svh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto}.lightbox-caption{font-size:14px;line-height:1.6;margin:0;padding:0 24px 22px;color:#bdc8ce}
@media(min-width:1800px){.cast-main{padding-left:90px;padding-right:90px}}
@media(max-width:1100px){.cast-card,.cast-card:nth-child(n+12){grid-column:span 6;aspect-ratio:4/3}.cast-card:last-child{grid-column:span 12;aspect-ratio:2/1}.cast-nav{gap:20px}.profile-opening{grid-template-columns:1fr 1.15fr;gap:4%}.profile-opening h1{font-size:44px}.profile-standfirst{font-size:17px}.profile-body{gap:6%}}
@media(max-width:760px){.cast-header{height:77px;padding:0 6%}.cast-brand{font-size:23px}.cast-nav{display:none}.cast-menu{display:block;border:0;background:none;color:var(--paper);font-size:14px;padding:13px 0 13px 18px}.cast-main{padding-top:35px;padding-bottom:55px}.cast-intro{display:block;margin-bottom:28px}.cast-intro h1{font-size:38px}.cast-intro>p{margin-top:20px;max-width:400px;font-size:15px}.cast-wall{display:block}.cast-card,.cast-card:nth-child(n+12),.cast-card:last-child{display:block;width:100%;aspect-ratio:4/3;margin-bottom:14px}.cast-card-copy{left:20px;right:20px;bottom:19px}.cast-card h2,.cast-card:nth-child(n+12) h2{font-size:26px}.cast-card p{font-size:13px}.cast-footer{flex-wrap:wrap;gap:22px}.cast-footer p{order:3;width:100%}.profile-opening{display:flex;flex-direction:column;gap:30px;align-items:stretch}.profile-opening h1{font-size:43px;margin:17px 0 22px}.profile-standfirst{font-size:18px}.profile-shortcuts{margin-top:21px;gap:20px}.profile-body{display:block;padding:43px 0}.profile-bio p{font-size:16px}.profile-facts{margin-top:35px}.profile-section{padding-top:45px}.profile-section-head{display:block}.profile-section-head h2{font-size:29px}.profile-section-head p{margin-top:16px;font-size:14px}#character-sheet{margin-top:45px;padding:44px 0 18px}#character-sheet:before{top:14px;right:8px}.sheet-button{padding:0}.sheet-button img{max-height:calc(100svh - 300px)}.sheet-button--primary{width:min(100%,calc((100svh - 300px)*var(--sheet-aspect)))}.sheet-button--primary:after{right:8px;bottom:8px;padding:6px 8px;font-size:8px}.sheet-meta{padding:0 4px;flex-wrap:wrap;font-size:12px}.scene-grid{display:block}.scene-grid figure{margin-bottom:36px}.scene-grid figure:not(:nth-child(3)) .scene-button{aspect-ratio:16/9}.scene-grid h3{font-size:22px}.scene-grid p{font-size:15px}.profile-pagination{gap:22px;margin-top:47px}.profile-pagination a{font-size:19px}.profile-pagination small{font-size:12px}.lightbox-bar{padding:12px 14px;gap:14px}.lightbox-bar h2{font-size:15px}.lightbox-stage{padding:8px}.lightbox-caption{padding:10px 16px 20px}.character-breadcrumb{margin-bottom:29px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.lead-card img,.scene-button img{transition:none}}
.sheet-button--primary img{top:-6.5%}
.sheet-button--primary.sheet-button--uncropped img{left:0;top:0;width:100%}
.sheet-button--primary{border:0}
.sheet-button--primary:before{content:'';position:absolute;inset:0;border:4px solid #f1eee7;box-sizing:border-box;z-index:2;pointer-events:none}
.sheet-button--primary:after{z-index:3}
@media(max-width:1000px){.cast-site .desktop-private{display:none}}

/* V39 — character opening films use the same crop and frame as their poster image. */
.profile-portrait video{display:block;width:100%;height:100%;object-fit:cover;background:#10171c}
.profile-video-replay{margin-left:auto;flex-shrink:0;align-self:start;border:0;background:none;padding:0 0 3px;color:#b3bebf;font:12px/1.65 Inter,Arial,sans-serif;letter-spacing:.02em;cursor:pointer;border-bottom:1px solid #c2a47e66}
.profile-video-replay:hover{color:#f1e9dd;border-bottom-color:#c2a47e}
.profile-video-replay:focus-visible{outline:2px solid #c2a47e;outline-offset:5px}
.profile-video-replay[hidden]{display:none}

/* V42 — persistent global navigation on cast and location overview pages. */
html{scroll-padding-top:100px}
.cast-site{padding-top:94px}.cast-header{position:fixed;top:0;left:0;right:0;z-index:60;background:#090f14ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background-color .55s ease,border-color .55s ease,backdrop-filter .55s ease}.nav-scrolled .cast-header{background:#090f1400;border-bottom-color:transparent;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}.cast-header a,.cast-header .cast-kicker,.cast-header .cast-menu{text-shadow:0 1px 14px #000b}
@media(max-width:760px){.cast-site{padding-top:77px}.cast-mobile-nav{position:fixed;top:77px;left:0;right:0;z-index:59}}

/* V55 — wide casting-sheet composition matching the approved page proportion. */
#character-sheet.character-sheet--wide .sheet-button--primary{width:min(100%,calc((100svh - 300px)*var(--sheet-aspect)))}#character-sheet.character-sheet--wide .sheet-meta{max-width:min(100%,calc((100svh - 300px)*var(--sheet-aspect)))}@media(max-width:760px){#character-sheet.character-sheet--wide .sheet-button--primary{width:100%}#character-sheet.character-sheet--wide .sheet-meta{max-width:100%}}

/* V66 — fit the measured image area inside the same four-sided casting frame.
   Per-sheet viewports remove only paper/title margins, preserving every view. */
#character-sheet{scroll-margin-top:0}
#character-sheet .sheet-button--primary{width:100%;aspect-ratio:var(--sheet-aspect)}
#character-sheet .sheet-button--primary img{left:var(--sheet-image-left,0%);top:var(--sheet-image-top,0%);width:var(--sheet-image-width,100%);height:auto;max-width:none;max-height:none;margin:0;filter:none}
#character-sheet .sheet-meta{max-width:100%}
.extra-sheet .sheet-button{border:4px solid #f1eee7;padding:0;overflow:hidden;box-sizing:border-box;width:fit-content;max-width:100%;margin-inline:auto}
.extra-sheet .sheet-button img{display:block;max-width:100%;height:auto;filter:none}
@media(max-width:760px){#character-sheet .sheet-button--primary{width:100%}#character-sheet .sheet-meta{max-width:100%}}

/* V70 — one consistent frame width; each original keeps its natural proportion. */
#character-sheet.character-sheet--wide .sheet-button--primary{width:100%}
#character-sheet.character-sheet--wide .sheet-meta{max-width:100%}
#character-sheet .extra-sheet{max-width:100%}
#character-sheet .extra-sheet .sheet-button{width:100%}
#character-sheet .extra-sheet .sheet-button img{width:100%;max-height:none}

/* V73 — Rosaly is the height reference; the complete study fits below navigation. */
#character-sheet{padding-top:24px}
#character-sheet:before{top:6px}
#character-sheet .sheet-button--primary,
#character-sheet.character-sheet--wide .sheet-button--primary{width:min(100%,calc(var(--sheet-fit-height,calc(100svh - 300px))*var(--sheet-aspect)))}
#character-sheet .sheet-meta,
#character-sheet.character-sheet--wide .sheet-meta{max-width:min(100%,calc(var(--sheet-fit-height,calc(100svh - 300px))*var(--sheet-aspect)))}
#character-sheet .extra-sheet .sheet-button{width:fit-content}
#character-sheet .extra-sheet .sheet-button img{width:auto;max-height:calc(100svh - 200px)}
