.archive-section{padding-top:70px}
.photo-album{outline-offset:8px}
.album-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px}
.album-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.album-filters button{font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;padding:12px 18px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:transparent;cursor:pointer;min-height:44px;transition:background .2s,color .2s,border-color .2s}
.album-filters button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.album-filters button:not([aria-pressed=true]):hover{background:var(--soft);border-color:#bacbb6}
.album-controls{display:flex;gap:16px;align-items:center;flex-shrink:0}
.album-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #c7d3c3;border-radius:50%;background:transparent;color:var(--green);cursor:pointer;transition:background .2s,border-color .2s}
.album-arrow:hover{background:var(--lime);border-color:var(--lime)}
.album-arrow:disabled{opacity:.4;cursor:default}
#album-prev .icon{transform:rotate(180deg)}
#album-count{font-size:14px;line-height:1.4;font-weight:700;min-width:60px;text-align:center;font-variant-numeric:tabular-nums;color:var(--green)}
.album-stage{position:relative;width:100%;aspect-ratio:3/2;max-height:690px;background:#e9efe5;border:1px solid var(--line);border-radius:16px;overflow:hidden;touch-action:pan-y}
.album-full{display:block;width:100%;height:100%;position:relative}
.album-full>img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.album-expand{position:absolute;bottom:20px;right:20px;background:#ffffffed;color:var(--green);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;box-shadow:0 2px 12px #143e3220;transition:background .2s}
.album-full:hover .album-expand{background:var(--lime)}
.album-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:106px;padding:24px 0}
.album-meta{font-size:12px;line-height:1.5;letter-spacing:.04em;font-weight:700;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.album-caption h3{font-size:21px;line-height:1.4;font-weight:700;letter-spacing:-.025em;color:var(--green)}
.album-source{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px;line-height:1.6;color:var(--muted);border-bottom:1px solid #ccd7c5;padding-block:7px}
.album-source:hover{color:var(--red);border-color:var(--red)}
.album-source .icon{width:15px;height:15px}
.album-thumbnails{position:relative;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#b3c3ad transparent;scrollbar-width:thin;scroll-snap-type:x proximity;padding:5px 5px 16px;margin-inline:-5px}
.album-thumb{width:106px;height:76px;flex:0 0 auto;padding:3px;border:2px solid transparent;border-radius:8px;background:transparent;cursor:pointer;opacity:.62;scroll-snap-align:center;transition:opacity .2s,border-color .2s}
.album-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.album-thumb:hover{opacity:1}
.album-thumb[aria-current=true]{border-color:var(--red);opacity:1}
.album-noscript{font-size:14px;color:var(--muted)}
.album-noscript a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.album-filters button{font-size:12px;padding:11px 14px}.album-toolbar{gap:20px}.album-controls{gap:12px}.album-caption h3{font-size:18px}.album-caption{gap:24px}.album-source{font-size:12px}}
@media(max-width:700px){.archive-section{padding-top:55px}.album-toolbar{align-items:stretch;flex-direction:column;gap:18px;margin-bottom:18px}.album-filters{gap:7px}.album-filters button{font-size:12px;padding:10px 12px;flex:1 1 auto}.album-controls{justify-content:flex-end;gap:15px}.album-arrow{width:44px;height:44px}#album-count{font-size:14px;min-width:54px}.album-stage{border-radius:12px;aspect-ratio:3/2;max-height:none}.album-expand{width:36px;height:36px;bottom:12px;right:12px}.album-expand .icon{width:19px;height:19px}.album-caption{align-items:start;gap:14px;flex-direction:column;padding:20px 0 18px;min-height:127px}.album-meta{font-size:12px;margin-bottom:7px}.album-caption h3{font-size:18px;line-height:1.4}.album-source{font-size:12px;padding-block:5px}.album-thumbnails{gap:8px;padding-bottom:13px}.album-thumb{width:78px;height:58px;padding:2px;border-radius:7px}.album-thumb img{border-radius:3px}}
@media(prefers-reduced-motion:reduce){.album-thumb,.album-arrow,.album-filters button,.album-expand{transition:none}}
@media print{.album-toolbar,.album-thumbnails,.album-expand{display:none}.album-stage{max-height:65vh}.album-caption{min-height:0}.archive-section{break-inside:avoid}.album-source{font-size:12px}}
