.gallery-page{min-height:calc(100vh - 7rem);padding-top:1.25rem;z-index:1}.gallery-page__header{margin-bottom:2rem}.gallery-page h1{margin:0}.gallery-page__actions{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-left:auto}.gallery-header-action{display:inline-block;margin:0;border:1px solid #242323;border-radius:0;background:#424242;color:#fff;cursor:pointer;font:700 .8rem/1 Courier New,Courier,monospace;letter-spacing:.08em;padding:.82rem 1rem;text-decoration:none}.gallery-header-action:hover{background:var(--vv-red)}.gallery-header-action:focus-visible{outline:2px solid var(--vv-red);outline-offset:3px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 1.5rem}.gallery-album a{display:block;color:inherit;text-decoration:none}.gallery-album img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;background:#d5d2cd;filter:grayscale(1);transition:filter .18s ease}.gallery-protected-image{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.gallery-album a:hover img,.gallery-album a:focus-visible img{filter:grayscale(0)}.gallery-album a:focus-visible,.gallery-photo:focus-visible{outline:2px solid var(--vv-red);outline-offset:4px}.gallery-album h2{margin:.8rem 0 .35rem;font-family:var(--vv-secondary-font);font-size:.95rem;font-weight:700;letter-spacing:.04em}.gallery-album p,.gallery-event__header p{margin:0;font-size:.77rem;font-weight:400;letter-spacing:.04em;line-height:1.45}.gallery-album__venue{margin-top:.18rem!important}.gallery-event__header{margin:2.5rem 0 2rem;border-bottom:1px solid #242323;padding-bottom:1.25rem;text-align:center}.gallery-event__title{margin:0 0 .55rem;font-family:var(--vv-secondary-font);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;letter-spacing:.02em;line-height:1.15;text-transform:none}.gallery-event__header p{text-align:center}.gallery-event__header p+p{margin-top:.18rem}.gallery-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.25rem}.gallery-photo{display:block;min-width:0;aspect-ratio:4 / 3;overflow:hidden;border:0;border-radius:0;background:#d5d2cd;cursor:zoom-in;padding:0}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}.gallery-not-found h1{margin-top:2.5rem}.gallery-lightbox{width:min(96vw,78rem);max-width:none;max-height:94vh;border:1px solid #f3f2ef;background:#171717;color:#f3f2ef;padding:3.5rem 4.5rem}.gallery-lightbox::backdrop{background:#000000db}.gallery-lightbox figure{display:grid;justify-items:center;gap:.75rem;margin:0}.gallery-lightbox img{display:block;max-width:100%;max-height:calc(94vh - 8rem);object-fit:contain}.gallery-lightbox figcaption{font-size:.75rem;letter-spacing:.07em}.gallery-lightbox button{border:0;background:transparent;color:inherit;cursor:pointer;font:700 .78rem/1 Courier New,Courier,monospace;letter-spacing:.07em}.gallery-lightbox__close{position:absolute;top:1rem;right:1rem}.gallery-lightbox__previous,.gallery-lightbox__next{position:absolute;top:50%;font-size:1.5rem!important;transform:translateY(-50%)}.gallery-lightbox__previous{left:1rem}.gallery-lightbox__next{right:1rem}.gallery-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}.gallery-signup-modal{width:min(calc(100vw - 2rem),31rem);max-height:min(90vh,42rem);border:1px solid #242323;border-radius:0;background:#f3f2ef;color:#242323;padding:0;font-family:Courier New,Courier,monospace}.gallery-signup-modal::backdrop{background:#141212c7}.gallery-signup-modal__content{padding:clamp(1.5rem,5vw,2.5rem)}.gallery-signup-modal h2{margin:0;font-size:clamp(1.55rem,5vw,2.2rem);letter-spacing:.01em;line-height:1.05}.gallery-signup-modal__content>p{margin:1rem 0 1.5rem;font-size:.84rem;line-height:1.55}.gallery-signup-form{display:grid;gap:1rem}.gallery-signup-form__field{display:grid;gap:.45rem;font-size:.77rem;font-weight:700;letter-spacing:.04em}.gallery-signup-form__field input{width:100%;border:0;border-bottom:1px solid #242323;border-radius:0;background:transparent;color:#242323;font:400 .96rem/1.45 Courier New,Courier,monospace;padding:.5rem .1rem}.gallery-signup-form__field input:focus,.gallery-signup-form__consent input:focus-visible{outline:2px solid var(--vv-red);outline-offset:2px}.gallery-signup-form__consent{display:flex;align-items:flex-start;gap:.65rem;font-size:.78rem;line-height:1.45}.gallery-signup-form__consent input{width:1rem;height:1rem;flex:0 0 auto;margin:.08rem 0 0;accent-color:#424242}.gallery-signup-form__status{min-height:1.4em;margin:0;color:#355b43;font-size:.76rem;font-weight:700;line-height:1.4}.gallery-signup-form__status.is-error{color:var(--vv-red)}.gallery-signup-form__actions{display:grid;gap:.8rem;justify-items:start}.gallery-signup-form__submit,.gallery-signup-form__decline{border-radius:0;cursor:pointer;font:700 .8rem/1 Courier New,Courier,monospace;letter-spacing:.08em}.gallery-signup-form__submit{border:1px solid #242323;background:#424242;color:#fff;padding:.82rem 1rem}.gallery-signup-form__submit:hover{background:var(--vv-red)}.gallery-signup-form__submit:disabled{cursor:not-allowed;background:#77716c;color:#e8e5e0;opacity:.72}.gallery-signup-form__submit:disabled:hover{background:#77716c}.gallery-signup-form__decline{border:0;background:transparent;color:#242323;padding:.2rem 0;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25rem}.gallery-signup-form__decline:hover{color:var(--vv-red)}.gallery-signup-form__submit:focus-visible,.gallery-signup-form__decline:focus-visible{outline:2px solid var(--vv-red);outline-offset:3px}.gallery-signup-form__honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.gallery-signup-modal__success{margin:1.25rem 0 0;color:#355b43;font-size:.82rem;font-weight:700;line-height:1.5}.general-signup-modal{overflow:auto}.general-signup-modal__content{position:relative;padding-right:clamp(3.5rem,10vw,4.75rem)}.general-signup-modal__close{position:absolute;top:clamp(1rem,3vw,1.5rem);right:clamp(1rem,3vw,1.5rem);border:0;background:transparent;color:#242323;cursor:pointer;font:400 1.7rem/1 Courier New,Courier,monospace;padding:.2rem}.general-signup-modal__close:hover{color:var(--vv-red)}.general-signup-modal__close:focus-visible{outline:2px solid var(--vv-red);outline-offset:3px}@media(max-width:780px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}}@media(max-width:560px){.gallery-grid,.gallery-photos{grid-template-columns:1fr}.gallery-event__header,.gallery-page__header{margin-top:1.8rem}.gallery-lightbox{padding:3.5rem 2.8rem}.gallery-lightbox__previous{left:.6rem}.gallery-lightbox__next{right:.6rem}}
