.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:-webkit-fill-available;height:100dvh;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;overflow:hidden}.modal-overlay,.modal-overlay .modal-content{transform:translateZ(0);touch-action:manipulation;-webkit-overflow-scrolling:touch}.modal-overlay .modal-content{background:#1a1a1a!important;color:#fff;padding:2rem;border-radius:8px;position:relative;width:90%;max-width:500px;max-height:90vh;max-height:-webkit-fill-available;max-height:90dvh;box-shadow:0 4px 24px rgba(0,0,0,.7);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1001;overflow-y:auto;overflow-x:hidden}.modal-overlay .modal-content a{margin:0 auto 20px;padding:0 25px 25px;color:#bada55!important;transition:all .5s ease}.modal-overlay .modal-content a:hover{color:#97ba28!important}.modal-overlay .modal-content p.success-message{color:#bada55!important;padding-top:40px;text-align:center}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#e0e0e0;padding:.5rem;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;min-width:44px}.modal-close:hover{color:#fff}.modal-overlay .modal-content h2{margin-top:0;margin-bottom:1.5rem;color:#fff}.form-group{margin-bottom:1.5rem}.modal-overlay .form-group label{display:block;margin-bottom:.5rem;color:#e0e0e0}.modal-overlay .form-group input{width:100%;padding:.75rem;border:1px solid #555;border-radius:4px;font-size:1rem;background:#2a2a2a;color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px;touch-action:manipulation}.modal-overlay .form-group input:focus{outline:none;border-color:#bada55;box-shadow:0 0 0 2px rgba(186,218,85,.25)}.submit-button{background-color:#bada55;color:#111;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;width:100%;transition:background-color .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;position:relative;z-index:1002;-webkit-user-select:none;-moz-user-select:none;user-select:none}.submit-button:hover{background-color:#97ba28}@supports (-webkit-touch-callout:none){.modal-overlay{position:-webkit-sticky;position:sticky}.modal-content,.modal-overlay{-webkit-overflow-scrolling:touch}.modal-content{max-height:90vh;max-height:-webkit-fill-available;max-height:90dvh;overflow-y:auto;transform:translateZ(0);touch-action:manipulation}.submit-button{-webkit-touch-callout:none;-webkit-user-select:none;min-height:44px;min-width:44px;transform:translateZ(0)}body.modal-open{-webkit-overflow-scrolling:touch;position:fixed;width:100%}}body.modal-open{overflow:hidden;position:fixed;width:100%}@supports (-webkit-touch-callout:none){body.modal-open{-webkit-overflow-scrolling:touch;position:fixed;width:100%}}.modal-content form:not(:has(.form-group:has(input[type=password]))) .submit-button{margin-top:.5rem}.modal-content form .form-group:last-of-type{margin-bottom:1rem}button.gallery-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;text-align:left}button.gallery-card:focus-visible{outline:3px solid #bada55;outline-offset:2px}.gallery-card{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:20px;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:transform .3s ease,background .3s ease,border-color .3s ease;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transform:translateZ(0)}.gallery-card:hover{transform:translateY(-5px);background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.3)}.gallery-meta-fields p{margin-bottom:0;font-size:1rem;color:hsla(0,0%,100%,.7)}.card-image{width:100%;height:250px;background-color:rgba(0,0,0,.3);border-radius:12px;margin-bottom:20px;overflow:hidden;position:relative}.card-image img,.gallery-card-image{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .3s}.gallery-card:hover .card-image img,.gallery-card:hover .gallery-card-image{opacity:1}.gallery-card-image.fade-out{opacity:0}.gallery-card-image.fade-in{opacity:.8}.gallery-card-image.loading{opacity:0}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:4px solid hsla(0,0%,100%,.2);border-top-color:hsla(0,0%,100%,.8);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.card-title{font-size:1.2rem;margin:0 0 10px;color:#fff;font-weight:500}.card-subtitle{font-size:.9rem;color:hsla(0,0%,100%,.6);margin:0}@supports (-webkit-touch-callout:none){.gallery-card{-webkit-overflow-scrolling:touch}}@media (prefers-contrast:high){.gallery-card{border:2px solid hsla(0,0%,100%,.5)}.card-title{color:#fff}.card-subtitle{color:hsla(0,0%,100%,.8)}}@media (prefers-reduced-motion:reduce){.gallery-card,.gallery-card-image{transition:none}}