@layer components {
    section.join-form {
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: center;
        padding: 0 var(--space-s);
        text-align: center;
        margin-top: var(--space-2xl);

        & h1 {
            text-align: center;
            font-family: var(--font--title--family--xlarge);
            font-size: var(--font--title--size--xlarge);
            font-weight: var(--font--title--weight--xlarge);
            line-height: var(--font--title--line-height--xlarge);
            letter-spacing: var(--font--title--letter-spacing--xlarge);
            text-transform: var(--font--title--casing--xlarge);
            font-size: clamp(3rem, 15vw, 5.5rem);
            margin-bottom: var(--space-l);
        }

        & form {
            display: flex;
            flex-direction: column;
            margin-bottom: 0;
            align-items: center;

            & div.handle-check {
                display: flex;
                flex-flow: row wrap;
                align-items: stretch;
                justify-content: center;
                column-gap: var(--space-s);
                row-gap: var(--space-s);
                margin-bottom: var(--space-m);
                width: 100%;

                & input {
                    flex-grow: 1;
                    text-align: center;
                    min-width: 250px;
                    margin: 0;
                }

                & button {
                    margin: 0;
                    height: auto;
                    min-height: 3.125rem;
                }
            }

            & p {
                font-family: var(--font--text--family--large);
                font-size: var(--font--text--size--large);
                font-weight: var(--font--text--weight--large);
                line-height: var(--font--text--line-height--large);
                letter-spacing: var(--font--text--letter-spacing--large);
                text-transform: var(--font--text--casing--large);
                font-family: var(--font--family--sans-serif);

                &.highlight {
                    background-color: var(--color--brand--highlight);
                    padding: var(--space-2xs) var(--space-m);
                    font-family: var(--font--title--family--small);
                    font-size: var(--font--title--size--small);
                    font-weight: var(--font--title--weight--small);
                    line-height: var(--font--title--line-height--small);
                    letter-spacing: var(--font--title--letter-spacing--small);
                    text-transform: var(--font--title--casing--small);
                }

                &.error {
                    font-family: var(--font--title--family--small);
                    font-size: var(--font--title--size--small);
                    font-weight: var(--font--title--weight--small);
                    line-height: var(--font--title--line-height--small);
                    letter-spacing: var(--font--title--letter-spacing--small);
                    text-transform: var(--font--title--casing--small);
                }
            }
        }
    }

    h2.italic-highlights {
        text-transform: uppercase;
        letter-spacing: 0.07em;

        & span {
            font-style: italic;
            font-family: var(--font--family--serif);
            text-transform: lowercase;
            letter-spacing: 0;
        }
    }

    div.studio-hub-url {
        margin-bottom: var(--space-m);
        word-wrap: break-word;
        font-family: var(--font--input--family--medium);
        font-size: var(--font--input--size--medium);
        font-weight: var(--font--input--weight--medium);
        line-height: var(--font--input--line-height--medium);
        letter-spacing: var(--font--input--letter-spacing--medium);
        text-transform: var(--font--input--casing--medium);
    }
}

form#sign-up-form {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    align-items: center;

    & div.handle-check {
        display: flex;
        flex-flow: row wrap;
        align-items: stretch;
        justify-content: center;
        column-gap: var(--space-s);
        row-gap: var(--space-s);
        margin-bottom: var(--space-m);
        width: 100%;

        & input {
            flex-grow: 1;
            text-align: center;
            min-width: 250px;
            margin: 0;
        }

        & button {
            margin: 0;
            height: auto;
            min-height: 3.125rem;
        }
    }

    & p {
        &.highlight {
            background-color: var(--color--brand--highlight);
            padding: var(--space-2xs) var(--space-m);
            font-family: var(--font--title--family--small);
            font-size: var(--font--title--size--small);
            font-weight: var(--font--title--weight--small);
            line-height: var(--font--title--line-height--small);
            letter-spacing: var(--font--title--letter-spacing--small);
            text-transform: var(--font--title--casing--small);
        }

        &.error {
            font-family: var(--font--title--family--small);
            font-size: var(--font--title--size--small);
            font-weight: var(--font--title--weight--small);
            line-height: var(--font--title--line-height--small);
            letter-spacing: var(--font--title--letter-spacing--small);
            text-transform: var(--font--title--casing--small);
        }
    }
}
