.link {
    background: none;
    border: 0;
    border-bottom: 1px solid var(--border-strong);
    color: var(--text-primary);
    cursor: pointer;
    font: inherit;
    padding: 0;
    text-decoration: none;

    &:focus-visible {
        outline: 2px solid var(--text-primary);
        outline-offset: 2px;
    }
}

.cta {
    background: var(--accent);
    border: 0;
    border-radius: 2px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: .9rem;
    font-weight: 500;
    letter-spacing: .04em;
    padding: 14px 36px;
    transition: background .2s, transform .15s;

    &:active {
        transform: translateY(1px);
    }

    &:disabled {
        cursor: progress;
        opacity: .5;
    }

    &:focus-visible {
        outline: 2px solid var(--text-primary);
        outline-offset: 2px;
    }

    &:hover {
        background: color-mix(in srgb, var(--accent) 82%, black);
    }

    @media (prefers-reduced-motion: reduce) {
        transition: none;

        &:active {
            transform: none;
        }
    }
}
