.sp-character{overflow:hidden;padding-top:calc(var(--space-m) * 0.8667);padding-bottom:calc(var(--section-space-l) * 0.7963)}
.sp-character__breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-m) * 0.8);padding-top:var(--space-s);padding-bottom:var(--space-s);border-bottom:1px solid var(--pd-line)}
.sp-character__hero{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(390px,1.14fr);gap:calc(var(--section-space-l) * 1.1481);align-items:center;padding-top:calc(var(--space-l) * 1.2);padding-bottom:calc(var(--section-space-l) * 0.8519)}
.sp-character__portrait{width:100%;max-width:560px}
.sp-character__portrait-frame{position:relative;aspect-ratio:.72;overflow:hidden;border-radius:calc(var(--radius) * 1.2857);background:var(--pd-deep);box-shadow:0 36px 90px -46px var(--base-ultra-dark)}
.sp-character__portrait-frame::before{content:"";position:absolute;z-index:2;inset:8px;border:1px solid color-mix(in srgb,var(--white) 11.3725%,transparent);border-radius:calc(var(--radius) * 0.8571);pointer-events:none}
.sp-character__portrait-frame::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--base-ultra-dark) 90.9804%,transparent),transparent 30%),linear-gradient(105deg,transparent 55%,color-mix(in srgb,var(--primary) 18.0392%,transparent));pointer-events:none}
.sp-character__portrait img{width:100%;height:100%;object-fit:cover;object-position:var(--character-position);filter:saturate(.72) contrast(1.03)}
.sp-character__portrait-line{position:absolute;z-index:3;top:9%;bottom:16%;right:9%;width:1px;background:linear-gradient(transparent,color-mix(in srgb,var(--primary-semi-light) 53.3333%,transparent),transparent);box-shadow:0 0 30px 3px color-mix(in srgb,var(--primary-hover) 53.3333%,transparent)}
.sp-character__portrait figcaption{position:absolute;z-index:3;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;gap:var(--space-s);color:var(--neutral-ultra-light);font:calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono);letter-spacing:calc(var(--h6-letter-spacing) * 0.8);text-transform:uppercase}
.sp-character__introduction{max-width:670px}
.sp-character__introduction h1{margin-top:calc(var(--space-s) * 0.9);font-size:calc(var(--h1) * 1.8947);line-height:var(--h1-line-height);letter-spacing:calc(var(--h1-letter-spacing) * 1.5556)}
.sp-character__epigraph{max-width:19ch;margin-top:calc(var(--space-l) * 0.9333);font-family:var(--pd-heading-font);font-size:calc(var(--h2) * 0.8125);line-height:var(--h3-line-height);letter-spacing:calc(var(--h3-letter-spacing) * 1.2);color:var(--neutral-ultra-light)}
.sp-character__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:calc(var(--space-l) * 1.0667) 0 calc(var(--space-l) * 0.8444);border-top:1px solid var(--pd-line);border-bottom:1px solid var(--pd-line)}
.sp-character__facts div{padding:var(--space-s) calc(var(--space-s) * 0.9) var(--space-s) 0}
.sp-character__facts div+div{padding-left:calc(var(--space-s) * 0.9);border-left:1px solid var(--pd-line)}
.sp-character__facts dt{font:calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono);letter-spacing:calc(var(--h6-letter-spacing) * 1.2);text-transform:uppercase;color:var(--pd-subtle)}
.sp-character__facts dd{margin:calc(var(--space-xs) * 0.5926) 0 0;font-size:calc(var(--text-s) * 0.9286);color:var(--pd-text)}
.sp-character__story{padding:calc(var(--section-space-l) * 0.8148) 0;background:linear-gradient(112deg,var(--base-ultra-dark),var(--base-ultra-dark) 65%);border-color:var(--pd-line)}
.sp-character__story-grid{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1fr) minmax(220px,.72fr);gap:calc(var(--section-space-l) * 0.8333);align-items:start}
.sp-character__story-heading h2{max-width:11ch;margin-top:calc(var(--space-s) * 0.9);font-size:calc(var(--h1) * 0.8158);line-height:var(--h1-line-height);letter-spacing:var(--h1-letter-spacing)}
.sp-character__story-copy{display:grid;gap:calc(var(--space-s) * 1.1);color:var(--pd-muted);font-size:calc(var(--text-m) * 0.8889);line-height:var(--text-line-height)}
.sp-character__story-copy p:first-child::first-letter{float:left;margin:calc(var(--space-xs) * 0.5185) calc(var(--space-xs) * 0.7407) 0 0;font-family:var(--pd-heading-font);font-size:calc(var(--h1) * 0.8947);line-height:var(--h1-line-height);color:var(--pd-text)}
.sp-character__story blockquote{position:relative;margin:0;padding:calc(var(--space-m) * 1.1333) 0 0;border-top:1px solid var(--primary-semi-dark);font-family:var(--pd-heading-font);font-size:calc(var(--h2) * 0.75);line-height:var(--h3-line-height);letter-spacing:var(--h3-letter-spacing);color:var(--neutral-ultra-light)}
.sp-character__story blockquote::before{content:"✦";position:absolute;top:-9px;left:0;padding-right:calc(var(--space-xs) * 0.8889);background:var(--base-ultra-dark);color:var(--pd-ember);font:calc(var(--text-s) * 0.9286) var(--pd-font)}
.sp-character__sessions{padding-top:calc(var(--section-space-l) * 0.8519);padding-bottom:calc(var(--space-xl) * 1.1852)}
.sp-character__sessions .sp-heading-row h2{margin-top:calc(var(--space-xs) * 0.8889)}
.sp-character__sessions .sp-note{max-width:50ch}
.sp-character__session-grid{display:grid;grid-template-columns:1.35fr .85fr .85fr;gap:var(--space-s)}
.sp-character__session{position:relative;display:flex;align-items:flex-end;isolation:isolate;min-height:420px;overflow:hidden;border-radius:calc(var(--radius) * 1.1429);background:var(--pd-deep);box-shadow:var(--pd-shadow)}
.sp-character__session:nth-child(n+2){min-height:360px;margin-top:calc(var(--space-xl) * 0.8889)}
.sp-character__session::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--base-ultra-dark) 94.902%,transparent),transparent 65%)}
.sp-character__session--witness::before{content:"";position:absolute;z-index:3;left:16%;right:16%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--pd-gold),transparent);box-shadow:0 0 22px 2px color-mix(in srgb,var(--pd-gold) 60%,transparent)}
.sp-character__session img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--session-position);filter:saturate(.62);transition:transform .8s var(--pd-ease),filter .4s}
.sp-character__session:hover img,.sp-character__session:focus-visible img{transform:scale(1.04);filter:saturate(.9)}
.sp-character__session-content{width:100%;padding:calc(var(--space-m) * 0.8667)}
.sp-character__session-meta{display:flex;justify-content:space-between;gap:calc(var(--space-xs) * 0.8889);color:var(--neutral-light);font:calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono);letter-spacing:calc(var(--h6-letter-spacing) * 0.8);text-transform:uppercase}
.sp-character__session h3{max-width:10ch;margin-top:calc(var(--space-xs) * 0.8889);font-size:calc(var(--h2) * 0.875);line-height:var(--h1-line-height);letter-spacing:var(--h2-letter-spacing)}
.sp-character__session-access{display:inline-flex;align-items:center;gap:calc(var(--space-xs) * 0.4444)}
.sp-character__session-access .pd-icon{width:11px;height:11px}
.sp-character__switcher{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--pd-line);border-bottom:1px solid var(--pd-line)}
.sp-character__switcher a{display:grid;gap:calc(var(--space-xs) * 0.4444);min-height:114px;align-content:center}
.sp-character__switcher a:last-child{text-align:right}
.sp-character__switcher a span{font:calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono);letter-spacing:calc(var(--h6-letter-spacing) * 1.2);text-transform:uppercase;color:var(--pd-subtle)}
.sp-character__switcher a strong{font-family:var(--pd-heading-font);font-size:calc(var(--h3) * 0.8333);font-weight:var(--heading-font-weight)}
.sp-character__switcher-mark{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--pd-line);border-radius:50%;color:var(--pd-muted)}
@media(max-width:920px){.sp-character__hero{grid-template-columns:1fr 1fr;gap:calc(var(--space-l) * 0.8889)}.sp-character__introduction h1{font-size:calc(var(--h1) * 1.0789)}.sp-character__facts{grid-template-columns:1fr}.sp-character__facts div+div{padding-left:0;border-left:0;border-top:1px solid var(--pd-line)}.sp-character__story-grid{grid-template-columns:1fr 1fr}.sp-character__story blockquote{grid-column:2}.sp-character__session-grid{grid-template-columns:1fr 1fr}.sp-character__session:first-child{grid-column:1/-1}.sp-character__session:nth-child(n+2){margin-top:0}}
@media(max-width:680px){.sp-character__breadcrumb>.sp-kicker{display:none}.sp-character__hero{grid-template-columns:1fr;padding-top:calc(var(--space-m) * 1.1333);padding-bottom:var(--space-xl)}.sp-character__portrait{max-width:none}.sp-character__portrait-frame{max-height:72vh}.sp-character__introduction h1{font-size:calc(var(--h1) * 1.3816)}.sp-character__epigraph{margin-top:calc(var(--space-m) * 0.9333)}.sp-character__facts{margin-top:calc(var(--space-m) * 1.1333)}.sp-character__story{padding:calc(var(--space-xl) * 0.9481) 0}.sp-character__story-grid{grid-template-columns:1fr}.sp-character__story blockquote{grid-column:auto}.sp-character__sessions{padding-top:var(--space-xl)}.sp-character__sessions .sp-heading-row{display:block}.sp-character__sessions .sp-note{margin-top:calc(var(--space-s) * 0.9)}.sp-character__session-grid{grid-template-columns:1fr}.sp-character__session:first-child{grid-column:auto}.sp-character__session,.sp-character__session:nth-child(n+2){min-height:430px}.sp-character__portrait figcaption{left:20px;right:20px;bottom:20px}.sp-character__switcher-mark{width:46px;height:46px}.sp-character__switcher a{min-height:96px}.sp-character__switcher a strong{font-size:calc(var(--h4) * 1.05)}}
@media(prefers-reduced-motion:reduce){.sp-character__session img{transition-duration:0s}}
