* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html{scroll-behavior: smooth;}
body{
    --primary-color:  #663399;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    background-color: black;
    color: white;
}
header{
    container: header-size / inline-size;
    & nav{
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: var(--primary-color);
        color: #fff;
        block-size: 70px;
        padding: 10px 40px;
        @container header-size (width <= 450px){padding-inline: 10px}
        & ul{
            display: inherit;
            align-items: center;
            column-gap: 30px;
            list-style: none;
            & li a{
                text-decoration: none;
                color: inherit;
                font-size: 20px;
                @container header-size (width <= 505px){font-size: 15px}
            }
        }
    }
    & section{
        block-size: 600px;
        padding-inline: 40px;
        text-align: center;
        align-content: center;
        text-wrap: balance;
        & header{
            max-inline-size: 1200px;
            margin-inline: auto;
            & h1{
                font-size: 40px;
                letter-spacing: 3px;
                line-height: 1.7;
                font-weight: 400;
                @container header-size (width <= 610px){font-size: 25px}
            }
            & h2{
                color: rgb(156, 78, 233);
            }
        }
        & footer {
            margin-inline: auto;
            & p{
                color: #ccc;
                font-size: 20px;
                @container header-size (width <= 610px){font-size: 15px}
                & a{color: inherit;}
            }
        }
    }
}

main{
    container: main-size / inline-size;
    padding-block-end: 5px;
    & ul{
        list-style: none;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        grid-auto-rows: 260px;
        gap: 2px;
        @container main-size (width <= 1000px){
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        }
        & li{
            position: relative;
            cursor: pointer;
            & > * {
                position: absolute;
                top: 0;
            }
            & figure{
                inline-size: 100%;
                block-size: 100%;
                color: inherit;
                z-index: 1;
                & img{
                    inline-size: 100%;
                    block-size: 100%
                };
                & figcaption{
                    position: absolute;
                    right: 0;
                    top: 0;
                    background-color: var(--primary-color);
                    color: inherit;
                    padding: 8px 16px;
                    border-bottom-left-radius: 5px;
                    font-size: 20px;
                }
            }
            & section{
                inline-size: 100%;
                block-size: 100%;
                background-color: #9901ff;
                z-index: 2;
                opacity: 0;
                transition: opacity 300ms ease-in;
                text-align: center;
                align-content: center;
                &:hover{
                    opacity: 100%;
                }
                & h3{
                    color: inherit;
                    font-size: 30px;
                    margin-block-end: 30px;
                }
                & a{
                    padding: 12px 30px;
                    color: inherit;
                    background-color: var(--primary-color);
                    text-decoration: none;
                    display: inline-block;
                    transition: scale 200ms ease-in;
                    &:hover{
                        opacity: 80%;
                        scale: 95%;
                    }
                }
            }
        }
    }

}