photo-wall.wall{--wall-gutter:10px;columns:2;column-gap:var(--wall-gutter);max-width:72rem;margin:0 auto;padding:0 1rem;display:block}@media (width>=640px){photo-wall.wall{--wall-gutter:16px;columns:3;padding:0 1.5rem}}@media (width>=1024px){photo-wall.wall{columns:4}}photo-wall.wall.is-split{align-items:flex-start;gap:var(--wall-gutter);columns:auto;display:flex}photo-wall .wall-col{flex:1 1 0;min-width:0}photo-wall .wall-group{display:contents}photo-wall.wall[data-batched]{columns:auto;display:block}photo-wall[data-batched] .wall-group{columns:2;column-gap:var(--wall-gutter);display:block}photo-wall[data-batched] .wall-group.is-split{align-items:flex-start;gap:var(--wall-gutter);columns:auto;display:flex}@media (width>=640px){photo-wall[data-batched] .wall-group:not(.is-split){columns:3}}@media (width>=1024px){photo-wall[data-batched] .wall-group:not(.is-split){columns:4}}photo-wall .wall-batch{margin:2.5rem 0 .75rem;scroll-margin-top:1rem}photo-wall .wall-batch:first-child{margin-top:0}photo-wall.wall[data-even]{gap:var(--wall-gutter);columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){photo-wall.wall[data-even]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){photo-wall.wall[data-even]{grid-template-columns:repeat(4,minmax(0,1fr))}}photo-wall .tile{margin-bottom:var(--wall-gutter);break-inside:avoid;background:var(--panel,#7f7f7f14);cursor:zoom-in;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);display:block;overflow:hidden}photo-wall.wall[data-even] .tile{aspect-ratio:1;margin-bottom:0}photo-wall .tile.is-in{background:0 0}photo-wall .tile img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),opacity .7s,filter .7s;display:block}photo-wall.is-ready .tile:not(.is-in){opacity:0;transform:translateY(28px)scale(.985)}@media (hover:hover) and (pointer:fine){photo-wall .tile:hover img{transform:scale(1.03)}photo-wall .tile[data-kind=illustration]{position:relative;overflow:visible}photo-wall .tile[data-kind=illustration]:hover{z-index:1}photo-wall .tile[data-kind=illustration] img{filter:drop-shadow(0 0 #0000);will-change:transform, filter;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s,opacity .5s}photo-wall .tile[data-kind=illustration]:hover img{filter:drop-shadow(0 14px 18px #00000059);transform:translateY(-6px)}photo-wall:has(.tile:hover) .tile:not(:hover) img{opacity:.7;transition-delay:.15s}}photo-wall .tile:focus-visible{outline:2px solid var(--fg,currentColor);outline-offset:2px}dialog.wall-viewer{color:#fff;background:#000000f5;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}dialog.wall-viewer[open]{display:block}dialog.wall-viewer::backdrop{background:0 0}.wall-photo{object-fit:contain;transform-origin:0 0;will-change:transform;margin:auto;position:absolute;inset:0}.wall-btn{z-index:2;color:#ffffffb3;background:0 0;border:0;border-radius:9999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:color .3s,background .3s,opacity .4s;display:flex;position:absolute}.wall-btn:hover{color:#fff;background:#ffffff14}.wall-btn:focus-visible{outline-offset:3px;outline:1px solid #fff}.wall-close{top:.75rem;right:.75rem}.wall-prev,.wall-next{top:50%;transform:translateY(-50%)}.wall-prev{left:.5rem}.wall-next{right:.5rem}.wall-bar{font-family:var(--font-mono);letter-spacing:.08em;color:#ffffff8c;justify-content:space-between;gap:1rem;margin:0;padding:1rem 1.25rem 1.25rem;font-variant-caps:all-small-caps;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.wall-label{flex-wrap:wrap;gap:0 1.25rem;display:flex}.wall-label [data-caption]{color:#ffffffd9}.wall-label a{color:#ffffffd9;text-decoration:none;transition:color .3s}.wall-label a:before{content:attr(data-word);color:#ffffff8c}.wall-label a:after{content:" →"}.wall-label a:hover{color:#fff}.wall-label a:focus-visible{outline-offset:3px;outline:1px solid #fff}dialog.wall-viewer .wall-btn,dialog.wall-viewer .wall-bar{opacity:0}dialog.wall-viewer.is-shown .wall-btn,dialog.wall-viewer.is-shown .wall-bar{opacity:1;transition:opacity .5s .15s}@media (prefers-reduced-motion:reduce){photo-wall .tile,photo-wall .tile img{transition:opacity .4s}photo-wall.is-ready .tile:not(.is-in),photo-wall .tile:hover img,photo-wall .tile[data-kind=illustration]:hover img{transform:none}}
