:root{--type-small:12px;--type-body:18px;--type-title:28px;--space-small:12px;--space-medium:32px;--space-large:80px;--journal-width:min(82%,1120px)}
*{box-sizing:border-box}body{margin:0;background:#fff;color:#2d2d2d;font-family:Georgia,serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:1px solid #2d2d2d;outline-offset:4px}
body .masthead-inner{width:var(--journal-width);max-width:1120px;margin:auto;padding:var(--space-small) 0;border-bottom:0}body .editorial-masthead{border-bottom:1px solid #c3c4b7;background:#fff}
.journal-index{width:var(--journal-width);margin:var(--space-large) auto}.journal-title{font:400 var(--type-small)/1.5 Graphik,Arial,sans-serif;margin:0 0 var(--space-medium)}
.journal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--space-small);row-gap:var(--space-large)}
.journal-card{min-width:0}.journal-picture{display:flex;width:100%;aspect-ratio:3/4;align-items:center;justify-content:center;background:#fff}.journal-picture img{display:block;width:100%;height:100%;object-fit:contain;max-width:none}
.journal-category{font:400 var(--type-small)/1.5 Graphik,Arial,sans-serif;margin:var(--space-small) 0 var(--space-small)}.journal-card h2{font:400 var(--type-body)/1.3 Georgia,serif;margin:0 0 var(--space-small)}.journal-card h2 a{font-style:italic}.journal-card h2 a:is(:hover,:focus-visible){font-style:normal;color:#c3c4b7}.journal-description{font:400 var(--type-small)/1.5 Graphik,Arial,sans-serif;margin:0}.journal-picture:hover{opacity:.9}
.portfolio-contact{background:#fff;color:#2d2d2d;padding:var(--space-large) 0}.contact-inner{width:var(--journal-width);margin:auto}.contact-heading h2{font:400 var(--type-title)/1.2 Georgia,serif}.contact-heading p,.contact-statement{font:400 var(--type-body)/1.5 Georgia,serif}.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-medium)}.contact-details,.contact-copyright{font:400 var(--type-small)/1.5 Graphik,Arial,sans-serif}.contact-details dl>div{display:flex;gap:var(--space-small)}.contact-details dd{margin:0}.contact-details a{font-style:italic}
@media(max-width:1000px) and (min-width:601px){:root{--type-body:14px;--type-title:21px;--type-small:10px}}
@media(max-width:600px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-medium) var(--space-small)}.journal-picture{max-width:none;margin:0}.journal-card{max-width:none;margin:0;width:100%}.contact-columns{grid-template-columns:1fr}}
body .journal-title{font-size:var(--type-small)!important;line-height:1.5!important}
body .journal-card h2{font-size:var(--type-body)!important;line-height:1.3!important}
/* Approved uniform crops for the project index only. */
.journal-picture{overflow:hidden}
.journal-picture img{object-fit:cover;object-position:center}
.journal-card{display:grid;grid-template-rows:auto auto minmax(2.6em,auto) 1fr;align-content:start}

body .portfolio-contact{width:var(--journal-width);margin:var(--space-large) auto;background:#2d2d2d;color:#fff;padding:var(--space-medium)}
body .portfolio-contact .contact-inner{width:100%}
body .portfolio-contact a:is(:hover,:focus-visible){color:#c3c4b7}
body .portfolio-contact{background:#2d2d2d!important;color:#fff!important}
body .portfolio-contact :is(h2,h3,p,dt,dd,a){color:#fff!important}
/* More breathing room between project covers. */
.journal-grid{column-gap:var(--space-medium)}

/* Match the project-page contact band and its shared content alignment. */
html body .portfolio-contact{width:100%;margin:0;padding:80px 0!important}
html body .portfolio-contact .contact-inner{width:min(82%,1120px)!important;max-width:1120px!important;margin:auto!important;padding:0!important}
html body .portfolio-contact .contact-heading{margin-bottom:80px;text-align:left}
html body .portfolio-contact h2{font:400 28px/1.25 Georgia,serif!important;margin:0 0 12px}
html body .portfolio-contact .contact-heading p{margin:0}
html body .portfolio-contact .contact-columns{gap:80px!important;align-items:start}
html body .portfolio-contact .contact-statement{margin:0;max-width:48ch}
html body .portfolio-contact h3{font:italic 400 18px/1.5 Georgia,serif;margin:0 0 32px}
html body .portfolio-contact dl{margin:0}
html body .portfolio-contact dl>div{display:grid;grid-template-columns:80px 1fr;gap:12px;margin-bottom:12px}
html body .portfolio-contact dd{overflow-wrap:anywhere}
html body .portfolio-contact .contact-copyright{margin:80px 0 0}
@media(max-width:700px){html body .portfolio-contact .contact-columns{grid-template-columns:1fr;gap:32px!important}}
/* A restrained archive detail; project order, covers and grid stay intact. */
.journal-category{border-top:1px solid #c3c4b7;padding-top:var(--space-small);margin-top:var(--space-small)}
.journal-description{max-width:32ch;text-wrap:pretty}
.journal-card h2{text-wrap:balance}

/* Performance cover: show only the right-hand black-and-white photograph. */
html body a[href="/performance/"]:is(.journal-picture,.project-card-image){overflow:hidden!important;position:relative}
html body a[href="/performance/"]:is(.journal-picture,.project-card-image) img{position:absolute!important;inset:0 0 0 auto!important;width:200%!important;max-width:none!important;height:100%!important;object-fit:cover!important;clip-path:inset(0 0 0 50%)}

/* Only the two approved index refinements. */
.journal-grid{row-gap:64px}.journal-card{grid-template-rows:auto auto auto 1fr}.journal-card h2{margin-top:12px}.journal-category{margin-top:0}
@media(max-width:600px){.journal-grid{row-gap:32px;column-gap:12px}.journal-card h2{font-size:var(--type-body)!important}}
