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

        :root {
            --color: #ffffff;
            --background: #000000;
        }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--background);
            color: var(--color);
            font-size: 16px;
            line-height: 24px;
            letter-spacing: -0.01em;
            font-weight: 400;
        }

        a {
            color: inherit;
            text-decoration: none;
            cursor: pointer;
        }

        header {
            position: relative;
            margin: 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 10;
        }

        header > a.logo {
            font-size: 16px;
            font-weight: 500;
        }

        header ul {
            list-style: none;
            display: flex;
            gap: 16px;
        }

        header ul.nav {
            position: absolute;
            right: 28px;
        }

        header ul.nav a {
            position: relative;
        }

        .info-view a {
            text-decoration: underline;
        }

        main {
            max-width: 1200px;
            margin: 80px auto;
            padding: 0 30px;
        }

        .period {
            margin-bottom: 80px;
        }

        .period h2 {
            font-size: 16px;
            font-weight: 500;
            margin-bottom: 40px;
            opacity: 0.5;
        }

        .gallery {
            display: grid;
            grid-template-columns: 1fr;
            gap: 40px;
        }

        .gallery img {
            width: 100%;
            height: auto;
            display: block;
            cursor: pointer;
            transition: opacity 0.2s;
        }

        .gallery img:hover {
            opacity: 0.8;
        }

        /* Modal */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: var(--background);
            z-index: 100;
            overflow-y: auto;
            padding: 80px 30px;
        }

        .modal.active {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .modal img {
            max-width: 100%;
            max-height: 90vh;
            width: auto;
            height: auto;
            display: block;
        }

        .modal-close {
            position: fixed;
            top: 16px;
            right: 28px;
            font-size: 16px;
            cursor: pointer;
            z-index: 101;
            text-decoration: underline;
        }

        .modal-close:hover {
            opacity: 0.5;
        }

        .nav-close {
            opacity: 0.5;
            transition: opacity 0.2s;
        }

        .nav-close:hover {
            opacity: 1;
        }

        header ul.nav a.nav-close::before {
            display: none;
            width: 0;
            margin: 0;
        }

        @media screen and (min-width: 1020px) {
            body {
                font-size: 24px;
                line-height: 36px;
            }

            header {
                margin: 24px;
            }

            header > a.logo {
                font-size: 24px;
                font-weight: 500;
            }

            header ul {
                gap: 24px;
            }

            header ul.nav {
                right: 44px;
            }

            header ul.nav a::before {
                content: '';
                width: 0px;
                height: 2px;
                top: 18px;
                display: block;
                float: left;
                position: relative;
                background: var(--color);
                transition: width 0.4s cubic-bezier(0.075, 0.82, 0.165, 1),
                            margin 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
            }

            header ul.nav a:hover::before {
                width: 24px;
                margin-right: 12px;
            }

            main {
                margin: 160px auto;
                padding: 0 48px;
            }

            .period h2 {
                font-size: 24px;
                margin-bottom: 60px;
            }

            .gallery {
                grid-template-columns: repeat(2, 1fr);
                gap: 60px;
            }

            .modal {
                padding: 160px 48px;
            }

            .modal-close {
                top: 24px;
                right: 44px;
                font-size: 24px;
            }
        }

        @media screen and (min-width: 760px) and (max-width: 1019px) {
            body {
                font-size: 18px;
                line-height: 28px;
            }
        }

        @media (max-width: 759px) {
            main {
                margin: 60px auto;
                padding: 0 20px;
            }

            .period {
                margin-bottom: 60px;
            }

            .modal {
                padding: 60px 20px;
            }
        }
    