.photo-album,.photos-page{padding-bottom:88px}.photo-albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:36px 24px;margin:0;padding:0;list-style:none}.album-tile{display:grid;gap:14px;color:var(--heading);border-radius:16px}.album-tile__frame{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#1c1c1c}.album-tile__frame img{display:block;width:100%;height:100%;object-fit:cover;--photo-radius:14px;filter:grayscale(1);transition:filter .24s ease}.album-tile:is(:hover,:focus-visible,[data-opening]) img{filter:grayscale(0)}.album-tile__title{font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.02em}.album-tile:hover .album-tile__title{text-decoration:underline;text-underline-offset:4px}.album-tile:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.photos-empty{text-align:center;color:#54717f}.photo-album .breadcrumbs{padding-top:clamp(125px,11vw,150px)}.photo-album__head{display:grid;justify-items:start;gap:12px;margin-bottom:32px;color:var(--heading)}.photo-album__head h1{font-size:clamp(34px,4.4vw,58px);line-height:1.06;letter-spacing:-.045em}.photo-album__meta{color:#54717f;font-size:17px}.photo-album__back a,.photo-album__event{font-weight:600;text-decoration:underline;text-underline-offset:4px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,240px),1fr));gap:12px;margin:0;padding:0;list-style:none}.photo-grid__item{display:block;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#e8eef1}.photo-grid__item img{display:block;width:100%;height:100%;object-fit:cover;--photo-radius:12px;transition:transform .35s var(--ease)}.photo-grid__item:is(:hover,:focus-visible) img{transform:scale(1.04)}.photo-grid__item:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.photo-album__back{margin-top:40px;color:var(--heading)}.photo-viewer{padding:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;background:#111;color:#fff;margin:0;overflow:auto}.photo-viewer::backdrop{background:#111111f2}.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.photo-viewer__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:max(18px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) 18px max(28px,env(safe-area-inset-left));font-size:14px}.photo-viewer__bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-viewer button{cursor:pointer;border:1px solid #ffffff80;border-radius:28px;color:#fff;padding:10px 18px;background:transparent;font:inherit;min-height:44px}.photo-viewer button:disabled{opacity:.3;cursor:default}.photo-viewer__bar button{display:flex;align-items:center;gap:16px;white-space:nowrap}.photo-viewer__bar button span{font-size:22px}.photo-viewer__figure{min-height:0;margin:0 auto;width:100%;max-width:1248px;display:flex;flex-direction:column;align-items:center;padding:0 24px;touch-action:pan-y pinch-zoom}.photo-viewer__figure img{min-height:0;flex:1;width:100%;object-fit:contain}.photo-viewer__figure figcaption{color:#fff;margin-top:16px;max-width:850px;max-height:18dvh;overflow-y:auto;text-align:center;flex-shrink:0;font-size:14px;line-height:1.5}.photo-viewer__controls{display:flex;justify-content:center;align-items:center;gap:28px;padding:20px 20px max(20px,env(safe-area-inset-bottom))}.photo-viewer__controls span{font-size:13px}.photo-viewer button:focus-visible{outline:3px solid #f2dd72;outline-offset:4px}@media (max-width:600px){.photos-page .page-heading{padding-bottom:32px}.photo-albums{gap:28px}.album-tile__title{font-size:17px}.photo-album .breadcrumbs{padding-top:110px}.photo-grid{gap:8px}.photo-viewer__bar{padding-inline:16px}.photo-viewer__figure{padding:0 12px}}@media (max-height:500px){.photo-viewer__bar,.photo-viewer__controls{padding-block:8px}.photo-viewer__figure figcaption{display:none}}.motion-paused .album-tile__frame img,.motion-paused .photo-grid__item img{transition:none}.motion-paused .photo-grid__item:is(:hover,:focus-visible) img{transform:none}@media (prefers-reduced-motion:reduce){.album-tile__frame img,.photo-grid__item img{transition:none}.photo-grid__item:is(:hover,:focus-visible) img{transform:none}}