/* ══ Works: per-source aspect ratios ══ */
        #dt-grid {
            min-height: 110vh;
        }

        #dt-grid .s-cg__img {
            max-width: none !important;
            width: 100% !important;
            height: auto !important;
            overflow: hidden;
            border-radius: 5px;
            position: relative;
        }

        #dt-grid .s-cg__img--be {
            aspect-ratio: 4 / 3 !important;
        }

        #dt-grid .s-cg__img--fig {
            aspect-ratio: 16 / 9 !important;
        }

        #dt-grid .s-cg__img--ig {
            aspect-ratio: 4 / 5 !important;
        }

        #dt-grid .s-cg__img--ig.s-cg__img--clean {
            aspect-ratio: var(--works-thumb-ratio) !important;
        }

        #dt-grid .s-cg__img img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            display: block;
            position: absolute;
            top: 0;
            left: 0;
        }

        #dt-grid .s-cg__item {
            gap: 12px;
        }

        @media (max-width: 1024px) and (min-width: 641px) {
            #dt-grid .s-cg__item--wide {
                grid-column: span 2 !important;
            }
        }

        @media (max-width: 640px) {
            #dt-grid .s-cg__item--wide {
                grid-column: span 1 !important;
            }
        }

        #dt-grid .s-cg__item>.t-body {
            font-size: 12px !important;
            font-weight: 400;
            line-height: 1.25;
            letter-spacing: -0.08px;
            opacity: 0.5;
        }

        #dt-grid .s-cg__badge {
            margin-top: 0;
        }

                /* ══ Header (Dark Theme) ══ */
        .works-intro {
            display: grid;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            grid-template-rows: auto auto 1fr;
            column-gap: var(--ds-gap);
            min-height: clamp(420px, 60vh, 520px);
            padding-top: 60px;
            padding-bottom: 40px;
            box-sizing: border-box;
        }

        .works-intro__logo {
            grid-column: 4 !important;
            grid-row: 1 !important;
            display: block;
            width: 44px;
            height: 44px;
            object-fit: contain;
            filter: brightness(0) invert(1);
        }

        .works-intro__meta {
            grid-column: 4 / -1 !important;
            grid-row: 2 !important;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: var(--ds-gap);
            margin-top: 40px;
        }

        .works-intro__meta p {
            margin: 0;
            color: #ffffff !important;
            font-size: 16px;
            font-weight: 600;
            line-height: 1.1;
            letter-spacing: -0.3px;
            opacity: 0.82;
        }

        .works-intro__content {
            grid-column: 4 / -1 !important;
            grid-row: 3 !important;
            align-self: end !important;
            margin-top: 120px !important;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .works-intro > .works-intro__title,
        .works-intro__content .works-intro__title {
            margin: 0;
            color: #ffffff !important;
            font-size: clamp(38px, 4.8vw, 58px) !important;
            font-weight: 600;
            line-height: 1.05 !important;
            letter-spacing: -1.4px !important;
        }

        .works-intro > .works-intro__title {
            grid-column: 4 / -1 !important;
            grid-row: 3 !important;
            align-self: end !important;
            margin-top: 120px !important;
        }

        @media (max-width: 768px) {
            .works-intro {
                display: flex !important;
                flex-direction: column !important;
                align-items: flex-start !important;
                min-height: auto !important;
                padding-top: 110px !important;
                padding-bottom: 32px !important;
                gap: 0 !important;
            }

            .works-intro__logo {
                display: none !important;
            }

            .works-intro__meta {
                grid-column: auto !important;
                grid-row: auto !important;
                display: flex !important;
                flex-direction: row !important;
                justify-content: space-between !important;
                width: 100% !important;
                margin-top: 0 !important;
                margin-bottom: 80px !important;
            }

            .works-intro__meta p {
                font-size: 14px !important;
                margin: 0 !important;
                color: #ffffff !important;
            }

            .works-intro__content,
            .works-intro__title {
                grid-column: auto !important;
                grid-row: auto !important;
                align-self: flex-start !important;
                margin-top: 0 !important;
                width: 100% !important;
                color: #ffffff !important;
            }

            .works-intro__title {
                font-size: clamp(30px, 6vw, 40px) !important;
                line-height: 1.1 !important;
                letter-spacing: -0.9px !important;
            }
        }

@media (max-width: 768px) {
            #dt-grid .s-cg__item>.t-body {
                font-size: 11px !important;
                opacity: 0.46;
            }

            .works-intro {
                display: flex !important;
                flex-direction: column !important;
                align-items: flex-start !important;
                min-height: auto !important;
                padding-top: 110px !important;
                padding-bottom: 0px !important;
                gap: 0 !important;
            }

            .works-intro__logo {
                display: none !important;
            }

            .works-intro__meta {
                grid-column: auto !important;
                grid-row: auto !important;
                display: flex !important;
                flex-direction: row !important;
                justify-content: space-between !important;
                width: 100% !important;
                margin-top: 0 !important;
                margin-bottom: 80px !important;
            }

            .works-intro__meta p {
                font-size: 14px !important;
                margin: 0 !important;
                color: #ffffff !important;
            }

            .works-intro__content,
            .works-intro__title {
                grid-column: auto !important;
                grid-row: auto !important;
                align-self: flex-start !important;
                margin-top: 0 !important;
                width: 100% !important;
                color: #ffffff !important;
            }

            .works-intro__title {
                font-size: clamp(30px, 6vw, 40px) !important;
                line-height: 1.1 !important;
                letter-spacing: -0.9px !important;
            }
        }

        /* ══ Works Modal ══ */
        .works-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            z-index: 99999;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            padding: 48px;
            box-sizing: border-box;
        }

        .works-modal.is-active,
        .works-modal.active {
            opacity: 1 !important;
            pointer-events: auto !important;
        }

        .works-modal__backdrop {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(10, 10, 10, 0.92);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
        }

        .works-modal__wrapper {
            position: relative;
            z-index: 2;
            width: 100%;
            height: 100%;
            max-width: 1400px;
            max-height: 90vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .works-modal__stage {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .works-modal__frame {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            gap: 24px;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: transform 0.46s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.46s ease;
            transform: translateX(var(--works-enter-x, 0));
        }

        .works-modal__frame.is-active {
            opacity: 1;
            transform: translateX(0);
        }

        .works-modal__frame.is-exiting {
            opacity: 0;
            transform: translateX(var(--works-exit-x, 0));
        }

        .works-modal__card {
            flex: 1;
            height: 100%;
            max-height: 85vh;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border-radius: 12px;
        }

        .works-modal__card img,
        .works-modal__card video {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 12px;
        }

        .works-modal__close-btn {
            position: absolute;
            top: 24px;
            right: 24px;
            z-index: 10;
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .works-modal__close-btn:hover {
            background: rgba(255, 255, 255, 0.3);
            transform: scale(1.05);
        }

        .works-modal__nav-zone {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 25%;
            z-index: 5;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0.7;
            transition: opacity 0.2s;
        }

        .works-modal__nav-zone:hover {
            opacity: 1;
        }

        .works-modal__nav-zone--prev {
            left: 0;
        }

        .works-modal__nav-zone--next {
            right: 0;
        }

        .works-modal__nav-arrow {
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        @media (max-width: 768px) {
            .works-modal {
                padding: 16px;
            }
            .works-modal__frame {
                flex-direction: column;
                gap: 16px;
            }
            .works-modal__close-btn {
                top: 16px;
                right: 16px;
                width: 38px;
                height: 38px;
            }
        }
    