/* Selection overview: editorial teaser, image, then project caption. */
.focus-story-opening { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-items:start; gap:0; margin:0 .2rem 4rem; }
.focus-story-question { grid-column:1 / 7; min-width:0; padding:0 .4rem; }
.focus-story-question h1 { max-width:62ch; font:clamp(22px,1.9vw,28px)/1.18 "GT Walsheim Regular",Arial,sans-serif; letter-spacing:var(--title-tracking); margin:0; }
.focus-story-question > p:last-child { max-width:42rem; padding:0; }
.focus-story-dossier .focus-story-facts { display:block; margin:9px 0 0; min-width:0; }
.focus-story-first-image { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:.8rem; align-items:start; margin:0 .6rem 4rem; }
.focus-story-first-image > figure { grid-column:7 / span 6; min-width:0; justify-self:end; }
.focus-story-section { margin:0 .6rem 4rem; }
.focus-story-copy { max-width:40rem; margin:0 0 28px 37.5%; }
.focus-story-copy h2,.focus-story-dossier > h2 { font:var(--type-title-size)/var(--type-title-leading) "GT Walsheim Regular",Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.focus-story-copy p { padding:0; }
.focus-story-images { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(3.25rem,6vw,7rem) .8rem; align-items:start; }
.focus-story-images > figure { min-width:0; grid-column:1 / span 5; }
.focus-story-images > figure:nth-child(even) { grid-column:8 / span 5; margin-top:3rem; }
.focus-story-images.is-feature > figure:first-child { grid-column:2 / span 10; }
.focus-story-images.is-feature > figure:nth-child(2) { grid-column:1 / span 5; margin-top:0; }
.focus-story-images.is-feature > figure:nth-child(3) { grid-column:8 / span 5; margin-top:3rem; }
/* Deliberately composed variations: fixed narrative order, home-like rhythm. */
@media(min-width:45rem) {
  .focus-story-rhythm-0 .focus-story-images > figure:nth-child(odd) { grid-column:1 / span 6; width:min(88%, calc((100dvh - 2rem) * var(--portrait-image-ratio))); margin:0 0 0 4%; }
  .focus-story-rhythm-0 .focus-story-images > figure:nth-child(even) { grid-column:9 / span 4; width:92%; margin:clamp(3rem,8vw,8rem) 0 0; justify-self:end; }
  .focus-story-rhythm-1 .focus-story-images > figure:first-child { grid-column:3 / span 7; justify-self:center; margin:0 0 0 5%; }
  .focus-story-rhythm-1 .focus-story-images > figure:nth-child(2) { grid-column:1 / span 4; width:87%; margin:1.5rem 0 0 9%; }
  .focus-story-rhythm-1 .focus-story-images > figure:nth-child(3) { grid-column:7 / span 6; margin:4rem 5% 0 0; justify-self:end; }
  .focus-story-rhythm-2 .focus-story-images > figure:nth-child(odd) { grid-column:2 / span 4; margin:0 0 0 7%; }
  .focus-story-rhythm-2 .focus-story-images > figure:nth-child(even) { grid-column:7 / span 6; margin:clamp(2rem,5vw,5rem) 0 0; justify-self:end; }
  .focus-story-rhythm-0 .focus-story-images:has(> figure:nth-child(3)) > figure:first-child { grid-row:1; }
  .focus-story-rhythm-0 .focus-story-images:has(> figure:nth-child(3)) > figure:nth-child(2) { grid-column:2 / span 4; grid-row:2; margin:0; justify-self:start; }
  .focus-story-rhythm-0 .focus-story-images:has(> figure:nth-child(3)) > figure:nth-child(3) { grid-column:8 / span 4; grid-row:2; margin:3rem 0 0; justify-self:end; }
}
.focus-story-images img { max-height:85dvh; object-fit:contain; object-position:left top; }
.focus-story-dossier { margin:4rem 12.5% 0 37.5%; padding:0 .6rem; }
.focus-story-project-text p { padding-bottom:19px; }
.focus-story-facts .worklist-detail-content { margin:0; padding:0; }
.focus-story-facts .worklist-detail-meta { width:100%; padding:0; }
.focus-story-worklist { display:inline-flex; margin-top:19px; font:var(--type-sans-size)/var(--type-sans-leading) "GT Walsheim Regular",Arial,sans-serif; letter-spacing:var(--sans-tracking); color:var(--muted); }
.focus-story-worklist:hover { color:var(--ink); }
/* Match the home image rhythm, but size the entire figure to the image:
   no letterboxing when the viewport-height limit is reached. */
#portrait .portrait-figure { width:min(100%, calc((100dvh - 2rem) * var(--portrait-image-ratio))); max-width:100%; }
#portrait .portrait-image-surface { width:100%; height:auto; background:transparent; }
#portrait .portrait-figure img { width:100%; height:auto; max-height:none; object-fit:initial; background:transparent; }
@media(max-width:44.99rem) {
  .focus-story-opening { display:flex; flex-direction:column; align-items:stretch; gap:28px; margin-bottom:38px; }
  .focus-story-question { order:-1; padding:0 .4rem; }
  .focus-story-first-image { display:block; margin-bottom:38px; }
  .focus-story-copy { margin-left:0; }
  .focus-story-images { display:block; }
  .focus-story-images > figure:nth-child(n) { margin:0 0 28px; }
  .focus-story-dossier { margin:38px 0 0; }
}
.focus-spread { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:0 .8rem; margin:0 .6rem 4rem; align-items:start; }
.focus-spread-hero { grid-column:1 / 4; min-width:0; }
.focus-spread-hero > .portrait-figure { width:86%; }
.focus-spread-hero h1 { font:var(--type-title-size)/var(--type-title-leading) "GT Walsheim Regular",Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; margin:0 0 19px; }
.focus-spread-hero img { max-height:85dvh; object-fit:contain; object-position:left top; }
.focus-spread-copy { grid-column:4 / 8; min-width:0; }
.focus-spread-chapter { margin-bottom:19px; }
.focus-spread-chapter h2 { font:14px/15px "GT Walsheim Regular",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; margin-bottom:5px; }
.focus-spread-chapter p { padding:0; }
.focus-spread-chapter p + p { margin-top:var(--type-body-leading); }
.focus-spread .focus-spread-facts { display:block; margin:28px 0 0; }
.focus-spread-facts .worklist-detail-content { margin:0; padding:0; }
.focus-spread-facts .worklist-detail-meta { width:100%; padding:0; }
.focus-spread-copy > .portrait-project-link { margin-top:12px; }
.focus-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); align-items:start; gap:38px .8rem; margin:0 .6rem; }
.focus-gallery > figure { min-width:0; grid-column:1 / span 5; }
.focus-gallery > figure:nth-child(4n+2) { grid-column:8 / span 5; margin-top:5rem; }
.focus-gallery > figure:nth-child(4n+3) { grid-column:2 / span 7; }
.focus-gallery > figure:nth-child(4n+4) { grid-column:7 / span 6; }
.focus-gallery img { max-height:85dvh; object-fit:contain; object-position:left top; }
@media(min-width:45rem) and (max-width:64.99rem) {
  .focus-spread-hero { grid-column:1 / 5; }
  .focus-spread-copy { grid-column:5 / 9; }
}
@media(max-width:44.99rem) {
  .focus-spread { display:block; margin-bottom:38px; }
  .focus-spread-hero { margin-bottom:28px; }
  .focus-spread-hero > .portrait-figure { width:100%; }
  .focus-gallery { display:block; }
  .focus-gallery > figure:nth-child(n) { margin:0 0 28px; }
}
.portraits-grid.journal-grid { grid-template-columns:1fr; gap:.8rem; margin:0 .6rem; }
.portraits-grid .portrait-card { padding:0 0 var(--type-body-leading); }
@media(min-width:45rem) {
  .portraits-grid.journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:65rem) {
  .portraits-grid.journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
.portrait-card-heading { min-height:calc(2 * var(--type-title-leading) + 19px); border-top:var(--rule); padding:8px 0 10px; }
.portrait-card-heading h2 { margin:0; font:var(--type-title-size)/var(--type-title-leading) "GT Walsheim Regular",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.portrait-caption-link { display:flex; align-items:flex-start; gap:.4rem; }
.portrait-caption-link > .ui-arrow { flex-shrink:0; margin-top:calc((var(--type-small-leading) - .8rem) / 2); }
.portrait-caption-link > span:last-child { min-width:0; }
.portraits-page { padding:0 0 4rem; }
.portrait-introduction,.portrait-chapter-copy,.portrait-facts { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); margin:0 .2rem; }
.portrait-introduction { margin-bottom:38px; }
.portrait-introduction > *, .portrait-chapter-copy > *, .portrait-facts > * { min-width:0; padding:0 .4rem; }
.portrait-eyebrow { grid-column:span 3; font-family:"GT Walsheim Regular",Arial,sans-serif; font-size:var(--type-sans-size); line-height:var(--type-sans-leading); letter-spacing:var(--sans-tracking); }
.portrait-introduction > div,.portrait-chapter-copy > div,.portrait-facts > div { grid-column:span 4; }
.portrait-introduction h1,.portrait-pagination h2 { font-family:"GT Walsheim Regular",Arial,sans-serif; font-size:var(--type-title-size); line-height:var(--type-title-leading); letter-spacing:var(--title-tracking); margin-bottom:10px; }
.portrait-introduction p,.portrait-chapter-copy p { padding-bottom:0; }
.portrait-chapter-copy p + p { margin-top:var(--type-body-leading); }
.portrait-figure { margin:0; }
.portrait-image-surface { width:100%; }
.portrait-figure img { display:block; width:100%; height:auto; }
.portrait-card .portrait-image-surface { aspect-ratio:3/4; overflow:hidden; background:#fff; }
.portrait-card .portrait-figure img { width:100%; height:100%; aspect-ratio:3/4; object-fit:cover; }
.portrait-card .portrait-figure figcaption { padding:5px 0 0; letter-spacing:normal; }
.portrait-card > a { display:block; color:var(--ink); }
.portrait-card { transition:opacity .75s ease; }
.portrait-project-title { margin-top:var(--type-body-leading); font:var(--type-sans-size)/var(--type-sans-leading) "GT Walsheim Regular",Arial,sans-serif; }
@media(hover:hover) {
  .portrait-card img:hover { filter:none; }
}
.portrait-preview-facts { margin-top:19px; font:var(--type-small-size)/var(--type-small-leading) "Courier New",monospace; letter-spacing:var(--mono-tracking); }
.portrait-preview-facts > div { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; padding:.2rem 0 .1rem; border-top:1px solid rgba(0,0,0,.5); }
.portrait-preview-facts > div:last-child { border-bottom:1px solid rgba(0,0,0,.5); }
.portrait-preview-facts dd { margin:0; }
.portrait-hero { margin:0 .6rem 38px; }
.portrait-hero .portrait-figure { width:100%; max-width:100%; }
.portrait-hero .portrait-image-surface { height:auto; }
.portrait-hero img { width:100%; height:auto; max-height:100dvh; object-fit:contain; }
.portrait-introduction > .portrait-top-facts { grid-column:span 3; }
.portrait-top-facts .worklist-detail-content { margin:0; }
.portrait-top-facts .worklist-detail-meta { width:100%; padding:0; }
.portrait-block { margin-bottom:38px; }
.portrait-block-heading { margin-bottom:10px; }
.portrait-chapter-copy > .portrait-block-text { grid-column:4 / 8; }
.portrait-chapter-copy > .einblick-heading-large { font:var(--type-title-size)/var(--type-title-leading) "GT Walsheim Regular",Arial,sans-serif; }
.portrait-image-block { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.2rem; margin-left:.6rem; margin-right:.6rem; align-items:start; }
.portrait-image-block > figure { min-width:0; grid-column:span 6; }
.portrait-image-block.count-1 > figure { grid-column:4 / span 6; }
.portrait-image-block.count-1.layout-left > figure { grid-column:1 / span 6; }
.portrait-image-block.count-1.layout-slightlyleft > figure { grid-column:2 / span 6; }
.portrait-image-block.count-1.layout-slightlyright > figure { grid-column:5 / span 6; }
.portrait-image-block.count-1.layout-right > figure { grid-column:7 / span 6; }
.portrait-image-block.layout-largeleft > figure:nth-child(odd),.portrait-image-block.layout-largeright > figure:nth-child(even) { grid-column:span 7; }
.portrait-image-block.layout-largeleft > figure:nth-child(even),.portrait-image-block.layout-largeright > figure:nth-child(odd) { grid-column:span 5; }
.portrait-image-block.layout-offset { row-gap:clamp(3rem,7vw,7rem); margin-top:38px; margin-bottom:clamp(3rem,7vw,7rem); }
.portrait-image-block.layout-offset > figure:nth-child(6n+1) { grid-column:1 / span 5; }
.portrait-image-block.layout-offset > figure:nth-child(6n+2) { grid-column:9 / span 4; margin-top:6rem; }
.portrait-image-block.layout-offset > figure:nth-child(6n+3) { grid-column:3 / span 7; }
.portrait-image-block.layout-offset > figure:nth-child(6n+4) { grid-column:7 / span 6; margin-top:2rem; }
.portrait-image-block.layout-offset > figure:nth-child(6n+5) { grid-column:1 / span 4; }
.portrait-image-block.layout-offset > figure:nth-child(6n+6) { grid-column:8 / span 5; margin-top:4rem; }
.portrait-image-block.layout-three > figure { grid-column:span 4; }
@media(max-width:44.99rem) {
  .portrait-image-block { display:block; }
  .portrait-image-block > figure + figure,.portrait-image-block.layout-offset > figure:nth-child(n+2) { margin-top:19px; }
}
.portrait-chapter { margin-bottom:4rem; scroll-margin-top:8rem; }
.portrait-chapter-copy > h2,.portrait-facts > h2 { grid-column:span 3; }
.portrait-chapter-copy > h2,.portrait-facts > h2,.related-projects > h2,.related-heading { font:14px/15px "GT Walsheim Regular",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.portrait-chapter-images { margin-top:19px; align-items:start; row-gap:19px; }
.portrait-image-cell { min-width:0; padding:0 .4rem; }
.portrait-figure figcaption { padding-top:5px; font:var(--type-small-size)/var(--type-small-leading) "Courier New",monospace; letter-spacing:normal; text-transform:none; }
.portrait-facts { margin-bottom:38px; }
.portrait-facts .worklist-detail-meta { width:100%; padding:0; }
.portrait-facts .worklist-detail-content { margin:0; }
.portrait-credits,.portrait-project-link { margin-top:19px; }
.portrait-project-link { color:var(--muted); }
.portrait-project-link:hover { color:var(--ink); }
.portrait-pagination { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:38px .6rem 0; }
.portrait-pagination > a:last-child { text-align:right; }
.portrait-pagination > a > span { margin-bottom:10px; font:14px/15px "GT Walsheim Regular",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.portrait-pagination h2 { display:flex; align-items:baseline; gap:.5rem; }
.portrait-pagination > a:last-child h2 { justify-content:flex-end; }
.portrait-back-arrow { display:inline-flex; transform:rotate(180deg); }
.worklist-portrait-link { padding:19px .6rem; }
.worklist-portrait-link a { color:var(--muted); }
.worklist-portrait-link a:hover { color:var(--ink); }
.related-projects { margin:0 .2rem; }
.related-projects > h2 { padding:0 .4rem 19px; }
.related-project-row { border-top:var(--rule); color:var(--ink); padding:5px 0 4px; }
.related-project-row:last-child { border-bottom:var(--rule); }
.related-project-row:hover { color:#777; }
.related-project-row > p { font:var(--type-sans-size)/var(--type-sans-leading) "GT Walsheim Regular",Arial,sans-serif; letter-spacing:var(--sans-tracking); }
.related-heading { padding:.34rem 0 .28rem; color:var(--muted); }
.related-projects .worklist-row > * { min-width:0; padding:0 .4rem; }
@media(max-width:64.99rem) {
  .portrait-introduction,.portrait-chapter-copy,.portrait-facts { grid-template-columns:1fr; gap:19px; }
  .portrait-introduction > div,.portrait-introduction > .portrait-top-facts,.portrait-eyebrow,.portrait-chapter-copy > h2,.portrait-chapter-copy > div,.portrait-chapter-copy > .portrait-block-text,.portrait-facts > h2,.portrait-facts > div { grid-column:1; }
  .portrait-hero { margin-bottom:38px; }
  .portrait-chapter { margin-bottom:38px; }
  .related-projects .worklist-row { display:grid; grid-template-columns:3rem 1fr; gap:5px 0; }
  .related-projects .worklist-row > :nth-child(n+3) { grid-column:2; }
  .related-projects .related-heading { display:none; }
}
