.spinner{position:absolute;z-index:5;border:4px solid rgba(0,0,0,.3);border-radius:50%;border-top:4px solid var(--color-text-primary);width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;--modal-bg-opacity: .95;background:rgba(255,255,255,var(--modal-bg-opacity));background:rgba(var(--color-background-rgb, 255, 255, 255),var(--modal-bg-opacity));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);justify-content:center;align-items:center;padding:5vh 5vw;pointer-events:auto;touch-action:none;opacity:0;transition:opacity .1s ease-out}.modal.modal-visible{opacity:1}.modal-content{position:relative;animation:modalSlideIn .15s ease-out;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:10000}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-content{transition:transform .35s cubic-bezier(.25,.46,.45,.94)}.modal-visual-wrapper{position:relative;display:flex;justify-content:center;align-items:center;border-radius:16px;box-shadow:0 25px 50px #0000004d;overflow:hidden;transition:width .15s ease-out,height .15s ease-out;aspect-ratio:4 / 3;width:min(90vw,120vh);max-width:90vw;max-height:90vh;background:transparent}.modal-image-slider{position:relative;width:100%;height:100%}.modal-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f0f0f080;opacity:0;pointer-events:none;transition:opacity .35s ease-in-out;z-index:1}.modal-image-wrapper.active{opacity:1;pointer-events:auto;z-index:2}.modal-image-wrapper.is-departing{opacity:1;transition:none}.modal-slide-blur-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(20px);transform:scale(1.1);z-index:0;opacity:1;transition:opacity .35s ease-out}.modal-slide-blur-bg.fade-out{opacity:0}.modal-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.modal-image{position:absolute;width:102%;height:102%;object-fit:cover;cursor:zoom-in;transition:transform .3s ease,opacity .3s ease;touch-action:none;opacity:0;z-index:1;transform-origin:center center;transform:scale(1.02)}.modal-image-hd{z-index:2}.modal-image-max,.modal-image-wrapper[data-current-resolution=max] .modal-image-hd{z-index:1}.modal-image-wrapper[data-current-resolution=max] .modal-image-max{z-index:2}.modal-image-interaction-layer{position:absolute;inset:0;background:transparent;cursor:inherit;z-index:3;touch-action:none;-webkit-user-select:none;user-select:none}.modal-visual-wrapper.is-zoomed{width:98vw;height:98vh;cursor:zoom-out}.modal-visual-wrapper.is-zoomed .modal-image{cursor:zoom-out}body.protected-context-menu-open .modal-image,body.protected-context-menu-open .modal-image-interaction-layer,body.protected-context-menu-open .modal-visual-wrapper.is-zoomed .modal-image{cursor:default!important}.modal,.modal-content{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}.modal-image-wrapper.active{will-change:opacity;transform:translateZ(0)}.modal-image-wrapper:not(.active){will-change:auto;transform:none}.modal-image{will-change:auto}.modal-image.is-zoomed{will-change:transform;transform:translateZ(0)}.modal-visual-wrapper{contain:layout}.modal-info{position:absolute;bottom:0;left:0;right:0;padding:25px 40px 15px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);pointer-events:none;z-index:4;transition:none;will-change:contents;transform:translateZ(0);backface-visibility:hidden}#galleryModal:not(.is-hero-modal) .modal-info{background:none!important;padding:15px 30px 30px}.modal.is-hero-modal .modal-info{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 90%);padding:15px 30px 30px}.modal-title{flex:1;min-width:0;font-size:1rem;font-weight:700;margin:0}.modal.is-hero-modal .modal-title{font-size:1.4rem;padding-left:12px}.modal-description{font-size:1.1rem;margin:6px 0 0;opacity:.9;padding-left:12px}#galleryModal:not(.is-hero-modal) .modal-title{background-color:#ffffff80;color:#222c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 11px;border-radius:9px;font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:.3px;text-align:center;display:inline-flex;align-items:center;justify-content:center;margin-right:14px;transition:all .2s ease;box-shadow:0 3px 12px #00000026}.modal-counter{font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:.3px;flex-shrink:0;background-color:#ffffff80;color:#222c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 11px;border-radius:9px;text-align:center;display:flex;align-items:center;justify-content:center;margin-left:14px;transition:all .2s ease;box-shadow:0 3px 12px #00000026}.modal-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff80;color:#222c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9px;width:42px;height:42px;font-size:1.1rem;cursor:pointer;z-index:2002;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border:none;padding:0;box-shadow:0 3px 12px #00000026}.modal-image.is-zoomed~.modal-arrow{opacity:0;pointer-events:none}.modal-arrow:hover{background:#ffffffb3;color:#222;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 16px #0003;transform:translateY(-50%) scale(1.05)}.modal-arrow.prev{left:-60px}.modal-arrow.next{right:-60px}.modal-arrow:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:728px)and (orientation:portrait){.modal-content{margin-top:5vh;margin-bottom:18vh}.modal-visual-wrapper{width:90vw;height:auto;max-width:100%}.modal-arrow.prev{left:10px}.modal-arrow.next{right:10px}}@media(max-width:1024px){.modal-arrow.prev{left:15px}.modal-arrow.next{right:15px}}.modal-quality-badge{position:absolute;top:30px;right:30px;background-color:#ffffff80;color:#222c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 11px;border-radius:9px;font-size:.9rem;font-weight:700;line-height:1.3;letter-spacing:.3px;text-align:center;display:flex;align-items:center;justify-content:center;z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;transition:all .25s ease;will-change:opacity,contents;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 3px 12px #00000026}.modal-quality-badge.is-visible{opacity:1}.modal-quality-badge.badge-hd,.modal-quality-badge.badge-max{background-color:#ffffff80;color:#222c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-toggle-visibility{position:absolute;top:30px;left:30px;background-color:#ffffff80;color:#222c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:32px;height:32px;border-radius:9px;font-size:.9rem;display:flex;align-items:center;justify-content:center;z-index:5;cursor:pointer;border:none;padding:0;transition:all .2s ease;pointer-events:auto;opacity:1;box-shadow:0 3px 12px #00000026}.modal-toggle-visibility:hover{background-color:#ffffffb3;color:#222;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 16px #0003}.modal-quality-badge:hover{background-color:#ffffffb3;color:#222;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 16px #0003;pointer-events:auto;cursor:pointer}.modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow{background-color:#ffffff26!important;color:#00000059!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;box-shadow:0 2px 8px #0000001a!important;pointer-events:auto;opacity:1!important}.modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow:hover{background-color:#ffffffb3!important;color:#222!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;box-shadow:0 4px 16px #0003!important;transform:translateY(-50%) scale(1.05)!important}.modal-visual-wrapper.hide-ui .modal-toggle-visibility{background-color:#ffffff26!important;color:#00000059!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;pointer-events:auto;box-shadow:0 2px 8px #0000001a!important}.modal-visual-wrapper.hide-ui .modal-toggle-visibility:hover{background-color:#ffffffb3!important;color:#222!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;box-shadow:0 4px 16px #0003!important}.modal-visual-wrapper.hide-ui .modal-quality-badge{background-color:#ffffff26!important;color:#00000059!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;opacity:1!important;pointer-events:auto;box-shadow:0 2px 8px #0000001a!important}.modal-visual-wrapper.hide-ui .modal-quality-badge:hover{background-color:#ffffffb3!important;color:#222!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;box-shadow:0 4px 16px #0003!important}.modal-visual-wrapper.hide-ui .modal-counter{background-color:#ffffff26!important;color:#00000059!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;box-shadow:0 2px 8px #0000001a!important}.modal:not(.is-hero-modal) .modal-visual-wrapper.hide-ui .modal-title{background-color:#ffffff26!important;color:#00000059!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;box-shadow:0 2px 8px #0000001a!important}.modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-title{background-color:#ffffff26!important;color:#00000059!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;padding:4px 11px!important;border-radius:9px!important;font-size:1rem!important;font-weight:700!important;line-height:1.3!important;box-shadow:0 2px 8px #0000001a!important;letter-spacing:.3px!important;text-align:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.modal-visual-wrapper.hide-ui .modal-description{display:none!important}.modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-info{background:none!important;padding:15px 30px 30px!important;pointer-events:none}.modal:not(.is-hero-modal) .modal-visual-wrapper.hide-ui .modal-info{pointer-events:none}@media(max-width:1024px)and (min-width:729px){.modal.is-hero-modal .modal-title{font-size:1.2rem;padding-left:8px}.modal.is-hero-modal .modal-description{font-size:1rem;padding-left:8px}}@media(max-width:728px){.modal-content{margin-top:5vh}.modal-toggle-visibility{top:20px;left:24px;width:28px;height:28px;font-size:.8rem}.modal-quality-badge{top:20px;right:24px;font-size:.75rem;padding:3px 9px}#galleryModal:not(.is-hero-modal) .modal-title{font-size:.8rem;padding:3px 9px}.modal-counter{font-size:.8rem;padding:3px 9px}#galleryModal:not(.is-hero-modal) .modal-info{padding:15px 24px 20px!important}.modal.is-hero-modal .modal-info{padding:15px 24px 20px!important}.modal.is-hero-modal .modal-title{font-size:.95rem}.modal.is-hero-modal .modal-description{font-size:.8rem}.modal.is-hero-modal:not(:has(.modal-visual-wrapper.hide-ui)) .modal-title{padding-left:0!important}.modal.is-hero-modal:not(:has(.modal-visual-wrapper.hide-ui)) .modal-description{padding-left:0!important}.modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-title{font-size:.8rem!important;padding:3px 9px!important}.modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-info{padding:15px 24px 20px!important}}@media(prefers-color-scheme:dark){html:not(.force-light) .modal{background:rgba(10,10,10,var(--modal-bg-opacity))}html:not(.force-light) .modal-arrow{background:#1e1e1eb3;color:#ffffffe6}html:not(.force-light) .modal-arrow:hover{background:#282828d9;color:#fff}html:not(.force-light) .modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow{background-color:#1e1e1e40!important;color:#fff6!important}html:not(.force-light) .modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow:hover{background-color:#282828d9!important;color:#fff!important}html:not(.force-light) .modal-quality-badge{background-color:#1e1e1eb3;color:#ffffffe6}html:not(.force-light) .modal-quality-badge:hover{background-color:#282828d9;color:#fff}html:not(.force-light) .modal-visual-wrapper.hide-ui .modal-quality-badge{background-color:#1e1e1e40!important;color:#fff6!important}html:not(.force-light) .modal-visual-wrapper.hide-ui .modal-quality-badge:hover{background-color:#282828d9!important;color:#fff!important}html:not(.force-light) .modal-toggle-visibility{background-color:#1e1e1eb3;color:#ffffffe6}html:not(.force-light) .modal-toggle-visibility:hover{background-color:#282828d9;color:#fff}html:not(.force-light) .modal-visual-wrapper.hide-ui .modal-toggle-visibility{background-color:#1e1e1e40!important;color:#fff6!important}html:not(.force-light) .modal-visual-wrapper.hide-ui .modal-toggle-visibility:hover{background-color:#282828d9!important;color:#fff!important}html:not(.force-light) #galleryModal:not(.is-hero-modal) .modal-title,html:not(.force-light) .modal-counter{background-color:#1e1e1eb3;color:#ffffffe6}html:not(.force-light) .modal:not(.is-hero-modal) .modal-visual-wrapper.hide-ui .modal-title,html:not(.force-light) .modal-visual-wrapper.hide-ui .modal-counter{background-color:#1e1e1e40!important;color:#fff6!important}html:not(.force-light) .modal.is-hero-modal .modal-info{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 90%)}html:not(.force-light) .modal.is-hero-modal .modal-title,html:not(.force-light) .modal.is-hero-modal .modal-description{color:#fff}html:not(.force-light) .modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-info{background:none!important}html:not(.force-light) .modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-title{background-color:#1e1e1e40!important;color:#fff6!important}}html.dark-mode .modal,body.dark-mode .modal{background:rgba(10,10,10,var(--modal-bg-opacity))}html.dark-mode .modal-arrow,body.dark-mode .modal-arrow{background:#1e1e1eb3;color:#ffffffe6}html.dark-mode .modal-arrow:hover,body.dark-mode .modal-arrow:hover{background:#282828d9;color:#fff}html.dark-mode .modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow,body.dark-mode .modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow{background-color:#1e1e1e40!important;color:#fff6!important}html.dark-mode .modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow:hover,body.dark-mode .modal-content:has(.modal-visual-wrapper.hide-ui) .modal-arrow:hover{background-color:#282828d9!important;color:#fff!important}html.dark-mode .modal-quality-badge,body.dark-mode .modal-quality-badge{background-color:#1e1e1eb3;color:#ffffffe6}html.dark-mode .modal-quality-badge:hover,body.dark-mode .modal-quality-badge:hover{background-color:#282828d9;color:#fff}html.dark-mode .modal-visual-wrapper.hide-ui .modal-quality-badge,body.dark-mode .modal-visual-wrapper.hide-ui .modal-quality-badge{background-color:#1e1e1e40!important;color:#fff6!important}html.dark-mode .modal-visual-wrapper.hide-ui .modal-quality-badge:hover,body.dark-mode .modal-visual-wrapper.hide-ui .modal-quality-badge:hover{background-color:#282828d9!important;color:#fff!important}html.dark-mode .modal-toggle-visibility,body.dark-mode .modal-toggle-visibility{background-color:#1e1e1eb3;color:#ffffffe6}html.dark-mode .modal-toggle-visibility:hover,body.dark-mode .modal-toggle-visibility:hover{background-color:#282828d9;color:#fff}html.dark-mode .modal-visual-wrapper.hide-ui .modal-toggle-visibility,body.dark-mode .modal-visual-wrapper.hide-ui .modal-toggle-visibility{background-color:#1e1e1e40!important;color:#fff6!important}html.dark-mode .modal-visual-wrapper.hide-ui .modal-toggle-visibility:hover,body.dark-mode .modal-visual-wrapper.hide-ui .modal-toggle-visibility:hover{background-color:#282828d9!important;color:#fff!important}html.dark-mode #galleryModal:not(.is-hero-modal) .modal-title,html.dark-mode .modal-counter,body.dark-mode #galleryModal:not(.is-hero-modal) .modal-title,body.dark-mode .modal-counter{background-color:#1e1e1eb3;color:#ffffffe6}html.dark-mode .modal:not(.is-hero-modal) .modal-visual-wrapper.hide-ui .modal-title,html.dark-mode .modal-visual-wrapper.hide-ui .modal-counter,body.dark-mode .modal:not(.is-hero-modal) .modal-visual-wrapper.hide-ui .modal-title,body.dark-mode .modal-visual-wrapper.hide-ui .modal-counter{background-color:#1e1e1e40!important;color:#fff6!important}html.dark-mode .modal.is-hero-modal .modal-info,body.dark-mode .modal.is-hero-modal .modal-info{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 90%)}html.dark-mode .modal.is-hero-modal .modal-title,html.dark-mode .modal.is-hero-modal .modal-description,body.dark-mode .modal.is-hero-modal .modal-title,body.dark-mode .modal.is-hero-modal .modal-description{color:#fff}html.dark-mode .modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-info,body.dark-mode .modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-info{background:none!important}html.dark-mode .modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-title,body.dark-mode .modal.is-hero-modal .modal-visual-wrapper.hide-ui .modal-title{background-color:#1e1e1e40!important;color:#fff6!important}.protected-context-menu{position:fixed;z-index:10050;min-width:220px;max-width:280px;background:#0a0e16f0;color:#f3f5f9;border-radius:12px;box-shadow:0 18px 45px #00000073;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:8px 0;opacity:0;pointer-events:none;transform:scale(.97);transform-origin:top left;transition:opacity .12s ease,transform .12s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.92rem;letter-spacing:.01em}.protected-context-menu.is-visible{opacity:1;pointer-events:auto;transform:scale(1)}.protected-context-menu__list{display:flex;flex-direction:column}.protected-context-menu__item{appearance:none;border:none;background:transparent;color:inherit;text-align:left;width:100%;padding:10px 18px;display:flex;align-items:center;gap:10px;cursor:pointer;font:inherit;line-height:1.3;transition:background 90ms ease}.protected-context-menu__item:hover,.protected-context-menu__item:focus{background:#ffffff14;outline:none}.protected-context-menu__item:active{background:#ffffff24}.protected-context-menu__item-icon{width:1em;display:grid;place-items:center;opacity:.65}.protected-context-menu__item-label{flex:1;display:flex;flex-direction:column}.protected-context-menu__item-info{font-size:.78rem;color:#f3f5f999;margin-top:2px}.protected-context-menu__item[disabled],.protected-context-menu__item.is-disabled{color:#f3f5f973;cursor:default}.protected-context-menu__item[disabled]:hover,.protected-context-menu__item.is-disabled:hover{background:transparent}.protected-context-menu__separator{height:1px;background:linear-gradient(90deg,#fff0,#ffffff2e,#fff0);margin:6px 8px}.protected-context-menu__empty{padding:10px 18px;color:#f3f5f98c;font-size:.82rem}.protected-context-menu__shortcut{margin-left:16px;font-size:.76rem;color:#f3f5f999}.protected-context-menu__feedback{position:absolute;inset:auto 12px 8px auto;padding:6px 12px;border-radius:999px;background:#48c4cb29;color:#7de3e9;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;display:none}.protected-context-menu.feedback-visible .protected-context-menu__feedback{display:inline-flex;align-items:center;gap:6px}:root{--bp: d}@media(max-width:1024px){:root{--bp: t}}@media(max-width:728px){:root{--bp: m}}@media(max-width:1024px){.d-mobile{display:block!important}.d-desktop{display:none!important}.cta-button{padding:6px 14px;font-size:.9rem}.gallery-grid.grid-5,.gallery-grid.grid-4,.gallery-grid.grid-3{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr 1fr}.modal-arrow.prev{left:15px}.modal-arrow.next{right:15px}}@media(max-width:728px){.d-mobile{display:block!important}.d-desktop{display:none!important}.gallery-controls{flex-direction:column;align-items:stretch}.gallery-controls>.search-container{width:100%;margin:0 auto}.gallery-controls>.search-container #gallery-search{width:100%}.footer-content{grid-template-columns:1fr;text-align:center}.modal-arrow.prev{left:10px}.modal-arrow.next{right:10px}.modal-info{padding:15px 20px}#galleryModal:not(.is-hero-modal) .modal-info{padding:15px}.modal-title{font-size:.8rem}#galleryModal:not(.is-hero-modal) .modal-title{padding:3px 10px}#galleryModal:not(.is-hero-modal) .modal-text p{display:none}.gallery-grid.grid-5,.gallery-grid.grid-4,.gallery-grid.grid-3{grid-template-columns:1fr}}@media(hover:none)and (pointer:coarse)and (orientation:portrait){.modal-arrow{display:none!important}}@media(max-height:500px)and (orientation:landscape){.modal-content{width:auto;height:90vh;max-height:90vh;margin-bottom:0}.modal-visual-wrapper{width:auto;height:100%}.modal-title{font-size:.85rem}#galleryModal:not(.is-hero-modal) .modal-title{padding:4px 12px}#galleryModal:not(.is-hero-modal) .modal-text p{display:none}.modal-arrow{transform:translateY(-50%) scale(.9)}.modal-arrow.prev{left:5px}.modal-arrow.next{right:5px}.modal-dots{bottom:5px;transform:translate(-50%) scale(.8)}.modal-dot{background:#fff9}.modal-dot.active{background:#fff}.dot-ellipsis{color:#fffc}}
