#albumy{background:var(--white)}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.album-item{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:var(--ink);display:block;width:100%;border:none;padding:0;margin:0;text-align:left;font:inherit;color:inherit}.album-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.album-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s ease;opacity:.92}.album-item:hover img{transform:scale(1.04);opacity:1}.album-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,15,7,.82) 0%,rgba(26,15,7,.05) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .3s ease}.album-item:hover .album-item-overlay{opacity:1}.album-item-title{font-family:Playfair Display,serif;font-weight:500;font-size:1.4rem;color:#fff;margin-bottom:6px}.album-item-count{font-family:EB Garamond,serif;font-style:italic;font-size:.85rem;letter-spacing:.04em;color:#ffffffc7}.album-modal{display:none;position:fixed;inset:0;z-index:220;background:#1a0f07f2;overflow-y:auto;padding:24px}.album-modal.active{display:block}.album-modal-content{max-width:1280px;margin:0 auto;padding:56px 0 40px}.album-modal-header{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(200,184,152,.3)}.album-modal-title{font-family:Playfair Display,serif;font-weight:500;font-size:1.8rem;color:#f0d298eb;margin:0}.album-modal-close{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:2rem;line-height:1;padding:4px 10px;flex-shrink:0;transition:color .2s}.album-modal-close:hover{color:#fff}.album-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.album-photo-item{position:relative;overflow:hidden;aspect-ratio:1;cursor:pointer;background:var(--ink)}.album-photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,opacity .3s ease;opacity:.9}.album-photo-item:hover img{transform:scale(1.05);opacity:1}.album-photo-item-caption{position:absolute;bottom:0;left:0;right:0;padding:10px 12px 8px;background:linear-gradient(to top,rgba(26,15,7,.78) 0%,transparent 100%);color:#ffffffe0;font-family:EB Garamond,serif;font-style:italic;font-size:.78rem;letter-spacing:.02em;opacity:0;transition:opacity .25s ease}.album-photo-item:hover .album-photo-item-caption{opacity:1}.lightbox{display:none;position:fixed;inset:0;z-index:240;background:#1a0f07f7;align-items:center;justify-content:center;padding:24px}.lightbox.is-open{display:flex}.lightbox-img{max-width:90vw;max-height:88vh;object-fit:contain;display:block;box-shadow:0 24px 80px #0009}.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:2rem;line-height:1;padding:4px 10px;transition:color .2s}.lightbox-close:hover{color:#fff}.lightbox-caption{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:EB Garamond,serif;font-style:italic;font-size:.9rem;color:#fff9;max-width:80vw;text-align:center}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#ffffff80;font-size:2.4rem;padding:8px 16px;transition:color .2s}.lightbox-nav:hover{color:#fff}.lightbox-prev{left:16px}.lightbox-next{right:16px}@media(max-width:1024px){.album-item-overlay{opacity:1;background:linear-gradient(to top,rgba(26,15,7,.82) 0%,rgba(26,15,7,.2) 70%,transparent 100%)}.album-photo-item-caption{opacity:1}}@media(max-width:900px){.albums-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(max-width:600px){.albums-grid{grid-template-columns:1fr}.album-modal-content{padding:72px 0 24px}.album-modal-title{font-size:1.4rem}.album-photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.lightbox-nav{font-size:1.8rem;padding:6px 10px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-caption{max-width:90vw;bottom:12px}}
