:root { color-scheme: light; color: #242624; background: #fafafa; font-family: Georgia, 'Times New Roman', serif; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #304f5c; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:focus-visible, summary:focus-visible { outline: 3px solid #ac451e; outline-offset: 5px; }
.shelf-return { max-width: 73rem; margin: 1.25rem auto; padding: 0 16px; font: 1rem/1.5 system-ui,sans-serif; }
.collection { max-width: 73rem; padding: 0 16px; margin: auto; }
.collection > header { padding: 2rem 0 1.5rem; border-bottom: 1px solid #d7dbdb; }
.collection h1 { margin: .4rem 0 1rem; font-size: clamp(2rem,5vw,3.7rem); font-weight: 400; }
.collection > header p { font: 1rem/1.65 system-ui,sans-serif; max-width: 42rem; }
.shelf { list-style: none; padding: 0; margin: 2rem 0 3rem; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem 2rem; }
.shelf li { min-width: 0; }
.shelf a { display: block; text-decoration: none; }
.shelf a:hover h2 { text-decoration: underline; }
.shelf .image-space { height: 360px; display: flex; justify-content: center; align-items: center; }
.shelf img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.shelf h2 { font-size: 1.35rem; font-weight: 400; line-height: 1.3; margin: .35rem 0; }
.shelf p { font: 1rem/1.6 system-ui,sans-serif; margin: .35rem 0; }
.shelf .maker { margin-top: 1rem; color: #242624; }
.shelf .medium { color: #555d5d; }
.collection footer { border-top: 1px solid #d7dbdb; padding: 1.5rem 0 2.5rem; font: 1rem/1.65 system-ui,sans-serif; }
.work-page { max-width: 76rem; padding: 0 16px; margin: auto; }
.work-page > header { margin: 2rem auto; max-width: 48rem; }
.work-page h1 { font-size: clamp(2rem,4vw,3.5rem); font-weight: 400; line-height: 1.12; overflow-wrap: anywhere; }
.work-page header p { font: 1.125rem/1.6 system-ui,sans-serif; }
.work-page figure { margin: 0 auto; }
.work-page img { width: 100%; height: auto; display: block; }
.work-page figcaption, .work-page .source-note { font: 1rem/1.65 system-ui,sans-serif; margin-top: 1rem; }
.work-page figcaption p { margin: .75rem 0; }
.work-page .context, .work-page details { max-width: 43rem; margin: 2.5rem auto; font-size: 1.125rem; line-height: 1.75; }
.work-page summary { cursor: pointer; font: 1rem/1.6 system-ui,sans-serif; }
.cyanotype figure { max-width: 720px; }
.scroll figure { max-width: 600px; }
.sculpture .views { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
.sculpture .view-label { font: 1rem/1.5 system-ui,sans-serif; margin: .75rem 0; }
.sculpture .credit { max-width: 52rem; margin: 2rem auto; font: 1rem/1.7 system-ui,sans-serif; }
.skip { position: absolute; top: -8rem; left: 16px; padding: 1rem; background: white; }
.skip:focus { top: 1rem; z-index: 2; }
@media(max-width:60rem) { .shelf { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:40rem) { .shelf { grid-template-columns: 1fr; } .shelf .image-space { height: 340px; } .sculpture .views { grid-template-columns: 1fr; } .work-page h1 { font-size: 1.75rem; } }
@media print { .shelf-return, .skip { display: none; } }
/* Art is the first visible surface on each dedicated work page. Keep the
   complete supplied image, including page edges and the two sculpture views. */
.artwork-first main { max-width: none; margin: 0; padding: 0; }
.artwork-first main > figure { max-width: none; margin: 0; }
.artwork-first figure > a { display: flex; justify-content: center; align-items: start; }
.artwork-first figure img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100svh; object-fit: contain; }
.artwork-first figcaption { max-width: 52rem; margin: 1rem auto; padding: 0 1rem; }
.artwork-first #work-details { max-width: 48rem; margin: 2rem auto; padding: 0 1rem; }
.artwork-first .site-header, .artwork-first .shelf-return { max-width: 52rem; }
.artwork-first main > .views { gap: 1rem; }
.artwork-first .credit, .artwork-first .context, .artwork-first main > details,
.artwork-first .museum-note, .artwork-first .reading { padding-inline: 1rem; }
.artwork-first #work-details:target { scroll-margin-top: 1rem; }
.work-routes { display: flex; flex-wrap: wrap; gap: .5rem 2rem; max-width: 52rem; margin: 3rem auto 0; padding: 1.5rem 1rem; border-top: 1px solid #d7dbdb; font: 1rem/1.6 system-ui,sans-serif; }
.work-routes a { display: inline-flex; align-items: center; min-height: 2.75rem; }
@media print { .artwork-first figure img { max-height: 24cm; } }
