/* Shared layout from the supplied v3 reference; generated content remains data. */
.name-header { padding-block: 80px; }
@media (max-width:720px) { .name-header { padding-block: 34px; } }
.profile-title { grid-column: 1; }
.profile-eyebrow { margin:0 0 18px; font:500 11px/1.5 'Glimpse Graphik',var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--accent); overflow-wrap:anywhere; }
.profile-eyebrow a { text-decoration:none; }
.profile-eyebrow a:hover { text-decoration:underline; }
.name-header .byline { gap:4px 0; margin-top:22px; font:400 12px/1.65 'Glimpse Graphik',var(--sans); color:#62675f; }
.byline > * { max-width:100%; overflow-wrap:anywhere; }
.byline > * + *::before { content:'·'; display:inline-block; margin-inline:10px; color:#92968b; font-weight:400; }
.byline :is(.publisher,.byline-name,.byline-noticer a) { font-weight:500; color:#343d34; }
.byline a { text-decoration:none; }
.byline a:hover { text-decoration:underline; }
.byline .byline-date { color:#71756d; }
@media(max-width:720px) {
  .name-header .byline { column-gap:0; row-gap:4px; }
  .byline:has(.byline-noticer) .byline-credit { flex-basis:100%; }
  .byline .byline-noticer::before { content:none; }
}
.name-header .sample-status { align-self: end; }
.story > p { font-size: 16px; }
.story > p:first-of-type { font-size: 17px; line-height: 1.65; color: var(--ink); }
/* A paper-green selection and a two-line opening initial, independent of writer output. */
::selection { background:#d8e1b5; color:#243b2d; }
.story mark { background:#d8e1b5; color:inherit; }
.story > p:first-of-type { display:flow-root; }
.story > p:first-of-type::first-letter { float:left; font-family:var(--serif); font-size:3.25em; line-height:.85; margin:.06em .09em 0 0; color:#273c2e; }
.story sup { font: 9px var(--sans); white-space: nowrap; }
.source-refs { font: 10px/1 var(--sans); vertical-align: super; white-space: nowrap; }
.source-refs a { color: #6b7480; text-decoration: none; border: 0; }
.source-refs a:hover, .source-refs a:focus-visible { color: var(--ink); text-decoration: underline; }
.story sup .source-refs { vertical-align: baseline; }
.custom-figure { float: none; clear: both; width: 100%; max-width: 560px; margin: 36px auto; }
.custom-figure img { display: block; width: 100%; max-height: 450px; object-fit: contain; }
.custom-figure figcaption { font: 12px/1.6 var(--sans); color: var(--muted); text-align: center; margin-top: 12px; }
.work-art img, .quote-image img, .dialog-art img { width: 100%; height: 100%; object-fit: contain; }
.work-item.without-image { min-height: 190px; border-top: 1px solid var(--line); padding-top: 18px; }
.work-item.without-image .work-title { margin: 12px 0; font: 24px/1.2 var(--serif); }
.work-item.without-image .work-caption { display: block; margin-top: 10px; }
.timeline { --timeline-columns: 4; --timeline-gap: 22px; display: flex; flex-wrap: wrap; gap: var(--timeline-gap); overflow: visible; }
.timeline li { flex: 1 1 calc((100% - (var(--timeline-columns) - 1) * var(--timeline-gap)) / var(--timeline-columns)); min-width: 0; }
.timeline li::before, .timeline li::after { display: none; }
.timeline.illustrated li.connect-next::before, .timeline.illustrated li.connect-next::after { display: block; }
.timeline.illustrated li:nth-child(4n)::before, .timeline.illustrated li:nth-child(4n)::after { display: none; }
.milestone-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Throughline finishing: larger drawings, readable captions and a quiet pencil connection. */
.throughline .milestone-art { width:min(136px,100%); height:114px; margin:7px 0 12px; }
.throughline .milestone-caption { color:#565e51; font-size:11.5px; line-height:1.65; }
.throughline .milestone-context { color:#737b6c; }
.throughline .milestone-year { color:#747a6e; }
.throughline .timeline { position:relative; }
.throughline .timeline.has-pencil-links > li::before,
.throughline .timeline.has-pencil-links > li::after { display:none; }
.throughline-pencil-links { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.throughline-zoom { display:block; position:relative; width:100%; height:100%; border:0; padding:0; background:transparent; cursor:zoom-in; }
.throughline-zoom:focus-visible { outline:1px solid #85917a; outline-offset:5px; border-radius:2px; }
.throughline-zoom::after { content:'+'; position:absolute; right:0; bottom:0; width:17px; height:17px; border:1px solid #cbd1c4; border-radius:50%; background:var(--paper); color:#6e7b62; font:14px/15px var(--sans); opacity:0; transition:opacity .15s ease; }
.throughline-zoom:hover::after,.throughline-zoom:focus-visible::after { opacity:1; }
.throughline-detail { width:min(590px,calc(100vw - 32px)); padding:0; }
.throughline-detail .dialog-top { padding:13px 20px; }
.throughline-detail .dialog-body { padding:22px 30px 30px; }
.throughline-detail-image { display:block; width:100%; height:min(330px,42dvh); object-fit:contain; margin:0 auto 24px; }
.throughline-detail .dialog-body h2 { font-size:27px; letter-spacing:-.4px; margin:0 0 8px; }
.throughline-detail .dialog-body .throughline-detail-context { font:11px/1.6 var(--sans); color:#747d6b; margin:0 0 14px; }
.throughline-detail .dialog-body .throughline-detail-caption { font:15px/1.7 var(--serif); color:#50594b; margin:0; }
@media(max-width:480px) { .throughline .milestone-art { width:128px; height:112px; } .throughline .milestone-caption { font-size:12px; } .throughline-detail .dialog-body { padding:18px 22px 26px; } }
@media print { .throughline-detail { display:none!important; } .throughline-zoom::after { display:none; } }
.quote-feature.text-only { display: block; }
.quote-feature.text-only .quote-copy { max-width: 580px; }
.elsewhere-list a { display: block; font-size: 12px; padding: 8px 0; }
/* Editorial note above Places. It does not participate in the name/hero grid. */
.rail .recognition-note { background:transparent; border-top:2px solid #334333; padding:16px 0 0; margin-bottom:32px; color:var(--ink); overflow-wrap:anywhere; }
.recognition-heading { margin-bottom:11px; }
.recognition-note .recognition-label { font:500 9px/1.6 var(--sans); letter-spacing:1.25px; text-transform:uppercase; color:var(--accent); margin:0; }
.recognition-note .recognition-reason { font:italic 17px/1.5 var(--serif); color:var(--body); margin:0; }
.recognition-note .recognition-signature { font:italic 14px/1.6 var(--serif); color:#697b5d; margin:14px 0 0; }
.recognition-credit { padding-top:15px; margin-top:20px; border-top:1px solid var(--line); }
.recognition-note.credit-only .recognition-credit { border:0; padding:0; margin:0; }
.recognition-note .recognition-name { display:block; font:19px/1.3 var(--serif); color:var(--ink); margin:9px 0 0; text-decoration:none; }
.recognition-name span { font:12px var(--sans); color:var(--muted); margin-left:3px; }
.recognition-note a.recognition-name:hover { text-decoration:underline; text-underline-offset:5px; }
.recognition-note .recognition-role { font:11px/1.6 var(--sans); color:var(--muted); margin:6px 0 0; }
.recognition-method { margin-top:18px; font:11px/1.65 var(--sans); color:var(--ink); }
.recognition-method a { text-decoration:underline; text-decoration-color:var(--line-dark); text-underline-offset:3px; }
.recognition-note :is(summary,a):focus-visible { outline:2px solid #637c52; outline-offset:4px; }
@media(max-width:720px) { .rail .recognition-note { grid-column:1 / -1; } }
#globe { display: block; width: 100%; height: auto; }
.profile-sources { border-top: 1px solid var(--line); padding-block: 28px 60px; font-size: 12px; line-height: 1.8; }
.profile-sources h2 { font: 13px var(--sans); margin-bottom: 15px; }
.profile-sources ol { padding-left: 18px; }
.profile-preview-link { display: inline-block; margin: 12px 0; }
.illustration-pending { padding: 20px; border: 1px dashed var(--line-dark); }
.illustration-pending figcaption { font: 12px/1.5 var(--sans); color: var(--muted); }
.illustration-pending p { font: 15px/1.6 var(--sans); margin: 12px 0 0; }
@media(max-width:1000px) { .timeline { --timeline-columns: 2; } .timeline.illustrated li:nth-child(2n)::before, .timeline.illustrated li:nth-child(2n)::after { display: none; } }
@media(max-width:720px) { .timeline { --timeline-gap: 14px; } }
@media(max-width:480px) { .timeline { --timeline-gap: 24px; } }
@media(max-width:720px) { .name-header { padding-bottom: 24px; } }
.subject-additions[hidden]{display:none}.subject-additions{border-top:1px solid #ddd;padding-top:32px;padding-bottom:32px;margin-top:48px}.subject-additions h2{font-size:20px;margin:0 0 24px}.subject-additions-content{max-width:700px}.subject-additions figure{margin:0 0 24px}.subject-additions img{display:block;max-width:100%;width:auto;max-height:320px;object-fit:contain}.subject-additions figcaption{font:12px/1.6 system-ui,sans-serif;color:#666;margin-top:8px}.subject-link{padding:12px 0;overflow-wrap:anywhere}.subject-link a{color:inherit;text-underline-offset:3px}.subject-link p{font:15px/1.6 system-ui,sans-serif;white-space:pre-wrap;margin:8px 0}
/* The title determines header height; desktop artwork can extend into its padding. */
.profile-header-art{grid-column:2;grid-row:1;position:relative;align-self:stretch;min-height:0;min-width:0}
.profile-hero{position:absolute;inset:0 0 24px;margin:0;width:100%}
.profile-hero img{display:block;width:100%;height:100%;object-fit:contain}
.profile-header-art .sample-status{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap}
.profile-header-art:not(:has(.sample-status)) .profile-hero{bottom:0}
@media(min-width:721px){
  .profile-header-art{overflow:visible}
  .profile-hero{inset:-38px -16px -50px;width:auto;pointer-events:none}
  .profile-header-art:not(:has(.sample-status)) .profile-hero{bottom:-50px}
  .profile-header-art .sample-status{bottom:-34px}
}
@media(max-width:720px){
  .name-header.has-hero{position:relative}
  .profile-header-art{grid-column:1;grid-row:auto;display:flow-root}
  .profile-hero{inset:auto 0 0 auto;width:88px;height:72px}
  .profile-header-art .sample-status{position:static;transform:none}
  .name-header.has-hero .byline{max-width:calc(100% - 104px)}
  .profile-header-art:not(:has(.sample-status)){position:absolute;bottom:24px;right:0;width:88px;height:0}
  .profile-header-art:not(:has(.sample-status)) .profile-hero{bottom:0;width:64px;height:40px}
}
.custom-figure.profile-cartoon{max-width:490px}
