.gallery-intro {padding:55px 0 30px;max-width:720px;}
.gallery-intro .eyebrow {margin-bottom:14px;}
.gallery-lead {font-size:20px;margin:22px 0 12px;}
.gallery-help {margin:0 0 12px;color:#625d56;font-size:16px;}
#gallery-count {font-size:15px;color:#625d56;margin:0;}
.gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 30px;margin:10px 0 60px;}
.gallery-tile {display:block;width:100%;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;}
.thumb-wrap {aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(239,235,224,.75);border:1px solid var(--line);border-radius:5px;transition:background .15s;}
.thumb-wrap img {display:block;width:100%;height:100%;object-fit:contain;}
.gallery-tile:hover .thumb-wrap {background:#e7e2d7;}
.gallery-tile:focus-visible,.lb-close:focus-visible {outline:3px solid #b5630c;outline-offset:5px;}
.caption {padding:16px 2px 0;}
.caption .title {font:25px/1.25 Georgia,"Times New Roman",serif;margin-bottom:7px;}
.caption .artist {font-size:17px;}
.caption .media,.caption .size {font-size:15px;color:#625d56;}
.gallery-message {grid-column:1/-1;}
.gallery-message button {display:block;margin-top:16px;font:inherit;cursor:pointer;border:0;}
#lightbox {width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:7px;background:#faf7f2;color:var(--ink);overflow:auto;}
#lightbox::backdrop {background:rgba(44,36,32,.75);}
.lightbox-inner {padding:20px 28px 28px;}
.lb-close {display:block;margin:0 0 16px auto;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--teal);font:17px system-ui;cursor:pointer;}
.lb-close span {font-size:23px;vertical-align:middle;margin-left:7px;}
.lb-image {display:flex;justify-content:center;}
.lb-image img {display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;object-fit:contain;}
.lb-info {margin:22px 0 0;}
.lb-info h2 {font-size:29px;}
.lb-info p {margin:10px 0 0;color:#625d56;font-size:17px;}
@media(max-width:1000px) {.gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px) {.gallery-intro {padding-top:35px;}.gallery-grid {grid-template-columns:1fr;gap:32px;}.lightbox-inner {padding:16px;}.caption .title {font-size:24px;}}
@media(prefers-reduced-motion:reduce) {.thumb-wrap {transition:none;}}
