.gallery{
    display: flex;
    flex-flow: row wrap;
    gap: var(--half-gap);
    justify-content: center;

    a{
        --size: calc(var(--gap) * 7);
        width: var(--size);
        height: var(--size);

        img{
            object-fit: cover;
            image-rendering: optimizeQuality;
            height: 100%;
            width: 100%;
        }
    }
}

summary{
    h2{
        display: inline-block;
    }

    h2 + small{
        display: block;
        margin-top: -0.75em;
    }
}

details .gallery{
    margin-top: 1em;
}

details:first-of-type{
    margin-top: 2em;
}

details:not(:last-child){
    margin-bottom: 2em;
}