/* Gallery-only styles build on the original Kelly palette and shared layout. */
.gallery-section-heading,.gallery-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}.gallery-section-heading h2{font-size:42px}.gallery-section-heading p,.gallery-toolbar p{font-size:13px;color:#576357;margin:0}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.year-card{background:#faf9f6;border:1px solid #d5dbd0}.year-card>a{display:block;height:100%}.year-cover{position:relative;overflow:hidden;background:#d8dfd1}.year-cover img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .3s}.year-card a:hover img{transform:scale(1.025)}.year-label{position:absolute;bottom:16px;left:20px;font-family:Georgia,serif;font-size:58px;color:white;text-shadow:0 2px 8px #0009}.year-copy{padding:26px}.year-copy .eyebrow{font-size:9px;margin-bottom:15px}.year-copy h3{font-size:30px;line-height:1.15;margin-bottom:16px}.year-copy>p:not(.eyebrow){font-size:14px;color:#576357}.gallery-notice{border-left:3px solid var(--gold);padding:12px 18px;background:#eee9dc;font-size:13px;margin:0 0 30px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo-tile{position:relative;display:block;overflow:hidden;background:#d8dfd1;aspect-ratio:3/2}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.photo-tile:hover img{transform:scale(1.025)}.photo-tile-caption{position:absolute;inset:auto 0 0;padding:28px 16px 14px;display:flex;justify-content:space-between;gap:12px;background:linear-gradient(transparent,#0b2922df);color:white;font-size:12px;line-height:1.4}.gallery-pagination{text-align:center;margin-top:36px}.gallery-pagination nav{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap}.gallery-pagination [aria-disabled=true]{opacity:.6;pointer-events:none}.gallery-pagination p{font-size:13px}.gallery-loading{cursor:progress}.photo-lightbox{padding:0;border:1px solid #617168;background:#102b23;color:#fff;width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;overflow:auto}.photo-lightbox::backdrop{background:#06130eef}.photo-lightbox:not([open]){display:none}.lightbox-shell{padding:18px 24px}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-bar h2{color:#fff;font:16px Arial,sans-serif;letter-spacing:.04em;margin:0}.photo-lightbox button{min-height:44px;border:1px solid #82938a;background:transparent;color:white;padding:8px 14px;border-radius:0;cursor:pointer}.photo-lightbox button:hover{background:#ffffff14}.photo-lightbox button:disabled{opacity:.35;cursor:default}.photo-lightbox :focus-visible{outline:3px solid var(--gold);outline-offset:3px}.lightbox-stage{height:min(62dvh,660px);display:grid;place-items:center;touch-action:pan-y;overflow:hidden;margin:16px 0;background:#0b211b}.lightbox-stage img{max-width:100%;max-height:100%;min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}.lightbox-stage[aria-busy=true]::before{content:'Loading photo…';font-size:14px;color:#d3ded4}.lightbox-stage[aria-busy=true] img{display:none}.lightbox-details p{font-size:13px;line-height:1.5;margin:8px 0}.lightbox-details #lightbox-status{color:#d7b27f}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.lightbox-controls a{color:#e4c599;text-decoration:underline;font-size:12px}body.lightbox-open{overflow:hidden}
@media(max-width:991.98px){.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-section-heading,.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:16px}}@media(max-width:575.98px){.year-grid{grid-template-columns:1fr}.photo-grid{gap:10px}.photo-tile-caption{font-size:10px;padding:22px 8px 8px}.gallery-section-heading h2{font-size:36px}.photo-lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.lightbox-shell{padding:12px}.lightbox-stage{height:48dvh}.lightbox-controls{gap:8px}.photo-lightbox button{padding:8px 10px;font-size:12px}}
