.album-main{max-width:var(--content-width-wide);margin:0 auto;padding:3rem 2.5rem 0}.album-kicker{display:flex;align-items:center;justify-content:space-between;gap:1rem;font:.65rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.album-kicker a{color:inherit;text-decoration:none}.album-kicker a:hover{text-decoration:underline}.album-header h1{font:400 clamp(3.5rem,9vw,8rem)/.95 var(--font-serif);text-transform:none;letter-spacing:-.065em;margin:2.5rem 0 1.8rem;overflow-wrap:anywhere}.album-header h1>span{color:var(--color-accent)}.album-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding-bottom:3rem}.album-intro>p{max-width:35rem;margin:0;font-family:var(--font-serif);font-size:1.25rem}.album-date{font:.7rem var(--font-mono)}.album-intro nav{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:flex-end}.album-intro nav a{font:.65rem/1.5 var(--font-mono);color:inherit;text-decoration:none;border-bottom:1px solid var(--color-text);padding-bottom:.2rem}.album-section{margin-bottom:3rem}.album-section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--color-border);padding:1.4rem 0;scroll-margin-top:6rem}.album-section-header>div{display:flex;align-items:center;gap:1rem}.section-number{font:.65rem var(--font-mono);color:var(--color-accent);padding:.5rem 0}.album-section-header h2{font:400 clamp(1.3rem,2vw,1.8rem)/1.2 var(--font-serif);margin:0}.album-section-header p{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font:.6rem var(--font-mono);margin:0;white-space:nowrap}.album-section-description{margin:-.3rem 0 1.5rem;max-width:40rem;font-size:.85rem}.photos-grid{columns:3;column-gap:1.4rem;list-style:none;padding:0;margin:0}.photo-card{break-inside:avoid;margin:0 0 1.4rem;scroll-margin-top:2rem}.thumb-wrap{display:block;cursor:zoom-in;border:none;padding:0;background:none;color:inherit;text-align:left;width:100%}.thumb-wrap img{width:100%;height:auto;display:block}.photo-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding:.6rem 0;font:.55rem var(--font-mono);text-transform:uppercase}.photo-label>span:last-child{font-size:1rem}.thumb-wrap:hover .photo-label{color:var(--color-accent);border-color:var(--color-accent)}.album-end{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 0;border-top:1px solid var(--color-border)}.album-end>span{font:italic 1.5rem var(--font-serif)}.album-end a{font:.65rem var(--font-mono);color:inherit;text-decoration:underline;text-underline-offset:.3rem}.photo-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:1.3rem 2rem;border:0;background:var(--lightbox-bg);color:var(--color-bg);box-sizing:border-box}.photo-lightbox[open]{display:flex;flex-direction:column}.photo-lightbox::backdrop{background:var(--lightbox-bg)}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:2.5rem;font:.7rem var(--font-mono)}.photo-lightbox button{min-width:2.75rem;min-height:2.75rem;cursor:pointer;border:1px solid #f1f0e855;background:transparent;color:inherit;font:.75rem var(--font-mono);padding:.6rem .8rem}.photo-lightbox button:hover{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.lightbox-stage{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:1rem 0}.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lightbox-footer p{font:.6rem/1.5 var(--font-mono);text-align:center;overflow-wrap:anywhere;margin:0}.lightbox-footer button{flex-shrink:0;font-size:1.2rem}@media(max-width:900px){.photos-grid{columns:2}}@media(max-width:600px){.album-main{padding:2rem 1.25rem 0}.album-kicker{font-size:.55rem}.album-kicker>span{max-width:8rem;text-align:right;line-height:1.5}.album-header h1{margin-top:2rem;font-size:clamp(3.5rem,17vw,6rem)}.album-intro{flex-direction:column;gap:1.5rem;padding-bottom:2rem}.album-intro nav{justify-content:flex-start}.album-intro>p{font-size:1.1rem}.album-section-header{align-items:flex-start}.album-section-header>div{gap:.6rem}.album-section-header p{font-size:.5rem;padding-top:.3rem}.photos-grid{columns:1}.album-end>span{font-size:1.2rem}.album-end a{font-size:.55rem;max-width:8rem;text-align:right;line-height:1.7}.photo-lightbox{padding:1rem}.lightbox-footer p{font-size:.5rem}}
