@layer components {
    section.join-form > div.section-content {
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: center;

        padding: var(--space-xl) var(--space-s);

        text-align: center;

        & 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--caption--family--large);
                font-size: var(--font--caption--size--large);
                font-weight: var(--font--caption--weight--large);
                line-height: var(--font--caption--line-height--large);
                letter-spacing: var(--font--caption--letter-spacing--large);
                text-transform: var(--font--caption--casing--large);

                &.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;

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

    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);
    }
}
