@charset 'utf-8';
     /* ========================================
           Variables
        ======================================== */

        :root {
            --max-width: 1400px;

            --text: #111827;
            --muted: #6b7280;

            --border: #e5e7eb;

            --background: #f7f7f8;

            --white: #ffffff;

            --radius: 14px;
        }


        /* ========================================
           Reset
        ======================================== */

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }


        html {
            scroll-behavior: smooth;
        }


        body {
            background: var(--background);

            color: var(--text);

            font-family:
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                Roboto,
                Helvetica,
                Arial,
                sans-serif;

            line-height: 1.5;
        }


        button {
            font: inherit;
        }


        /* ========================================
           Main
        ======================================== */

        .video-page {

            width:
                min(
                    var(--max-width),
                    calc(100% - 40px)
                );

            margin: 0 auto;

            padding:
                60px 0 80px;
        }


        /* ========================================
           Heading
        ======================================== */

        .page-heading {
            margin-bottom: 28px;
        }


        .page-heading h1 {

            font-size:
                clamp(
                    36px,
                    4vw,
                    56px
                );

            line-height: 1.05;

            letter-spacing: -0.045em;

            font-weight: 750;

            margin-bottom: 12px;
        }


        .page-heading p {

            color: var(--muted);

            font-size: 16px;

            line-height: 1.6;
        }


        /* ========================================
           Categories
        ======================================== */

        .categories {

            display: flex;

            gap: 9px;

            overflow-x: auto;

            scrollbar-width: none;

            margin-bottom: 34px;

            padding:
                3px 0 6px;
        }


        .categories::-webkit-scrollbar {
            display: none;
        }


        .category {

            flex: 0 0 auto;

            padding:
                9px 17px;

            border:
                1px solid var(--border);

            border-radius: 999px;

            background: var(--white);

            color: #4b5563;

            font-size: 14px;

            font-weight: 600;

            cursor: pointer;

            transition:
                background .2s ease,
                color .2s ease,
                border-color .2s ease,
                transform .2s ease;
        }


        .category:hover {

            border-color: #cbd5e1;

            color:#fff;
background:#693381;
            transform: translateY(-1px);
        }


        .category.active {

            background: var(--text);

            border-color: var(--text);

            color: var(--white);
        }


        /* ========================================
           Video Grid

           Desktop:
           2 columns
        ======================================== */

        .video-grid {

            display: grid;

            grid-template-columns:
                repeat(
                    2,
                    minmax(0, 1fr)
                );

            gap:
                46px 28px;
        }


        /* ========================================
           Video Card
        ======================================== */

        .video-card {

            min-width: 0;
        }


        /* ========================================
           Video Thumbnail
        ======================================== */

        .video-thumbnail {

            position: relative;

            width: 100%;

            aspect-ratio: 16 / 9;

            overflow: hidden;

            border-radius: var(--radius);

            background: #111827;

            cursor: pointer;

            margin-bottom: 15px;

            outline: none;
        }


        /*
         * No poster image.
         *
         * Browser will display
         * the available first frame
         * from the video.
         */

        .video-thumbnail video {

            display: block;

            width: 100%;

            height: 100%;

            object-fit: cover;

            background: #111827;

            transition:
                transform .4s ease;
        }


        .video-card:hover
        .video-thumbnail video {

            transform: scale(1.025);
        }


        /* ========================================
           Play Button
        ======================================== */

        .play-button {

            position: absolute;

            left: 50%;
            top: 50%;

            width: 64px;
            height: 64px;

            transform:
                translate(
                    -50%,
                    -50%
                );

            display: flex;

            align-items: center;

            justify-content: center;

            border-radius: 50%;

            background:
                rgba(
                    255,
                    255,
                    255,
                    .96
                );

            box-shadow:
                0 8px 30px
                rgba(
                    0,
                    0,
                    0,
                    .25
                );

            pointer-events: none;

            z-index: 2;

            transition:
                transform .25s ease,
                background .25s ease;
        }


        /* ========================================
           Ripple 1
        ======================================== */

        .play-button::before {

            content: "";

            position: absolute;

            inset: -10px;

            border-radius: 50%;

            border:
                2px solid
                rgba(
                    255,
                    255,
                    255,
                    .65
                );

            animation:
                playRipple
                2.4s
                ease-out
                infinite;

            z-index: -1;
        }


        /* ========================================
           Ripple 2
        ======================================== */

        .play-button::after {

            content: "";

            position: absolute;

            inset: -10px;

            border-radius: 50%;

            border:
                2px solid
                rgba(
                    255,
                    255,
                    255,
                    .45
                );

            animation:
                playRipple
                2.4s
                ease-out
                infinite;

            animation-delay: 1.2s;

            z-index: -1;
        }


        /* ========================================
           Play Triangle
        ======================================== */

        .play-icon {

            display: block;

            width: 0;
            height: 0;

            border-top:
                10px solid transparent;

            border-bottom:
                10px solid transparent;

            border-left:
                15px solid #111827;

            margin-left: 5px;
        }


        /* ========================================
           Ripple Animation
        ======================================== */

        @keyframes playRipple {

            0% {

                transform: scale(.75);

                opacity: .8;
            }

            70% {

                transform: scale(1.55);

                opacity: .18;
            }

            100% {

                transform: scale(1.75);

                opacity: 0;
            }
        }


        /* ========================================
           Hover Play Button
        ======================================== */

        .video-card:hover
        .play-button {

            transform:
                translate(
                    -50%,
                    -50%
                )
                scale(1.08);
        }


        /* ========================================
           Video Title
        ======================================== */

        .video-title {

            font-size: 20px;

            line-height: 1.4;

            font-weight: 700;

            letter-spacing: -0.015em;
        }


        .video-title{

            color: inherit;

            text-decoration: none;
        }


        .video-title:hover {

            text-decoration: underline;

            text-underline-offset: 4px;
			color:#693381;
        }


        /* ========================================
           Modal
        ======================================== */

        .video-modal {

            position: fixed;

            inset: 0;

            z-index: 9999;

            display: none;

            align-items: center;

            justify-content: center;

            padding: 30px;

            background:
                rgba(
                    0,
                    0,
                    0,
                    .90
                );
        }


        .video-modal.active {

            display: flex;
        }


        /* ========================================
           Modal Content
        ======================================== */

        .modal-content {

            position: relative;

            width:
                min(
                    1200px,
                    100%
                );

            animation:
                modalIn
                .2s
                ease;
        }


        @keyframes modalIn {

            from {

                opacity: 0;

                transform:
                    scale(.97);
            }

            to {

                opacity: 1;

                transform:
                    scale(1);
            }
        }


        /* ========================================
           Modal Video
        ======================================== */

        .modal-video {

            display: block;

            width: 100%;

            max-height: 85vh;

            background: #000;

            border-radius: 8px;
        }


        /* ========================================
           Modal Close
        ======================================== */

        .modal-close {

            position: absolute;

            right: 0;

            top: -52px;

            width: 42px;
            height: 42px;

            display: flex;

            align-items: center;

            justify-content: center;

            border: 0;

            border-radius: 50%;

            background:
                rgba(
                    255,
                    255,
                    255,
                    .12
                );

            color: #fff;

            font-size: 28px;

            line-height: 1;

            cursor: pointer;

            transition:
                background .2s ease,
                transform .2s ease;
        }


        .modal-close:hover {

            background:
                rgba(
                    255,
                    255,
                    255,
                    .22
                );

            transform: rotate(90deg);
        }


        /* ========================================
           Tablet
        ======================================== */

        @media (max-width: 900px) {

            .video-page {

                width:
                    min(
                        100% - 32px,
                        700px
                    );

                padding-top: 45px;
            }


            .video-grid {

                grid-template-columns: 1fr;

                gap: 38px;
            }
        }


        /* ========================================
           Mobile
        ======================================== */

        @media (max-width: 600px) {

            .video-page {

                width:
                    calc(
                        100% - 28px
                    );

                padding:
                    36px 0 60px;
            }


            .page-heading h1 {

                font-size: 34px;
            }


            .page-heading p {

                font-size: 15px;
            }


            .categories {

                margin-bottom: 28px;
            }


            .video-grid {

                gap: 32px;
            }


            .video-thumbnail {

                border-radius: 11px;
            }


            .play-button {

                width: 54px;
                height: 54px;
            }


            .play-icon {

                border-top-width: 8px;

                border-bottom-width: 8px;

                border-left-width: 12px;
            }


            .video-title {

                font-size: 18px;
            }


            .video-modal {

                padding: 15px;
            }


            .modal-video {

                max-height: 75vh;

                border-radius: 5px;
            }


            .modal-close {

                top: -50px;
            }
        }


        /* ========================================
           Reduced Motion
        ======================================== */

        @media
        (prefers-reduced-motion: reduce) {

            html {

                scroll-behavior: auto;
            }


            *,
            *::before,
            *::after {

                animation-duration:
                    .01ms !important;

                animation-iteration-count:
                    1 !important;

                transition-duration:
                    .01ms !important;
            }
        }

			