/* Private portrait components only; source framing is never cropped in CSS. */
.about-portrait-header{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,5vw,64px);align-items:start}
.about-intro-copy{min-width:0}
.about-intro-copy .lede{max-width:48ch}
.about-portrait-header .portrait-about{justify-self:end}
.portrait-about{width:100%;max-width:320px;margin:0}
.portrait-about picture,.portrait-media picture{display:block}
.portrait-about img,.portrait-media img{display:block;width:100%;height:auto;border:1px solid var(--line,#d8d4ce)}
.portrait-about figcaption{display:grid;gap:6px;margin-top:12px;font-size:.9rem;line-height:1.5}
.portrait-about figcaption small{color:var(--muted,#625f59);font-size:.8rem}
.portrait-review{padding-top:48px;padding-bottom:72px}
.portrait-intro{max-width:760px;margin-bottom:40px}
.portrait-intro h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.06;margin:12px 0 24px}
.portrait-intro p{line-height:1.7}
.portrait-status{padding:16px 20px;border-left:3px solid var(--gold,#bd8c2e);background:var(--paper,#f8f6ef);font-size:.9rem}
.portrait-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.portrait-candidate{min-width:0}
.portrait-candidate>p{line-height:1.7;max-width:58ch}
.portrait-candidate h2{font-size:1.6rem;margin:0 0 12px}
.portrait-candidate h3{font-size:1rem;margin:28px 0 12px}
.portrait-media{max-width:320px;margin:24px 0}
.portrait-media figcaption{font-size:.8rem;line-height:1.5;color:var(--muted,#625f59);margin-top:10px}
.portrait-downloads{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.portrait-downloads li{display:grid;gap:4px}
.portrait-downloads span{font-size:.8rem;color:var(--muted,#625f59);overflow-wrap:anywhere}
.portrait-variants{margin-top:24px;border-top:1px solid var(--line,#d8d4ce);padding-top:16px}
.portrait-variants summary{cursor:pointer;font-weight:600;line-height:1.5}
.portrait-variants[open] .portrait-downloads{margin-top:20px}
.portrait-notes{max-width:760px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line,#d8d4ce)}
.portrait-notes h2{font-size:1.4rem}
.portrait-notes p{line-height:1.7}
.portrait-review a:focus-visible,.portrait-about a:focus-visible,.portrait-variants summary:focus-visible{outline:2px solid var(--plum,#581846);outline-offset:4px}
@media(max-width:760px){.portrait-candidates{grid-template-columns:1fr;gap:48px}.about-portrait-header{grid-template-columns:minmax(0,1fr);gap:0}.about-portrait-header .portrait-about{justify-self:start;max-width:240px;margin-top:24px}}
@media(max-width:640px){.portrait-about{max-width:240px;margin-top:24px}.portrait-media{max-width:280px}.portrait-review{padding-top:32px;padding-bottom:48px}}
