
:root{--paper:#f4f1eb;--ink:#1d1c1a;--muted:#746f68;--line:#d7d1c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,serif}a{color:inherit;text-decoration:none}header{padding:24px max(4vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:27px;letter-spacing:.13em;white-space:nowrap}nav{display:flex;gap:24px;flex-wrap:wrap;font:11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}nav a:hover,.active{color:#a17e60}.wrap{max-width:1460px;margin:auto;padding:0 4vw}.eyebrow,.micro{font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#8a8178}.intro{padding:72px 0 38px}.intro h1{font-weight:normal;font-size:clamp(54px,8vw,118px);letter-spacing:-.055em;line-height:.94;margin:16px 0}.intro p{font:17px/1.6 Arial,sans-serif;color:#66615b;max-width:600px}.rule{height:1px;background:var(--line);margin:28px 0}.index{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 36px}.index button{font:12px Arial,sans-serif;min-width:33px;height:34px;background:transparent;border:1px solid #d7d1c8;cursor:pointer}.index button.selected,.index button:hover{background:#26221f;color:white}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 25px}.portrait{display:block}.photo{background:#ddd8d0;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:5/4}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.portrait:hover img{transform:scale(1.035)}.portrait:nth-child(7n+2) .photo{aspect-ratio:4/5}.portrait:nth-child(7n+2) .photo img{object-fit:contain;background:#e4e0d9}.portrait h2{font-size:25px;font-weight:normal;margin:15px 0 5px}.portrait .role{font:11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8d8175}.portrait p{font:13px/1.55 Arial,sans-serif;color:#67625b;margin:10px 0 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:12px 0 58px}.feature{position:relative;overflow:hidden;min-height:420px;background:#292727}.feature img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:brightness(.8)}.feature span{position:absolute;bottom:24px;left:24px;color:white;font:13px Arial,sans-serif;letter-spacing:.1em}.feature h2{position:absolute;bottom:40px;left:24px;color:white;font-size:clamp(30px,4vw,56px);font-weight:normal}.detail{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:6vw;padding:65px 0}.detail img{width:100%;height:auto;display:block}.detail h1{font-weight:normal;font-size:clamp(46px,6vw,88px);line-height:1;margin:16px 0}.detail p{font:16px/1.75 Arial,sans-serif;color:#615b54}.detail .credit{font:12px/1.7 Arial,sans-serif;color:#81796f}.back{font:12px Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}footer{margin-top:90px;border-top:1px solid var(--line);padding:30px 4vw;font:11px Arial,sans-serif;color:#80766d;letter-spacing:.06em}.small-heading{font:12px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#80766d;margin-bottom:18px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-grid .feature{height:500px}.tagline{font-style:italic!important}.about-grid{display:grid;grid-template-columns:1fr 250px;gap:50px;max-width:850px}.about-grid img{width:100%}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}.detail{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}}@media(max-width:600px){header{align-items:flex-start;flex-direction:column}.gallery{grid-template-columns:1fr;gap:35px}.feature-grid,.home-grid,.about-grid{grid-template-columns:1fr}.intro{padding-top:48px}.feature{min-height:310px}.home-grid .feature{height:350px}}

/* Act 2 revision: square corners, orderly archival grid */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.portrait .photo,.portrait:nth-child(7n+2) .photo{aspect-ratio:5/4;background:#494640;border-radius:0;overflow:hidden;padding:12px}
.portrait .photo img,.portrait:nth-child(7n+2) .photo img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;border-radius:0;transition:none}
.portrait:hover .photo img{transform:none}.portrait:hover h2{text-decoration:underline;text-underline-offset:4px}
.portrait h2{font:normal 21px/1.25 Georgia,serif;margin:12px 0 0}
.portrait .role,.portrait p{display:none}
.feature,.feature img,.photo,.photo img{border-radius:0!important}
/* Smaller, fully visible portrait on detail pages */
.detail{grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);align-items:start;gap:6vw}
.detail .detail-photo{width:100%;max-width:520px;display:block;background:#494640;padding:16px;border:0;cursor:zoom-in}
.detail .detail-photo img{width:100%;height:auto;max-height:570px;object-fit:contain;display:block}
.detail .detail-photo-label{font:11px Arial,sans-serif;color:#81796f;margin-top:12px;letter-spacing:.08em}
.photo-lightbox{border:0;padding:0;background:transparent;color:white;max-width:95vw;max-height:95vh;overflow:visible}
.photo-lightbox::backdrop{background:rgba(10,10,10,.94)}
.photo-lightbox img{display:block;max-width:90vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.photo-lightbox .lightbox-close{position:absolute;top:-37px;right:0;background:transparent;border:0;color:white;font:27px Arial,sans-serif;cursor:pointer}
/* Restore senior grid thumbnails and preserve their original crops */
.senior-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.senior-gallery button{padding:0;border:0;background:none;cursor:zoom-in;display:block;line-height:0}
.senior-gallery button img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:contain}
.senior-gallery button:focus-visible,.detail-photo:focus-visible{outline:3px solid #ad815b;outline-offset:3px}
.senior-lightbox{border:0;padding:0;background:transparent;max-width:95vw;max-height:95vh;overflow:visible}
.senior-lightbox::backdrop{background:rgba(0,0,0,.94)}
.senior-lightbox img{max-width:90vw;max-height:88vh;display:block;object-fit:contain}
.senior-lightbox button{position:absolute;border:0;background:#272727;color:white;cursor:pointer;padding:10px 14px;font-size:20px}
.senior-lightbox .close{right:0;top:-43px}.senior-lightbox .prev{left:0;top:50%}.senior-lightbox .next{right:0;top:50%}
@media(max-width:900px){.gallery,.senior-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.detail{grid-template-columns:1fr}}
@media(max-width:600px){.gallery,.senior-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.portrait h2{font-size:16px}.portrait .photo,.portrait:nth-child(7n+2) .photo{padding:5px}.detail .detail-photo{max-width:100%}}

/* Act 2 v3: shared charcoal exhibition wall, cream nameplates */
.gallery{background:#494640;column-gap:0;row-gap:0}
.gallery .portrait{min-width:0;background:#f4f1eb}
.gallery .portrait .photo,.gallery .portrait:nth-child(7n+2) .photo{background:#494640;padding:12px;margin:0}
.gallery .portrait h2{background:#f4f1eb;margin:0;padding:13px 12px 32px;min-height:72px}
/* Preview switch: previous independent charcoal tiles */
body.separate-frames .gallery{background:transparent;column-gap:24px;row-gap:40px}
body.separate-frames .gallery .portrait h2{padding:12px 0 0;min-height:auto}
body.separate-frames .gallery .portrait .photo{padding:12px}
.compare-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px;font:12px Arial,sans-serif;color:#746f68}
.compare-controls button{border:1px solid #a9a199;background:transparent;padding:10px 13px;cursor:pointer;color:#26221f}
.compare-controls button[aria-pressed="true"]{background:#494640;color:#fff;border-color:#494640}
@media(max-width:600px){body.separate-frames .gallery{column-gap:10px;row-gap:22px}.gallery .portrait .photo,.gallery .portrait:nth-child(7n+2) .photo{padding:6px}.gallery .portrait h2{padding:9px 6px 18px;min-height:58px}}

/* Final approved exhibition grid; no switch */
.gallery{background:#494640;column-gap:0;row-gap:0}
.gallery .portrait{min-width:0;background:#f4f1eb}
.gallery .portrait .photo,.gallery .portrait:nth-child(7n+2) .photo{background:#494640;aspect-ratio:5/4;padding:12px;margin:0;border-radius:0}
.gallery .portrait .photo img,.gallery .portrait:nth-child(7n+2) .photo img{object-fit:contain;width:100%;height:100%;background:transparent;border-radius:0;transition:none}
.gallery .portrait:hover img{transform:none}
.gallery .portrait h2{font:normal 21px/1.25 Georgia,serif;background:#f4f1eb;margin:0;padding:13px 12px 32px;min-height:72px}
.gallery .portrait .role,.gallery .portrait p{display:none}
.gallery .portrait[hidden]{display:none}
.detail .detail-photo{width:100%;max-width:520px;background:#494640;padding:16px;border:0;cursor:zoom-in;display:block}
.detail .detail-photo img{max-height:570px;object-fit:contain;width:100%;height:auto}
.detail .detail-photo-label{font:11px Arial,sans-serif;color:#81796f;margin-top:12px;letter-spacing:.08em}
.photo-lightbox{border:0;padding:0;background:transparent;color:white;max-width:95vw;max-height:95vh;overflow:visible}
.photo-lightbox::backdrop{background:rgba(10,10,10,.94)}
.photo-lightbox img{display:block;max-width:90vw;max-height:86vh;width:auto;height:auto;object-fit:contain}
.photo-lightbox button{background:#262626;color:white;border:0;cursor:pointer;padding:10px 16px}
.detail-gallery{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.detail-gallery button{border:1px solid #c9c1b8;background:#494640;padding:5px;cursor:pointer}.detail-gallery img{width:90px;height:75px;object-fit:contain}
@media(max-width:600px){.gallery .portrait h2{font-size:16px;min-height:60px;padding:9px 6px 18px}.gallery .portrait .photo{padding:6px}}

/* Center gallery nameplates under photographs */
.gallery .portrait h2{text-align:center}
