 @media only screen and (min-width: 0rem) {#projects-page {padding: 4rem 1.25rem;background: var(--dark);position: relative;}#projects-page::before {content: '';position: absolute;inset: 0;background-image: linear-gradient(rgba(147, 148, 152, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(147, 148, 152, 0.04) 1px, transparent 1px);background-size: 60px 60px;pointer-events: none;}#projects-page .cs-container {width: 100%;max-width: 1300px;margin: 0 auto;position: relative;z-index: 1;}#projects-page .cs-gallery-grid {display: grid;grid-template-columns: 1fr;gap: 1rem;}#projects-page .cs-gallery-item {position: relative;display: block;overflow: hidden;border: 1px solid rgba(147, 148, 152, 0.15);background: var(--dark-2, #1a1a1c);cursor: pointer;padding: 0;transition: border-color 0.3s ease, transform 0.3s ease;outline: none;}#projects-page .cs-gallery-item:focus-visible {outline: 2px solid var(--primary);outline-offset: 2px;}#projects-page .cs-gallery-item:hover {border-color: var(--primary);transform: translateY(-4px);}#projects-page .cs-gallery-item img {width: 100%;height: auto;aspect-ratio: 4/5;object-fit: cover;display: block;filter: grayscale(15%);transition: transform 0.5s ease, filter 0.4s ease;}#projects-page .cs-gallery-item:hover img {transform: scale(1.05);filter: grayscale(0%);}#projects-page .cs-item-overlay {position: absolute;inset: 0;background: rgba(20, 20, 22, 0.55);display: flex;align-items: center;justify-content: center;opacity: 0;transition: opacity 0.3s ease;color: var(--primary);}#projects-page .cs-gallery-item:hover .cs-item-overlay {opacity: 1;}#projects-page .cs-gallery-item::after {content: '';position: absolute;bottom: 0;left: 0;width: 0;height: 3px;background: var(--primary);transition: width 0.4s ease;}#projects-page .cs-gallery-item:hover::after {width: 100%;}}@media only screen and (min-width: 48rem) {#projects-page .cs-gallery-grid {grid-template-columns: repeat(2, 1fr);gap: 1.25rem;}#projects-page .cs-gallery-item img {aspect-ratio: 4/5;height: auto;}}@media only screen and (min-width: 64rem) {#projects-page {padding: 6rem 2rem;}#projects-page .cs-gallery-grid {grid-template-columns: repeat(3, 1fr);gap: 1.25rem;}#projects-page .cs-gallery-item img {aspect-ratio: 4/5;height: auto;}}@media only screen and (min-width: 81.25rem) {#projects-page .cs-gallery-grid {grid-template-columns: repeat(3, 1fr);gap: 1.5rem;}#projects-page .cs-gallery-item img {aspect-ratio: 4/5;height: auto;}}@media only screen and (min-width: 0rem) {#cs-lightbox {position: fixed;inset: 0;z-index: 99999;display: flex;align-items: center;justify-content: center;}#cs-lightbox[hidden] {display: none;}#cs-lightbox .cs-lb-backdrop {position: absolute;inset: 0;background: rgba(10, 10, 12, 0.93);backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);cursor: pointer;}#cs-lightbox .cs-lb-inner {position: relative;z-index: 1;width: 100%;max-width: 1100px;padding: 1.25rem;display: flex;align-items: center;gap: 0.75rem;box-sizing: border-box;}#cs-lightbox .cs-lb-img-wrap {flex: 1;display: flex;align-items: center;justify-content: center;min-height: 0;}#cs-lightbox .cs-lb-img {max-width: 100%;max-height: 80svh;object-fit: contain;display: block;border: 1px solid rgba(147, 148, 152, 0.2);box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);}#cs-lightbox .cs-lb-close {position: absolute;top: 0;right: 1.25rem;width: 44px;height: 44px;background: rgba(147, 148, 152, 0.12);border: 1px solid rgba(147, 148, 152, 0.25);color: var(--secondary);display: flex;align-items: center;justify-content: center;cursor: pointer;border-radius: 2px;transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;z-index: 2;}#cs-lightbox .cs-lb-close:hover {background: var(--primary);border-color: var(--primary);color: var(--dark);}#cs-lightbox .cs-lb-prev, #cs-lightbox .cs-lb-next {width: 48px;height: 48px;flex-shrink: 0;background: rgba(147, 148, 152, 0.1);border: 1px solid rgba(147, 148, 152, 0.25);color: var(--secondary);display: flex;align-items: center;justify-content: center;cursor: pointer;border-radius: 2px;transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;}#cs-lightbox .cs-lb-prev:hover, #cs-lightbox .cs-lb-next:hover {background: var(--primary);border-color: var(--primary);color: var(--dark);}#cs-lightbox .cs-lb-counter {position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);font-family: 'Courier New', monospace;font-size: 0.6875rem;font-weight: 700;letter-spacing: 0.18em;text-transform: uppercase;color: var(--secondary);padding: 0.375rem 0.875rem;background: rgba(39, 39, 41, 0.7);border: 1px solid rgba(147, 148, 152, 0.2);white-space: nowrap;}}@media only screen and (min-width: 64rem) {#cs-lightbox .cs-lb-prev, #cs-lightbox .cs-lb-next {width: 56px;height: 56px;}}     box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
    }

    /* Close button — top right */
    #cs-lightbox .cs-lb-close {
        position: absolute;
        top: 0; right: 1.25rem;
        width: 44px; height: 44px;
        background: rgba(147, 148, 152, 0.12);
        border: 1px solid rgba(147, 148, 152, 0.25);
        color: var(--secondary);
        display: flex; align-items: center; justify-content: center;
        cursor: pointer;
        border-radius: 2px;
        transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        z-index: 2;
    }

    #cs-lightbox .cs-lb-close:hover {
        background: var(--primary);
        border-color: var(--primary);
        color: var(--dark);
    }

    /* Prev / Next buttons */
    #cs-lightbox .cs-lb-prev,
    #cs-lightbox .cs-lb-next {
        width: 48px; height: 48px;
        flex-shrink: 0;
        background: rgba(147, 148, 152, 0.1);
        border: 1px solid rgba(147, 148, 152, 0.25);
        color: var(--secondary);
        display: flex; align-items: center; justify-content: center;
        cursor: pointer;
        border-radius: 2px;
        transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

    #cs-lightbox .cs-lb-prev:hover,
    #cs-lightbox .cs-lb-next:hover {
        background: var(--primary);
        border-color: var(--primary);
        color: var(--dark);
    }

    /* Counter — bottom center */
    #cs-lightbox .cs-lb-counter {
        position: absolute;
        bottom: 0; left: 50%;
        transform: translateX(-50%);
        font-family: 'Courier New', monospace;
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--secondary);
        padding: 0.375rem 0.875rem;
        background: rgba(39, 39, 41, 0.7);
        border: 1px solid rgba(147, 148, 152, 0.2);
        white-space: nowrap;
    }
}

@media only screen and (min-width: 64rem) {
    #cs-lightbox .cs-lb-prev,
    #cs-lightbox .cs-lb-next {
        width: 56px; height: 56px;
    }
}