.album-grid{display:flex;align-items:flex-start;gap:28px;max-width:1440px;margin:auto;padding:12px 6% 55px}.photo-column{min-width:0;display:flex;flex-direction:column;gap:28px}.album-card,.album-card:nth-child(n){display:block;min-width:0;width:100%;grid-column:auto;grid-row:auto}.album-media{position:relative;display:block;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:var(--photo-ratio);overflow:hidden;background:#e7edf4}.album-card .album-media>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .3s}.album-card .album-media>.crop-thumb{padding:0;width:100%;height:100%;position:relative}.album-card .album-caption.photo-number{display:block;padding:10px 0 0;font-family:inherit;font-size:15px;line-height:1.4;color:var(--blue);letter-spacing:.03em}.album-card .crop-thumb>img{transition:opacity .3s;transform:none}.album-card:hover .album-media>img,.album-card:hover .crop-thumb>img{transform:none}.album-card:focus-visible{outline:2px solid var(--blue);outline-offset:6px}@media(hover:hover){.album-card:hover .album-media{box-shadow:0 8px 24px #30377818}.album-card:hover img{opacity:.96}}@media(max-width:1000px){.album-grid,.photo-column{gap:22px}}@media(max-width:600px){.album-grid{display:block;padding:10px 7% 35px}.photo-column{gap:24px}}@media(prefers-reduced-motion:reduce){.album-card img{transition:none!important}}

.album-grid{flex-wrap:wrap}.photo-group{flex:0 0 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}.photo-column{flex-basis:0!important}@media(max-width:700px){.photo-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}}

/* Equal image height for the four related gift photographs. */
@media(min-width:701px){.photo-group{display:flex;align-items:flex-start;gap:22px}.photo-group .album-card{flex:var(--photo-ratio) 1 0;min-width:0}}
/* Related photographs stay together in proportional collage rows. */
.album-grid{display:block;padding-top:10px}.event-collage{display:block;margin:0 0 42px;padding:14px;background:#f7f4ef;border-radius:3px}.collage-row{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px}.collage-row:last-child{margin-bottom:0}.collage-row.single-photo{max-width:780px;margin-left:auto;margin-right:auto}.collage-row .album-card{background:transparent}.album-card.vintage-photo img,.vintage-image{filter:none}
@media(max-width:700px){.album-grid{padding:8px 5% 36px}.event-collage{padding:8px;margin-bottom:25px}.collage-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.collage-row.single-photo{display:block;max-width:100%}.collage-row .album-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:75%;justify-self:center}.collage-row.single-photo .album-card{max-width:100%}.album-card .album-caption.photo-number{font-size:12px;padding-top:6px}}

.collage-row.single-photo.large-composition{max-width:none;width:100%}.collage-row.large-composition .album-card{max-width:100%;width:100%}

@media(max-width:700px){.collage-row.fixed-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.collage-row.fixed-trio .album-card:last-child{grid-column:auto;max-width:100%}}

.collage-row.single-photo.large-composition.medium-composition{max-width:980px;margin-left:auto;margin-right:auto}@media(max-width:700px){.collage-row.fixed-quartet{grid-template-columns:repeat(4,minmax(0,1fr))}.collage-row.fixed-quartet .album-card:last-child{grid-column:auto;max-width:100%}.collage-row.single-photo.large-composition.medium-composition{width:94%}}

@media(max-width:700px){.collage-row.fixed-2{grid-template-columns:repeat(2,minmax(0,1fr))}.collage-row.fixed-3{grid-template-columns:repeat(3,minmax(0,1fr))}.collage-row.fixed-4{grid-template-columns:repeat(4,minmax(0,1fr))}.collage-row.fixed-row .album-card:last-child{grid-column:auto;max-width:100%}}

.collage-row.gift-feature{width:100%;max-width:none}.collage-row.gift-feature .album-card{width:100%;max-width:none}.collage-row.gift-feature .album-media{width:100%;height:auto}

.collage-row.single-photo.centered-feature{max-width:780px;width:100%;margin-left:auto;margin-right:auto;justify-content:center}.centered-feature .album-card{margin:auto;text-align:center}.centered-feature .album-media>img{object-position:center}

.album-media{content-visibility:auto;contain:layout paint}

.wedding-preview{margin:0 auto 64px;width:100%}.wedding-preview h2{text-align:center;font-size:clamp(26px,3vw,38px);margin:0 0 25px}.wedding-preview-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.wedding-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wedding-preview button{padding:0;border:0;background:transparent;cursor:pointer;overflow:hidden;border-radius:5px}.wedding-preview img{display:block;width:100%;height:260px;object-fit:cover}.wedding-preview h3{text-align:center;font-size:19px;margin:16px 0}.wedding-preview-note{text-align:center;opacity:.7}@media(max-width:700px){.wedding-preview-stories{grid-template-columns:1fr;gap:22px}.wedding-preview img{height:280px}.wedding-preview{margin-bottom:40px}}
