.wall{display:grid;grid-template-columns:repeat(var(--columns, 3),minmax(0,1fr));gap:var(--wall-gap, .5rem);align-items:start}.wall-column{display:flex;flex-direction:column;gap:var(--wall-gap, .5rem);min-width:0}.wall-cell{min-width:0}.tile{position:relative;margin:0;background:#3c423814;overflow:hidden;cursor:zoom-in;border-radius:var(--tile-radius, 0)}.tile>img{display:block;width:100%;height:auto;transition:transform .5s var(--ease-out)}@media(hover:hover){.tile:hover>img,.tile:focus-within>img{transform:scale(1.02)}}.tile-hover{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;color:#fff;font-size:.78rem;letter-spacing:.02em;background:linear-gradient(to top,rgb(18 20 17 / .6),transparent);opacity:0;transition:opacity .2s;pointer-events:none}.tile-hover>*{pointer-events:auto}.tile-hover span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.tile:hover .tile-hover,.tile:focus-within .tile-hover{opacity:1}@media(hover:none){.tile-hover{opacity:1}}.on-photo{width:2.4rem;height:2.4rem;border-radius:999px;border:0;display:grid;place-items:center;background:#12141173;backdrop-filter:blur(6px);color:#fff;cursor:pointer;flex:none;text-decoration:none}.on-photo:hover{background:#121411b3}.on-photo svg{width:1.1rem;height:1.1rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.viewer{position:fixed;inset:0;z-index:200;background:#121411;color:#f1ede6;display:grid;grid-template-rows:auto minmax(0,1fr) auto;font-family:var(--sans)}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 4rem .85rem 1rem;font-size:.85rem;color:#a8a399;font-variant-numeric:tabular-nums;min-height:3.25rem}.viewer-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-close{position:absolute;top:max(.6rem,env(safe-area-inset-top));right:max(.6rem,env(safe-area-inset-right));z-index:2;width:2.75rem;height:2.75rem;border-radius:999px;border:0;background:#ffffff1f;color:#fff;display:grid;place-items:center;cursor:pointer}.viewer-close svg{width:1.2rem;height:1.2rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.viewer-close:hover,.viewer-nav:hover{background:#ffffff40}.viewer-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;padding:0 3.75rem}.viewer-frame{position:relative;width:100%;height:100%;min-height:0}.viewer-frame img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 30px 80px #00000080;z-index:1}.viewer-thumb{filter:blur(4px);z-index:0}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:999px;border:0;background:#ffffff1a;color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:1}.viewer-nav[data-side=prev]{left:.6rem}.viewer-nav[data-side=next]{right:.6rem}.viewer-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem 1rem;padding:.9rem 1rem max(.9rem,env(safe-area-inset-bottom));min-height:var(--viewer-bar, 4.5rem)}.viewer-bar .viewer-meta{color:#a8a399;font-size:.85rem;font-variant-numeric:tabular-nums}.viewer-button{display:inline-flex;align-items:center;gap:.55rem;font:inherit;font-size:.95rem;padding:.7rem 1.4rem;border-radius:999px;border:1px solid rgb(255 255 255 / .4);background:#ffffff14;color:#fff;cursor:pointer;text-decoration:none;white-space:nowrap}.viewer-button:hover{background:#ffffff2e}.viewer-button[data-tone=gold]{background:var(--gold);border-color:var(--gold)}.viewer-button[data-tone=danger]{border-color:#da5c52b3;color:#f3a49d}.viewer-button svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.viewer-button .ring{display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:999px;border:1.5px solid currentColor;font-size:.7rem;color:transparent}.viewer-button[data-tone=gold] .ring{color:#fff}.viewer-note{width:min(32rem,100%);display:flex;flex-direction:column;gap:.6rem}.viewer-note textarea{font:inherit;font-size:.95rem;width:100%;padding:.7rem .8rem;border-radius:10px;border:1px solid rgb(255 255 255 / .25);background:#ffffff1a;color:#fff;resize:vertical}.viewer-note textarea::placeholder{color:#ffffff8c}.viewer-note textarea:focus-visible{outline:2px solid var(--gold-soft);outline-offset:1px}.viewer-note-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.viewer-ok{margin:0;color:#cfe3e0;font-size:.9rem}.viewer-err{margin:0;color:#f3a49d;font-size:.9rem}@media(max-width:40rem){.viewer-stage{padding:0}.viewer-nav{width:2.6rem;height:2.6rem;opacity:.8}.viewer-top{padding-right:3.5rem}.viewer{--viewer-bar: 5.5rem}}.appbar[data-astro-cid-qgrrgaau]{position:sticky;top:0;z-index:40;height:var(--appbar-h);display:flex;align-items:center;gap:clamp(.6rem,1.5vw,1rem);padding-inline:var(--gutter-app);background:var(--cream);border-bottom:1px solid rgb(60 66 56 / .09)}.appbar__brand[data-astro-cid-qgrrgaau]{text-decoration:none;line-height:0}.appbar__brand[data-astro-cid-qgrrgaau]:focus-visible{outline:2px solid var(--coral);outline-offset:4px;border-radius:2px}.appbar__rule[data-astro-cid-qgrrgaau]{width:1px;height:1.35rem;background:#3c423829;flex:none}.appbar__label[data-astro-cid-qgrrgaau]{margin:0;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.appbar__back[data-astro-cid-qgrrgaau]{display:inline-flex;align-items:center;gap:.45em;flex:none;margin-left:auto;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;opacity:.85}.appbar__back[data-astro-cid-qgrrgaau]:hover{opacity:1}.appbar__back[data-astro-cid-qgrrgaau] svg[data-astro-cid-qgrrgaau]{transition:transform .35s var(--ease-out)}.appbar__back[data-astro-cid-qgrrgaau]:hover svg[data-astro-cid-qgrrgaau]{transform:translate(-3px)}.appbar__back[data-astro-cid-qgrrgaau]:focus-visible{outline:2px solid var(--teal);outline-offset:4px}@media(max-width:60rem){.appbar[data-astro-cid-qgrrgaau]{position:static}}@media(max-width:30rem){.appbar__rule[data-astro-cid-qgrrgaau],.appbar__label[data-astro-cid-qgrrgaau]{display:none}.appbar__back[data-astro-cid-qgrrgaau]{font-size:.62rem;letter-spacing:.11em}}
