 @media only screen and (min-width: 0rem) {#gallery-mosaic {padding: var(--sectionPadding);background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);}#gallery-mosaic .cs-container {width: 100%;max-width: 87.5rem;margin: auto;display: flex;flex-direction: column;align-items: center;gap: clamp(3rem, 6vw, 5rem);}#gallery-mosaic .cs-content {text-align: center;width: 100%;display: flex;flex-direction: column;align-items: center;}#gallery-mosaic .cs-title {margin: 0 0 1.5rem 0;}#gallery-mosaic .cs-mosaic-gallery {width: 100%;display: grid;grid-template-columns: repeat(2, 1fr);gap: 0.5rem;grid-auto-flow: dense;}#gallery-mosaic .cs-mosaic-item {position: relative;overflow: hidden;border-radius: 1rem;aspect-ratio: 1;background: #fff;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);cursor: pointer;}#gallery-mosaic .cs-mosaic-item::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(135deg, rgba(25, 197, 245, 0.1) 0%, rgba(25, 197, 245, 0) 60%);opacity: 0;transition: opacity 0.4s ease;z-index: 1;}#gallery-mosaic .cs-mosaic-item:hover {transform: translateY(-8px) scale(1.02);box-shadow: 0 16px 40px rgba(25, 197, 245, 0.2), 0 8px 16px rgba(0, 0, 0, 0.1);}#gallery-mosaic .cs-mosaic-item:hover::before {opacity: 1;}#gallery-mosaic .cs-mosaic-item:hover img {transform: scale(1.1);}#gallery-mosaic .cs-mosaic-item:hover .cs-overlay {opacity: 1;backdrop-filter: blur(4px);}#gallery-mosaic .cs-mosaic-item img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);display: block;}#gallery-mosaic .cs-mosaic-item .cs-overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.3);display: flex;align-items: center;justify-content: center;opacity: 0;transition: all 0.4s ease;z-index: 2;}#gallery-mosaic .cs-mosaic-item .cs-overlay .cs-zoom-icon {color: #fff;filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));animation: pulse 2s ease-in-out infinite;}#gallery-mosaic .cs-mosaic-item.cs-wide {grid-column: span 2;aspect-ratio: 2/1;}#gallery-mosaic .cs-mosaic-item.cs-tall {grid-row: span 2;aspect-ratio: 1/2;}#gallery-mosaic .cs-mosaic-item.cs-wide.cs-tall {grid-column: span 2;grid-row: span 2;aspect-ratio: 1;}@keyframes pulse {0%, 100% {transform: scale(1);}50% {transform: scale(1.1);}}}@media only screen and (min-width: 37.5rem) {#gallery-mosaic .cs-mosaic-gallery {grid-template-columns: repeat(3, 1fr);gap: 0.75rem;}#gallery-mosaic .cs-mosaic-item {border-radius: 1.125rem;}#gallery-mosaic .cs-mosaic-item.cs-wide {grid-column: span 2;}}@media only screen and (min-width: 64rem) {#gallery-mosaic .cs-mosaic-gallery {grid-template-columns: repeat(4, 1fr);gap: 1rem;}#gallery-mosaic .cs-mosaic-item {border-radius: 1.25rem;}#gallery-mosaic .cs-mosaic-item:hover {transform: translateY(-10px) scale(1.03);}}@media only screen and (min-width: 81.25rem) {#gallery-mosaic .cs-mosaic-gallery {grid-template-columns: repeat(5, 1fr);gap: 1.25rem;}}@media only screen and (min-width: 0rem) {.photo-modal {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.95);display: flex;align-items: center;justify-content: center;z-index: 10000;opacity: 0;visibility: hidden;transition: all 0.3s ease;backdrop-filter: blur(10px);}.photo-modal.active {opacity: 1;visibility: visible;}.photo-modal.active .modal-content {transform: scale(1);opacity: 1;}.photo-modal .modal-content {position: relative;max-width: 90vw;max-height: 90vh;transform: scale(0.9);opacity: 0;transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);display: flex;flex-direction: column;align-items: center;gap: 1.25rem;}.photo-modal .modal-content img {max-width: 100%;max-height: 85vh;width: auto;height: auto;border-radius: 0.75rem;box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);transition: opacity 0.3s ease;}.photo-modal .modal-counter {background: rgba(255, 255, 255, 0.1);backdrop-filter: blur(10px);padding: 0.625rem 1.25rem;border-radius: 1.5625rem;color: #fff;font-size: 1rem;font-weight: 600;letter-spacing: 0.5px;}.photo-modal .modal-close {position: absolute;top: 1.25rem;right: 1.25rem;background: rgba(255, 255, 255, 0.1);backdrop-filter: blur(10px);border: 2px solid rgba(255, 255, 255, 0.2);color: #fff;font-size: 2.25rem;width: 3.125rem;height: 3.125rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;cursor: pointer;transition: all 0.3s ease;z-index: 10001;line-height: 1;padding: 0;}.photo-modal .modal-close:hover {background: rgba(255, 255, 255, 0.2);border-color: rgba(255, 255, 255, 0.4);transform: rotate(90deg) scale(1.1);}.photo-modal .modal-nav {position: absolute;top: 50%;transform: translateY(-50%);background: rgba(255, 255, 255, 0.1);backdrop-filter: blur(10px);border: 2px solid rgba(255, 255, 255, 0.2);color: #fff;width: 3.75rem;height: 3.75rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;cursor: pointer;transition: all 0.3s ease;z-index: 10001;}.photo-modal .modal-nav:hover {background: rgba(25, 197, 245, 0.3);border-color: rgba(25, 197, 245, 0.6);transform: translateY(-50%) scale(1.15);}.photo-modal .modal-nav svg {width: 2rem;height: 2rem;}.photo-modal .modal-nav.modal-prev {left: 1.25rem;}.photo-modal .modal-nav.modal-next {right: 1.25rem;}}@media only screen and (max-width: 768px) {.photo-modal .modal-close {top: 0.625rem;right: 0.625rem;width: 2.75rem;height: 2.75rem;font-size: 1.75rem;}.photo-modal .modal-nav {width: 3.125rem;height: 3.125rem;}.photo-modal .modal-nav svg {width: 1.5rem;height: 1.5rem;}.photo-modal .modal-nav.modal-prev {left: 0.625rem;}.photo-modal .modal-nav.modal-next {right: 0.625rem;}.photo-modal .modal-content {max-width: 95vw;max-height: 85vh;}.photo-modal .modal-content img {max-height: 75vh;border-radius: 0.5rem;}.photo-modal .modal-counter {font-size: 0.875rem;padding: 0.5rem 1rem;}}@media only screen and (min-width: 0rem) {body.dark-mode #gallery-mosaic {background: linear-gradient(180deg, var(--dark) 0%, rgba(0, 0, 0, 0.3) 100%);}body.dark-mode #gallery-mosaic .cs-title, body.dark-mode #gallery-mosaic .cs-text, body.dark-mode #gallery-mosaic .cs-topper {color: var(--bodyTextColorWhite);}body.dark-mode #gallery-mosaic .cs-mosaic-item {background: #2a2a2a;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);}body.dark-mode #gallery-mosaic .cs-mosaic-item::before {background: linear-gradient(135deg, rgba(25, 197, 245, 0.2) 0%, rgba(25, 197, 245, 0) 60%);}body.dark-mode #gallery-mosaic .cs-mosaic-item:hover {box-shadow: 0 16px 40px rgba(25, 197, 245, 0.3), 0 8px 16px rgba(0, 0, 0, 0.5);}}