.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:15px}.archive-shot{display:block;position:relative;padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:1.15;background:var(--color-surface);cursor:zoom-in}.archive-shot[hidden]{display:none}.archive-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s,filter .45s}.archive-shot:hover img{transform:scale(1.045);filter:brightness(.9)}.archive-shot>span{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#ffffffd9;color:#263552;opacity:0;transition:opacity .25s}.archive-shot:hover>span,.archive-shot:focus-visible>span{opacity:1}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.archive-toolbar .archive-note{margin:0}.archive-note span{display:block;margin-top:5px}.archive-more{font-size:12px}.archive-viewer{width:calc(100% - 32px);max-width:1250px;height:calc(100dvh - 40px);max-height:960px;padding:45px 65px 30px;border:1px solid #77839a40;border-radius:18px;background:#141923;color:#fff;overflow:hidden}.archive-viewer::backdrop{background:#090d16df;backdrop-filter:blur(10px)}.about-page .archive-viewer figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:0;overflow:visible}.archive-viewer figure img{min-height:0;max-height:calc(100% - 32px);max-width:100%;width:auto;object-fit:contain}.about-page .archive-viewer figcaption{position:static;font-size:12px;color:#c4cde0;flex-shrink:0}.archive-viewer button{position:absolute;border:1px solid #c0d0ee30;border-radius:50%;width:40px;height:40px;background:#2c3546;color:#fff;font-size:22px;cursor:pointer;z-index:2}.archive-viewer button:hover{background:#43547a}.archive-close{right:12px;top:10px}.archive-prev{left:12px;top:calc(50% - 20px)}.archive-next{right:12px;top:calc(50% - 20px)}.archive-open{overflow:hidden}@media(max-width:850px){.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:550px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archive-toolbar{align-items:flex-start;gap:15px}.archive-toolbar .archive-note{font-size:10px}.archive-more{font-size:11px;padding:11px 16px;gap:10px;flex-shrink:0}.archive-viewer{width:calc(100% - 16px);padding:55px 12px 65px;border-radius:14px}.archive-prev,.archive-next{top:auto;bottom:10px}.archive-prev{left:calc(50% - 50px)}.archive-next{right:calc(50% - 50px)}}@media(prefers-reduced-motion:reduce){.archive-shot img{transition:none}}
.archive-more[hidden]{display:none}

/* Photographs float directly over the blurred page, without an opaque frame. */
.about-page .archive-viewer{background:transparent;border:0;border-radius:0;box-shadow:none;outline:none;width:100%;max-width:none;height:100dvh;max-height:none;padding:48px 76px 38px;color:#fff}
.about-page .archive-viewer::backdrop{background:#17203185;backdrop-filter:blur(20px) saturate(80%);animation:archive-backdrop-in .34s ease both}
.about-page .archive-viewer.is-closing::backdrop{animation:archive-backdrop-out .22s ease both}
.about-page .archive-viewer figure{background:transparent;border:0;box-shadow:none}
.about-page .archive-viewer figure img{border-radius:10px;box-shadow:0 18px 60px #0003;touch-action:pan-y}
.about-page .archive-viewer figcaption{color:#f4f6ff;text-shadow:0 1px 5px #0008}
.about-page .archive-viewer button{background:#ffffff18;border:1px solid #ffffff40;backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #ffffff20;transition:background .2s,transform .2s;border-radius:50%}
.about-page .archive-viewer button:hover{background:#ffffff38;transform:scale(1.08)}
.about-page .archive-viewer button:focus-visible{outline:2px solid #b4c8ff;outline-offset:4px}
.about-page .archive-close{right:22px;top:18px}
.about-page .archive-prev{left:20px}.about-page .archive-next{right:20px}
@keyframes archive-backdrop-in{from{background:#17203100;backdrop-filter:blur(0)}to{background:#17203185;backdrop-filter:blur(20px) saturate(80%)}}
@keyframes archive-backdrop-out{from{background:#17203185;backdrop-filter:blur(20px) saturate(80%)}to{background:#17203100;backdrop-filter:blur(0)}}
@media(max-width:550px){.about-page .archive-viewer{padding:66px 12px 76px}.about-page .archive-prev{left:calc(50% - 52px);bottom:18px}.about-page .archive-next{right:calc(50% - 52px);bottom:18px}.about-page .archive-close{right:16px;top:14px}}
@media(prefers-reduced-motion:reduce){.about-page .archive-viewer::backdrop,.about-page .archive-viewer.is-closing::backdrop{animation:none}.about-page .archive-viewer button{transition:none}}
