/* Home banner gradient */
#banner-background {
    background: var(--background-gradient);
    height: 100vh;
    z-index: 1;
    overflow: hidden;

    will-change: clip-path;
}

#banner-background canvas {
    width: 100vw;
    height: 100vh;
}

#banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    position: relative;
}

#banner-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 10;
    font-size: clamp(0.5rem, calc(0.1rem + 1.5vw), 1.25rem);
    gap: 1.5rem;
}

#banner-text * {
    margin: 0;
}

#banner-text #banner-logo {
    position: relative;
    width: 48em;
    height: auto;
    overflow: visible !important;
    fill: transparent;
    stroke: white;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-dasharray: 280;
    stroke-dashoffset: 280;
    animation: draw-text 3s ease-out forwards, fill-text 2s ease forwards 2s;
}

@keyframes draw-text {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes fill-text {
    from {
        stroke-width: 1;
        fill: transparent;
    }

    to {
        stroke-width: 0;
        fill: white;
    }
}

#banner-text #banner-subtitle {
    font-size: 2em;
    font-weight: 200;
    line-height: 1.25;
    color: var(--text-color-light);
}