nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.photography-intro{padding:48px 0 35px}.photography-intro h1{margin:15px 0 20px}.photography-intro p{max-width:760px;font-size:18px;line-height:1.7}.photography-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:55px}.photography-photo{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;padding:0;border:0;background:#e5f3f6;cursor:zoom-in}.photography-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .2s}.photography-photo:hover img{opacity:.9}.photography-photo:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.photo-lightbox{border:0;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:rgba(20,25,28,.97);color:white}.photo-lightbox::backdrop{background:rgba(20,25,28,.97)}.photo-lightbox[open]{display:grid;place-items:center}.photo-lightbox>img{max-width:calc(100vw - 110px);max-height:calc(100dvh - 80px);object-fit:contain}.photo-lightbox button{position:absolute;border:0;background:rgba(0,0,0,.35);color:white;cursor:pointer;width:44px;height:44px;font-size:32px;line-height:1}.lightbox-close{top:16px;right:16px}.lightbox-prev{left:8px;top:50%}.lightbox-next{right:8px;top:50%}@media(max-width:1050px){.photography-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.photography-grid{grid-template-columns:1fr;gap:18px}.photography-intro{padding:32px 0}.photography-intro p{font-size:16px}.photo-lightbox>img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 120px)}.lightbox-prev,.lightbox-next{top:auto;bottom:16px}}@media(prefers-reduced-motion:reduce){.photography-photo img{transition:none}}
.photography-grid{display:grid;columns:auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 28px;align-items:center;padding:10px 0 70px}
.photography-photo{grid-column:span 4;aspect-ratio:auto;break-inside:avoid;margin:0;background:transparent;transition:transform .2s}
.photography-photo:nth-child(6n+1){grid-column:span 5}
.photography-photo:nth-child(6n+2){grid-column:span 3}
.photography-photo:nth-child(6n+4){grid-column:span 3}
.photography-photo:nth-child(6n+5){grid-column:span 5}
.photography-photo:nth-child(6n+2),.photography-photo:nth-child(6n+4){padding:24px 0}
.photography-photo img{width:100%;height:auto;object-fit:initial}
@media(hover:hover){.photography-photo:hover{transform:translateY(-3px)}}
@media(max-width:1050px){.photography-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.photography-photo:nth-child(n){grid-column:auto;padding:0}.photography-photo:nth-child(4n+2){width:88%;justify-self:center}.photography-photo:nth-child(4n+3){width:88%;justify-self:center}}
@media(max-width:600px){.photography-grid{grid-template-columns:1fr;gap:30px}.photography-photo:nth-child(n){width:100%}.photography-photo:nth-child(3n+2){width:85%;justify-self:end}.photography-photo:nth-child(3n){width:90%;justify-self:start}}
@media(prefers-reduced-motion:reduce){.photography-photo{transition:none}.photography-photo:hover{transform:none}}

/* Mixed desktop rows: two, three, then four photographs. */
@media(min-width:1051px){
.photography-photo:nth-child(n){grid-column:span 3;padding:0}
.photography-photo:nth-child(9n+1){grid-column:span 7}
.photography-photo:nth-child(9n+2){grid-column:span 5;padding:18px 0}
.photography-photo:nth-child(9n+3){grid-column:span 3}
.photography-photo:nth-child(9n+4){grid-column:span 5}
.photography-photo:nth-child(9n+5){grid-column:span 4}
.photography-photo:nth-child(9n+7){padding:18px 0}
.photography-photo:nth-child(9n+8){padding:30px 0}

}

@media(min-width:1051px){.photography-photo:nth-last-child(-n+3){grid-column:span 4}}

@media(min-width:1051px){.photography-photo:first-child{grid-column:span 5}.photography-photo:nth-child(2){grid-column:span 7}}
.photography-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.photography-filters button{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:4px;padding:8px 14px;background:transparent;color:var(--ink);cursor:pointer}
.photography-filters button[aria-pressed=true]{background:#e5f3f6;border-color:var(--accent);color:var(--accent)}
.photography-filters button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.photography-count{font-size:12px;color:#65777c;margin-left:auto}
.photography-photo[hidden]{display:none!important}
@media(min-width:1051px){.photography-grid .photography-photo:nth-child(n){grid-column:span var(--gallery-span,4);padding:0}}
