.photography-section{width:100%;margin:0 auto}.photography-index-section{padding-block:clamp(40px,6vw,80px) clamp(64px,8vw,104px)}.photography-albums-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(20px,3vw,36px);display:grid}.photography-album-tile{color:inherit;border:1px solid var(--on-rule);background:var(--on-bone);border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:block;overflow:hidden}.photography-album-tile:hover,.photography-album-tile:focus-visible{border-color:var(--on-gold);transform:translateY(-3px);box-shadow:0 12px 30px #0e2a4724}.photography-album-tile__image-wrapper{aspect-ratio:3/2;position:relative;overflow:hidden}.photography-album-tile__image{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.photography-album-tile:hover .photography-album-tile__image{transform:scale(1.04)}.photography-album-tile__overlay{background:linear-gradient(#0000 45%,#081a2d59);position:absolute;inset:0}.photography-album-tile__info{justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px;display:flex}.photography-album-tile__name{color:var(--on-ink);margin:0;font-size:20px;line-height:1.15}.photography-album-tile__year{color:var(--on-navy);font-size:14px;font-weight:700}.photography-album-hero{isolation:isolate;background:var(--on-navy-ink);color:var(--on-bone);position:relative;overflow:hidden}.photography-album-hero__backdrop{z-index:-1;position:absolute;inset:0}.photography-album-hero__backdrop-img{object-fit:cover;filter:blur(28px)brightness(.45);width:100%;height:100%;transform:scale(1.1)}.photography-album-hero__content{padding-block:clamp(40px,7vw,96px) clamp(28px,4vw,48px);padding-inline:var(--page-pad-x)}.photography-back-link{color:var(--on-gold);align-items:center;gap:6px;margin-bottom:18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.photography-back-link:hover,.photography-back-link:focus-visible{text-decoration:underline}.photography-album-hero__title{color:var(--on-bone);text-wrap:balance;margin:0;font-size:clamp(34px,5vw,60px);line-height:1.04}.photography-album-hero__year{color:var(--on-gold);vertical-align:middle;margin-left:12px;font-size:.6em;font-weight:700;display:inline-block}.photography-album-hero__description{max-width:60ch;color:var(--on-bone);opacity:.92;margin:16px 0 0;font-size:16px;line-height:1.6}.photography-album-content{padding-block:clamp(36px,5vw,72px) clamp(64px,8vw,104px)}.photography-masonry{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(10px,1.5vw,18px);display:grid}.photography-masonry__item{cursor:zoom-in;background:var(--on-paper-2);aspect-ratio:3/2;border:0;border-radius:8px;margin:0;padding:0;display:block;position:relative;overflow:hidden}.photography-masonry__image{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.photography-masonry__item:hover .photography-masonry__image,.photography-masonry__item:focus-visible .photography-masonry__image{transform:scale(1.05)}.photography-masonry__item:focus-visible{outline:3px solid var(--on-gold);outline-offset:2px}.photography-photo{min-width:0;margin:0}.photography-masonry__item{scroll-margin-top:100px}.photography-photo__caption{color:var(--on-navy);justify-content:space-between;align-items:center;gap:8px;padding-top:4px;font-size:13px;display:flex}.photography-photo__number{font-variant-numeric:tabular-nums;font-weight:700}.photography-photo__copy{min-height:44px;color:var(--on-navy);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 4px;text-decoration:underline}.photography-photo__copy:focus-visible{outline:3px solid var(--on-gold);outline-offset:2px}.photography-album-cta{border-top:1px solid var(--on-rule);padding-block:clamp(40px,5vw,64px) clamp(56px,7vw,96px)}.photography-album-cta__inner{text-align:center;max-width:720px}.photography-album-cta__title{color:var(--on-ink);text-wrap:balance;margin:0;font-size:clamp(26px,3.4vw,40px);line-height:1.08}.photography-album-cta__copy{max-width:52ch;color:var(--on-ink-2);margin:14px auto 24px;font-size:16px;line-height:1.6}.photography-album-cta__actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.photography-masonry:not([data-lightbox=ready]) .photography-photo__copy{display:none}
