.photo-preview{padding:55px 0 65px;border-top:1px solid var(--line)}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.photo-preview-grid a{display:block;background:#f0e9db;border-radius:14px;overflow:hidden;aspect-ratio:4/3}.photo-preview-grid img{width:100%;height:100%;object-fit:contain;display:block}.gallery-intro{padding:55px 0 35px;max-width:730px}.gallery-intro h1{font:400 clamp(42px,6vw,70px) Georgia,serif;letter-spacing:-2px;margin:18px 0}.gallery-intro p{font-size:16px;line-height:1.8;color:var(--muted)}.album-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:25px}.album-filters button,.gallery-more{font:13px Arial,sans-serif;cursor:pointer;border:1px solid var(--line);background:#fffdf8;color:var(--brown);padding:12px 18px;border-radius:999px}.album-filters button[aria-pressed=true]{background:var(--brown);color:white;border-color:var(--brown)}.photo-count{font-size:12px;color:var(--muted);margin:0 0 22px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-card{margin:0;min-width:0}.photo-card a{display:block;aspect-ratio:4/5;background:#eee8dc;border-radius:15px;overflow:hidden}.photo-card img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .2s}.photo-card a:hover img{filter:brightness(.92)}.photo-card figcaption{padding:13px 2px;font-size:13px}.photo-card figcaption span{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:6px}.photo-card[hidden]{display:none}.gallery-more{display:block;margin:30px auto 50px}.gallery-more[hidden]{display:none}.photo-viewer{border:0;background:#faf7ef;color:var(--brown);width:min(1100px,96vw);max-height:95dvh;padding:18px;border-radius:16px;overflow:auto}.photo-viewer::backdrop{background:#1e130feb}.viewer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.viewer-top p{margin:0;font-size:13px}.viewer-close,.viewer-arrow{border:1px solid var(--line);background:#fffdf8;color:var(--brown);border-radius:999px;cursor:pointer;padding:12px 17px;font:13px Arial,sans-serif}.viewer-image{display:block;width:100%;height:70dvh;object-fit:contain;background:#f0e9db;border-radius:9px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px}.viewer-caption{text-align:center;font-size:14px;line-height:1.6}.viewer-caption small{display:block;color:var(--muted);font-size:11px}.gallery-page main{padding-bottom:15px}@media(max-width:760px){.photo-preview-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-preview{padding:40px 0}.gallery-intro{padding:35px 0 25px}.gallery-intro h1{letter-spacing:-1px}.album-filters{gap:7px}.album-filters button{padding:10px 13px;font-size:11px}.photo-card figcaption{font-size:12px}.photo-card figcaption span{font-size:9px;letter-spacing:.8px}.viewer-image{height:64dvh}.photo-viewer{padding:12px}.viewer-arrow{padding:10px}.viewer-caption{font-size:12px}.gallery-page header{align-items:center}.gallery-page nav{gap:14px}}
.album-collection{padding:15px 0 45px}.album-collection h2{font:400 34px Georgia,serif;letter-spacing:-1px;margin:0 0 25px}.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 18px}.album-card{display:block;min-width:0;border:0;padding:0;background:transparent;text-align:left;color:var(--brown);cursor:pointer;font-family:Arial,sans-serif}.album-cover{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#eee8dc;transition:box-shadow .3s}.album-cover img{display:block;width:100%;height:100%;object-fit:contain}.album-name{display:block;font-size:15px;margin-top:12px}.album-date{display:block;font-size:11px;color:var(--muted);margin-top:7px}.album-card:hover .album-cover,.album-card[aria-pressed=true] .album-cover{box-shadow:0 0 0 2px var(--gold)}.album-controls{display:flex;align-items:center;gap:20px;margin:20px 0}.album-controls h2{font:400 32px Georgia,serif;letter-spacing:-1px;scroll-margin-top:110px}.all-photos{font:12px Arial,sans-serif;cursor:pointer;border:1px solid var(--line);background:#fffdf8;color:var(--brown);padding:10px 15px;border-radius:999px}.all-photos[aria-pressed=true]{background:var(--brown);color:white}@media(max-width:900px){.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.album-name{font-size:13px}.album-date{font-size:10px}.album-collection h2{font-size:28px}.album-controls h2{font-size:26px}}
