.presentation {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;

    background-image:
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        url('../img/DSC01001rH_1.webp');
    background-position: center;
    background-attachment: fixed;
    background-size: cover;

    & > .titre {
        position: absolute;
        top: 50vh;
        top: 50dvh;
        transform: translateY(-50%);
        
        font-size: 14rem;
        font-family: Kings;
        align-self: center;
        text-align: center;

        text-shadow: 0px 4px 3px rgba(0,0,0,0.4),
            0px 8px 13px rgba(0,0,0,0.1),
            0px 18px 23px rgba(0,0,0,0.1);

        z-index: 10;

        pointer-events: none;

        transition: opacity 500ms ease-in-out;
    }

    & > .defilement-bas {
        position: absolute;
        bottom: 2rem;

        left: 50%;
        transform: translateX(-50%);

        fill: white;

        z-index: 2;

        width: 2.5rem;
        height: 2.5rem;

        object-fit: contain;
        object-position: center;

        transition: opacity 300ms ease-in-out;

        &.masqué {
            opacity: 0;
        }
    }

    & > .menu-principal {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        display: flex;

        .rubrique {
            flex: 1;
            height: 100%;
            display: grid;
            place-items: center;
            overflow: hidden;
            position: relative;
            cursor: pointer;

            text-decoration: none;

            transition: transform 500ms ease-in-out;

            /* IMAGE + VIDEO */
            img,
            video {
                grid-column: 1 / -1;
                grid-row: 1 / -1;

                width: 50vw;
                width: 50dvw;
                height: 100vh;
                height: 100dvh;
                object-fit: cover;
                object-position: center;

                transition: opacity 0.4s ease, transform 0.6s ease;
            }

            /* VIDEO */
            video {
                opacity: 0;
                pointer-events: none;
                transform: scale(1.05);
            }

            /* IMAGE */
            img {
                z-index: 0;
            }

            /* OVERLAY */
            &::after {
                content: "";
                position: absolute;
                inset: 0;
                background: rgba(0, 0, 0, 0.35);
                opacity: 0;
                transition: opacity 0.4s ease;
                z-index: 1;
            }

            /* TITRE */
            .titre-rubrique {
                grid-column: 1 / -1;
                grid-row: 1 / -1;
                z-index: 2;

                align-self: flex-end;

                padding-bottom: 5rem;

                text-shadow: 0px 4px 3px rgba(0,0,0,0.4),
                    0px 8px 13px rgba(0,0,0,0.1),
                    0px 18px 23px rgba(0,0,0,0.1);

                p {
                    position: relative;
                    color: white;
                    text-align: center;
                    font-size: 2rem;
                    font-weight: bold;

                    &::after {
                        content: "";
                        position: absolute;
                        left: 0;
                        bottom: -4px;
                        width: 0;
                        height: 1px;
                        background-color: #fff;
                        transition: width 300ms ease-in-out;
                    }
                }
            }

            /* HOVER */
            &.active {
                img {
                    opacity: 0;
                    transform: scale(1.1);
                }

                video {
                    opacity: 1;
                    transform: scale(1);
                }

                &::after {
                    opacity: 1;
                }

                .titre-rubrique {
                    p::after {
                        width: 100%;
                    }
                }
            }
        }

    }

    &.ouverture {
        & > .titre {
            opacity: 0;
        }

        .menu-principal {
            .rubrique:first-child {
                transform: translateX(-100%);
            }
            .rubrique:last-child {
                transform: translateX(100%);
            }
        }
    }


    & > .amorce {
        padding: 5rem;

        backdrop-filter: blur(5px);

        text-align: center;

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2rem;
    }

    & > .titre-section {
        padding: 4rem;

        background-color: black;

        text-align: center;

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

        h2 {
            font-size: 4rem;
        }
    }

    section {
        h3 {
            font-size: 2rem;
        }

        a {
            text-decoration: none;
            background-color: rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(20px);
            color: white;

            border-radius: 0.5rem;
            padding: 0.5rem;

            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: 0.5rem;

            transition: 200ms ease-in-out;

            svg {
                fill: white;
            }

            &:hover {
                background-color: rgba(255, 255, 255, 0.7);
                color: black;

                svg {
                    fill: black;
                }
            }
        }
    }

    & > .musique-image {
        background: url('../img/fond_studio.jpg');

        background-size: cover;
        background-position: center;
        background-attachment: fixed;

        text-align: center;

        & > div {
            padding: 5rem;

            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 2rem;

            background-color: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(4px);
        }

        .musique-image__domaines {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.75rem;

            li {
                background-color: rgba(255, 255, 255, 0.1);
                border: 1px solid rgba(255, 255, 255, 0.2);
                border-radius: 2rem;
                padding: 0.4rem 1rem;
                font-size: 0.9rem;
                color: white;
                backdrop-filter: blur(8px);
            }
        }
    }

    & > .evenementiel {
        background-image: url('../img/fond_evenement.png');

        background-size: cover;
        background-position: center;
        background-attachment: fixed;

        text-align: center;

        & > div {
            padding: 5rem;

            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 2rem;

            background-color: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(4px);
        }

        .evenements-domaines {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.75rem;

            li {
                background-color: rgba(255, 255, 255, 0.1);
                border: 1px solid rgba(255, 255, 255, 0.2);
                border-radius: 2rem;
                padding: 0.4rem 1rem;
                font-size: 0.9rem;
                color: white;
                backdrop-filter: blur(8px);
            }
        }
    }
}


@media (orientation: portrait) {
    .presentation {
        & > .titre {
            top: 1rem;

            transform: none;
        }

        & > .menu-principal {
            flex-direction: column;

            .rubrique {
                img,
                video {
                    width: 100vw;
                    width: 100dvw;
                    height: 50vh;
                    height: 50dvh;
                }
            }
        }
        &.ouverture {
            .menu-principal {
                .rubrique:first-child {
                    transform: translateY(-100%);
                }
                .rubrique:last-child {
                    transform: translateY(100%);
                }
            }
        }
    }
}

@media (orientation: portrait) and (max-width: 768px),
       (orientation: landscape) and (max-height: 768px) {
    .presentation {
        & > .titre {
            top: 1rem;

            transform: none;

            font-size: 2rem;
        }

        & > .titre-section h2 {
            font-size: 2rem;
        }

        & > .amorce {
            padding: 3rem;
        }

        & > .musique-image,
        & > .evenementiel {
            background-size: 100vw;
            background-size: 100dvw;
            & > div {
                padding: 3rem;
            }
        }
    }
}