.gallery-page{position:fixed;inset:0;z-index:100;overflow:hidden;background:#111;color:#ffedd6;touch-action:none}.gallery-page--loading{background:#181817}.gallery-canvas{position:absolute!important;inset:0}.gallery-hud{position:absolute;z-index:5;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;pointer-events:none}.gallery-hud>*{pointer-events:auto}.gallery-artwork-dialog a,.gallery-entry button,.gallery-hud__exit,.gallery-hud__fallback,.gallery-resume{border:1px solid rgba(255,237,214,.42);background:rgba(24,24,23,.78);color:#ffedd6;padding:.8rem 1rem;text-decoration:none;cursor:pointer}.gallery-entry{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-end;padding:clamp(1.5rem,5vw,5rem);background:linear-gradient(90deg,rgba(24,24,23,.95),rgba(24,24,23,.55) 48%,transparent 78%)}.gallery-entry--resume{align-items:center;justify-content:center;background:rgba(0,0,0,.18)}.gallery-entry--hidden{display:none}.gallery-entry__panel{max-width:46rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.gallery-entry__panel>p:first-child{margin:0;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;opacity:.7}.gallery-entry h1{margin:0;font-size:clamp(3rem,9vw,8rem);font-weight:500;line-height:.9;letter-spacing:-.055em}.gallery-entry__instructions{max-width:38rem;margin:0;color:rgba(255,237,214,.76)}.gallery-resume{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:.35rem;text-align:center}.gallery-resume span{font-size:.72rem;opacity:.68}.gallery-inspect-prompt{position:absolute;z-index:5;left:50%;bottom:1.5rem;transform:translateX(-50%);border:0;background:rgba(24,24,23,.82);color:#ffedd6;padding:.65rem .85rem;white-space:nowrap;cursor:pointer}.gallery-inspect-prompt kbd{display:inline-grid;place-items:center;min-width:1.5rem;margin-right:.45rem;border:1px solid rgba(255,237,214,.4)}.gallery-mobile-controls{position:absolute;z-index:6;inset:auto 1rem 1rem;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.gallery-mobile-controls>*{pointer-events:auto}.gallery-mobile-controls__move{display:grid;grid-template-columns:repeat(3,3rem);grid-template-rows:repeat(2,3rem);gap:.25rem}.gallery-mobile-controls__move button{border:1px solid rgba(255,237,214,.38);border-radius:50%;background:rgba(24,24,23,.72);color:#ffedd6;font-size:1.1rem}.gallery-mobile-controls__forward{grid-column:2}.gallery-mobile-controls__left{grid-column:1;grid-row:2}.gallery-mobile-controls__backward{grid-column:2;grid-row:2}.gallery-mobile-controls__right{grid-column:3;grid-row:2}.gallery-mobile-controls__look{width:7rem;height:7rem;display:grid;place-items:center;border:1px solid rgba(255,237,214,.3);border-radius:50%;background:rgba(24,24,23,.48);font-size:.72rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-artwork-dialog{position:absolute;z-index:10;top:0;right:0;width:min(31rem,100%);height:100%;overflow:auto;padding:4.5rem 1.5rem 2rem;background:rgba(24,24,23,.98);box-shadow:-1rem 0 3rem rgba(0,0,0,.3)}.gallery-artwork-dialog__close{position:absolute;top:1rem;right:1rem;border:0;background:transparent;color:#ffedd6;font-size:2rem;cursor:pointer}.gallery-artwork-dialog img{display:block;width:100%;height:auto;margin-bottom:1.5rem}.gallery-artwork-dialog h2{margin:.4rem 0 1rem;font-size:2rem}.gallery-artwork-dialog p{color:rgba(255,237,214,.7)}.gallery-artwork-dialog a{display:inline-block;margin-top:1rem}.gallery-fallback{min-height:100vh;padding:6rem 1.5rem;background:#181817;color:#ffedd6}.gallery-fallback__grid,.gallery-fallback__header{max-width:72rem;margin-inline:auto}.gallery-fallback__header{margin-bottom:3rem}.gallery-fallback__header a{color:inherit}.gallery-fallback__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem}.gallery-fallback__card{color:inherit;text-decoration:none}.gallery-fallback__card img{display:block;width:100%;height:auto}.gallery-fallback__card span{display:flex;justify-content:space-between;gap:1rem;padding-top:.75rem}.gallery-fallback__card small{color:rgba(255,237,214,.65)}.gallery-page .gallery-hud{top:calc(max(14px, env(safe-area-inset-top)) + 82px);left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));gap:12px}.gallery-page .gallery-hud>*{min-height:44px;display:inline-flex;align-items:center}.gallery-fallback.gallery-fallback{padding:calc(max(14px, env(safe-area-inset-top)) + 100px) clamp(16px,3vw,40px) 40px}.gallery-fallback .gallery-fallback__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 24px}.gallery-fallback .gallery-fallback__header p{position:static;grid-column:1/-1;margin:0}.gallery-fallback .gallery-fallback__header h1{margin:0;font-size:clamp(26px,5.5vw,64px);line-height:1.1;overflow-wrap:anywhere}.gallery-fallback .gallery-fallback__header a{white-space:nowrap}.gallery-fallback .gallery-fallback__grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}.gallery-fallback__card button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-fallback__card button:focus-visible{outline:2px solid #ffedd6;outline-offset:4px}.gallery-lightbox{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:max(80px,calc(env(safe-area-inset-top) + 64px)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;background:#181817;color:#ffedd6;overflow:hidden}.gallery-lightbox::backdrop{background:#181817e8}.gallery-lightbox img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.gallery-lightbox__close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));min-width:44px;min-height:44px;padding:10px 16px;border:0;background:#9a0116;color:#ffedd6;font:inherit;cursor:pointer}.gallery-lightbox__close:focus-visible{outline:2px solid #ffedd6;outline-offset:3px}@media (max-width:600px){.gallery-fallback .gallery-fallback__header{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.gallery-fallback *,.gallery-page *{animation:none!important;transition:none!important}}