footer.master-footer {
    display: flex;
    justify-content: center;
    width: 100vw;
    margin-top: 130px;
    position: relative;

    &::before {
        content: '';
        display: block;
        width: 100vw;
        height: calc(100% + 450px);
        position: absolute;
        top: -450px;
        left: 0;
        z-index: -1;
        /*background: radial-gradient(circle nearest-side, var(--fyr-color-primary), var(--fyr-color-black));*/
        background: radial-gradient(ellipse farthest-side at bottom left, var(--fyr-color-primary), transparent);
        background-repeat: no-repeat;
        opacity: 0.2;
    }

    &::after {
        content: '';
        display: block;
        width: 100vw;
        height: calc(100% + 450px);
        position: absolute;
        top: -450px;
        right: 0;
        z-index: -2;
        /*background: radial-gradient(circle nearest-side, var(--fyr-color-primary), var(--fyr-color-black));*/
        background: radial-gradient(ellipse farthest-side at bottom right, var(--fyr-color-secondary), transparent);
        background-position-x: right;
        background-repeat: no-repeat;
        opacity: 0.15;
    }

    section.footer-content {
        padding-bottom: 80px;

        section.call-to-action {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 1s ease-out, transform 1s ease-out;

            &.visible {
                opacity: 1;
                transform: translateY(0);
            }

            &::before {
                content: '';
                display: block;
                width: 100%;
                height: 1px;
                margin-bottom: 64px;
                /*background: linear-gradient(to right, transparent, var(--fyr-color-neutral), transparent);*/
                opacity: 0.2;
            }

            &::after {
                content: '';
                display: block;
                width: 100%;
                height: 1px;
                margin-top: 64px;
                /*background: linear-gradient(to right, transparent, var(--fyr-color-neutral), transparent);*/
                opacity: 0.2;
            }

            h2 {
                display: flex;
                flex-direction: column;
                align-items: center;
                font-size: 2.66rem;
                margin: 0 0 1.5rem;

                i {
                    font-size: 1.66em;
                    color: var(--fyr-color-secondary);
                    transform: translateY(-0.25em);
                }
            }

            p {
                max-width: 600px;
                margin: 0 0 2.5rem;
                line-height: 1.75rem;
                font-size: 1.25rem;
                font-family: var(--fyr-font-heading);
                color: var(--fyr-color-neutral);
            }

            a.button {
                display: inline-flex;
                align-items: center;
                padding: 12px 24px 12px 30px;
                gap: 12px;
                color: var(--fyr-color-white);
                background: var(--fyr-color-primary);
                border: none;
                border-radius: 100px;
                text-decoration: none;
                font-size: 1.25rem;
                font-weight: bold;

                i {
                    font-size: 1.66rem;
                    line-height: 0;
                }
            }
        }

        section.footer-links {
            display: flex;
            margin-top: 130px;
            gap: 5rem;

            ul {
                display: flex;
                flex-direction: column;
                margin: 0;
                padding: 0;
                gap: 0.66rem;
                list-style: none;

                &.brand {
                    flex-grow: 1;

                    a.logo {
                        margin-bottom: 1rem;

                        img {
                            display: block;
                            height: 36px;
                        }
                    }
                }

                li {
                    display: flex;

                    h3 {
                        margin: 0 0 0.75rem;
                    }

                    a {
                        display: flex;
                        align-items: center;
                        gap: 0.5rem;
                        color: var(--fyr-color-neutral);
                        text-decoration: none;
                        /*font-size: 1.25rem;*/
                        line-height: 1.44em;

                        &:hover {
                            color: var(--fyr-color-primary);

                            span {
                                opacity: 1;
                                text-decoration: underline;
                            }
                        }

                        i {
                            font-size: 24px;
                            line-height: 0;
                        }

                        span {
                            opacity: 0.66;
                        }
                    }

                    cite {
                        margin-top: 2rem;
                        font-size: 14px;
                        font-style: normal;
                        color: var(--fyr-color-neutral);
                        opacity: 0.5;
                    }
                }
            }
        }
    }
}