       /* ========================================
           RESET
        ======================================== */

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

        html {
            scroll-behavior: smooth;
        }

        body {
            background: #080909 !important;
            color: #eeeeee !important;
            font-family: "Inter", sans-serif;
            font-weight: 300;
            overflow-x: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }
        
.works {
    display: flex;
    gap: 12px;
    transition: transform 0.4s ease;
}

.portfolio-section {
    overflow: hidden;
    margin-top:6rem;
    max-width: 1479px;
    margin-left:auto;
    margin-right:auto;
}

        /* ========================================
           MAIN CONTAINER
        ======================================== */

        .page {
            min-height: 100vh;
            padding: 28px 38px 60px;
            position: relative;
        }


        /* ========================================
           HEADER
        ======================================== */

        header {
            height: 45px;

            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 10px;

            font-size: 14px;
            font-weight: 500;
            letter-spacing: 0.18em;
        }

        .logo-mark {
            width: 17px;
            height: 17px;

            border: 1px solid #eeeeee;

            display: flex;
            align-items: center;
            justify-content: center;

            font-size: 8px;
        }

        nav {
            display: flex;
            align-items: center;
            gap: 34px;
        }

        nav a {
            font-size: 14px;
            color: #d0d0d0;

            transition: opacity 0.3s ease;
        }

        nav a:hover {
            opacity: 0.45;
        }

        .menu-button {
            width: 30px;
            height: 30px;

            border: 1px solid #444;
            border-radius: 50%;

            display: flex;
            align-items: center;
            justify-content: center;

            margin-left: 0;

            cursor: pointer;
        }

        .menu-button span {
            width: 8px;
            height: 1px;
            background: #aaa;
            position: relative;
        }

        .menu-button span::after {
            content: "";
            position: absolute;
            left: 0;
            top: 4px;

            width: 8px;
            height: 1px;

            background: #aaa;
        }


        /* ========================================
           TITLE
        ======================================== */

        .hero {
            margin-top: 52px;
            margin-bottom: 48px;

            display: flex;
            justify-content: space-between;
            align-items: flex-end;
        }

        .title-area h1 {
            font-family: "Noto Serif JP", serif;

            font-size: clamp(52px, 6vw, 82px);
            font-weight: 300;

            letter-spacing: -0.045em;
            line-height: 0.95;
        }

        .title-area p {
            margin-top: 17px;

            font-family: "Noto Serif JP", serif;

            font-size: 14px;
            color: #888;

            letter-spacing: 0.12em;
        }


        /* ========================================
           PAGINATION
        ======================================== */

        .controls {
            display: flex;
            align-items: center;
            gap: 15px;
            padding-bottom: 4px;
        }

        .page-number {
            font-size: 14px;
            color: #aaa;

            margin-right: 8px;

            white-space: nowrap;
        }

        .page-number .current {
            color: #fff;
        }

        .control-button {
            width: 31px;
            height: 31px;

            border-radius: 50%;
            border: 1px solid #444;

            background: transparent;
            color: #ddd;

            display: flex;
            align-items: center;
            justify-content: center;

            cursor: pointer;

            transition:
                background 0.3s ease,
                color 0.3s ease,
                border-color 0.3s ease;
        }

        .control-button:hover {
            background: #fff;
            color: #000;
            border-color: #fff;
        }


        /* ========================================
           WORKS SLIDER
        ======================================== */

        .works-wrapper {
            position: relative;
            width: 100%;
            overflow: hidden;
        }

        .works {
            display: flex;
            gap: 12px;

            transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
        }


        /* ========================================
           WORK CARD
        ======================================== */

        .work-card {
            flex: 0 0 calc(25% - 9px);

            min-width: 0;

            cursor: pointer;
        }

        .work-image {
            width: 100%;
            aspect-ratio: 0.73;

            overflow: hidden;

            border: 1px solid #252525;

            background: #111;
        }

        .work-image img {
            width: 100%;
            height: 100%;

            object-fit: cover;

            display: block;

            transition:
                transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
                filter 0.5s ease;
        }

        .work-card:hover .work-image img {
            transform: scale(1.045);
            filter: brightness(0.8);
        }


        /* ========================================
           WORK INFORMATION
        ======================================== */

        .work-info {
            padding-top: 11px;

            display: grid;
            grid-template-columns: 1fr auto;

            align-items: start;
        }

        .work-name {
            font-family: "Noto Serif JP", serif;

            font-size: 14px;
            font-weight: 400;

            margin-bottom: 5px;
        }

        .work-meta {
            font-size: 13px;
            color: #777;

            letter-spacing: 0.02em;
        }

        .work-arrow {
            font-size: 17px;
            font-weight: 300;

            color: #aaa;

            padding-top: 2px;

            transition:
                transform 0.4s ease,
                color 0.3s ease;
        }

        .work-card:hover .work-arrow {
            transform: translateX(5px);
            color: #fff;
        }


        /* ========================================
           BOTTOM LINE
        ======================================== */

        .bottom-line {
            margin-top: 55px;

            height: 1px;
            background: #1d1d1d;
        }


        /* ========================================
           MOBILE
        ======================================== */

        @media (max-width: 900px) {

            .page {
                padding: 24px 22px 50px;
            }

            nav {
                gap: 18px;
            }

            .work-card {
                flex: 0 0 calc(50% - 6px);
            }

            .hero {
                margin-top: 45px;
            }
        }


        @media (max-width: 600px) {

            .page {
                padding: 20px 18px 40px;
            }

            header {
                height: 38px;
            }

            nav a {
                display: none;
            }

            .logo {
                font-size: 14px;
            }

            .hero {
                margin-top: 50px;

                align-items: flex-end;
            }

            .title-area h1 {
                font-size: 54px;
            }

            .title-area p {
                font-size: 13px;
            }

            .controls {
                gap: 7px;
            }

            .page-number {
                margin-right: 2px;
            }

            .control-button {
                width: 28px;
                height: 28px;
            }

            .works {
                gap: 10px;
            }

            .work-card {
                flex: 0 0 calc(75% - 5px);
            }

            .work-image {
                aspect-ratio: 0.75;
            }
        }