.tss-gallery-trigger { cursor: zoom-in; }
dialog.tss-gallery {
    --tss-unit: 1px;
    position: fixed !important; inset: auto !important;
    left: var(--tss-vp-left, 0px) !important; top: var(--tss-vp-top, 0px) !important;
    box-sizing: border-box !important;
    width: var(--tss-vp-width, 100vw) !important; min-width: 0 !important; max-width: none !important;
    height: var(--tss-vp-height, 100dvh) !important; min-height: 0 !important; max-height: none !important;
    margin: 0 !important;
    padding: calc(68 * var(--tss-unit)) calc(70 * var(--tss-unit)) calc(30 * var(--tss-unit));
    border: 0; color: #fff; background: rgba(10, 13, 18, .98); overflow: hidden;
    font: calc(16 * var(--tss-unit))/1.4 Arial, sans-serif;
}
.tss-gallery::backdrop { background: #0a0d12; }
.tss-gallery-stage { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; touch-action: pan-y pinch-zoom; }
.tss-gallery .tss-gallery-image {
    display: block; width: 100% !important; height: 100% !important;
    min-width: 0 !important; min-height: 0 !important; max-width: 100% !important; max-height: 100% !important;
    margin: 0; padding: 0; border: 0; box-shadow: none; object-fit: contain; object-position: center;
}
.tss-gallery-toolbar { position: absolute; top: calc(10 * var(--tss-unit)); left: calc(20 * var(--tss-unit)); right: calc(12 * var(--tss-unit)); display: flex; align-items: center; justify-content: space-between; }
.tss-gallery-counter { color: #e5e7eb; font-size: calc(15 * var(--tss-unit)); }
.tss-gallery .tss-gallery-button {
    box-sizing: border-box; display: grid; place-items: center;
    width: calc(48 * var(--tss-unit)); min-width: calc(48 * var(--tss-unit)); height: calc(48 * var(--tss-unit)); padding: 0;
    border: calc(1 * var(--tss-unit)) solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.08);
    color: #fff; font: calc(36 * var(--tss-unit))/1 Arial,sans-serif; cursor: pointer; text-shadow: none;
}
.tss-gallery .tss-gallery-button:hover { background: rgba(255,255,255,.2); }
.tss-gallery .tss-gallery-button:focus-visible, .tss-gallery-trigger:focus-visible { outline: 3px solid #fb923c; outline-offset: 3px; }
.tss-gallery .tss-gallery-button[hidden] { display: none; }
.tss-gallery-prev, .tss-gallery-next { position: absolute; top: 50%; transform: translateY(-50%); }
.tss-gallery-prev { left: calc(12 * var(--tss-unit)); }
.tss-gallery-next { right: calc(12 * var(--tss-unit)); }
/* Captions are hidden by default, as requested; image alt text remains available. */
.tss-gallery-caption { display: none; }
.tss-gallery-status { position: absolute; left: calc(24 * var(--tss-unit)); right: calc(24 * var(--tss-unit)); top: 50%; margin: 0; transform: translateY(-50%); text-align: center; pointer-events: none; }
dialog.tss-gallery.tss-gallery-mobile { padding: calc(68 * var(--tss-unit)) calc(8 * var(--tss-unit)) calc(84 * var(--tss-unit)); }
.tss-gallery-mobile .tss-gallery-prev, .tss-gallery-mobile .tss-gallery-next { top: auto; bottom: calc(18 * var(--tss-unit)); transform: none; }

/* Direct dragging of home-page cards. Vertical page scrolling remains native. */
.tss-swipe-strip { touch-action: pan-y pinch-zoom; cursor: grab; }
.tss-swipe-strip img { -webkit-user-drag: none; }
.tss-swipe-strip.tss-swipe-dragging, .tss-swipe-dragging * { cursor: grabbing !important; user-select: none; -webkit-user-select: none; }

/* 1.2.1: native browser scrolling replaces absolute-positioned legacy tracks. */
.tss-native-strip { position: relative; height: auto !important; overflow: visible !important; touch-action: auto !important; }
.tss-native-viewport {
    position: relative; width: 100%; height: auto !important; overflow-x: auto; overflow-y: hidden;
    touch-action: auto !important; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
    scrollbar-width: none; cursor: grab;
}
.tss-native-viewport::-webkit-scrollbar { display: none; }
.tss-native-strip .tss-native-list {
    display: flex !important; align-items: flex-start; position: relative !important;
    left: 0 !important; top: auto !important; width: max-content !important; min-width: 100%; height: auto !important; margin: 0 !important;
}
.tss-native-list > li { float: none !important; flex-shrink: 0; }
.tss-native-list.news-list--thumbs > li { flex: 0 0 200px; width: 200px; max-width: 200px; }
.tss-native-list.news-list--projects > li { flex: 0 0 370px; width: 370px; }
.tss-native-list.partners > li { flex: 0 0 auto; width: auto; }
.tss-native-list::before, .tss-native-list::after { display: none !important; }
.tss-native-strip > .tss-native-bar { height: 30px; top: -66px; background: transparent; border: 0; touch-action: none; cursor: pointer; }
.tss-native-bar::before { content: ''; position: absolute; left: 0; right: 0; top: 10px; height: 10px; border-radius: 5px; background: #e8ebf1; box-shadow: inset 0 1px #d0d3d9; }
.tss-native-bar > .js-scrollbar__handler { top: 10px; height: 10px; touch-action: none; }
.tss-native-bar[hidden] { display: none !important; }
.tss-native-bar:focus-visible { outline: 2px solid #007ac2; outline-offset: 3px; }
.tss-native-viewport img { -webkit-user-drag: none; }
