/* Artist portfolio: an extension of the timeline's theatrical palette. */
html {scroll-padding-top:100px}
.portfolio {--portfolio-width:1200px}
.wrap {width:min(var(--portfolio-width), calc(100% - 96px));margin-inline:auto}
.section-space {padding-block:104px}
.skip-link {position:fixed;left:16px;top:-100px;background:var(--color-primary);color:var(--color-bg);padding:12px;z-index:100}
.skip-link:focus {top:10px}
.artist-header {height:90px;display:flex;align-items:center;gap:28px;padding-inline:48px;border-bottom:1px solid var(--color-divider);background:var(--color-bg);position:sticky;top:0;z-index:20}
.artist-brand {display:flex;align-items:center;gap:12px;color:var(--color-primary);font-size:var(--text-base);font-weight:600;white-space:nowrap;text-decoration:none}
.artist-nav {display:flex;align-items:center;gap:28px;margin-left:auto}
.artist-nav a {font-size:var(--text-sm);text-decoration:none;color:var(--color-text);padding-block:12px}
.artist-nav a:hover {color:var(--color-primary)}
.artist-nav a[aria-current="page"] {border-bottom:1px solid var(--color-primary);color:var(--color-primary)}
.nav-contact {border-bottom:1px solid var(--color-primary)}
.appearance-toggle,.menu-toggle {background:none;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;min-height:44px;min-width:44px;font:inherit}
.appearance-toggle {border-radius:50%;font-size:var(--text-lg)}
.menu-toggle {display:none}
.artist-hero {padding-top:70px;display:grid;grid-template-columns:1.05fr 1fr;gap:24px 64px}
.eyebrow {color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;font-weight:600;letter-spacing:.13em;margin-bottom:24px}
.hero-copy h1 {font:500 clamp(4.5rem,7.7vw,7.4rem)/.98 var(--font-display);letter-spacing:-.06em;margin:26px 0}
.name-period {color:var(--color-primary)}
.artist-roles {font-size:var(--text-lg);line-height:1.5;font-weight:500;margin-block:24px 16px}
.artist-intro {color:var(--color-text-muted);font-size:var(--text-base);line-height:1.7;max-width:43ch;margin-bottom:28px}
.button-primary,.button-light {display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:50px;padding:13px 22px;text-decoration:none;font-size:var(--text-sm);font-weight:500;background:#7b1e2c;color:#fffaf1;border:1px solid #7b1e2c;transition:background .2s,transform .2s}
.button-primary:hover {background:#591522;transform:translateY(-2px)}
.portrait {margin:0;align-self:center;position:relative;padding-bottom:14px}
.portrait::before {content:"";position:absolute;inset:18px -16px 50px 18px;border:1px solid var(--color-accent);z-index:-1}
.portrait img {width:100%;height:490px;object-fit:cover;object-position:59% center;display:block;filter:saturate(.72)}
.portrait figcaption {display:flex;justify-content:space-between;gap:10px;font-size:var(--text-xs);margin-top:14px;color:var(--color-text-muted)}
.portrait figcaption a {color:inherit;text-decoration:none}
.hero-bottom {grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--color-divider);padding:24px 0 28px;margin-top:32px;font-size:var(--text-xs);color:var(--color-text-muted)}
.hero-bottom a {color:var(--color-primary);text-decoration:none}
.practice-band {background:var(--color-surface-offset);border-block:1px solid var(--color-divider)}
.practice-band .wrap {display:flex;justify-content:space-between;gap:20px;padding-block:23px;font-size:var(--text-sm);color:var(--color-text-muted)}
.practice-band span+span::before {content:"·";margin-right:40px;color:var(--color-accent)}
.section-heading {display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}
.section-heading .eyebrow {margin-bottom:14px}
.section-heading h2,.about-section h2,.archive-section h2,.contact-section h2 {font:400 var(--text-2xl)/1.15 var(--font-display);letter-spacing:-.035em}
.section-heading>p {max-width:39ch;color:var(--color-text-muted);font-size:var(--text-base);line-height:1.6}
.selected-grid {display:grid;grid-template-columns:1.15fr 1fr;gap:24px}
.work-tile {min-height:380px;display:flex;flex-direction:column;padding:32px;text-align:left;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s;color:inherit;font-family:inherit}
.work-tile:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tile-meta {font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase}
.tile-title {font:400 var(--text-2xl)/1.05 var(--font-display);margin-block:35px 20px;letter-spacing:-.03em}
.tile-title em,.about-section em,.archive-section em,.contact-section em,.teaching-statement em {font-weight:400}
.tile-description {font-size:var(--text-base);line-height:1.6;max-width:37ch}
.tile-bottom {display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:auto;padding-top:28px;font-size:var(--text-xs)}
.tile-bottom span {font-size:var(--text-lg)}
.tile-burgundy {background:#7b1e2c;color:#fff6e9}
.tile-paper {background:var(--color-surface-2);border-color:var(--color-border)}
.tile-gold {background:#ddc394;color:#34281a}
.tile-ink {background:#302b25;color:#fff6e9}
.text-link {display:inline-block;color:var(--color-primary);font-size:var(--text-sm);padding-block:12px;text-underline-offset:6px}
.work-section>.text-link {margin-top:24px}
.about-section {background:var(--color-surface-offset)}
.about-layout {display:grid;grid-template-columns:1fr 1.15fr;gap:100px}
.about-section h2 {margin-bottom:24px}
.location-label {max-width:28ch;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}
.about-copy p {font-size:var(--text-base);line-height:1.8;margin-bottom:20px}
.about-copy .lead-copy {font-size:var(--text-lg);line-height:1.6}
.about-links {display:flex;flex-wrap:wrap;gap:4px 24px}
.teaching-layout {display:grid;grid-template-columns:1fr 1.15fr;gap:100px;margin-top:56px}
.teaching-statement>p {font:400 var(--text-xl)/1.5 var(--font-display);margin-bottom:28px}
.workshop-list details {border-top:1px solid var(--color-border);padding-block:18px}
.workshop-list details:last-of-type {border-bottom:1px solid var(--color-border)}
.workshop-list summary {display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:var(--text-base);font-weight:500;cursor:pointer;min-height:44px;list-style:none}
.workshop-list summary::-webkit-details-marker {display:none}
.workshop-list details[open] summary span {transform:rotate(45deg)}
.workshop-list details p {font-size:var(--text-sm);line-height:1.8;color:var(--color-text-muted);margin-top:16px}
.small-source {display:inline-block;padding-top:16px;font-size:var(--text-xs);color:var(--color-text-muted)}
.archive-section {background:#661c29;color:#fff4e4;padding-block:88px}
.archive-section .eyebrow {color:#e5c18a}
.archive-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}
.archive-layout>div>p:not(.eyebrow) {font-size:var(--text-base);line-height:1.7;max-width:40ch;margin-block:24px}
.button-light {background:#fff4e4;border-color:#fff4e4;color:#661c29}
.button-light:hover {background:#e5c18a}
.archive-preview {border-left:1px solid #ad6d75;padding-left:28px}
.archive-preview a {display:grid;grid-template-columns:100px 1fr;gap:4px 16px;padding-block:23px;border-bottom:1px solid #9d555f;text-decoration:none;color:inherit}
.archive-preview a>span:first-child {grid-row:1/3;font-size:var(--text-xs);color:#e5c18a}
.archive-preview strong {font-size:var(--text-base);font-weight:500}
.archive-preview a>span:last-child,.archive-preview>p {font-size:var(--text-xs);color:#e4c6c5}
.archive-preview a:hover strong {text-decoration:underline;text-underline-offset:5px}
.archive-preview>p {margin-top:20px;line-height:1.7}
.contact-layout {display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}
.contact-layout p {font-size:var(--text-base);line-height:1.8;color:var(--color-text-muted);max-width:45ch}
.contact-email {font-size:var(--text-lg);display:inline-block;overflow-wrap:anywhere;color:var(--color-primary);text-decoration:none;border-bottom:1px solid var(--color-primary);padding-block:18px}
.contact-layout .email-note {font-size:var(--text-xs);margin-top:16px;max-width:48ch}
.artist-footer {display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--color-border);padding-block:28px;font-size:var(--text-xs);color:var(--color-text-muted)}
.artist-footer a {color:var(--color-primary);text-decoration:none}
.artist-footer>a:first-child {font-size:var(--text-base);font-weight:500}
dialog {width:min(700px,calc(100% - 32px));max-height:85dvh;margin:auto;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);padding:40px;box-shadow:var(--shadow-lg);overflow-y:auto}
dialog::backdrop {background:rgba(25,15,12,.7)}
.dialog-close {display:block;margin-left:auto;background:none;color:var(--color-text);border:1px solid var(--color-border);font:inherit;padding:8px 14px;min-height:44px;cursor:pointer}
#dialog-title {font:400 var(--text-xl)/1.2 var(--font-display);margin-block:24px}
#project-detail p {font-size:var(--text-base);line-height:1.8;margin-block:16px}
#project-detail .detail-label {font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}
:focus-visible {outline:3px solid var(--color-accent);outline-offset:5px}
@media(min-width:1500px){.artist-header{padding-inline:max(48px,calc((100vw - 1300px)/2))}}
@media(max-width:1000px){
  .wrap{width:calc(100% - 56px)}.artist-header{padding-inline:28px;gap:18px}.artist-nav{gap:16px}
  .artist-hero{gap:24px 40px}.portrait img{height:450px}.portrait figcaption{flex-direction:column}
  .about-layout,.teaching-layout,.contact-layout,.archive-layout{gap:48px}.practice-band span+span::before{margin-right:16px}
}
@media(max-width:760px){
  html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.section-space{padding-block:64px}
  .artist-header{height:76px;padding-inline:20px;gap:12px}.artist-brand{font-size:var(--text-sm);gap:8px}.artist-brand svg{width:28px}
  .menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;border:0;font-size:var(--text-sm)}
  .artist-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--color-bg);padding:20px;border-bottom:1px solid var(--color-border)}
  .artist-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.artist-nav a{padding:12px}
  .appearance-toggle{min-width:40px;min-height:40px}
  .artist-hero{grid-template-columns:1fr;padding-top:44px;gap:32px}
  .hero-copy h1{font-size:clamp(4.25rem,17vw,7rem);margin-block:20px}.eyebrow{font-size:var(--text-xs);line-height:1.7}
  .artist-intro{max-width:40ch}.portrait{max-width:540px;width:calc(100% - 12px);margin:0}
  .portrait img{height:380px;object-position:58% center}.portrait figcaption{flex-direction:row;flex-wrap:wrap}
  .hero-bottom{margin-top:8px;flex-wrap:wrap;gap:8px 20px}.hero-bottom>a{width:100%;padding-top:6px}
  .practice-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:var(--text-xs)}.practice-band span+span::before{display:none}
  .section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}
  .selected-grid{grid-template-columns:1fr;gap:16px}.work-tile{min-height:330px;padding:28px}.tile-title{font-size:var(--text-2xl)}
  .about-layout,.teaching-layout,.archive-layout,.contact-layout{grid-template-columns:1fr;gap:32px}
  .about-copy .lead-copy{font-size:var(--text-base)}.teaching-layout{margin-top:28px}
  .archive-section{padding-block:60px}.archive-preview{padding-left:20px}.archive-preview a{grid-template-columns:88px 1fr}
  .contact-email{font-size:var(--text-base)}.artist-footer{align-items:start;flex-direction:column;gap:12px}
  dialog{padding:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Poetry, images, and press */
.poet-callout {background:var(--color-surface-offset);padding-block:64px;border-block:1px solid var(--color-divider)}
.poet-callout>.wrap {display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}
.poet-callout h2 {font:400 var(--text-2xl)/1.15 var(--font-display);letter-spacing:-.03em}
.poet-callout p:not(.eyebrow) {font-size:var(--text-base);line-height:1.8}
.image-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;align-items:start}
.image-grid figure {margin:0;min-width:0}
.image-grid img {width:100%;height:300px;object-fit:cover;display:block;background:var(--color-surface-offset)}
.image-grid .wide-photo img {object-fit:contain;background:#18151f}
.image-grid .poster-photo img {object-fit:contain;background:#e4d1a5}
.image-grid .compact-art>a {display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--color-surface-offset)}
.image-grid .compact-art img {width:auto;height:auto;max-width:100%;background:none}
.publication-cover {margin:0 0 24px}
.publication-cover img {display:block;width:150px;max-width:100%;height:auto}
.publication-cover figcaption,.poet-portrait figcaption {font-size:var(--text-xs);line-height:1.7;color:var(--color-text-muted);margin-top:12px}
.poet-portrait {margin-top:56px}
.poet-portrait img {display:block;width:100%;height:auto}
.context-photo-grid,.archive-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;align-items:start}
.archive-figure {margin:0;min-width:0;scroll-margin-top:120px}
.archive-image-link {display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--color-surface-offset);padding:16px}
.archive-figure img {display:block;width:auto;height:auto;max-width:100%;max-height:340px}
.archive-figure figcaption {font-size:var(--text-xs);line-height:1.7;margin-top:16px;color:var(--color-text-muted)}
.archive-figure figcaption strong {display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text);margin-bottom:6px}
.archive-figure figcaption span {display:block;margin-top:6px}
.archive-figure figcaption a {display:inline-block;padding-block:10px;text-decoration:underline;text-underline-offset:4px}
.about-portrait {margin-top:32px;max-width:380px}
.about-portrait .archive-image-link {padding:0;min-height:0}
.about-portrait img {max-height:none;width:100%}
.selected-extra-images,.teaching-photos {margin-top:48px}
.archive-jump-links {display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:32px}
.archive-jump-links a {font-size:var(--text-sm);min-height:44px;padding-block:12px;text-decoration:underline;text-underline-offset:6px}
.archive-photo-sections section {padding-block:72px;border-bottom:1px solid var(--color-border);scroll-margin-top:100px}
.archive-photo-sections h2 {font:400 var(--text-2xl)/1.2 var(--font-display);margin-bottom:40px}
.archive-note {font-size:var(--text-sm);line-height:1.8;color:var(--color-text-muted);max-width:75ch;padding-block:40px}
.poetry-program-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.baldwin-archive-image {max-width:400px;margin-top:40px}
.baldwin-archive-image .archive-image-link {min-height:0}
@media(max-width:1000px){.context-photo-grid,.archive-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.context-photo-grid,.archive-photo-grid{grid-template-columns:1fr;gap:36px}.archive-photo-sections section{padding-block:48px}.archive-image-link{min-height:240px}.archive-figure img{max-height:380px}}
.image-grid figcaption {font-size:var(--text-xs);line-height:1.7;margin-top:12px;color:var(--color-text-muted)}
.image-grid figcaption a {color:var(--color-primary)}
.press-section {background:var(--color-surface-offset)}
.resource-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.resource-panel {padding:32px;border:1px solid var(--color-border);min-width:0}
.resource-panel h3 {font:400 var(--text-xl)/1.3 var(--font-display);margin-bottom:20px}
.resource-panel p:not(.eyebrow) {font-size:var(--text-sm);line-height:1.8;color:var(--color-text-muted);margin-bottom:20px}
.resource-panel ul,.project-resources ul {list-style:none;padding:0}
.resource-panel li,.project-resources li {margin-block:12px;font-size:var(--text-sm);line-height:1.7;overflow-wrap:anywhere}
.resource-panel a {text-decoration:underline;text-underline-offset:4px}
.project-resources h3 {font-size:var(--text-sm);margin-top:24px}
@media(max-width:700px){.resource-grid{grid-template-columns:1fr}.resource-panel{padding:24px}}
.press-group-heading {font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);margin:40px 0 20px}
.press-list {border-top:1px solid var(--color-border)}
.press-list>a {display:grid;grid-template-columns:200px 1fr;gap:12px 40px;padding-block:32px;border-bottom:1px solid var(--color-border);color:var(--color-text)}
.press-list a:hover h3 {color:var(--color-primary)}
.press-meta {font-size:var(--text-xs);color:var(--color-text-muted);grid-row:1/4}
.press-list h3 {font-size:var(--text-lg);font-family:var(--font-body);font-weight:500;line-height:1.5}
.press-list p {font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;max-width:65ch}
.press-action {font-size:var(--text-xs);color:var(--color-primary);text-decoration:underline;text-underline-offset:5px}
.poetry-hero {border-bottom:1px solid var(--color-border)}
.author-store p {font-size:var(--text-xs);line-height:1.7;color:var(--color-text-muted);max-width:65ch}
.poem-feature {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,96px);border-bottom:1px solid var(--color-border)}
.poem-feature figure,.poetry-event figure {margin:0;min-width:0}
.poem-feature img {display:block;width:100%;max-width:550px;height:auto}
.poem-feature h2 {font:400 var(--text-2xl)/1.15 var(--font-display);margin-bottom:24px}
.poem-transcript {font:400 var(--text-lg)/1.7 var(--font-display)}
.poem-transcript p+p {margin-top:20px}
.poem-byline {margin-top:24px;font-size:var(--text-sm);color:var(--color-primary)}
.poem-feature figcaption,.poetry-event figcaption {font-size:var(--text-xs);line-height:1.7;margin-top:16px;color:var(--color-text-muted)}
.poetry-event img {display:block;width:100%;height:auto}
@media(max-width:700px){.poem-feature{grid-template-columns:1fr}.poem-feature img{margin-inline:auto}}
.poetry-hero h1 {font:400 clamp(2.7rem,5vw,4.8rem)/1.15 var(--font-display);letter-spacing:-.04em;max-width:20ch}
.poetry-intro {display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:40px}
.poetry-intro p {max-width:48ch;font-size:var(--text-base);line-height:1.8;color:var(--color-text-muted)}
.poetry-work {padding-top:56px}
.poetry-entry {display:grid;grid-template-columns:220px 1fr;gap:48px;padding-block:40px;border-bottom:1px solid var(--color-border)}
.poem-kind {font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);line-height:1.8}
.poem-kind>span {text-transform:none;letter-spacing:0;color:var(--color-text-muted)}
.poetry-entry h3,.related-reading h2,.poetry-booking h2 {font:400 var(--text-xl)/1.3 var(--font-display);margin-bottom:20px}
.poetry-entry p,.related-reading>p:not(.eyebrow),.poetry-booking p {font-size:var(--text-base);line-height:1.8;max-width:63ch;margin-bottom:12px}
.poetry-entry .text-link+.text-link {margin-left:24px}
.related-reading {background:var(--color-surface-offset);padding:36px;margin-top:48px}
.poetry-booking .button-primary {margin-top:16px}
@media(max-width:1100px){.artist-nav{gap:18px}.artist-header{gap:18px}.image-grid{grid-template-columns:1fr 1fr}.poet-callout>.wrap{gap:48px}}
@media(max-width:900px) and (min-width:761px){.artist-header{padding-inline:16px;gap:10px}.artist-nav{gap:12px}.artist-brand{font-size:var(--text-sm)}.artist-brand svg{width:28px}}
@media(max-width:760px){
  .poet-callout>.wrap{grid-template-columns:1fr;gap:28px}.poet-callout{padding-block:48px}
  .image-grid{grid-template-columns:1fr}.image-grid .poster-photo{grid-column:auto;max-width:none}.image-grid img{height:330px}
  .press-list>a{grid-template-columns:1fr;gap:12px;padding-block:28px}.press-meta{grid-row:auto}
  .poetry-intro{display:block;margin-top:28px}.poetry-intro .button-primary{margin-top:24px}
  .poetry-entry{grid-template-columns:1fr;gap:16px;padding-block:28px}
  .poetry-entry .text-link+.text-link{margin-left:0;display:block}
  .related-reading{padding:24px}.poetry-hero{padding-block:56px}
}
