.gallery-albums{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.album-card{display:block;min-width:0;border:1px solid #34393e;background:#0d1013;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.album-card:hover,.album-card:focus-visible{transform:translateY(-4px);border-color:#e52323;outline:none}
.album-cover{position:relative;overflow:hidden;background:#15181c;aspect-ratio:4/3}
.album-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.album-card:hover .album-cover img,.album-card:focus-visible .album-cover img{transform:scale(1.035)}
.album-open{position:absolute;right:0;bottom:0;background:#e52323;padding:.75rem 1rem;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.album-card-copy{padding:1.2rem 1.25rem 1.35rem}
.album-card-copy time{display:block;color:#e52323;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.album-card-copy h3{margin:.55rem 0 1.15rem;font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1;text-transform:uppercase;letter-spacing:-.035em}
.album-card-details{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #34393e;padding-top:.9rem;color:#a6aaae;font-size:.78rem;font-weight:800;text-transform:uppercase}
.album-page{min-height:70vh}
.album-hero{padding:clamp(3rem,7vw,7rem) clamp(1rem,7vw,8rem) clamp(2.5rem,5vw,5rem);border-bottom:1px solid #2a2f34;background:radial-gradient(circle at 84% 16%,rgba(229,35,35,.15),transparent 30%)}
.album-back{display:inline-block;margin-bottom:clamp(2.5rem,5vw,5rem);color:#d3d5d6;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.album-back:hover,.album-back:focus-visible{color:#e52323}
.album-hero h1{max-width:1200px;margin:0;font-size:clamp(3rem,8vw,8rem);line-height:.86;letter-spacing:-.065em;text-transform:uppercase}
.album-summary{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:2rem;color:#a6aaae;font-size:.82rem;font-weight:800;text-transform:uppercase}
.album-summary span+span:before{content:'·';margin-right:1.5rem;color:#e52323}
.album-caption{max-width:850px;margin:1.5rem 0 0;color:#d1d3d5;font-size:1.05rem;line-height:1.7}
.album-caption:empty{display:none}
.album-content{padding:clamp(3rem,7vw,7rem) clamp(1rem,4vw,4rem)}
.album-photo{display:block;overflow:hidden;background:#101317;aspect-ratio:4/3}
.album-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.album-photo:hover img,.album-photo:focus-visible img{transform:scale(1.025)}
@media(max-width:1050px){.gallery-albums{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.gallery-albums{grid-template-columns:1fr}.album-card-details{align-items:flex-start}.album-summary span+span:before{margin-right:.7rem}.album-summary{gap:.5rem .7rem}}
