.Menu {
    position: sticky;
    top: 0; left: 0; right: 0;

    --color-foreground: var(--color-primary);
    --color-background: #fff;

    background: var(--color-background);
    color: var(--color-foreground);

    border-bottom: solid var(--color-background-faint) 1px;

    > nav {
        margin: 0 auto;
        padding: 0 15px;
        box-sizing: border-box;
        max-width: min(800px, 100%);

        display: flex;
        align-items: center;
        gap: 30px;

        > .logo {
            padding: 0;
            margin-top: -3px;
            display: flex;

            > .image {
                width: 22px;
                height: 22px;
                background-color: currentColor;
            }

            > .title {
                font-family: var(--main-font-family);
                font-size: 17pt;
                font-weight: 700;
                letter-spacing: auto;
                text-transform: uppercase;
            }
        }

        > .option {
            position: relative;

            height: var(--menu-height);
            font-size: 12pt;
            font-weight: 500;
            line-height: 1em;
            white-space: nowrap;

            display: flex;
            gap: 7px;
            align-items: center;

            cursor: pointer;

            &:hover {
                color: var(--color-accent-high-contrast);
            }

            &.logo:hover {
                color: var(--color-accent);
            }

            svg {
                width: 18px;
                height: 18px;
            }

            &.right {
                margin-left: auto;
            }
        }

        > a.option {
            text-decoration: none;
        }

        > .option:has(.dropdown) {

            > .dropdown {
                position: absolute;

                opacity: 0;
                pointer-events: none;

                transition: all var(--transition-animation-ms);

                top: 50%;
                background: var(--color-background);
                border-bottom-left-radius: var(--border-radius);
                border-bottom-right-radius: var(--border-radius);

                box-shadow: 0 30px 30px hsla(var(--color-accent-hue), var(--color-accent-saturation), 15%, 35%);

                border: solid var(--color-background-faint) 1px;
                border-top: none;

                display: flex;
                flex-direction: column;
                gap: 10px;

                padding: 1.3em .3em;

                color: var(--color-primary);

                max-width: calc(100vw - 2em);
                box-sizing: border-box;

                > .option {
                    padding: .5em 1.5em;

                    cursor: pointer;
                    text-decoration: none;

                    display: grid;
                    width: max-content;
                    grid-template-columns: 1fr 320px;

                    grid-template-areas:
                        "icon title"
                        ". subTitle";

                    > svg {
                        grid-area: icon;
                        margin-right: 10px;
                    }

                    > .title {
                        grid-area: title;
                        font-weight: 600;
                        white-space: nowrap;
                    }

                    &:has(svg) > .title {
                        margin-top: 1px;
                    }

                    > .subTitle {
                        margin-top: 5px;
                        grid-area: subTitle;
                        white-space: wrap;
                        font-weight: 400;
                        line-height: 1.2em;
                        color: var(--color-primary-faint);
                    }
                }
            }

            &:hover > .dropdown,
            &:focus-within > .dropdown{
                opacity: 1;
                pointer-events: all;
                top: 100%;
            }
        }

    }

    @media all and (max-width: 650px) {
        nav {
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            padding: 1em 0;

            > .option {
                height: auto;
                padding: .5em 1em;

                &.right {
                    margin-left: 0;
                }
            }

            > .option:has(.dropdown) {
                > .dropdown {
                    text-align: left;
                    z-index: 1;
                }
            }
        }
    }

    z-index: 2;
}
